summaryrefslogtreecommitdiff
path: root/mysql-test/r
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/r')
-rw-r--r--mysql-test/r/1st.result30
-rw-r--r--mysql-test/r/alter_table-big.result41
-rw-r--r--mysql-test/r/alter_table.result377
-rw-r--r--mysql-test/r/analyse.result60
-rw-r--r--mysql-test/r/ansi.result14
-rw-r--r--mysql-test/r/archive.result398
-rw-r--r--mysql-test/r/archive_bitfield.result (renamed from mysql-test/r/ndb_bitfield.result)83
-rw-r--r--mysql-test/r/archive_gis.result88
-rw-r--r--mysql-test/r/auto_increment.result38
-rw-r--r--mysql-test/r/backup.result31
-rw-r--r--mysql-test/r/bdb-alter-table-1.result11
-rw-r--r--mysql-test/r/bdb-alter-table-2.result6
-rw-r--r--mysql-test/r/bdb-crash.result39
-rw-r--r--mysql-test/r/bdb-deadlock.result31
-rw-r--r--mysql-test/r/bdb.result1931
-rw-r--r--mysql-test/r/bdb_cache.result99
-rw-r--r--mysql-test/r/bdb_gis.result583
-rw-r--r--mysql-test/r/bench_count_distinct.result4
-rw-r--r--mysql-test/r/bigint.result28
-rw-r--r--mysql-test/r/binary.result2
-rw-r--r--mysql-test/r/binlog.result570
-rw-r--r--mysql-test/r/binlog_innodb.result23
-rw-r--r--mysql-test/r/binlog_killed.result56
-rw-r--r--mysql-test/r/binlog_killed_simulate.result33
-rw-r--r--mysql-test/r/binlog_tx_isolation.result48
-rw-r--r--mysql-test/r/binlog_unsafe.result13
-rw-r--r--mysql-test/r/blackhole.result140
-rw-r--r--mysql-test/r/cache_innodb.result (renamed from mysql-test/r/innodb_cache.result)112
-rw-r--r--mysql-test/r/case.result50
-rw-r--r--mysql-test/r/cast.result28
-rw-r--r--mysql-test/r/change_user.result46
-rw-r--r--mysql-test/r/check.result3
-rw-r--r--mysql-test/r/comments.result12
-rw-r--r--mysql-test/r/compress.result17
-rw-r--r--mysql-test/r/concurrent_innodb.result607
-rw-r--r--mysql-test/r/connect.result18
-rw-r--r--mysql-test/r/constraints.result2
-rw-r--r--mysql-test/r/contributors.result5
-rw-r--r--mysql-test/r/crash_commit_before.result14
-rw-r--r--mysql-test/r/create-big.result247
-rw-r--r--mysql-test/r/create.result485
-rw-r--r--mysql-test/r/create_not_windows.result23
-rw-r--r--mysql-test/r/create_select_tmp.result8
-rw-r--r--mysql-test/r/csv.result342
-rw-r--r--mysql-test/r/ctype_collate.result8
-rw-r--r--mysql-test/r/ctype_cp1250_ch.result1
-rwxr-xr-xmysql-test/r/ctype_cp932.result11467
-rw-r--r--mysql-test/r/ctype_cp932_binlog_row.result17
-rw-r--r--mysql-test/r/ctype_cp932_binlog_stm.result (renamed from mysql-test/r/ctype_cp932_binlog.result)22
-rw-r--r--mysql-test/r/ctype_create.result16
-rw-r--r--mysql-test/r/ctype_filename.result13
-rw-r--r--mysql-test/r/ctype_latin1.result14
-rw-r--r--mysql-test/r/ctype_latin1_de.result6
-rw-r--r--mysql-test/r/ctype_many.result18
-rw-r--r--mysql-test/r/ctype_mb.result16
-rw-r--r--mysql-test/r/ctype_recoding.result24
-rw-r--r--mysql-test/r/ctype_sjis.result2
-rw-r--r--mysql-test/r/ctype_tis620.result4
-rw-r--r--mysql-test/r/ctype_uca.result4
-rw-r--r--mysql-test/r/ctype_ucs.result20
-rw-r--r--mysql-test/r/ctype_ucs2_def.result2
-rw-r--r--mysql-test/r/ctype_ucs_binlog.result26
-rw-r--r--mysql-test/r/ctype_ujis.result8
-rw-r--r--mysql-test/r/ctype_ujis_ucs2.result19159
-rw-r--r--mysql-test/r/ctype_utf8.result130
-rw-r--r--mysql-test/r/date_formats.result83
-rw-r--r--mysql-test/r/ddl_i18n_koi8r.result2797
-rw-r--r--mysql-test/r/ddl_i18n_utf8.result2797
-rw-r--r--mysql-test/r/deadlock_innodb.result (renamed from mysql-test/r/innodb-deadlock.result)28
-rw-r--r--mysql-test/r/default.result24
-rw-r--r--mysql-test/r/delayed.result37
-rw-r--r--mysql-test/r/delete.result37
-rw-r--r--mysql-test/r/derived.result10
-rw-r--r--mysql-test/r/distinct.result20
-rw-r--r--mysql-test/r/drop.result7
-rw-r--r--mysql-test/r/drop_temp_table.result22
-rw-r--r--mysql-test/r/endspace.result17
-rw-r--r--mysql-test/r/error_simulation.result2
-rw-r--r--mysql-test/r/events.result744
-rw-r--r--mysql-test/r/events_bugs.result725
-rw-r--r--mysql-test/r/events_grant.result121
-rw-r--r--mysql-test/r/events_logs_tests.result72
-rw-r--r--mysql-test/r/events_microsec.result13
-rw-r--r--mysql-test/r/events_restart_phase1.result16
-rw-r--r--mysql-test/r/events_restart_phase2.result42
-rw-r--r--mysql-test/r/events_restart_phase3.result6
-rw-r--r--mysql-test/r/events_scheduling.result102
-rw-r--r--mysql-test/r/events_stress.result65
-rw-r--r--mysql-test/r/events_time_zone.result149
-rw-r--r--mysql-test/r/events_trans.result118
-rw-r--r--mysql-test/r/events_trans_notembedded.result45
-rw-r--r--mysql-test/r/exampledb.result2
-rw-r--r--mysql-test/r/explain.result24
-rw-r--r--mysql-test/r/federated.result162
-rw-r--r--mysql-test/r/federated_server.result295
-rw-r--r--mysql-test/r/federated_transactions.result49
-rw-r--r--mysql-test/r/flush.result16
-rw-r--r--mysql-test/r/flush2.result2
-rw-r--r--mysql-test/r/flush_block_commit_notembedded.result4
-rw-r--r--mysql-test/r/flush_table.result31
-rw-r--r--mysql-test/r/fulltext.result47
-rw-r--r--mysql-test/r/fulltext2.result8
-rw-r--r--mysql-test/r/fulltext3.result4
-rw-r--r--mysql-test/r/func_compress.result8
-rw-r--r--mysql-test/r/func_crypt.result4
-rw-r--r--mysql-test/r/func_default.result4
-rw-r--r--mysql-test/r/func_encrypt.result4
-rw-r--r--mysql-test/r/func_gconcat.result20
-rw-r--r--mysql-test/r/func_group.result31
-rw-r--r--mysql-test/r/func_group_innodb.result147
-rw-r--r--mysql-test/r/func_if.result8
-rw-r--r--mysql-test/r/func_in.result112
-rw-r--r--mysql-test/r/func_like.result16
-rw-r--r--mysql-test/r/func_math.result111
-rw-r--r--mysql-test/r/func_misc.result17
-rw-r--r--mysql-test/r/func_op.result8
-rw-r--r--mysql-test/r/func_regexp.result8
-rw-r--r--mysql-test/r/func_sapdb.result6
-rw-r--r--mysql-test/r/func_set.result4
-rw-r--r--mysql-test/r/func_str.result455
-rw-r--r--mysql-test/r/func_system.result16
-rw-r--r--mysql-test/r/func_test.result24
-rw-r--r--mysql-test/r/func_time.result118
-rw-r--r--mysql-test/r/gis-rtree.result16
-rw-r--r--mysql-test/r/gis.result69
-rw-r--r--mysql-test/r/grant.result212
-rw-r--r--mysql-test/r/grant2.result23
-rw-r--r--mysql-test/r/grant_cache_no_prot.result218
-rw-r--r--mysql-test/r/grant_cache_ps_prot.result (renamed from mysql-test/r/grant_cache.result)24
-rw-r--r--mysql-test/r/greedy_optimizer.result252
-rw-r--r--mysql-test/r/group_by.result406
-rw-r--r--mysql-test/r/group_min_max.result93
-rw-r--r--mysql-test/r/group_min_max_innodb.result72
-rw-r--r--mysql-test/r/handler_innodb.result730
-rw-r--r--mysql-test/r/handler_myisam.result (renamed from mysql-test/r/handler.result)232
-rw-r--r--mysql-test/r/have_binlog_format_mixed.require (renamed from mysql-test/r/have_innodb.require)2
-rw-r--r--mysql-test/r/have_binlog_format_row.require (renamed from mysql-test/r/have_archive.require)2
-rw-r--r--mysql-test/r/have_binlog_format_statement.require2
-rw-r--r--mysql-test/r/have_blackhole.require2
-rw-r--r--mysql-test/r/have_cp1251.require2
-rw-r--r--mysql-test/r/have_cp866.require2
-rw-r--r--mysql-test/r/have_csv.require2
-rw-r--r--mysql-test/r/have_dynamic_loading.require (renamed from mysql-test/r/have_udf.require)0
-rw-r--r--mysql-test/r/have_example_plugin.require2
-rw-r--r--mysql-test/r/have_exampledb.require2
-rw-r--r--mysql-test/r/have_federated_db.require2
-rw-r--r--mysql-test/r/have_koi8r.require2
-rw-r--r--mysql-test/r/have_ndb.require2
-rw-r--r--mysql-test/r/have_ndb_extra.require3
-rw-r--r--mysql-test/r/have_ndb_status_ok.require2
-rw-r--r--mysql-test/r/have_ndbapi_examples.require2
-rw-r--r--mysql-test/r/have_partition.require2
-rw-r--r--mysql-test/r/have_raid.require2
-rw-r--r--mysql-test/r/have_utf8.require2
-rw-r--r--mysql-test/r/having.result4
-rw-r--r--mysql-test/r/heap.result99
-rw-r--r--mysql-test/r/heap_btree.result2
-rw-r--r--mysql-test/r/heap_hash.result8
-rw-r--r--mysql-test/r/help.result9
-rw-r--r--mysql-test/r/im_daemon_life_cycle.result26
-rw-r--r--mysql-test/r/im_life_cycle.result73
-rw-r--r--mysql-test/r/im_options_set.result22
-rw-r--r--mysql-test/r/im_options_unset.result17
-rw-r--r--mysql-test/r/im_utils.result96
-rw-r--r--mysql-test/r/index_merge.result520
-rw-r--r--mysql-test/r/index_merge_bdb.result136
-rw-r--r--mysql-test/r/index_merge_innodb.result375
-rw-r--r--mysql-test/r/index_merge_innodb2.result136
-rw-r--r--mysql-test/r/index_merge_myisam.result1355
-rw-r--r--mysql-test/r/index_merge_ror.result207
-rw-r--r--mysql-test/r/index_merge_ror_cpk.result120
-rw-r--r--mysql-test/r/information_schema.result386
-rw-r--r--mysql-test/r/information_schema_db.result41
-rw-r--r--mysql-test/r/information_schema_inno.result53
-rw-r--r--mysql-test/r/information_schema_part.result142
-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.result562
-rw-r--r--mysql-test/r/innodb_autoinc_lock_mode_zero.result39
-rw-r--r--mysql-test/r/innodb_gis.result90
-rw-r--r--mysql-test/r/innodb_handler.result167
-rw-r--r--mysql-test/r/innodb_mysql.result675
-rw-r--r--mysql-test/r/innodb_notembedded.result2
-rw-r--r--mysql-test/r/innodb_timeout_rollback.result1
-rw-r--r--mysql-test/r/innodb_trx_weight.result1
-rw-r--r--mysql-test/r/innodb_unsafe_binlog.result48
-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-binlog.result25
-rw-r--r--mysql-test/r/insert_select.result18
-rw-r--r--mysql-test/r/insert_update.result14
-rw-r--r--mysql-test/r/join.result206
-rw-r--r--mysql-test/r/join_nested.result186
-rw-r--r--mysql-test/r/join_outer.result2
-rw-r--r--mysql-test/r/join_outer_innodb.result19
-rw-r--r--mysql-test/r/key.result139
-rw-r--r--mysql-test/r/key_diff.result2
-rw-r--r--mysql-test/r/keywords.result16
-rw-r--r--mysql-test/r/kill.result13
-rw-r--r--mysql-test/r/loaddata.result36
-rw-r--r--mysql-test/r/loaddata_autocom_innodb.result6
-rw-r--r--mysql-test/r/loaddata_autocom_ndb.result23
-rw-r--r--mysql-test/r/lock.result98
-rw-r--r--mysql-test/r/lock_multi.result53
-rw-r--r--mysql-test/r/log_state.result252
-rw-r--r--mysql-test/r/log_tables-big.result29
-rw-r--r--mysql-test/r/log_tables.result851
-rw-r--r--mysql-test/r/lowercase_table.result4
-rw-r--r--mysql-test/r/lowercase_table2.result4
-rw-r--r--mysql-test/r/lowercase_table3.result8
-rw-r--r--mysql-test/r/lowercase_table_grant.result8
-rw-r--r--mysql-test/r/lowercase_view.result16
-rw-r--r--mysql-test/r/merge-big.result77
-rw-r--r--mysql-test/r/merge.result1115
-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.result2163
-rw-r--r--mysql-test/r/mix2_myisam_ucs2.result312
-rw-r--r--mysql-test/r/mix_innodb_myisam_binlog.result508
-rw-r--r--mysql-test/r/multi_update.result98
-rw-r--r--mysql-test/r/myisam-system.result13
-rw-r--r--mysql-test/r/myisam.result298
-rw-r--r--mysql-test/r/mysql.result10
-rw-r--r--mysql-test/r/mysql_comments.result52
-rw-r--r--mysql-test/r/mysql_cp932.result10
-rw-r--r--mysql-test/r/mysql_protocols.result1
-rw-r--r--mysql-test/r/mysql_upgrade.result40
-rw-r--r--mysql-test/r/mysqlbinlog.result26
-rw-r--r--mysql-test/r/mysqlbinlog2.result29
-rw-r--r--mysql-test/r/mysqlbinlog_base64.result110
-rw-r--r--mysql-test/r/mysqlcheck.result34
-rw-r--r--mysql-test/r/mysqldump-max.result48
-rw-r--r--mysql-test/r/mysqldump.result1669
-rw-r--r--mysql-test/r/mysqlshow.result22
-rw-r--r--mysql-test/r/mysqlslap.result219
-rw-r--r--mysql-test/r/mysqltest.result3
-rw-r--r--mysql-test/r/named_pipe.result14
-rw-r--r--mysql-test/r/ndb_alter_table.result338
-rw-r--r--mysql-test/r/ndb_alter_table2.result42
-rw-r--r--mysql-test/r/ndb_autodiscover.result397
-rw-r--r--mysql-test/r/ndb_autodiscover2.result13
-rw-r--r--mysql-test/r/ndb_autodiscover3.result45
-rw-r--r--mysql-test/r/ndb_backup_print.result64
-rw-r--r--mysql-test/r/ndb_basic.result844
-rw-r--r--mysql-test/r/ndb_blob.result570
-rw-r--r--mysql-test/r/ndb_bug26793.result8
-rw-r--r--mysql-test/r/ndb_cache.result191
-rw-r--r--mysql-test/r/ndb_cache2.result623
-rw-r--r--mysql-test/r/ndb_cache_multi.result72
-rw-r--r--mysql-test/r/ndb_cache_multi2.result75
-rw-r--r--mysql-test/r/ndb_charset.result326
-rw-r--r--mysql-test/r/ndb_condition_pushdown.result1914
-rw-r--r--mysql-test/r/ndb_config.result14
-rw-r--r--mysql-test/r/ndb_database.result27
-rw-r--r--mysql-test/r/ndb_gis.result1088
-rw-r--r--mysql-test/r/ndb_grant.result444
-rw-r--r--mysql-test/r/ndb_index.result154
-rw-r--r--mysql-test/r/ndb_index_ordered.result668
-rw-r--r--mysql-test/r/ndb_index_unique.result685
-rw-r--r--mysql-test/r/ndb_insert.result828
-rw-r--r--mysql-test/r/ndb_limit.result72
-rw-r--r--mysql-test/r/ndb_load.result80
-rw-r--r--mysql-test/r/ndb_loaddatalocal.result46
-rw-r--r--mysql-test/r/ndb_lock.result189
-rw-r--r--mysql-test/r/ndb_minmax.result120
-rw-r--r--mysql-test/r/ndb_multi.result101
-rw-r--r--mysql-test/r/ndb_read_multi_range.result426
-rw-r--r--mysql-test/r/ndb_rename.result14
-rw-r--r--mysql-test/r/ndb_replace.result99
-rw-r--r--mysql-test/r/ndb_restore.result286
-rw-r--r--mysql-test/r/ndb_restore_different_endian_data.result200
-rw-r--r--mysql-test/r/ndb_restore_print.result321
-rw-r--r--mysql-test/r/ndb_single_user.result60
-rw-r--r--mysql-test/r/ndb_subquery.result61
-rw-r--r--mysql-test/r/ndb_transaction.result257
-rw-r--r--mysql-test/r/ndb_trigger.result290
-rw-r--r--mysql-test/r/ndb_truncate.result23
-rw-r--r--mysql-test/r/ndb_types.result76
-rw-r--r--mysql-test/r/ndb_update.result50
-rw-r--r--mysql-test/r/negation_elimination.result4
-rw-r--r--mysql-test/r/no-threads.result9
-rw-r--r--mysql-test/r/not_embedded_server.result6
-rw-r--r--mysql-test/r/not_ndb.require (renamed from mysql-test/r/have_bdb.require)2
-rw-r--r--mysql-test/r/not_ndb_default.require2
-rw-r--r--mysql-test/r/not_partition.require2
-rw-r--r--mysql-test/r/not_partition.result48
-rw-r--r--mysql-test/r/not_valgrind.require2
-rw-r--r--mysql-test/r/not_windows.require2
-rw-r--r--mysql-test/r/null.result106
-rw-r--r--mysql-test/r/olap.result4
-rw-r--r--mysql-test/r/one_thread_per_connection.require2
-rw-r--r--mysql-test/r/openssl_1.result28
-rw-r--r--mysql-test/r/openssl_2.result25
-rw-r--r--mysql-test/r/order_by.result360
-rw-r--r--mysql-test/r/parser.result529
-rw-r--r--mysql-test/r/parser_bug21114_innodb.result867
-rw-r--r--mysql-test/r/partition.result1420
-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_bug18198.result173
-rw-r--r--mysql-test/r/partition_charset.result22
-rw-r--r--mysql-test/r/partition_csv.result15
-rw-r--r--mysql-test/r/partition_datatype.result282
-rw-r--r--mysql-test/r/partition_error.result631
-rw-r--r--mysql-test/r/partition_federated.result6
-rw-r--r--mysql-test/r/partition_grant.result34
-rw-r--r--mysql-test/r/partition_hash.result200
-rw-r--r--mysql-test/r/partition_innodb.result163
-rw-r--r--mysql-test/r/partition_list.result301
-rw-r--r--mysql-test/r/partition_mgm.result38
-rw-r--r--mysql-test/r/partition_mgm_err.result150
-rw-r--r--mysql-test/r/partition_mgm_err2.result2
-rw-r--r--mysql-test/r/partition_not_windows.result27
-rw-r--r--mysql-test/r/partition_order.result785
-rw-r--r--mysql-test/r/partition_pruning.result941
-rw-r--r--mysql-test/r/partition_range.result711
-rw-r--r--mysql-test/r/partition_symlink.result83
-rw-r--r--mysql-test/r/partition_windows.result14
-rw-r--r--mysql-test/r/plugin.result29
-rw-r--r--mysql-test/r/ps.result1041
-rw-r--r--mysql-test/r/ps_1general.result28
-rw-r--r--mysql-test/r/ps_2myisam.result716
-rw-r--r--mysql-test/r/ps_3innodb.result716
-rw-r--r--mysql-test/r/ps_4heap.result716
-rw-r--r--mysql-test/r/ps_5merge.result1432
-rw-r--r--mysql-test/r/ps_6bdb.result3128
-rw-r--r--mysql-test/r/ps_7ndb.result3128
-rw-r--r--mysql-test/r/ps_grant.result3
-rw-r--r--mysql-test/r/ps_not_windows.result14
-rw-r--r--mysql-test/r/query_cache.result82
-rw-r--r--mysql-test/r/query_cache_notembedded.result35
-rw-r--r--mysql-test/r/query_cache_ps_no_prot.result533
-rw-r--r--mysql-test/r/query_cache_ps_ps_prot.result533
-rw-r--r--mysql-test/r/range.result34
-rw-r--r--mysql-test/r/read_many_rows_innodb.result (renamed from mysql-test/r/innodb-big.result)19
-rw-r--r--mysql-test/r/read_only.result52
-rw-r--r--mysql-test/r/read_only_innodb.result18
-rw-r--r--mysql-test/r/renamedb.result12
-rw-r--r--mysql-test/r/repair.result6
-rw-r--r--mysql-test/r/replace.result4
-rw-r--r--mysql-test/r/round.result32
-rw-r--r--mysql-test/r/row.result32
-rw-r--r--mysql-test/r/rowid_order_bdb.result186
-rw-r--r--mysql-test/r/rowid_order_innodb.result19
-rw-r--r--mysql-test/r/rpl000001.a.result3
-rw-r--r--mysql-test/r/rpl000001.b.result2
-rw-r--r--mysql-test/r/rpl000001.result82
-rw-r--r--mysql-test/r/rpl000002.result46
-rw-r--r--mysql-test/r/rpl000004.a.result2
-rw-r--r--mysql-test/r/rpl000004.b.result2
-rw-r--r--mysql-test/r/rpl000004.result28
-rw-r--r--mysql-test/r/rpl000005.result25
-rw-r--r--mysql-test/r/rpl000006.result29
-rw-r--r--mysql-test/r/rpl000008.result23
-rw-r--r--mysql-test/r/rpl000009.result139
-rw-r--r--mysql-test/r/rpl000010.result14
-rw-r--r--mysql-test/r/rpl000011.result16
-rw-r--r--mysql-test/r/rpl000012.result37
-rw-r--r--mysql-test/r/rpl000013.result28
-rw-r--r--mysql-test/r/rpl000015.result29
-rw-r--r--mysql-test/r/rpl000017.result12
-rw-r--r--mysql-test/r/rpl_EE_error.result18
-rw-r--r--mysql-test/r/rpl_alter.result21
-rw-r--r--mysql-test/r/rpl_auto_increment.result229
-rw-r--r--mysql-test/r/rpl_auto_increment_11932.result47
-rw-r--r--mysql-test/r/rpl_change_master.result88
-rw-r--r--mysql-test/r/rpl_charset.result269
-rw-r--r--mysql-test/r/rpl_charset_sjis.result26
-rw-r--r--mysql-test/r/rpl_colSize.result179
-rw-r--r--mysql-test/r/rpl_commit_after_flush.result13
-rw-r--r--mysql-test/r/rpl_create_database.result87
-rw-r--r--mysql-test/r/rpl_critical_errors.result1
-rw-r--r--mysql-test/r/rpl_critical_errors.result.txt56
-rw-r--r--mysql-test/r/rpl_ddl.result1693
-rw-r--r--mysql-test/r/rpl_deadlock.result190
-rw-r--r--mysql-test/r/rpl_delete_all.result31
-rw-r--r--mysql-test/r/rpl_do_grant.result37
-rw-r--r--mysql-test/r/rpl_drop.result10
-rw-r--r--mysql-test/r/rpl_drop_db.result37
-rw-r--r--mysql-test/r/rpl_drop_temp.result13
-rw-r--r--mysql-test/r/rpl_dual_pos_advance.result22
-rw-r--r--mysql-test/r/rpl_empty_master_crash.result12
-rw-r--r--mysql-test/r/rpl_error_ignored_table.result39
-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/rpl_failed_optimize.result20
-rw-r--r--mysql-test/r/rpl_flush_log_loop.result24
-rw-r--r--mysql-test/r/rpl_flush_tables.result47
-rw-r--r--mysql-test/r/rpl_free_items.result10
-rw-r--r--mysql-test/r/rpl_get_lock.result35
-rw-r--r--mysql-test/r/rpl_grant.result77
-rw-r--r--mysql-test/r/rpl_ignore_grant.result37
-rw-r--r--mysql-test/r/rpl_ignore_revoke.result30
-rw-r--r--mysql-test/r/rpl_ignore_table.result139
-rw-r--r--mysql-test/r/rpl_init_slave.result27
-rw-r--r--mysql-test/r/rpl_innodb.result37
-rw-r--r--mysql-test/r/rpl_insert_delayed.result54
-rw-r--r--mysql-test/r/rpl_insert_id.result444
-rw-r--r--mysql-test/r/rpl_insert_ignore.result70
-rw-r--r--mysql-test/r/rpl_insert_select.result17
-rw-r--r--mysql-test/r/rpl_known_bugs_detection.result133
-rw-r--r--mysql-test/r/rpl_loaddata.result86
-rw-r--r--mysql-test/r/rpl_loaddata_charset.result37
-rw-r--r--mysql-test/r/rpl_loaddata_rule_m.result21
-rw-r--r--mysql-test/r/rpl_loaddata_rule_s.result15
-rw-r--r--mysql-test/r/rpl_loaddatalocal.result31
-rw-r--r--mysql-test/r/rpl_locale.result20
-rw-r--r--mysql-test/r/rpl_log.result120
-rw-r--r--mysql-test/r/rpl_log_pos.result97
-rw-r--r--mysql-test/r/rpl_many_optimize.result9
-rw-r--r--mysql-test/r/rpl_master_pos_wait.result18
-rw-r--r--mysql-test/r/rpl_max_relay_size.result273
-rw-r--r--mysql-test/r/rpl_misc_functions.result55
-rw-r--r--mysql-test/r/rpl_multi_delete.result31
-rw-r--r--mysql-test/r/rpl_multi_delete2.result44
-rw-r--r--mysql-test/r/rpl_multi_query.result32
-rw-r--r--mysql-test/r/rpl_multi_update.result39
-rw-r--r--mysql-test/r/rpl_multi_update2.result55
-rw-r--r--mysql-test/r/rpl_multi_update3.result197
-rw-r--r--mysql-test/r/rpl_multi_update4.result25
-rw-r--r--mysql-test/r/rpl_mystery22.result23
-rw-r--r--mysql-test/r/rpl_ndb_innodb_trans.result103
-rw-r--r--mysql-test/r/rpl_openssl.result31
-rw-r--r--mysql-test/r/rpl_optimize.result27
-rw-r--r--mysql-test/r/rpl_packet.result57
-rw-r--r--mysql-test/r/rpl_ps.result28
-rw-r--r--mysql-test/r/rpl_redirect.result42
-rw-r--r--mysql-test/r/rpl_relayrotate.result16
-rw-r--r--mysql-test/r/rpl_relayspace.result19
-rw-r--r--mysql-test/r/rpl_replicate_do.result77
-rw-r--r--mysql-test/r/rpl_reset_slave.result32
-rw-r--r--mysql-test/r/rpl_rewrite_db.result94
-rw-r--r--mysql-test/r/rpl_rotate_logs.result105
-rw-r--r--mysql-test/r/rpl_server_id1.result19
-rw-r--r--mysql-test/r/rpl_server_id2.result21
-rw-r--r--mysql-test/r/rpl_session_var.result53
-rw-r--r--mysql-test/r/rpl_set_charset.result48
-rw-r--r--mysql-test/r/rpl_skip_error.result35
-rw-r--r--mysql-test/r/rpl_slave_skip.result144
-rw-r--r--mysql-test/r/rpl_slave_status.result55
-rw-r--r--mysql-test/r/rpl_sp.result534
-rw-r--r--mysql-test/r/rpl_sp_effects.result256
-rw-r--r--mysql-test/r/rpl_sporadic_master.result26
-rw-r--r--mysql-test/r/rpl_ssl.result95
-rw-r--r--mysql-test/r/rpl_start_stop_slave.result12
-rw-r--r--mysql-test/r/rpl_temporary.result135
-rw-r--r--mysql-test/r/rpl_timezone.result150
-rw-r--r--mysql-test/r/rpl_trigger.result974
-rw-r--r--mysql-test/r/rpl_trunc_temp.result22
-rw-r--r--mysql-test/r/rpl_until.result196
-rw-r--r--mysql-test/r/rpl_user_variables.result321
-rw-r--r--mysql-test/r/rpl_variables.result19
-rw-r--r--mysql-test/r/rpl_view.result115
-rw-r--r--mysql-test/r/select.result104
-rw-r--r--mysql-test/r/select_found.result2
-rw-r--r--mysql-test/r/shm.result14
-rw-r--r--mysql-test/r/show_check.result510
-rw-r--r--mysql-test/r/skip_grants.result21
-rw-r--r--mysql-test/r/sp-code.result21
-rw-r--r--mysql-test/r/sp-destruct.result19
-rw-r--r--mysql-test/r/sp-dynamic.result4
-rw-r--r--mysql-test/r/sp-error.result142
-rw-r--r--mysql-test/r/sp-security.result47
-rw-r--r--mysql-test/r/sp-vars.result180
-rw-r--r--mysql-test/r/sp.result719
-rw-r--r--mysql-test/r/sp_gis.result30
-rw-r--r--mysql-test/r/sp_notembedded.result34
-rw-r--r--mysql-test/r/sp_trans.result28
-rw-r--r--mysql-test/r/sp_trans_log.result13
-rw-r--r--mysql-test/r/sql_mode.result145
-rw-r--r--mysql-test/r/ssl.result14
-rw-r--r--mysql-test/r/ssl_compress.result14
-rw-r--r--mysql-test/r/status.result77
-rw-r--r--mysql-test/r/strict.result388
-rw-r--r--mysql-test/r/strict_autoinc_1myisam.result6
-rw-r--r--mysql-test/r/strict_autoinc_2innodb.result6
-rw-r--r--mysql-test/r/strict_autoinc_3heap.result6
-rw-r--r--mysql-test/r/strict_autoinc_4bdb.result6
-rw-r--r--mysql-test/r/strict_autoinc_5ndb.result28
-rw-r--r--mysql-test/r/subselect.result544
-rw-r--r--mysql-test/r/subselect3.result80
-rw-r--r--mysql-test/r/subselect_notembedded.result101
-rw-r--r--mysql-test/r/symlink.result26
-rw-r--r--mysql-test/r/synchronization.result42
-rw-r--r--mysql-test/r/system_mysql_db.result323
-rw-r--r--mysql-test/r/temp_table.result21
-rw-r--r--mysql-test/r/timezone2.result41
-rw-r--r--mysql-test/r/timezone_grant.result2
-rw-r--r--mysql-test/r/trigger-compat.result9
-rw-r--r--mysql-test/r/trigger.result71
-rw-r--r--mysql-test/r/trigger_notembedded.result (renamed from mysql-test/r/trigger-grant.result)89
-rw-r--r--mysql-test/r/type_binary.result6
-rw-r--r--mysql-test/r/type_bit.result40
-rw-r--r--mysql-test/r/type_bit_innodb.result20
-rw-r--r--mysql-test/r/type_blob.result20
-rw-r--r--mysql-test/r/type_date.result46
-rw-r--r--mysql-test/r/type_datetime.result101
-rw-r--r--mysql-test/r/type_decimal.result122
-rw-r--r--mysql-test/r/type_enum.result21
-rw-r--r--mysql-test/r/type_float.result48
-rw-r--r--mysql-test/r/type_nchar.result14
-rw-r--r--mysql-test/r/type_newdecimal.result175
-rw-r--r--mysql-test/r/type_ranges.result48
-rw-r--r--mysql-test/r/type_set.result6
-rw-r--r--mysql-test/r/type_time.result6
-rw-r--r--mysql-test/r/type_timestamp.result76
-rw-r--r--mysql-test/r/type_uint.result4
-rw-r--r--mysql-test/r/type_varchar.result26
-rw-r--r--mysql-test/r/udf.result80
-rw-r--r--mysql-test/r/union.result192
-rw-r--r--mysql-test/r/unsafe_binlog_innodb.result123
-rw-r--r--mysql-test/r/update.result6
-rw-r--r--mysql-test/r/upgrade.result86
-rw-r--r--mysql-test/r/user_var-binlog.result13
-rw-r--r--mysql-test/r/user_var.result24
-rw-r--r--mysql-test/r/varbinary.result29
-rw-r--r--mysql-test/r/variables-big.result2
-rw-r--r--mysql-test/r/variables.result234
-rw-r--r--mysql-test/r/view.result346
-rw-r--r--mysql-test/r/view_grant.result117
-rw-r--r--mysql-test/r/warnings.result33
-rw-r--r--mysql-test/r/warnings_engine_disabled.result7
-rw-r--r--mysql-test/r/windows.require2
-rw-r--r--mysql-test/r/windows.result15
-rw-r--r--mysql-test/r/xml.result1032
525 files changed, 61865 insertions, 52512 deletions
diff --git a/mysql-test/r/1st.result b/mysql-test/r/1st.result
new file mode 100644
index 00000000000..60190629dd0
--- /dev/null
+++ b/mysql-test/r/1st.result
@@ -0,0 +1,30 @@
+show databases;
+Database
+information_schema
+mysql
+test
+show tables in mysql;
+Tables_in_mysql
+columns_priv
+db
+event
+func
+general_log
+help_category
+help_keyword
+help_relation
+help_topic
+host
+ndb_binlog_index
+plugin
+proc
+procs_priv
+servers
+slow_log
+tables_priv
+time_zone
+time_zone_leap_second
+time_zone_name
+time_zone_transition
+time_zone_transition_type
+user
diff --git a/mysql-test/r/alter_table-big.result b/mysql-test/r/alter_table-big.result
index 873978c60de..9761754a02f 100644
--- a/mysql-test/r/alter_table-big.result
+++ b/mysql-test/r/alter_table-big.result
@@ -5,14 +5,53 @@ key (n2, n3, n1),
key (n3, n1, n2));
create table t2 (i int);
alter table t1 disable keys;
+insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
reset master;
+set session debug="+d,sleep_alter_enable_indexes";
alter table t1 enable keys;;
insert into t2 values (1);
insert into t1 values (1, 1, 1);
-show binlog events in 'master-bin.000001' from 98;
+set session debug="-d,sleep_alter_enable_indexes";
+show binlog events in 'master-bin.000001' from 106;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
master-bin.000001 # Query 1 # use `test`; alter table t1 enable keys
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1, 1, 1)
drop tables t1, t2;
End of 5.0 tests
+drop table if exists t1, t2, t3;
+create table t1 (i int);
+reset master;
+set session debug="+d,sleep_alter_before_main_binlog";
+alter table t1 change i c char(10) default 'Test1';;
+insert into t1 values ();
+select * from t1;
+c
+Test1
+alter table t1 change c vc varchar(100) default 'Test2';;
+rename table t1 to t2;
+drop table t2;
+create table t1 (i int);
+alter table t1 change i c char(10) default 'Test3', rename to t2;;
+insert into t2 values ();
+select * from t2;
+c
+Test3
+alter table t2 change c vc varchar(100) default 'Test2', rename to t1;;
+rename table t1 to t3;
+drop table t3;
+set session debug="-d,sleep_alter_before_main_binlog";
+show binlog events in 'master-bin.000001' from 106;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test1'
+master-bin.000001 # Query 1 # use `test`; insert into t1 values ()
+master-bin.000001 # Query 1 # use `test`; alter table t1 change c vc varchar(100) default 'Test2'
+master-bin.000001 # Query 1 # use `test`; rename table t1 to t2
+master-bin.000001 # Query 1 # use `test`; drop table t2
+master-bin.000001 # Query 1 # use `test`; create table t1 (i int)
+master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test3', rename to t2
+master-bin.000001 # Query 1 # use `test`; insert into t2 values ()
+master-bin.000001 # Query 1 # use `test`; alter table t2 change c vc varchar(100) default 'Test2', rename to t1
+master-bin.000001 # Query 1 # use `test`; rename table t1 to t3
+master-bin.000001 # Query 1 # use `test`; drop table t3
+End of 5.1 tests
diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result
index 95c652055ec..68b636829fc 100644
--- a/mysql-test/r/alter_table.result
+++ b/mysql-test/r/alter_table.result
@@ -373,10 +373,10 @@ t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
DROP TABLE t1;
create table t1 (a int);
-alter table t1 rename to `t1\\`;
-ERROR 42000: Incorrect table name 't1\\'
-rename table t1 to `t1\\`;
-ERROR 42000: Incorrect table name 't1\\'
+alter table t1 rename to ``;
+ERROR 42000: Incorrect table name ''
+rename table t1 to ``;
+ERROR 42000: Incorrect table name ''
drop table t1;
drop table if exists t1, t2;
Warnings:
@@ -390,7 +390,7 @@ show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` varchar(10) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`)
flush tables;
alter table t1 modify a varchar(10) not null;
@@ -398,7 +398,7 @@ show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` varchar(10) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`)
drop table if exists t1, t2;
create table t1 (a int, b int, c int, d int, e int, f int, g int, h int,i int, primary key (a,b,c,d,e,f,g,i,h)) engine=MyISAM;
@@ -468,25 +468,25 @@ delete from t1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) character set koi8r default NULL
+ `a` char(10) CHARACTER SET koi8r DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 DEFAULT CHARACTER SET latin1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) character set koi8r default NULL
+ `a` char(10) CHARACTER SET koi8r DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 CONVERT TO CHARACTER SET latin1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 DEFAULT CHARACTER SET cp1251;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) character set latin1 default NULL
+ `a` char(10) CHARACTER SET latin1 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
drop table t1;
create table t1 (myblob longblob,mytext longtext)
@@ -495,14 +495,14 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`myblob` longblob,
- `mytext` longtext collate latin1_general_cs
+ `mytext` longtext COLLATE latin1_general_cs
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
alter table t1 character set latin2;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`myblob` longblob,
- `mytext` longtext character set latin1 collate latin1_general_cs
+ `mytext` longtext CHARACTER SET latin1 COLLATE latin1_general_cs
) ENGINE=MyISAM DEFAULT CHARSET=latin2
drop table t1;
CREATE TABLE t1 (a int PRIMARY KEY, b INT UNIQUE);
@@ -511,7 +511,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` int(11) default NULL,
+ `b` int(11) DEFAULT NULL,
UNIQUE KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 DROP PRIMARY KEY;
@@ -682,14 +682,14 @@ CREATE INDEX i1 ON t1(a);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) default NULL,
+ `a` int(11) DEFAULT NULL,
KEY `i1` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
DROP INDEX i1 ON t1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
DROP TABLE t1;
DROP TABLE IF EXISTS bug24219;
@@ -810,7 +810,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
alter table table_24562 order by (section + 12);
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(section + 12)' at line 1
alter table table_24562 order by length(title);
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'length(title)' at line 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 '(title)' at line 1
alter table table_24562 order by (select 12 from dual);
ERROR 42000: You 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 12 from dual)' at line 1
alter table table_24562 order by no_such_col;
@@ -822,44 +822,6 @@ desc t1;
Field Type Null Key Default Extra
mycol int(10) NO 0
drop table t1;
-create table t1 (t varchar(255) default null, key t (t(80)))
-engine=myisam default charset=latin1;
-alter table t1 change t t text;
-drop table t1;
-CREATE TABLE t1 (a varchar(500));
-ALTER TABLE t1 ADD b GEOMETRY NOT NULL, ADD SPATIAL INDEX(b);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(500) default NULL,
- `b` geometry NOT NULL,
- SPATIAL KEY `b` (`b`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD KEY(b(50));
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(500) default NULL,
- `b` geometry NOT NULL,
- SPATIAL KEY `b` (`b`),
- KEY `b_2` (`b`(50))
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD c POINT;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(500) default NULL,
- `b` geometry NOT NULL,
- `c` point default NULL,
- SPATIAL KEY `b` (`b`),
- 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
-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
-DROP TABLE t1;
create table t1(id int(8) primary key auto_increment) engine=heap;
insert into t1 values (null);
insert into t1 values (null);
@@ -903,6 +865,313 @@ f1 f2 f21 f4 f41
1 2000-01-01 00:00:00 2000-01-01 2002-02-02 00:00:00 2002-02-02
drop table t1;
set sql_mode= @orig_sql_mode;
+create table t1 (v varchar(32));
+insert into t1 values ('def'),('abc'),('hij'),('3r4f');
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+alter table t1 change v v2 varchar(32);
+select * from t1;
+v2
+def
+abc
+hij
+3r4f
+alter table t1 change v2 v varchar(64);
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+update t1 set v = 'lmn' where v = 'hij';
+select * from t1;
+v
+def
+abc
+lmn
+3r4f
+alter table t1 add i int auto_increment not null primary key first;
+select * from t1;
+i v
+1 def
+2 abc
+3 lmn
+4 3r4f
+update t1 set i=5 where i=3;
+select * from t1;
+i v
+1 def
+2 abc
+5 lmn
+4 3r4f
+alter table t1 change i i bigint;
+select * from t1;
+i v
+1 def
+2 abc
+5 lmn
+4 3r4f
+alter table t1 add unique key (i, v);
+select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
+i v
+4 3r4f
+drop table t1;
+create table t1 (t varchar(255) default null, key t (t(80)))
+engine=myisam default charset=latin1;
+alter table t1 change t t text;
+drop table t1;
+CREATE TABLE t1 (a varchar(500));
+ALTER TABLE t1 ADD b GEOMETRY NOT NULL, ADD SPATIAL INDEX(b);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(500) DEFAULT NULL,
+ `b` geometry NOT NULL,
+ SPATIAL KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 ADD KEY(b(50));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(500) DEFAULT NULL,
+ `b` geometry NOT NULL,
+ SPATIAL KEY `b` (`b`),
+ KEY `b_2` (`b`(50))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 ADD c POINT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(500) DEFAULT NULL,
+ `b` geometry NOT NULL,
+ `c` point DEFAULT NULL,
+ SPATIAL KEY `b` (`b`),
+ 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
+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
+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
+DROP TABLE t1;
+CREATE TABLE t1 (s CHAR(8) BINARY);
+INSERT INTO t1 VALUES ('test');
+SELECT LENGTH(s) FROM t1;
+LENGTH(s)
+4
+ALTER TABLE t1 MODIFY s CHAR(10) BINARY;
+SELECT LENGTH(s) FROM t1;
+LENGTH(s)
+4
+DROP TABLE t1;
+CREATE TABLE t1 (s BINARY(8));
+INSERT INTO t1 VALUES ('test');
+SELECT LENGTH(s) FROM t1;
+LENGTH(s)
+8
+SELECT HEX(s) FROM t1;
+HEX(s)
+7465737400000000
+ALTER TABLE t1 MODIFY s BINARY(10);
+SELECT HEX(s) FROM t1;
+HEX(s)
+74657374000000000000
+SELECT LENGTH(s) FROM t1;
+LENGTH(s)
+10
+DROP TABLE t1;
+CREATE TABLE t1 (v VARCHAR(3), b INT);
+INSERT INTO t1 VALUES ('abc', 5);
+SELECT * FROM t1;
+v b
+abc 5
+ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
+SELECT * FROM t1;
+v b
+abc 5
+DROP TABLE t1;
+End of 5.0 tests
+drop table if exists t1, t2, t3;
+create table t1 (i int);
+create table t3 (j int);
+insert into t1 values ();
+insert into t3 values ();
+lock table t1 write, t3 read;
+alter table t1 modify i int default 1;
+insert into t1 values ();
+select * from t1;
+i
+NULL
+1
+alter table t1 change i c char(10) default "Two";
+insert into t1 values ();
+select * from t1;
+c
+NULL
+1
+Two
+alter table t1 modify c char(10) default "Three", rename to t2;
+select * from t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+select * from t2;
+ERROR HY000: Table 't2' was not locked with LOCK TABLES
+select * from t3;
+j
+NULL
+unlock tables;
+insert into t2 values ();
+select * from t2;
+c
+NULL
+1
+Two
+Three
+lock table t2 write, t3 read;
+alter table t2 change c vc varchar(100) default "Four", rename to t1;
+select * from t1;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+select * from t2;
+ERROR HY000: Table 't2' was not locked with LOCK TABLES
+select * from t3;
+j
+NULL
+unlock tables;
+insert into t1 values ();
+select * from t1;
+vc
+NULL
+1
+Two
+Three
+Four
+drop tables t1, t3;
+DROP TABLE IF EXISTS `t+1`, `t+2`;
+CREATE TABLE `t+1` (c1 INT);
+ALTER TABLE `t+1` RENAME `t+2`;
+CREATE TABLE `t+1` (c1 INT);
+ALTER TABLE `t+1` RENAME `t+2`;
+ERROR 42S01: Table 't+2' already exists
+DROP TABLE `t+1`, `t+2`;
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
+ALTER TABLE `tt+1` RENAME `tt+2`;
+CREATE TEMPORARY TABLE `tt+1` (c1 INT);
+ALTER TABLE `tt+1` RENAME `tt+2`;
+ERROR 42S01: Table 'tt+2' already exists
+SHOW CREATE TABLE `tt+1`;
+Table Create Table
+tt+1 CREATE TEMPORARY TABLE `tt+1` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE `tt+2`;
+Table Create Table
+tt+2 CREATE TEMPORARY TABLE `tt+2` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE `tt+1`, `tt+2`;
+CREATE TABLE `#sql1` (c1 INT);
+CREATE TABLE `@0023sql2` (c1 INT);
+SHOW TABLES;
+Tables_in_test
+#sql1
+@0023sql2
+RENAME TABLE `#sql1` TO `@0023sql1`;
+RENAME TABLE `@0023sql2` TO `#sql2`;
+SHOW TABLES;
+Tables_in_test
+#sql2
+@0023sql1
+ALTER TABLE `@0023sql1` RENAME `#sql-1`;
+ALTER TABLE `#sql2` RENAME `@0023sql-2`;
+SHOW TABLES;
+Tables_in_test
+#sql-1
+@0023sql-2
+INSERT INTO `#sql-1` VALUES (1);
+INSERT INTO `@0023sql-2` VALUES (2);
+DROP TABLE `#sql-1`, `@0023sql-2`;
+CREATE TEMPORARY TABLE `#sql1` (c1 INT);
+CREATE TEMPORARY TABLE `@0023sql2` (c1 INT);
+SHOW TABLES;
+Tables_in_test
+ALTER TABLE `#sql1` RENAME `@0023sql1`;
+ALTER TABLE `@0023sql2` RENAME `#sql2`;
+SHOW TABLES;
+Tables_in_test
+INSERT INTO `#sql2` VALUES (1);
+INSERT INTO `@0023sql1` VALUES (2);
+SHOW CREATE TABLE `#sql2`;
+Table Create Table
+#sql2 CREATE TEMPORARY TABLE `#sql2` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SHOW CREATE TABLE `@0023sql1`;
+Table Create Table
+@0023sql1 CREATE TEMPORARY TABLE `@0023sql1` (
+ `c1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE `#sql2`, `@0023sql1`;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+CREATE TABLE t1 (
+int_field INTEGER UNSIGNED NOT NULL,
+char_field CHAR(10),
+INDEX(`int_field`)
+);
+DESCRIBE t1;
+Field Type Null Key Default Extra
+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
+t1 1 int_field 1 int_field A NULL NULL NULL BTREE
+INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
+"Non-copy data change - new frm, but old data and index files"
+ALTER TABLE t1
+CHANGE int_field unsigned_int_field INTEGER UNSIGNED NOT NULL,
+RENAME t2;
+SELECT * FROM t1 ORDER BY int_field;
+ERROR 42S02: Table 'test.t1' doesn't exist
+SELECT * FROM t2 ORDER BY unsigned_int_field;
+unsigned_int_field char_field
+1 edno
+1 edno
+2 dve
+3 tri
+5 pet
+DESCRIBE t2;
+Field Type Null Key Default Extra
+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 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 NULL
+char_field char(10) YES NULL
+DROP TABLE t2;
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
+INSERT INTO t1 VALUES (1, 2, NULL);
+SELECT * FROM t1;
+f1 f2 f3
+1 2 NULL
+ALTER TABLE t1 MODIFY COLUMN f3 INT AFTER f1;
+SELECT * FROM t1;
+f1 f3 f2
+1 NULL 2
+ALTER TABLE t1 MODIFY COLUMN f3 INT AFTER f2;
+SELECT * FROM t1;
+f1 f2 f3
+1 2 NULL
+DROP TABLE t1;
create table t1 (c char(10) default "Two");
lock table t1 write;
insert into t1 values ();
diff --git a/mysql-test/r/analyse.result b/mysql-test/r/analyse.result
index 49722d5b0ab..c0b16778f9c 100644
--- a/mysql-test/r/analyse.result
+++ b/mysql-test/r/analyse.result
@@ -36,16 +36,16 @@ create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `Field_name` varbinary(255) NOT NULL default '',
- `Min_value` varbinary(255) default NULL,
- `Max_value` varbinary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` varbinary(255) NOT NULL default '',
- `Std` varbinary(255) default NULL,
- `Optimal_fieldtype` varbinary(64) NOT NULL default ''
+ `Field_name` varbinary(255) NOT NULL DEFAULT '',
+ `Min_value` varbinary(255) DEFAULT NULL,
+ `Max_value` varbinary(255) DEFAULT NULL,
+ `Min_length` bigint(11) NOT NULL DEFAULT '0',
+ `Max_length` bigint(11) NOT NULL DEFAULT '0',
+ `Empties_or_zeros` bigint(11) NOT NULL DEFAULT '0',
+ `Nulls` bigint(11) NOT NULL DEFAULT '0',
+ `Avg_value_or_avg_length` varbinary(255) NOT NULL DEFAULT '',
+ `Std` varbinary(255) DEFAULT NULL,
+ `Optimal_fieldtype` varbinary(64) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1 where 0=1 procedure analyse();
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
@@ -55,16 +55,16 @@ create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `Field_name` varbinary(255) NOT NULL default '',
- `Min_value` varbinary(255) default NULL,
- `Max_value` varbinary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` varbinary(255) NOT NULL default '',
- `Std` varbinary(255) default NULL,
- `Optimal_fieldtype` varbinary(64) NOT NULL default ''
+ `Field_name` varbinary(255) NOT NULL DEFAULT '',
+ `Min_value` varbinary(255) DEFAULT NULL,
+ `Max_value` varbinary(255) DEFAULT NULL,
+ `Min_length` bigint(11) NOT NULL DEFAULT '0',
+ `Max_length` bigint(11) NOT NULL DEFAULT '0',
+ `Empties_or_zeros` bigint(11) NOT NULL DEFAULT '0',
+ `Nulls` bigint(11) NOT NULL DEFAULT '0',
+ `Avg_value_or_avg_length` varbinary(255) NOT NULL DEFAULT '',
+ `Std` varbinary(255) DEFAULT NULL,
+ `Optimal_fieldtype` varbinary(64) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
@@ -78,16 +78,16 @@ create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `Field_name` varbinary(255) NOT NULL default '',
- `Min_value` varbinary(255) default NULL,
- `Max_value` varbinary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` varbinary(255) NOT NULL default '',
- `Std` varbinary(255) default NULL,
- `Optimal_fieldtype` varbinary(64) NOT NULL default ''
+ `Field_name` varbinary(255) NOT NULL DEFAULT '',
+ `Min_value` varbinary(255) DEFAULT NULL,
+ `Max_value` varbinary(255) DEFAULT NULL,
+ `Min_length` bigint(11) NOT NULL DEFAULT '0',
+ `Max_length` bigint(11) NOT NULL DEFAULT '0',
+ `Empties_or_zeros` bigint(11) NOT NULL DEFAULT '0',
+ `Nulls` bigint(11) NOT NULL DEFAULT '0',
+ `Avg_value_or_avg_length` varbinary(255) NOT NULL DEFAULT '',
+ `Std` varbinary(255) DEFAULT NULL,
+ `Optimal_fieldtype` varbinary(64) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
diff --git a/mysql-test/r/ansi.result b/mysql-test/r/ansi.result
index cc4b6b5fa65..527748e00d5 100644
--- a/mysql-test/r/ansi.result
+++ b/mysql-test/r/ansi.result
@@ -21,28 +21,28 @@ CREATE TABLE t1 (i int auto_increment NOT NULL, PRIMARY KEY (i));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`i`)
+ `i` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET @@SQL_MODE="MYSQL323";
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`i`)
+ `i` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
) TYPE=MyISAM
SET @@SQL_MODE="MYSQL40";
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`i`)
+ `i` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
) TYPE=MyISAM
SET @@SQL_MODE="NO_FIELD_OPTIONS";
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) NOT NULL,
- PRIMARY KEY (`i`)
+ PRIMARY KEY (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result
index 0fc43f58908..e9eb50fc805 100644
--- a/mysql-test/r/archive.result
+++ b/mysql-test/r/archive.result
@@ -1,16 +1,17 @@
-drop table if exists t1,t2;
+DROP TABLE if exists t1,t2,t3,t4,t5,t6;
+SET storage_engine=ARCHIVE;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
) ENGINE=archive;
INSERT INTO t1 VALUES (9410,9412);
-select period from t1;
+select period FROM t1;
period
9410
-select * from t1;
+select * FROM t1;
Period Varor_period
9410 9412
-select t1.* from t1;
+select t1.* FROM t1;
Period Varor_period
9410 9412
CREATE TABLE t2 (
@@ -22,13 +23,13 @@ fld4 char(35) DEFAULT '' NOT NULL,
fld5 char(35) DEFAULT '' NOT NULL,
fld6 char(4) DEFAULT '' NOT NULL
) ENGINE=archive;
-select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
+select t2.fld3 FROM t2 where companynr = 58 and fld3 like "%imaginable%";
fld3
imaginable
-select fld3 from t2 where fld3 like "%cultivation" ;
+select fld3 FROM t2 where fld3 like "%cultivation" ;
fld3
cultivation
-select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
+select t2.fld3,companynr FROM t2 where companynr = 57+1 order by fld3;
fld3 companynr
concoct 58
druggists 58
@@ -53,7 +54,7 @@ synergy 58
thanking 58
tying 58
unlocks 58
-select fld3,companynr from t2 where companynr = 58 order by fld3;
+select fld3,companynr FROM t2 where companynr = 58 order by fld3;
fld3 companynr
concoct 58
druggists 58
@@ -78,7 +79,7 @@ synergy 58
thanking 58
tying 58
unlocks 58
-select fld3 from t2 order by fld3 desc limit 10;
+select fld3 FROM t2 order by fld3 desc limit 10;
fld3
youthfulness
yelped
@@ -90,49 +91,49 @@ Winsett
Willy
willed
wildcats
-select fld3 from t2 order by fld3 desc limit 5;
+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;
+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';
+select t2.fld3 FROM t2 where fld3 = 'honeysuckle';
fld3
honeysuckle
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
+select t2.fld3 FROM t2 where fld3 LIKE 'honeysuckl_';
fld3
honeysuckle
-select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
+select t2.fld3 FROM t2 where fld3 LIKE 'hon_ysuckl_';
fld3
honeysuckle
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
+select t2.fld3 FROM t2 where fld3 LIKE 'honeysuckle%';
fld3
honeysuckle
-select t2.fld3 from t2 where fld3 LIKE 'h%le';
+select t2.fld3 FROM t2 where fld3 LIKE 'h%le';
fld3
honeysuckle
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
+select t2.fld3 FROM t2 where fld3 LIKE 'honeysuckle_';
fld3
-select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
+select t2.fld3 FROM t2 where fld3 LIKE 'don_t_find_me_please%';
fld3
-select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
+select t2.fld3 FROM t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
fld3
honeysuckle
honoring
-select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
+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 like 'f%';
+select fld1,fld3 FROM t2 where companynr = 37 and fld3 like 'f%';
fld1 fld3
012001 flanking
013602 foldout
@@ -165,37 +166,37 @@ fld1 fld3
232102 forgivably
238007 filial
238008 fixedly
-select fld3 from t2 where fld3 like "L%" and fld3 = "ok";
+select fld3 FROM t2 where fld3 like "L%" and fld3 = "ok";
fld3
-select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
+select fld3 FROM t2 where (fld3 like "C%" and fld3 = "Chantilly");
fld3
Chantilly
-select fld1,fld3 from t2 where fld1 like "25050%";
+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_";
+select fld1,fld3 FROM t2 where fld1 like "25050_";
fld1 fld3
250501 poisoning
250502 Iraqis
250503 heaving
250504 population
250505 bomb
-create table t3 engine=archive select * from t2;
-select * from t3 where fld3='bonfire';
+CREATE TABLE t3 engine=archive select * FROM t2;
+select * FROM t3 where fld3='bonfire';
auto fld1 companynr fld3 fld4 fld5 fld6
1191 068504 00 bonfire corresponds positively
-select count(*) from t3;
+select count(*) FROM t3;
count(*)
1199
rename table t3 to t4;
-select * from t4 where fld3='bonfire';
+select * FROM t4 where fld3='bonfire';
auto fld1 companynr fld3 fld4 fld5 fld6
1191 068504 00 bonfire corresponds positively
-select count(*) from t4;
+select count(*) FROM t4;
count(*)
1199
INSERT INTO t2 VALUES (1,000001,00,'Omaha','teethe','neat','');
@@ -11132,14 +11133,14 @@ ALTER TABLE t2 DROP COLUMN fld6;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `auto` int(11) default NULL,
- `fld1` int(6) unsigned zerofill NOT NULL default '000000',
- `companynr` tinyint(2) unsigned zerofill NOT NULL default '00',
- `fld3` char(30) NOT NULL default '',
- `fld4` char(35) NOT NULL default '',
- `fld5` char(35) NOT NULL default ''
+ `auto` int(11) DEFAULT NULL,
+ `fld1` int(6) unsigned zerofill NOT NULL DEFAULT '000000',
+ `companynr` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00',
+ `fld3` char(30) NOT NULL DEFAULT '',
+ `fld4` char(35) NOT NULL DEFAULT '',
+ `fld5` char(35) NOT NULL DEFAULT ''
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
-SELECT * from t2 WHERE auto != 100000;
+SELECT * FROM t2 WHERE auto != 100000;
auto fld1 companynr fld3 fld4 fld5
1 000001 00 Omaha teethe neat
2 011401 37 breaking dreaded Steinberg
@@ -12355,7 +12356,317 @@ auto fld1 companynr fld3 fld4 fld5
3 011402 37 Romans scholastics jarring
4 011403 37 intercepted audiology tinily
99999 011403 37 the delayed insert
-drop table t1, t2, t4;
+CREATE TABLE `t5` (
+`a` int(11) NOT NULL auto_increment,
+b char(12),
+PRIMARY KEY (`a`)
+) DEFAULT CHARSET=latin1;
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (32, "foo");
+INSERT INTO t5 VALUES (23, "foo");
+ERROR 23000: Can't write; duplicate key in table 't5'
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (3, "foo");
+ERROR 23000: Can't write; duplicate key in table 't5'
+INSERT INTO t5 VALUES (NULL, "foo");
+SELECT * FROM t5;
+a b
+1 foo
+2 foo
+3 foo
+4 foo
+5 foo
+32 foo
+33 foo
+34 foo
+35 foo
+SELECT * FROM t5 WHERE a=3;
+a b
+3 foo
+DROP TABLE t5;
+CREATE TABLE `t5` (
+`a` int(11) NOT NULL auto_increment,
+b char(12),
+KEY (`a`)
+) DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (32, "foo");
+INSERT INTO t5 VALUES (23, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (3, "foo");
+INSERT INTO t5 VALUES (NULL, "foo");
+SELECT * FROM t5;
+a b
+5 foo
+6 foo
+7 foo
+8 foo
+9 foo
+32 foo
+23 foo
+33 foo
+34 foo
+3 foo
+35 foo
+OPTIMIZE TABLE t5;
+Table Op Msg_type Msg_text
+test.t5 optimize status OK
+SELECT * FROM t5;
+a b
+5 foo
+6 foo
+7 foo
+8 foo
+9 foo
+32 foo
+23 foo
+33 foo
+34 foo
+3 foo
+35 foo
+SELECT * FROM t5 WHERE a=32;
+a b
+32 foo
+SELECT * FROM t5 WHERE a=3;
+a b
+3 foo
+DROP TABLE t5;
+CREATE TABLE `t5` (
+`a` int(11) NOT NULL auto_increment,
+b blob(12),
+KEY (`a`)
+) DEFAULT CHARSET=latin1;
+INSERT INTO t5 VALUES (NULL, "foo");
+INSERT INTO t5 VALUES (NULL, "We the people");
+INSERT INTO t5 VALUES (NULL, "in order to form a more pefect union");
+INSERT INTO t5 VALUES (NULL, "establish justice");
+INSERT INTO t5 VALUES (NULL, "foo grok ");
+INSERT INTO t5 VALUES (32, "ensure domestic tranquility");
+INSERT INTO t5 VALUES (23, "provide for the common defense");
+INSERT INTO t5 VALUES (NULL, "fo fooo");
+INSERT INTO t5 VALUES (NULL, "foo just naother bit of text");
+INSERT INTO t5 VALUES (3, "foo this is mine to think about");
+INSERT INTO t5 VALUES (NULL, "promote the general welfare");
+SELECT * FROM t5;
+a b
+1 foo
+2 We the people
+3 in order to form a more pefect union
+4 establish justice
+5 foo grok
+32 ensure domestic tranquility
+23 provide for the common defense
+33 fo fooo
+34 foo just naother bit of text
+3 foo this is mine to think about
+35 promote the general welfare
+SELECT b FROM t5;
+b
+foo
+We the people
+in order to form a more pefect union
+establish justice
+foo grok
+ensure domestic tranquility
+provide for the common defense
+fo fooo
+foo just naother bit of text
+foo this is mine to think about
+promote the general welfare
+SELECT b FROM t5 WHERE a =3;
+b
+in order to form a more pefect union
+foo this is mine to think about
+SELECT b FROM t5 WHERE a IN (32, 23, 5);
+b
+foo grok
+ensure domestic tranquility
+provide for the common defense
+DROP TABLE t5;
+CREATE TABLE `t5` (
+`a` int(11) NOT NULL auto_increment,
+b blob(12),
+c blob(12),
+KEY (`a`)
+) DEFAULT CHARSET=latin1;
+INSERT INTO t5 VALUES (NULL, "foo", "grok this!");
+INSERT INTO t5 VALUES (NULL, "We the people", NULL);
+INSERT INTO t5 VALUES (NULL, "in order to form a more peefect union", "secure the blessing of liberty");
+INSERT INTO t5 VALUES (NULL, "establish justice", "to ourselves and");
+INSERT INTO t5 VALUES (32, "ensure domestic tranquility", NULL);
+INSERT INTO t5 VALUES (23, "provide for the common defense", "posterity");
+INSERT INTO t5 VALUES (NULL, "promote the general welfare", "do ordain");
+SELECT * FROM t5;
+a b c
+1 foo grok this!
+2 We the people NULL
+3 in order to form a more peefect union secure the blessing of liberty
+4 establish justice to ourselves and
+32 ensure domestic tranquility NULL
+23 provide for the common defense posterity
+33 promote the general welfare do ordain
+SELECT b FROM t5;
+b
+foo
+We the people
+in order to form a more peefect union
+establish justice
+ensure domestic tranquility
+provide for the common defense
+promote the general welfare
+SELECT b FROM t5 WHERE a =3;
+b
+in order to form a more peefect union
+SELECT b FROM t5 WHERE a IN (32, 23, 5);
+b
+ensure domestic tranquility
+provide for the common defense
+SELECT c FROM t5;
+c
+grok this!
+NULL
+secure the blessing of liberty
+to ourselves and
+NULL
+posterity
+do ordain
+SELECT c FROM t5 WHERE a =3;
+c
+secure the blessing of liberty
+SELECT c FROM t5 WHERE a IN (32, 23, 5);
+c
+NULL
+posterity
+DROP TABLE t1;
+CREATE TABLE t1 (v varchar(32)) ;
+insert into t1 values ('def'),('abc'),('hij'),('3r4f');
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+ALTER TABLE t1 change v v2 varchar(32);
+select * from t1;
+v2
+def
+abc
+hij
+3r4f
+ALTER TABLE t1 change v2 v varchar(64);
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+ALTER TABLE t1 add i int auto_increment not null primary key first;
+select * from t1;
+i v
+1 def
+2 abc
+3 hij
+4 3r4f
+DROP TABLE t5;
+CREATE TABLE `t5` (
+`a` int(11) NOT NULL auto_increment,
+b varchar(250),
+c varchar(800),
+KEY (`a`)
+) DEFAULT CHARSET=latin1;
+INSERT INTO t5 VALUES (NULL, "foo", "grok this!");
+INSERT INTO t5 VALUES (NULL, "We the people", NULL);
+INSERT INTO t5 VALUES (NULL, "in order to form a more peefect union", "secure the blessing of liberty");
+INSERT INTO t5 VALUES (NULL, "establish justice", "to ourselves and");
+INSERT INTO t5 VALUES (32, "ensure domestic tranquility", NULL);
+INSERT INTO t5 VALUES (23, "provide for the common defense", "posterity");
+INSERT INTO t5 VALUES (NULL, "promote the general welfare", "do ordain");
+INSERT INTO t5 VALUES (NULL, "abcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabc", "do ordain");
+Warnings:
+Warning 1265 Data truncated for column 'b' at row 1
+SELECT * FROM t5;
+a b c
+1 foo grok this!
+2 We the people NULL
+3 in order to form a more peefect union secure the blessing of liberty
+4 establish justice to ourselves and
+32 ensure domestic tranquility NULL
+23 provide for the common defense posterity
+33 promote the general welfare do ordain
+34 abcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyzabcdeghijklmnopqrstuvwxyz do ordain
+CREATE TABLE `t6` (
+`a` int(11) NOT NULL auto_increment,
+b blob(12),
+c int,
+KEY (`a`)
+) DEFAULT CHARSET=latin1;
+SELECT * FROM t6;
+a b c
+INSERT INTO t6 VALUES (NULL, "foo", NULL);
+INSERT INTO t6 VALUES (NULL, "We the people", 5);
+INSERT INTO t6 VALUES (NULL, "in order to form a more pefect union", 9);
+INSERT INTO t6 VALUES (NULL, "establish justice", NULL);
+INSERT INTO t6 VALUES (NULL, NULL, NULL);
+INSERT INTO t6 VALUES (32, "ensure domestic tranquility", NULL);
+INSERT INTO t6 VALUES (23, "provide for the common defense", 30);
+INSERT INTO t6 VALUES (NULL, "fo fooo", 70);
+INSERT INTO t6 VALUES (NULL, NULL, 98);
+INSERT INTO t6 VALUES (NULL, "promote the general welfare", 50);
+SELECT * FROM t6;
+a b c
+1 foo NULL
+2 We the people 5
+3 in order to form a more pefect union 9
+4 establish justice NULL
+5 NULL NULL
+32 ensure domestic tranquility NULL
+23 provide for the common defense 30
+33 fo fooo 70
+34 NULL 98
+35 promote the general welfare 50
+SELECT * FROM t6 ORDER BY a;
+a b c
+1 foo NULL
+2 We the people 5
+3 in order to form a more pefect union 9
+4 establish justice NULL
+5 NULL NULL
+23 provide for the common defense 30
+32 ensure domestic tranquility NULL
+33 fo fooo 70
+34 NULL 98
+35 promote the general welfare 50
+SELECT * FROM t6 ORDER BY a DESC;
+a b c
+35 promote the general welfare 50
+34 NULL 98
+33 fo fooo 70
+32 ensure domestic tranquility NULL
+23 provide for the common defense 30
+5 NULL NULL
+4 establish justice NULL
+3 in order to form a more pefect union 9
+2 We the people 5
+1 foo NULL
+SHOW CREATE TABLE t6;
+Table Create Table
+t6 CREATE TABLE `t6` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` tinyblob,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) 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);
repair table t1 use_frm;
@@ -12372,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/ndb_bitfield.result b/mysql-test/r/archive_bitfield.result
index 389e19f2893..7e3b82a5caf 100644
--- a/mysql-test/r/ndb_bitfield.result
+++ b/mysql-test/r/archive_bitfield.result
@@ -1,21 +1,21 @@
drop table if exists t1;
create table t1 (
-pk1 int not null primary key,
+pk1 int not null auto_increment primary key,
b bit(64)
-) engine=ndbcluster;
+) engine=archive;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `pk1` int(11) NOT NULL,
- `b` bit(64) default NULL,
- PRIMARY KEY (`pk1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+ `pk1` int(11) NOT NULL AUTO_INCREMENT,
+ `b` bit(64) DEFAULT NULL,
+ PRIMARY KEY (`pk1`)
+) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
insert into t1 values
-(0,b'1111111111111111111111111111111111111111111111111111111111111111'),
-(1,b'1000000000000000000000000000000000000000000000000000000000000000'),
-(2,b'0000000000000000000000000000000000000000000000000000000000000001'),
-(3,b'1010101010101010101010101010101010101010101010101010101010101010'),
-(4,b'0101010101010101010101010101010101010101010101010101010101010101');
+(NULL,b'1111111111111111111111111111111111111111111111111111111111111111'),
+(NULL,b'1000000000000000000000000000000000000000000000000000000000000000'),
+(NULL,b'0000000000000000000000000000000000000000000000000000000000000001'),
+(NULL,b'1010101010101010101010101010101010101010101010101010101010101010'),
+(NULL,b'0101010101010101010101010101010101010101010101010101010101010101');
select hex(b) from t1 order by pk1;
hex(b)
FFFFFFFFFFFFFFFF
@@ -25,15 +25,15 @@ AAAAAAAAAAAAAAAA
5555555555555555
drop table t1;
create table t1 (
-pk1 int not null primary key,
+pk1 int not null auto_increment primary key,
b bit(9)
-) engine=ndbcluster;
+) engine=archive;
insert into t1 values
-(0,b'000000000'),
-(1,b'000000001'),
-(2,b'000000010'),
-(3,b'000000011'),
-(4,b'000000100');
+(NULL,b'000000000'),
+(NULL,b'000000001'),
+(NULL,b'000000010'),
+(NULL,b'000000011'),
+(NULL,b'000000100');
select hex(b) from t1 order by pk1;
hex(b)
0
@@ -41,16 +41,8 @@ hex(b)
2
3
4
-update t1 set b = b + b'101010101';
-select hex(b) from t1 order by pk1;
-hex(b)
-155
-156
-157
-158
-159
drop table t1;
-create table t1 (a bit(7), b bit(9)) engine = ndbcluster;
+create table t1 (a bit(7), b bit(9)) engine = archive;
insert into t1 values
(94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),
(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),
@@ -140,7 +132,7 @@ b+0
499
drop table t1;
create table t1 (
-dummyKey INTEGER NOT NULL,
+dummyKey INTEGER NOT NULL AUTO_INCREMENT,
a001 TINYINT,
a010 TINYINT,
a012 TINYINT,
@@ -178,16 +170,16 @@ m TINYINT,
n TINYINT,
o TINYINT,
a034 TINYINT,
-PRIMARY KEY USING HASH (dummyKey) ) engine=ndb;
+PRIMARY KEY USING HASH (dummyKey) ) engine=archive;
INSERT INTO `t1` VALUES
-(1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000001',b'111111',b'111110',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000010',b'000000',b'111101',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000100',b'001111',b'111011',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(4,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'001000',b'110000',b'110111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(5,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'010000',b'100001',b'101111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000001',b'111111',b'111110',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000010',b'000000',b'111101',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000100',b'001111',b'111011',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'001000',b'110000',b'110111',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'010000',b'100001',b'101111',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
+(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);
@@ -197,20 +189,3 @@ INSERT INTO `t1` VALUES (6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x20,0x12,0
INSERT INTO `t1` VALUES (7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x00,0x0C,0x3F,4,5,5,5,5,5,5,5,5,5,3,2,1);
INSERT INTO `t1` VALUES (8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x3F,0x00,0x00,4,5,5,5,5,5,5,5,5,5,3,2,1);
drop table t1;
-create table t1 (
-pk1 bit(9) not null primary key,
-b int
-) engine=ndbcluster;
-ERROR HY000: Can't create table './test/t1.frm' (errno: 906)
-create table t1 (
-pk1 int not null primary key,
-b bit(9),
-key(b)
-) engine=ndbcluster;
-ERROR HY000: Can't create table './test/t1.frm' (errno: 906)
-create table t1 (
-pk1 int primary key,
-b bit(32) not null
-) engine=ndbcluster;
-insert into t1 values (1,1);
-drop table t1;
diff --git a/mysql-test/r/archive_gis.result b/mysql-test/r/archive_gis.result
index 3137d43ec3a..901f8a9acc2 100644
--- a/mysql-test/r/archive_gis.result
+++ b/mysql-test/r/archive_gis.result
@@ -1,50 +1,51 @@
SET storage_engine=archive;
DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER, g POINT);
-CREATE TABLE gis_line (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
+CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT);
+CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING);
+CREATE TABLE gis_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON);
+CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT);
+CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING);
+CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON);
+CREATE TABLE gis_geometrycollection (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRYCOLLECTION);
+CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY);
SHOW CREATE TABLE gis_point;
Table Create Table
gis_point CREATE TABLE `gis_point` (
- `fid` int(11) default NULL,
- `g` point default NULL
+ `fid` int(11) NOT NULL AUTO_INCREMENT,
+ `g` point DEFAULT NULL,
+ PRIMARY KEY (`fid`)
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
SHOW FIELDS FROM gis_point;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g point YES NULL
SHOW FIELDS FROM gis_line;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g linestring YES NULL
SHOW FIELDS FROM gis_polygon;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g polygon YES NULL
SHOW FIELDS FROM gis_multi_point;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multipoint YES NULL
SHOW FIELDS FROM gis_multi_line;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multilinestring YES NULL
SHOW FIELDS FROM gis_multi_polygon;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multipolygon YES NULL
SHOW FIELDS FROM gis_geometrycollection;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g geometrycollection YES NULL
SHOW FIELDS FROM gis_geometry;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g geometry YES NULL
INSERT INTO gis_point VALUES
(101, PointFromText('POINT(10 10)')),
@@ -232,8 +233,8 @@ fid AsText(Envelope(g))
120 POLYGON((0 0,10 0,10 10,0 10,0 0))
121 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00
Warnings:
Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
SELECT fid, X(g) FROM gis_point ORDER by fid;
@@ -249,8 +250,8 @@ fid Y(g)
103 20
104 20
explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00
Warnings:
Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
@@ -284,8 +285,8 @@ fid IsClosed(g)
106 1
107 0
explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
@@ -314,8 +315,8 @@ fid AsText(InteriorRingN(g, 1))
109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
110 NULL
explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
@@ -353,8 +354,8 @@ fid NumGeometries(g)
120 2
121 2
explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
@@ -381,8 +382,8 @@ fid AsText(GeometryN(g, 1))
120 POINT(0 0)
121 POINT(44 6)
explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -400,13 +401,14 @@ Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
CREATE TABLE t1 (
+a INTEGER PRIMARY KEY AUTO_INCREMENT,
gp point,
ln linestring,
pg polygon,
@@ -418,6 +420,7 @@ gm geometry
);
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
+a int(11) NO PRI NULL auto_increment
gp point YES NULL
ln linestring YES NULL
pg polygon YES NULL
@@ -429,6 +432,7 @@ gm geometry YES NULL
ALTER TABLE t1 ADD fid INT;
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
+a int(11) NO PRI NULL auto_increment
gp point YES NULL
ln linestring YES NULL
pg polygon YES NULL
@@ -439,21 +443,21 @@ gc geometrycollection YES NULL
gm geometry YES NULL
fid int(11) YES NULL
DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
+create table t1 (pk integer primary key auto_increment, a geometry not null);
+insert into t1 (a) values (GeomFromText('Point(1 2)'));
+insert into t1 (a) values ('Garbage');
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
+insert IGNORE into t1 (a) values ('Garbage');
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
+create table t1 (pk integer primary key auto_increment, fl geometry not null);
+insert into t1 (fl) values (1);
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
+insert into t1 (fl) values (1.11);
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
+insert into t1 (fl) values ("qwerty");
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
+insert into t1 (fl) values (pointfromtext('point(1,1)'));
ERROR 23000: Column 'fl' cannot be null
drop table t1;
End of 4.1 tests
diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result
index 90ba00e1019..54c2df34a7f 100644
--- a/mysql-test/r/auto_increment.result
+++ b/mysql-test/r/auto_increment.result
@@ -140,20 +140,20 @@ select last_insert_id();
last_insert_id()
255
explain extended select last_insert_id();
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 last_insert_id() AS `last_insert_id()`
insert into t1 set i = 254;
-ERROR 23000: Duplicate entry '254' for key 1
+ERROR 23000: Duplicate entry '254' for key 'PRIMARY'
select last_insert_id();
last_insert_id()
255
insert into t1 set i = null;
-ERROR 23000: Duplicate entry '255' for key 1
+ERROR 23000: Duplicate entry '255' for key 'PRIMARY'
select last_insert_id();
last_insert_id()
-0
+255
drop table t1;
create table t1 (i tinyint unsigned not null auto_increment, key (i));
insert into t1 set i = 254;
@@ -163,7 +163,7 @@ last_insert_id()
255
insert into t1 set i = null;
Warnings:
-Warning 1264 Out of range value adjusted for column 'i' at row 1
+Warning 1264 Out of range value for column 'i' at row 1
select last_insert_id();
last_insert_id()
255
@@ -178,10 +178,10 @@ select last_insert_id();
last_insert_id()
2
insert into t1 values (NULL, 10);
-ERROR 23000: Duplicate entry '10' for key 2
+ERROR 23000: Duplicate entry '10' for key 'b'
select last_insert_id();
last_insert_id()
-0
+2
drop table t1;
create table t1(a int auto_increment,b int null,primary key(a));
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
@@ -372,9 +372,9 @@ MySQL 1002
SHOW CREATE TABLE `t1`;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1_name` varchar(255) default NULL,
- `t1_id` int(10) unsigned NOT NULL auto_increment,
- PRIMARY KEY (`t1_id`),
+ `t1_name` varchar(255) DEFAULT NULL,
+ `t1_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`t1_id`),
KEY `t1_name` (`t1_name`)
) ENGINE=MyISAM AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
DROP TABLE `t1`;
@@ -425,7 +425,7 @@ key (rowid), unique(val));
replace into t1 (val) values ('1'),('2');
replace into t1 (val) values ('1'),('2');
insert into t1 (val) values ('1'),('2');
-ERROR 23000: Duplicate entry '1' for key 2
+ERROR 23000: Duplicate entry '1' for key 'val'
select * from t1;
rowid val
3 1
@@ -440,3 +440,17 @@ a val
2 1
3 1
drop table t1;
+CREATE TABLE t1 (t1 INT(10) PRIMARY KEY, t2 INT(10));
+INSERT INTO t1 VALUES(0, 0);
+INSERT INTO t1 VALUES(1, 1);
+ALTER TABLE t1 CHANGE t1 t1 INT(10) auto_increment;
+ERROR 23000: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
+DROP TABLE t1;
+create table t1 (a int primary key auto_increment, b int, c int, d timestamp default current_timestamp, unique(b),unique(c));
+insert into t1 values(null,1,1,now());
+insert into t1 values(null,0,0,null);
+replace into t1 values(null,1,0,null);
+select last_insert_id();
+last_insert_id()
+3
+drop table t1;
diff --git a/mysql-test/r/backup.result b/mysql-test/r/backup.result
index 14313ba490f..4de599f3af7 100644
--- a/mysql-test/r/backup.result
+++ b/mysql-test/r/backup.result
@@ -1,22 +1,26 @@
set SQL_LOG_BIN=0;
-drop table if exists t1, t2, t3;
+drop table if exists t1, t2, t3, t4;
create table t4(n int);
backup table t4 to '../bogus';
Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X)
+test.t4 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t4 backup Error Can't create/write to file 'MYSQLTEST_VARDIR/bogus/t4.frm' (Errcode: X)
test.t4 backup status Operation failed
backup table t4 to '../tmp';
Table Op Msg_type Msg_text
+test.t4 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t4 backup status OK
backup table t4 to '../tmp';
Table Op Msg_type Msg_text
test.t4 backup error Failed copying .frm file (errno: X)
+test.t4 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t4 backup Error Can't create/write to file 'MYSQLTEST_VARDIR/tmp/t4.frm' (Errcode: X)
test.t4 backup status Operation failed
drop table t4;
restore table t4 from '../tmp';
Table Op Msg_type Msg_text
+test.t4 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t4 restore status OK
select count(*) from t4;
count(*)
@@ -25,15 +29,18 @@ create table t1(n int);
insert into t1 values (23),(45),(67);
backup table t1 to '../tmp';
Table Op Msg_type Msg_text
+test.t1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 backup status OK
drop table t1;
restore table t1 from '../bogus';
Table Op Msg_type Msg_text
t1 restore error Failed copying .frm file
Warnings:
+Warning 1287 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
Error 29 File 'MYSQLTEST_VARDIR/bogus/t1.frm' not found (Errcode: X)
restore table t1 from '../tmp';
Table Op Msg_type Msg_text
+test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 restore status OK
select n from t1;
n
@@ -46,11 +53,13 @@ insert into t2 values (123),(145),(167);
insert into t3 values (223),(245),(267);
backup table t2,t3 to '../tmp';
Table Op Msg_type Msg_text
+test.t2 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t2 backup status OK
test.t3 backup status OK
drop table t1,t2,t3;
restore table t1,t2,t3 from '../tmp';
Table Op Msg_type Msg_text
+test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 restore status OK
test.t2 restore status OK
test.t3 restore status OK
@@ -72,11 +81,31 @@ k
drop table t1,t2,t3,t4;
restore table t1 from '../tmp';
Table Op Msg_type Msg_text
+test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 restore status OK
rename table t1 to t5;
lock tables t5 write;
backup table t5 to '../tmp';
unlock tables;
Table Op Msg_type Msg_text
+test.t5 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t5 backup status OK
drop table t5;
+DROP TABLE IF EXISTS `t+1`;
+CREATE TABLE `t+1` (c1 INT);
+INSERT INTO `t+1` VALUES (1), (2), (3);
+BACKUP TABLE `t+1` TO '../tmp';
+Table Op Msg_type Msg_text
+test.t+1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
+test.t+1 backup status OK
+DROP TABLE `t+1`;
+RESTORE TABLE `t+1` FROM '../tmp';
+Table Op Msg_type Msg_text
+test.t+1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
+test.t+1 restore status OK
+SELECT * FROM `t+1`;
+c1
+1
+2
+3
+DROP TABLE `t+1`;
diff --git a/mysql-test/r/bdb-alter-table-1.result b/mysql-test/r/bdb-alter-table-1.result
deleted file mode 100644
index 0401002f1f3..00000000000
--- a/mysql-test/r/bdb-alter-table-1.result
+++ /dev/null
@@ -1,11 +0,0 @@
-drop table if exists t1;
-create table t1(objid BIGINT not null, tablename varchar(64), oid BIGINT not null, test BIGINT, PRIMARY KEY (objid), UNIQUE(tablename)) engine=BDB;
-insert into t1 values(1, 't1',4,9);
-insert into t1 values(2, 'metatable',1,9);
-insert into t1 values(3, 'metaindex',1,9 );
-select * from t1;
-objid tablename oid test
-1 t1 4 9
-2 metatable 1 9
-3 metaindex 1 9
-alter table t1 drop column test;
diff --git a/mysql-test/r/bdb-alter-table-2.result b/mysql-test/r/bdb-alter-table-2.result
deleted file mode 100644
index c23b5ba0031..00000000000
--- a/mysql-test/r/bdb-alter-table-2.result
+++ /dev/null
@@ -1,6 +0,0 @@
-select * from t1;
-objid tablename oid
-1 t1 4
-2 metatable 1
-3 metaindex 1
-drop table t1;
diff --git a/mysql-test/r/bdb-crash.result b/mysql-test/r/bdb-crash.result
deleted file mode 100644
index 778890e85e3..00000000000
--- a/mysql-test/r/bdb-crash.result
+++ /dev/null
@@ -1,39 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 (
-ChargeID int(10) unsigned NOT NULL auto_increment,
-ServiceID int(10) unsigned DEFAULT '0' NOT NULL,
-ChargeDate date DEFAULT '0000-00-00' NOT NULL,
-ChargeAmount decimal(20,2) DEFAULT '0.00' NOT NULL,
-FedTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
-ProvTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
-ChargeStatus enum('New','Auth','Unauth','Sale','Denied','Refund')
-DEFAULT 'New' NOT NULL,
-ChargeAuthorizationMessage text,
-ChargeComment text,
-ChargeTimeStamp varchar(20),
-PRIMARY KEY (ChargeID),
-KEY ServiceID (ServiceID),
-KEY ChargeDate (ChargeDate)
-) engine=BDB;
-BEGIN;
-INSERT INTO t1
-VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
-COMMIT;
-BEGIN;
-UPDATE t1 SET ChargeAuthorizationMessage = 'blablabla' WHERE
-ChargeID = 1;
-COMMIT;
-INSERT INTO t1
-VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
-select * from t1;
-ChargeID ServiceID ChargeDate ChargeAmount FedTaxes ProvTaxes ChargeStatus ChargeAuthorizationMessage ChargeComment ChargeTimeStamp
-1 1 2001-03-01 1.00 1.00 1.00 New blablabla NULL now
-2 1 2001-03-01 1.00 1.00 1.00 New NULL NULL now
-drop table t1;
-create table t1 (a int) engine=bdb;
-set autocommit=0;
-insert into t1 values(1);
-analyze table t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Operation need committed state
-drop table t1;
diff --git a/mysql-test/r/bdb-deadlock.result b/mysql-test/r/bdb-deadlock.result
deleted file mode 100644
index 9394c90ff00..00000000000
--- a/mysql-test/r/bdb-deadlock.result
+++ /dev/null
@@ -1,31 +0,0 @@
-drop table if exists t1,t2;
-create table t1 (id integer, x integer) engine=BDB;
-create table t2 (id integer, x integer) engine=BDB;
-insert into t1 values(0, 0);
-insert into t2 values(0, 0);
-set autocommit=0;
-update t1 set x = 1 where id = 0;
-set autocommit=0;
-update t2 set x = 1 where id = 0;
-select x from t1 where id = 0;
-select x from t2 where id = 0;
-ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
-commit;
-x
-1
-commit;
-select * from t1;
-id x
-0 1
-select * from t2;
-id x
-0 1
-commit;
-select * from t1;
-id x
-0 1
-select * from t2;
-id x
-0 1
-commit;
-drop table t1,t2;
diff --git a/mysql-test/r/bdb.result b/mysql-test/r/bdb.result
deleted file mode 100644
index 3356d23053f..00000000000
--- a/mysql-test/r/bdb.result
+++ /dev/null
@@ -1,1931 +0,0 @@
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8;
-create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=bdb;
-insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
-select id, code, name from t1 order by id;
-id code name
-1 1 Tim
-2 1 Monty
-3 2 David
-4 2 Erik
-5 3 Sasha
-6 3 Jeremy
-7 4 Matt
-update ignore t1 set id = 8, name = 'Sinisa' where id < 3;
-select id, code, name from t1 order by id;
-id code name
-2 1 Monty
-3 2 David
-4 2 Erik
-5 3 Sasha
-6 3 Jeremy
-7 4 Matt
-8 1 Sinisa
-update ignore t1 set id = id + 10, name = 'Ralph' where id < 4;
-select id, code, name from t1 order by id;
-id code name
-3 2 David
-4 2 Erik
-5 3 Sasha
-6 3 Jeremy
-7 4 Matt
-8 1 Sinisa
-12 1 Ralph
-drop table t1;
-CREATE TABLE t1 (
-id int(11) NOT NULL auto_increment,
-parent_id int(11) DEFAULT '0' NOT NULL,
-level tinyint(4) DEFAULT '0' NOT NULL,
-PRIMARY KEY (id),
-KEY parent_id (parent_id),
-KEY level (level)
-) engine=bdb;
-INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
-update t1 set parent_id=parent_id+100;
-select * from t1 where parent_id=102;
-id parent_id level
-8 102 2
-9 102 2
-15 102 2
-update t1 set id=id+1000;
-update t1 set id=1024 where id=1009;
-ERROR 23000: Duplicate entry '1024' for key 1
-select * from t1;
-id parent_id level
-1001 100 0
-1002 101 1
-1003 101 1
-1004 101 1
-1005 101 1
-1006 101 1
-1007 101 1
-1008 102 2
-1009 102 2
-1015 102 2
-1016 103 2
-1017 103 2
-1018 103 2
-1019 103 2
-1020 103 2
-1021 104 2
-1022 104 2
-1024 104 2
-1025 105 2
-1026 105 2
-1027 105 2
-1028 105 2
-1029 105 2
-1030 105 2
-1031 106 2
-1032 106 2
-1033 106 2
-1034 106 2
-1035 106 2
-1036 107 2
-1037 107 2
-1038 107 2
-1040 107 2
-1157 100 0
-1179 105 2
-1183 104 2
-1193 105 2
-1202 107 2
-1203 107 2
-update ignore t1 set id=id+1;
-select * from t1;
-id parent_id level
-1001 100 0
-1002 101 1
-1003 101 1
-1004 101 1
-1005 101 1
-1006 101 1
-1007 101 1
-1008 102 2
-1010 102 2
-1015 102 2
-1016 103 2
-1017 103 2
-1018 103 2
-1019 103 2
-1020 103 2
-1021 104 2
-1023 104 2
-1024 104 2
-1025 105 2
-1026 105 2
-1027 105 2
-1028 105 2
-1029 105 2
-1030 105 2
-1031 106 2
-1032 106 2
-1033 106 2
-1034 106 2
-1035 106 2
-1036 107 2
-1037 107 2
-1039 107 2
-1041 107 2
-1158 100 0
-1180 105 2
-1184 104 2
-1194 105 2
-1202 107 2
-1204 107 2
-update ignore t1 set id=1023 where id=1010;
-select * from t1 where parent_id=102 order by parent_id,id;
-id parent_id level
-1008 102 2
-1015 102 2
-1010 102 2
-explain select level from t1 where level=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref level level 1 const X Using index
-explain select level,id from t1 where level=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref level level 1 const X Using index
-explain select level,id,parent_id from t1 where level=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref level level 1 const X
-select level,id from t1 where level=1;
-level id
-1 1002
-1 1003
-1 1004
-1 1005
-1 1006
-1 1007
-select level,id,parent_id from t1 where level=1;
-level id parent_id
-1 1002 101
-1 1003 101
-1 1004 101
-1 1005 101
-1 1006 101
-1 1007 101
-optimize table t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 0 PRIMARY 1 id A 39 NULL NULL BTREE
-t1 1 parent_id 1 parent_id A 9 NULL NULL BTREE
-t1 1 level 1 level A 3 NULL NULL BTREE
-drop table t1;
-CREATE TABLE t1 (
-gesuchnr int(11) DEFAULT '0' NOT NULL,
-benutzer_id int(11) DEFAULT '0' NOT NULL,
-PRIMARY KEY (gesuchnr,benutzer_id)
-) engine=BDB;
-replace into t1 (gesuchnr,benutzer_id) values (2,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-select * from t1;
-gesuchnr benutzer_id
-1 1
-2 1
-drop table t1;
-create table t1 (id int not null primary key, x int not null, key (x)) engine=bdb;
-insert into t1 (id, x) values (1, 1);
-replace into t1 (id, x) values (1, 2);
-select * from t1;
-id x
-1 2
-drop table t1;
-create table t1 (a int) engine=bdb;
-insert into t1 values (1), (2);
-optimize table t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-delete from t1 where a = 1;
-select * from t1;
-a
-2
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-drop table t1;
-create table t1 (a int,b varchar(20)) engine=bdb;
-insert into t1 values (1,""), (2,"testing");
-delete from t1 where a = 1;
-select * from t1;
-a b
-2 testing
-create index skr on t1 (a);
-insert into t1 values (3,""), (4,"testing");
-analyze table t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status OK
-show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 1 skr 1 a A 3 NULL NULL YES BTREE
-drop table t1;
-create table t1 (a int,b varchar(20),key(a)) engine=bdb;
-insert into t1 values (1,""), (2,"testing");
-select * from t1 where a = 1;
-a b
-1
-drop table t1;
-create table t1 (a char(10) not null, b int not null auto_increment, primary key(a,b)) engine=BDB;
-insert into t1 values ("a",1),("b",2),("a",2),("c",1);
-insert into t1 values ("a",NULL),("b",NULL),("c",NULL),("e",NULL);
-insert into t1 (a) values ("a"),("b"),("c"),("d");
-insert into t1 (a) values ('k'),('d');
-insert into t1 (a) values ("a");
-insert into t1 values ("d",last_insert_id());
-select * from t1;
-a b
-a 1
-a 2
-a 3
-a 4
-a 5
-b 2
-b 3
-b 4
-c 1
-c 2
-c 3
-d 1
-d 2
-d 5
-e 1
-k 1
-flush tables;
-select count(*) from t1;
-count(*)
-16
-drop table t1;
-create table t1 (n int not null primary key) engine=bdb;
-set autocommit=0;
-insert into t1 values (4);
-rollback;
-select n, "after rollback" from t1;
-n after rollback
-insert into t1 values (4);
-commit;
-select n, "after commit" from t1;
-n after commit
-4 after commit
-commit;
-insert into t1 values (5);
-insert into t1 values (4);
-ERROR 23000: Duplicate entry '4' for key 1
-commit;
-select n, "after commit" from t1;
-n after commit
-4 after commit
-5 after commit
-set autocommit=1;
-insert into t1 values (6);
-insert into t1 values (4);
-ERROR 23000: Duplicate entry '4' for key 1
-select n from t1;
-n
-4
-5
-6
-rollback;
-drop table t1;
-create table t1 ( id int NOT NULL PRIMARY KEY, nom varchar(64)) engine=BDB;
-begin;
-insert into t1 values(1,'hamdouni');
-select id as afterbegin_id,nom as afterbegin_nom from t1;
-afterbegin_id afterbegin_nom
-1 hamdouni
-rollback;
-select id as afterrollback_id,nom as afterrollback_nom from t1;
-afterrollback_id afterrollback_nom
-set autocommit=0;
-insert into t1 values(2,'mysql');
-select id as afterautocommit0_id,nom as afterautocommit0_nom from t1;
-afterautocommit0_id afterautocommit0_nom
-2 mysql
-rollback;
-select id as afterrollback_id,nom as afterrollback_nom from t1;
-afterrollback_id afterrollback_nom
-set autocommit=1;
-drop table t1;
-CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=bdb;
-insert into t1 values ('pippo', 12);
-insert into t1 values ('pippo', 12);
-ERROR 23000: Duplicate entry 'pippo' for key 1
-delete from t1;
-delete from t1 where id = 'pippo';
-select * from t1;
-id val
-insert into t1 values ('pippo', 12);
-set autocommit=0;
-delete from t1;
-rollback;
-select * from t1;
-id val
-pippo 12
-delete from t1;
-commit;
-select * from t1;
-id val
-drop table t1;
-set autocommit=1;
-CREATE TABLE t1 (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(64)) ENGINE=BDB;
-INSERT INTO t1 VALUES (1, 'Jochen');
-select * from t1;
-ID NAME
-1 Jochen
-drop table t1;
-CREATE TABLE t1 ( _userid VARCHAR(60) NOT NULL PRIMARY KEY) ENGINE=BDB;
-set autocommit=0;
-INSERT INTO t1 SET _userid='marc@anyware.co.uk';
-COMMIT;
-SELECT * FROM t1;
-_userid
-marc@anyware.co.uk
-SELECT _userid FROM t1 WHERE _userid='marc@anyware.co.uk';
-_userid
-marc@anyware.co.uk
-drop table t1;
-set autocommit=1;
-CREATE TABLE t1 (
-user_id int(10) DEFAULT '0' NOT NULL,
-name varchar(100),
-phone varchar(100),
-ref_email varchar(100) DEFAULT '' NOT NULL,
-detail varchar(200),
-PRIMARY KEY (user_id,ref_email)
-)engine=bdb;
-INSERT INTO t1 VALUES (10292,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10292,'shirish','2333604','shirish@yahoo.com','ddsds'),(10292,'sonali','323232','sonali@bolly.com','filmstar');
-select * from t1 where user_id=10292;
-user_id name phone ref_email detail
-10292 sanjeev 29153373 sansh777@hotmail.com xxx
-10292 shirish 2333604 shirish@yahoo.com ddsds
-10292 sonali 323232 sonali@bolly.com filmstar
-INSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');
-select * from t1 where user_id=10292;
-user_id name phone ref_email detail
-10292 sanjeev 29153373 sansh777@hotmail.com xxx
-10292 shirish 2333604 shirish@yahoo.com ddsds
-10292 sonali 323232 sonali@bolly.com filmstar
-select * from t1 where user_id>=10292;
-user_id name phone ref_email detail
-10292 sanjeev 29153373 sansh777@hotmail.com xxx
-10292 shirish 2333604 shirish@yahoo.com ddsds
-10292 sonali 323232 sonali@bolly.com filmstar
-10293 shirish 2333604 shirish@yahoo.com ddsds
-select * from t1 where user_id>10292;
-user_id name phone ref_email detail
-10293 shirish 2333604 shirish@yahoo.com ddsds
-select * from t1 where user_id<10292;
-user_id name phone ref_email detail
-10291 sanjeev 29153373 sansh777@hotmail.com xxx
-drop table t1;
-CREATE TABLE t1 (a int not null, b int not null,c int not null,
-key(a),primary key(a,b), unique(c),key(a),unique(b));
-show index from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 0 PRIMARY 1 a A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 b A 0 NULL NULL BTREE
-t1 0 c 1 c A 0 NULL NULL BTREE
-t1 0 b 1 b A 0 NULL NULL BTREE
-t1 1 a 1 a A NULL NULL NULL BTREE
-t1 1 a_2 1 a A NULL NULL NULL BTREE
-drop table t1;
-create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
-alter table t1 engine=BDB;
-insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');
-select * from t1;
-col1 col2
-1 1
-2 3
-3 4
-4 4
-5 2
-update t1 set col2='7' where col1='4';
-select * from t1;
-col1 col2
-1 1
-2 3
-3 4
-4 7
-5 2
-alter table t1 add co3 int not null;
-select * from t1;
-col1 col2 co3
-1 1 0
-2 3 0
-3 4 0
-4 7 0
-5 2 0
-update t1 set col2='9' where col1='2';
-select * from t1;
-col1 col2 co3
-1 1 0
-2 9 0
-3 4 0
-4 7 0
-5 2 0
-drop table t1;
-create table t1 (a int not null , b int, primary key (a)) engine = BDB;
-create table t2 (a int not null , b int, primary key (a)) engine = myisam;
-insert into t1 VALUES (1,3) , (2,3), (3,3);
-select * from t1;
-a b
-1 3
-2 3
-3 3
-insert into t2 select * from t1;
-select * from t2;
-a b
-1 3
-2 3
-3 3
-delete from t1 where b = 3;
-select * from t1;
-a b
-insert into t1 select * from t2;
-select * from t1;
-a b
-1 3
-2 3
-3 3
-select * from t2;
-a b
-1 3
-2 3
-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=BDB;
-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 2
-insert into t1 (ggid,id) values ('this will fail',1);
-ERROR 23000: Duplicate entry '1' for key 1
-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 2
-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),
-user_id int(11) DEFAULT '0' NOT NULL,
-quota bigint(20),
-weight double,
-access_date date,
-access_time time,
-approved datetime,
-dummy_primary_key int(11) NOT NULL auto_increment,
-PRIMARY KEY (dummy_primary_key)
-) ENGINE=BDB;
-INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);
-INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);
-INSERT INTO t1 VALUES ('user_2','somepassword','N',2,2,1.4142135623731,'2000-09-07','23:06:59','2000-09-07 23:06:59',3);
-INSERT INTO t1 VALUES ('user_3','somepassword','Y',3,3,1.7320508075689,'2000-09-07','23:06:59','2000-09-07 23:06:59',4);
-INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);
-select user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;
-user_name password subscribed user_id quota weight access_date access_time approved dummy_primary_key
-user_0 somepassword N 0 0 0 2000-09-07 23:06:59 2000-09-07 23:06:59 1
-user_1 somepassword Y 1 1 1 2000-09-07 23:06:59 2000-09-07 23:06:59 2
-user_2 somepassword N 2 2 1.4142135623731 2000-09-07 23:06:59 2000-09-07 23:06:59 3
-user_3 somepassword Y 3 3 1.7320508075689 2000-09-07 23:06:59 2000-09-07 23:06:59 4
-user_4 somepassword N 4 4 2 2000-09-07 23:06:59 2000-09-07 23:06:59 5
-drop table t1;
-CREATE TABLE t1 (
-id int(11) NOT NULL auto_increment,
-parent_id int(11) DEFAULT '0' NOT NULL,
-level tinyint(4) DEFAULT '0' NOT NULL,
-KEY (id),
-KEY parent_id (parent_id),
-KEY level (level)
-) engine=bdb;
-INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1);
-INSERT INTO t1 values (179,5,2);
-update t1 set parent_id=parent_id+100;
-select * from t1 where parent_id=102;
-id parent_id level
-8 102 2
-9 102 2
-15 102 2
-update t1 set id=id+1000;
-update t1 set id=1024 where id=1009;
-select * from t1;
-id parent_id level
-1001 100 0
-1003 101 1
-1004 101 1
-1008 102 2
-1024 102 2
-1017 103 2
-1022 104 2
-1024 104 2
-1028 105 2
-1029 105 2
-1030 105 2
-1031 106 2
-1032 106 2
-1033 106 2
-1203 107 2
-1202 107 2
-1020 103 2
-1157 100 0
-1193 105 2
-1040 107 2
-1002 101 1
-1015 102 2
-1006 101 1
-1034 106 2
-1035 106 2
-1016 103 2
-1007 101 1
-1036 107 2
-1018 103 2
-1026 105 2
-1027 105 2
-1183 104 2
-1038 107 2
-1025 105 2
-1037 107 2
-1021 104 2
-1019 103 2
-1005 101 1
-1179 105 2
-update ignore t1 set id=id+1;
-select * from t1;
-id parent_id level
-1002 100 0
-1004 101 1
-1005 101 1
-1009 102 2
-1025 102 2
-1018 103 2
-1023 104 2
-1025 104 2
-1029 105 2
-1030 105 2
-1031 105 2
-1032 106 2
-1033 106 2
-1034 106 2
-1204 107 2
-1203 107 2
-1021 103 2
-1158 100 0
-1194 105 2
-1041 107 2
-1003 101 1
-1016 102 2
-1007 101 1
-1035 106 2
-1036 106 2
-1017 103 2
-1008 101 1
-1037 107 2
-1019 103 2
-1027 105 2
-1028 105 2
-1184 104 2
-1039 107 2
-1026 105 2
-1038 107 2
-1022 104 2
-1020 103 2
-1006 101 1
-1180 105 2
-update ignore t1 set id=1023 where id=1010;
-select * from t1 where parent_id=102;
-id parent_id level
-1009 102 2
-1025 102 2
-1016 102 2
-explain select level from t1 where level=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref level level 1 const X Using index
-select level,id from t1 where level=1;
-level id
-1 1004
-1 1005
-1 1003
-1 1007
-1 1008
-1 1006
-select level,id,parent_id from t1 where level=1;
-level id parent_id
-1 1004 101
-1 1005 101
-1 1003 101
-1 1007 101
-1 1008 101
-1 1006 101
-select level,id from t1 where level=1 order by id;
-level id
-1 1003
-1 1004
-1 1005
-1 1006
-1 1007
-1 1008
-delete from t1 where level=1;
-select * from t1;
-id parent_id level
-1002 100 0
-1009 102 2
-1025 102 2
-1018 103 2
-1023 104 2
-1025 104 2
-1029 105 2
-1030 105 2
-1031 105 2
-1032 106 2
-1033 106 2
-1034 106 2
-1204 107 2
-1203 107 2
-1021 103 2
-1158 100 0
-1194 105 2
-1041 107 2
-1016 102 2
-1035 106 2
-1036 106 2
-1017 103 2
-1037 107 2
-1019 103 2
-1027 105 2
-1028 105 2
-1184 104 2
-1039 107 2
-1026 105 2
-1038 107 2
-1022 104 2
-1020 103 2
-1180 105 2
-drop table t1;
-CREATE TABLE t1 (
-sca_code char(6) NOT NULL,
-cat_code char(6) NOT NULL,
-sca_desc varchar(50),
-lan_code char(2) NOT NULL,
-sca_pic varchar(100),
-sca_sdesc varchar(50),
-sca_sch_desc varchar(16),
-PRIMARY KEY (sca_code, cat_code, lan_code),
-INDEX sca_pic (sca_pic)
-) engine = bdb ;
-INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
-select count(*) from t1 where sca_code = 'PD';
-count(*)
-1
-select count(*) from t1 where sca_code <= 'PD';
-count(*)
-1
-select count(*) from t1 where sca_pic is null;
-count(*)
-2
-alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
-select count(*) from t1 where sca_code='PD' and sca_pic is null;
-count(*)
-1
-select count(*) from t1 where cat_code='E';
-count(*)
-0
-alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
-select count(*) from t1 where sca_code='PD' and sca_pic is null;
-count(*)
-1
-select count(*) from t1 where sca_pic >= 'n';
-count(*)
-1
-select sca_pic from t1 where sca_pic is null;
-sca_pic
-NULL
-NULL
-update t1 set sca_pic="test" where sca_pic is null;
-delete from t1 where sca_code='pd';
-drop table t1;
-set @a:=now();
-CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=bdb;
-insert into t1 (a) values(1),(2),(3);
-select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
-a
-1
-2
-3
-select a from t1 natural join t1 as t2 where b >= @a order by a;
-a
-1
-2
-3
-update t1 set a=5 where a=1;
-select a from t1;
-a
-2
-3
-5
-drop table t1;
-flush logs;
-create table t1 (b blob, i int, key (b(100)), key (i), key (i, b(20))) engine=bdb;
-insert into t1 values ('this is a blob', 1), (null, -1), (null, null),("",1),("",2),("",3);
-select b from t1 where b = 'this is a blob';
-b
-this is a blob
-select * from t1 where b like 't%';
-b i
-this is a blob 1
-select b, i from t1 where b is not null;
-b i
-this is a blob 1
- 1
- 2
- 3
-select * from t1 where b is null and i > 0;
-b i
-select * from t1 where i is NULL;
-b i
-NULL NULL
-update t1 set b='updated' where i=1;
-select * from t1;
-b i
-updated 1
-NULL -1
-NULL NULL
-updated 1
- 2
- 3
-drop table t1;
-create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=bdb;
-insert into t1 values("hello",1),("world",2);
-select * from t1 order by b desc;
-a b
-world 2
-hello 1
-optimize table t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-show keys from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 0 PRIMARY 1 a A 2 NULL NULL BTREE
-drop table t1;
-create table t1 (i int, j int )ENGINE=BDB;
-insert into t1 values (1,2);
-select * from t1 where i=1 and j=2;
-i j
-1 2
-create index ax1 on t1 (i,j);
-select * from t1 where i=1 and j=2;
-i j
-1 2
-drop table t1;
-create table t1
-(
-branch_id int auto_increment primary key,
-branch_name varchar(255) not null,
-branch_active int not null default 1,
-unique branch_name(branch_name),
-index branch_active(branch_active)
-) engine=bdb;
-create table t2
-(
-target_id int auto_increment primary key,
-target_name varchar(255) not null,
-target_active int not null default 1,
-unique target_name(target_name),
-index target_active(target_active)
-) engine=bdb;
-create table t3
-(
-platform_id int auto_increment primary key,
-platform_name varchar(255) not null,
-platform_active int not null default 1,
-unique platform_name(platform_name),
-index platform_active(platform_active)
-) engine=bdb;
-create table t4
-(
-product_id int auto_increment primary key,
-product_name varchar(255) not null,
-version_file varchar(255) not null,
-product_active int not null default 1,
-unique product_name(product_name),
-index product_active(product_active)
-) engine=bdb;
-create table t5
-(
-product_file_id int auto_increment primary key,
-product_id int not null,
-file_name varchar(255) not null,
-/* cvs module used to find the file version */
-module_name varchar(255) not null,
-/* flag whether the file is still included in the product */
-file_included int not null default 1,
-unique product_file(product_id,file_name),
-index file_included(file_included)
-) engine=bdb;
-create table t6
-(
-file_platform_id int auto_increment primary key,
-product_file_id int not null,
-platform_id int not null,
-branch_id int not null,
-/* filename in the build system */
-build_filename varchar(255) not null,
-/* default filename in the build archive */
-archive_filename varchar(255) not null,
-unique file_platform(product_file_id,platform_id,branch_id)
-) engine=bdb;
-create table t8
-(
-archive_id int auto_increment primary key,
-branch_id int not null,
-target_id int not null,
-platform_id int not null,
-product_id int not null,
-status_id int not null default 1,
-unique archive(branch_id,target_id,platform_id,product_id),
-index status_id(status_id)
-) engine=bdb;
-create table t7
-(
-build_id int auto_increment primary key,
-branch_id int not null,
-target_id int not null,
-build_number int not null,
-build_date date not null,
-/* build system tag, e.g. 'rmanight-022301-1779' */
-build_tag varchar(255) not null,
-/* path relative to the build archive root, e.g. 'current' */
-build_path text not null,
-unique build(branch_id,target_id,build_number)
-) engine=bdb;
-insert into t1 (branch_name)
-values ('RealMedia');
-insert into t1 (branch_name)
-values ('RP8REV');
-insert into t1 (branch_name)
-values ('SERVER_8_0_GOLD');
-insert into t2 (target_name)
-values ('rmanight');
-insert into t2 (target_name)
-values ('playerall');
-insert into t2 (target_name)
-values ('servproxyall');
-insert into t3 (platform_name)
-values ('linux-2.0-libc6-i386');
-insert into t3 (platform_name)
-values ('win32-i386');
-insert into t4 (product_name, version_file)
-values ('realserver', 'servinst');
-insert into t4 (product_name, version_file)
-values ('realproxy', 'prxyinst');
-insert into t4 (product_name, version_file)
-values ('realplayer', 'playinst');
-insert into t4 (product_name, version_file)
-values ('plusplayer', 'plusinst');
-create temporary table tmp1
-select branch_id, target_id, platform_id, product_id
-from t1, t2, t3, t4 ;
-create temporary table tmp2
-select tmp1.branch_id, tmp1.target_id, tmp1.platform_id, tmp1.product_id
-from tmp1 left join t8
-using (branch_id,target_id,platform_id,product_id)
-where t8.archive_id is null ;
-insert into t8
-(branch_id, target_id, platform_id, product_id, status_id)
-select branch_id, target_id, platform_id, product_id, 1
-from tmp2 ;
-drop table tmp1 ;
-drop table tmp2 ;
-insert into t5 (product_id, file_name, module_name)
-values (1, 'servinst', 'server');
-insert into t5 (product_id, file_name, module_name)
-values (2, 'prxyinst', 'server');
-insert into t5 (product_id, file_name, module_name)
-values (3, 'playinst', 'rpapp');
-insert into t5 (product_id, file_name, module_name)
-values (4, 'plusinst', 'rpapp');
-insert into t6
-(product_file_id,platform_id,branch_id,build_filename,archive_filename)
-values (1, 2, 3, 'servinst.exe', 'win32-servinst.exe');
-insert into t6
-(product_file_id,platform_id,branch_id,build_filename,archive_filename)
-values (1, 1, 3, 'v80_linux-2.0-libc6-i386_servinst.bin', 'linux2-servinst.exe');
-insert into t6
-(product_file_id,platform_id,branch_id,build_filename,archive_filename)
-values (3, 2, 2, 'playinst.exe', 'win32-playinst.exe');
-insert into t6
-(product_file_id,platform_id,branch_id,build_filename,archive_filename)
-values (4, 2, 2, 'playinst.exe', 'win32-playinst.exe');
-insert into t7
-(branch_id,target_id,build_number,build_tag,build_date,build_path)
-values (2, 2, 1071, 'playerall-022101-1071', '2001-02-21', 'current');
-insert into t7
-(branch_id,target_id,build_number,build_tag,build_date,build_path)
-values (2, 2, 1072, 'playerall-022201-1072', '2001-02-22', 'current');
-insert into t7
-(branch_id,target_id,build_number,build_tag,build_date,build_path)
-values (3, 3, 388, 'servproxyall-022201-388', '2001-02-22', 'current');
-insert into t7
-(branch_id,target_id,build_number,build_tag,build_date,build_path)
-values (3, 3, 389, 'servproxyall-022301-389', '2001-02-23', 'current');
-insert into t7
-(branch_id,target_id,build_number,build_tag,build_date,build_path)
-values (4, 4, 100, 'foo target-010101-100', '2001-01-01', 'current');
-update t8
-set status_id=2
-where branch_id=2 and target_id=2 and platform_id=2 and product_id=1;
-select t7.build_path
-from
-t1,
-t7,
-t2,
-t3,
-t4,
-t5,
-t6
-where
-t7.branch_id = t1.branch_id and
-t7.target_id = t2.target_id and
-t5.product_id = t4.product_id and
-t6.product_file_id = t5.product_file_id and
-t6.platform_id = t3.platform_id and
-t6.branch_id = t6.branch_id and
-t7.build_id = 1 and
-t4.product_id = 3 and
-t5.file_name = 'playinst' and
-t3.platform_id = 2;
-build_path
-current
-drop table t1, t2, t3, t4, t5, t6, t7, t8;
-CREATE TABLE t1 (
-a tinytext NOT NULL,
-b tinyint(3) unsigned NOT NULL default '0',
-PRIMARY KEY (a(32),b)
-) ENGINE=BDB;
-INSERT INTO t1 VALUES ('a',1),('a',2);
-SELECT * FROM t1 WHERE a='a' AND b=2;
-a b
-a 2
-SELECT * FROM t1 WHERE a='a' AND b in (2);
-a b
-a 2
-SELECT * FROM t1 WHERE a='a' AND b in (1,2);
-a b
-a 1
-a 2
-drop table t1;
-CREATE TABLE t1 (
-a int3 unsigned NOT NULL,
-b int1 unsigned NOT NULL,
-UNIQUE (a, b)
-) ENGINE = BDB;
-INSERT INTO t1 VALUES (1, 1);
-SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
-MIN(B) MAX(b)
-1 1
-drop table t1;
-create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
-insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
-LOCK TABLES t1 WRITE;
-insert into t1 values (99,1,2,'D'),(1,1,2,'D');
-ERROR 23000: Duplicate entry '1-1' for key 1
-select id from t1;
-id
-0
-1
-2
-select id from t1;
-id
-0
-1
-2
-UNLOCK TABLES;
-DROP TABLE t1;
-create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
-insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
-LOCK TABLES t1 WRITE;
-begin;
-insert into t1 values (99,1,2,'D'),(1,1,2,'D');
-ERROR 23000: Duplicate entry '1-1' for key 1
-select id from t1;
-id
-0
-1
-2
-insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');
-commit;
-select id,id3 from t1;
-id id3
-0 0
-1 1
-2 2
-100 2
-UNLOCK TABLES;
-DROP TABLE t1;
-CREATE TABLE t1 (SYAIN_NO char(5) NOT NULL default '', KINMU_DATE char(6) NOT NULL default '', PRIMARY KEY (SYAIN_NO,KINMU_DATE)) ENGINE=BerkeleyDB;
-CREATE TABLE t2 ( SYAIN_NO char(5) NOT NULL default '',STR_DATE char(8) NOT NULL default '',PRIMARY KEY (SYAIN_NO,STR_DATE) ) ENGINE=BerkeleyDB;
-select T1.KINMU_DATE from t1 T1 ,t2 T2 where T1.SYAIN_NO = '12345' and T1.KINMU_DATE = '200106' and T2.SYAIN_NO = T1.SYAIN_NO;
-KINMU_DATE
-select T1.KINMU_DATE from t1 T1 ,t2 T2 where T1.SYAIN_NO = '12345' and T1.KINMU_DATE = '200106' and T2.SYAIN_NO = T1.SYAIN_NO;
-KINMU_DATE
-DROP TABLE t1,t2;
-create table t1 (a int(11) not null, b int(11) not null, unique (a,b)) engine=bdb;
-insert into t1 values (1,1), (1,2);
-select * from t1 where a = 1;
-a b
-1 1
-1 2
-select t1.*, t2.* from t1, t1 t2 where t1.a = t2.a and t2.a = 1;
-a b a b
-1 1 1 1
-1 1 1 2
-1 2 1 1
-1 2 1 2
-select * from t1 where a = 1;
-a b
-1 1
-1 2
-drop table t1;
-create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
-insert into t1 values (0,0,0,'ABCDEFGHIJ');
-create table t2 (id int NOT NULL,primary key (id)) engine=bdb;
-LOCK TABLES t1 WRITE, t2 WRITE;
-insert into t2 values(1);
-SELECT t1.* FROM t1 WHERE id IN (1);
-id id2 id3 dummy1
-SELECT t1.* FROM t2 left outer join t1 on (t1.id=t2.id);
-id id2 id3 dummy1
-NULL NULL NULL NULL
-delete from t1 where id3 >= 0 and id3 <= 0;
-drop table t1,t2;
-CREATE TABLE t1 (i varchar(48) NOT NULL default '', p varchar(255) default NULL,s varchar(48) NOT NULL default '', PRIMARY KEY (i), UNIQUE(p,s)) ENGINE=BDB;
-INSERT INTO t1 VALUES ('00000000-e6c4ddeaa6-003b8-83458387','programs/xxxxxxxx.wmv','00000000-e6c4ddeb32-003bc-83458387');
-SELECT * FROM t1 WHERE p='programs/xxxxxxxx.wmv';
-i p s
-00000000-e6c4ddeaa6-003b8-83458387 programs/xxxxxxxx.wmv 00000000-e6c4ddeb32-003bc-83458387
-drop table t1;
-CREATE TABLE t1 ( STR_DATE varchar(8) NOT NULL default '',INFO_NOTE varchar(200) default NULL,PRIMARY KEY (STR_DATE) ) ENGINE=BerkeleyDB;
-select INFO_NOTE from t1 where STR_DATE = '20010610';
-INFO_NOTE
-select INFO_NOTE from t1 where STR_DATE < '20010610';
-INFO_NOTE
-select INFO_NOTE from t1 where STR_DATE > '20010610';
-INFO_NOTE
-drop table t1;
-create table t1 (a int not null, b int, primary key (a)) engine =bdb;
-create table t2 (a int not null, b int, primary key (a)) engine =bdb;
-insert into t1 values (2, 3),(1, 7),(10, 7);
-insert into t2 values (2, 3),(1, 7),(10, 7);
-select * from t1;
-a b
-1 7
-2 3
-10 7
-select * from t2;
-a b
-1 7
-2 3
-10 7
-delete t1, t2 from t1, t2 where t1.a = t2.a;
-select * from t1;
-a b
-select * from t2;
-a b
-select * from t2;
-a b
-drop table t1,t2;
-create table t1 (x int not null, index(x)) engine=bdb;
-insert into t1 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
-select * from t1 where x <= 10 and x >= 7;
-x
-7
-8
-9
-10
-select * from t1 where x <= 10 and x >= 7 order by x;
-x
-7
-8
-9
-10
-select * from t1 where x <= 10 and x >= 7 order by x desc;
-x
-10
-9
-8
-7
-select * from t1 where x <= 8 and x >= 5 order by x desc;
-x
-8
-7
-6
-5
-select * from t1 where x < 8 and x > 5 order by x desc;
-x
-7
-6
-drop table t1;
-create table t1 ( c char(8) not null ) engine=bdb;
-insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
-insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
-alter table t1 add b char(8) not null;
-alter table t1 add a char(8) not null;
-alter table t1 add primary key (a,b,c);
-update t1 set a=c, b=c;
-create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=bdb;
-insert into t2 select * from t1;
-delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
-drop table t1,t2;
-create table t1 (a char(10), key(a), b int not null, key(b)) engine=bdb;
-insert into t1 values ('a',1),('A',2);
-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
-select a from t1;
-a
-a
-A
-explain select b from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL b 4 NULL 2 Using index
-select b from t1;
-b
-1
-2
-alter table t1 modify a char(10) binary;
-explain select a from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL a 11 NULL 2 Using index
-select a from t1;
-a
-A
-a
-drop table t1;
-create table t1(
-pk1 text not null, pk2 text not null, pk3 char(4),
-key1 int, key2 int,
-primary key(pk1(4), pk2(4), pk3), key(key1), key(key2)
-) engine=bdb;
-insert into t1 values (concat('aaa-', repeat('A', 4000)),
-concat('eee-', repeat('e', 4000)), 'a++a', 1, 1);
-insert into t1 values (concat('bbb-', repeat('B', 4000)),
-concat('ggg-', repeat('G', 4000)), 'b++b', 1, 1);
-select substring(pk1, 1, 4), substring(pk1, 4001),
-substring(pk2, 1, 4), substring(pk2, 4001), pk3, key1, key2
-from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-substring(pk1, 1, 4) substring(pk1, 4001) substring(pk2, 1, 4) substring(pk2, 4001) pk3 key1 key2
-aaa- AAAA eee- eeee a++a 1 1
-bbb- BBBB ggg- GGGG b++b 1 1
-drop table t1;
-create table t1 (
-pk1 varchar(8) not null default '',
-pk2 varchar(4) not null default '',
-key1 int(11) default null,
-key2 int(11) default null,
-primary key (pk1,pk2),
-key key1 (key1),
-key key2 (key2)) engine=bdb;
-insert into t1 values ('','empt',2,2), ('a','a--a',2,2),
-('bb','b--b',2,2), ('ccc','c--c',2,2), ('dddd','d--d',2,2);
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 pk2 key1 key2
- empt 2 2
-a a--a 2 2
-bb b--b 2 2
-ccc c--c 2 2
-dddd d--d 2 2
-drop table t1;
-set autocommit=0;
-create table t1(b varchar(30)) engine=bdb;
-insert into t1 values ('one');
-commit;
-select b FROM t1 outer_table where
-exists (select 'two' from t1 where 'two' = outer_table.b);
-b
-drop table t1;
-set autocommit=1;
-create table t1(a int primary key, b varchar(30)) engine=bdb;
-insert into t1 values (1,'one'), (2,'two'), (3,'three'), (4,'four');
-create table t2 like t1;
-insert t2 select * from t1;
-select a from t1 where a in (select a from t2);
-a
-1
-2
-3
-4
-delete from t2;
-insert into t2 (a, b)
-select a, b from t1 where (a, b) in (select a, b from t1);
-select * from t2;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t1, t2;
-create table t1 (a int, b varchar(30), primary key(a)) engine = bdb;
-insert into t1 values (1,'one');
-commit;
-truncate t1;
-select * from t1;
-a b
-drop table t1;
-SET NAMES utf8;
-create table t1 (a varchar(255) character set utf8) engine=bdb;
-set @a:= convert(repeat(_latin1 0xFF, 255) using utf8);
-insert into t1 values (@a);
-select a, length(a), char_length(a) from t1;
-a length(a) char_length(a)
-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 510 255
-drop table t1;
-SET NAMES latin1;
-CREATE TABLE t1 (
-id int unsigned NOT NULL auto_increment,
-list_id smallint unsigned NOT NULL,
-term TEXT NOT NULL,
-PRIMARY KEY(id),
-INDEX(list_id, term(4))
-) ENGINE=BDB CHARSET=utf8;
-INSERT INTO t1 SET list_id = 1, term = "letterc";
-INSERT INTO t1 SET list_id = 1, term = "letterb";
-INSERT INTO t1 SET list_id = 1, term = "lettera";
-INSERT INTO t1 SET list_id = 1, term = "letterd";
-SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterc");
-id
-1
-SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterb");
-id
-2
-SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
-id
-3
-SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
-id
-4
-DROP TABLE t1;
-create table t1 (a int, key(a)) engine=bdb;
-create table t2 (b int, key(b)) engine=bdb;
-insert into t1 values (1),(1),(2),(3),(4);
-insert into t2 values (1),(5),(6),(7);
-delete from t1 where (a in (select b from t2));
-select count(*) from t1;
-count(*)
-3
-insert into t1 set a=(select b from t2);
-ERROR 21000: Subquery returns more than 1 row
-select count(*) from t1;
-count(*)
-3
-update t1 set a = a + 1 where (a in (select b from t2));
-select count(*) from t1;
-count(*)
-3
-drop table t1, t2;
-End of 4.1 tests
-create temporary table t1 (a int, primary key(a)) engine=bdb;
-select * from t1;
-a
-alter table t1 add b int;
-select * from t1;
-a b
-drop table t1;
-set storage_engine=bdb;
-drop table if exists t1,t2,t3;
---- Testing varchar ---
---- Testing varchar ---
-create table t1 (v varchar(10), c char(10), t text);
-insert into t1 values('+ ', '+ ', '+ ');
-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
-select concat('*',v,'*',c,'*',t,'*') from t1;
-concat('*',v,'*',c,'*',t,'*')
-*+ *+*+ *
-*+ *+*+ *
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` text
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-create table t2 like t1;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` text
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-create table t3 select * from t1;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` text
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-alter table t1 modify c varchar(10);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` varchar(10) default NULL,
- `t` text
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-alter table t1 modify v char(10);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` text
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-alter table t1 modify t varchar(10);
-Warnings:
-Note 1265 Data truncated for column 't' at row 2
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(10) default NULL
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-select concat('*',v,'*',c,'*',t,'*') from t1;
-concat('*',v,'*',c,'*',t,'*')
-*+*+*+ *
-*+*+*+ *
-drop table t1,t2,t3;
-create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` text,
- KEY `v` (`v`),
- KEY `c` (`c`),
- KEY `t` (`t`(10))
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-select count(*) from t1;
-count(*)
-270
-insert into t1 values(concat('a',char(1)),concat('a',char(1)),concat('a',char(1)));
-select count(*) from t1 where v='a';
-count(*)
-10
-select count(*) from t1 where c='a';
-count(*)
-10
-select count(*) from t1 where t='a';
-count(*)
-10
-select count(*) from t1 where v='a ';
-count(*)
-10
-select count(*) from t1 where c='a ';
-count(*)
-10
-select count(*) from t1 where t='a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-count(*)
-10
-select count(*) from t1 where v like 'a%';
-count(*)
-11
-select count(*) from t1 where c like 'a%';
-count(*)
-11
-select count(*) from t1 where t like 'a%';
-count(*)
-11
-select count(*) from t1 where v like 'a %';
-count(*)
-9
-explain select count(*) from t1 where v='a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 13 const # Using where
-explain select count(*) from t1 where c='a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref c c 11 const # Using where
-explain select count(*) from t1 where t='a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref t t 13 const # Using where
-explain select count(*) from t1 where v like 'a%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 13 NULL # Using where
-explain select count(*) from t1 where v between 'a' and 'a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 13 const # Using where
-explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 13 const # Using where
-alter table t1 add unique(v);
-ERROR 23000: Duplicate entry '{ ' for key 1
-alter table t1 add key(v);
-select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
-qq
-*a*a*a*
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-*a *a*a *
-explain select * from t1 where v='a';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v,v_2 # 13 const # Using where
-select v,count(*) from t1 group by v limit 10;
-v count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select v,count(c) from t1 group by v limit 10;
-v count(c)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result v,count(c) from t1 group by v limit 10;
-v count(c)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select c,count(*) from t1 group by c limit 10;
-c count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select c,count(t) from t1 group by c limit 10;
-c count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result c,count(t) from t1 group by c limit 10;
-c count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select t,count(*) from t1 group by t limit 10;
-t count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select t,count(t) from t1 group by t limit 10;
-t count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result t,count(t) from t1 group by t limit 10;
-t count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
- `t` text,
- KEY `c` (`c`),
- KEY `t` (`t`(10)),
- KEY `v` (`v`)
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-select count(*) from t1 where v='a';
-count(*)
-10
-select count(*) from t1 where v='a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-count(*)
-10
-select count(*) from t1 where v like 'a%';
-count(*)
-11
-select count(*) from t1 where v like 'a %';
-count(*)
-9
-explain select count(*) from t1 where v='a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 303 const # Using where
-explain select count(*) from t1 where v like 'a%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 303 NULL # Using where
-explain select count(*) from t1 where v between 'a' and 'a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 303 const # Using where
-explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 303 const # Using where
-explain select * from t1 where v='a';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 303 const # Using where
-select v,count(*) from t1 group by v limit 10;
-v count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-alter table t1 drop key v, add key v (v(30));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
- `t` text,
- KEY `c` (`c`),
- KEY `t` (`t`(10)),
- KEY `v` (`v`(30))
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-select count(*) from t1 where v='a';
-count(*)
-10
-select count(*) from t1 where v='a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ';
-count(*)
-10
-select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-count(*)
-10
-select count(*) from t1 where v like 'a%';
-count(*)
-11
-select count(*) from t1 where v like 'a %';
-count(*)
-9
-explain select count(*) from t1 where v='a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 33 const # Using where
-explain select count(*) from t1 where v like 'a%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 33 NULL # Using where
-explain select count(*) from t1 where v between 'a' and 'a ';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 33 const # Using where
-explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 33 const # Using where
-explain select * from t1 where v='a';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref v v 33 const # Using where
-select v,count(*) from t1 group by v limit 10;
-v count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-alter table t1 modify v varchar(600), drop key v, add key v (v);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(600) default NULL,
- `c` char(10) default NULL,
- `t` text,
- KEY `c` (`c`),
- KEY `t` (`t`(10)),
- KEY `v` (`v`)
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-select v,count(*) from t1 group by v limit 10;
-v count(*)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-select sql_big_result v,count(t) from t1 group by v limit 10;
-v count(t)
-a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
-h 10
-i 10
-drop table t1;
-create table t1 (a char(10), unique (a));
-insert into t1 values ('a ');
-insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a' for key 1
-alter table t1 modify a varchar(10);
-insert into t1 values ('a '),('a '),('a '),('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
-insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
-insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
-insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
-update t1 set a='a ' where a like 'a%';
-select concat(a,'.') from t1;
-concat(a,'.')
-a .
-update t1 set a='abc ' where a like 'a ';
-select concat(a,'.') from t1;
-concat(a,'.')
-a .
-update t1 set a='a ' where a like 'a %';
-select concat(a,'.') from t1;
-concat(a,'.')
-a .
-update t1 set a='a ' where a like 'a ';
-select concat(a,'.') from t1;
-concat(a,'.')
-a .
-drop table t1;
-create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(5)));
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` text,
- KEY `v` (`v`(5)),
- KEY `c` (`c`(5)),
- KEY `t` (`t`(5))
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (v char(10) character set utf8);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` char(10) character set utf8 default NULL
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (v varchar(10), c char(10)) row_format=fixed;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
-insert into t1 values('a','a'),('a ','a ');
-select concat('*',v,'*',c,'*') from t1;
-concat('*',v,'*',c,'*')
-*a*a*
-*a *a*
-drop table t1;
-create table t1 (v varchar(65530), key(v(10)));
-insert into t1 values(repeat('a',65530));
-select length(v) from t1 where v=repeat('a',65530);
-length(v)
-65530
-drop table t1;
-create table t1(a int, b varchar(12), key ba(b, a));
-insert into t1 values (1, 'A'), (20, NULL);
-explain select * from t1 where a=20 and b is null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref ba ba 20 const,const 1 Using where
-select * from t1 where a=20 and b is null;
-a b
-20 NULL
-drop table t1;
-create table t1 (v varchar(65530), key(v));
-Warnings:
-Warning 1071 Specified key was too long; max key length is MAX_KEY_LENGTH bytes
-drop table if exists t1;
-create table t1 (v varchar(65536));
-Warnings:
-Note 1246 Converting column 'v' from VARCHAR to TEXT
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` mediumtext
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (v varchar(65530) character set utf8);
-Warnings:
-Note 1246 Converting column 'v' from VARCHAR to TEXT
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `v` mediumtext character set utf8
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-drop table t1;
-set storage_engine=MyISAM;
-create table t1 (a varchar(255) character set utf8,
-b varchar(255) character set utf8,
-c varchar(255) character set utf8,
-d varchar(255) character set utf8,
-key (a,b,c,d)) engine=bdb;
-drop table t1;
-create table t1 (a varchar(255) character set utf8,
-b varchar(255) character set utf8,
-c varchar(255) character set utf8,
-d varchar(255) character set utf8,
-e varchar(255) character set utf8,
-key (a,b,c,d,e)) engine=bdb;
-ERROR 42000: Specified key was too long; max key length is 3072 bytes
-set autocommit=0;
-create table t1 (a int) engine=bdb;
-commit;
-alter table t1 add primary key(a);
-drop table t1;
-End of 5.0 tests
diff --git a/mysql-test/r/bdb_cache.result b/mysql-test/r/bdb_cache.result
deleted file mode 100644
index 6506ce0412a..00000000000
--- a/mysql-test/r/bdb_cache.result
+++ /dev/null
@@ -1,99 +0,0 @@
-drop table if exists t1, t2, t3;
-flush status;
-set autocommit=0;
-create table t1 (a int not null) engine=bdb;
-insert into t1 values (1),(2),(3);
-select * from t1;
-a
-1
-2
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-drop table t1;
-set autocommit=1;
-create table t1 (a int not null) engine=bdb;
-begin;
-insert into t1 values (1),(2),(3);
-select * from t1;
-a
-1
-2
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-drop table t1;
-create table t1 (a int not null) engine=bdb;
-create table t2 (a int not null) engine=bdb;
-create table t3 (a int not null) engine=bdb;
-insert into t1 values (1),(2);
-insert into t2 values (1),(2);
-insert into t3 values (1),(2);
-select * from t1;
-a
-1
-2
-select * from t2;
-a
-1
-2
-select * from t3;
-a
-1
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-begin;
-select * from t1;
-a
-1
-2
-select * from t2;
-a
-1
-2
-select * from t3;
-a
-1
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-insert into t1 values (3);
-insert into t2 values (3);
-insert into t1 values (4);
-select * from t1;
-a
-1
-2
-3
-4
-select * from t2;
-a
-1
-2
-3
-select * from t3;
-a
-1
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-drop table if exists t1, t2, t3;
diff --git a/mysql-test/r/bdb_gis.result b/mysql-test/r/bdb_gis.result
deleted file mode 100644
index 6651421b51c..00000000000
--- a/mysql-test/r/bdb_gis.result
+++ /dev/null
@@ -1,583 +0,0 @@
-SET storage_engine=bdb;
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER, g POINT);
-CREATE TABLE gis_line (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
-SHOW CREATE TABLE gis_point;
-Table Create Table
-gis_point CREATE TABLE `gis_point` (
- `fid` int(11) default NULL,
- `g` point default NULL
-) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
-SHOW FIELDS FROM gis_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g point YES NULL
-SHOW FIELDS FROM gis_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g linestring YES NULL
-SHOW FIELDS FROM gis_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g polygon YES NULL
-SHOW FIELDS FROM gis_multi_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipoint YES NULL
-SHOW FIELDS FROM gis_multi_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multilinestring YES NULL
-SHOW FIELDS FROM gis_multi_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipolygon YES NULL
-SHOW FIELDS FROM gis_geometrycollection;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometrycollection YES NULL
-SHOW FIELDS FROM gis_geometry;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometry YES NULL
-INSERT INTO gis_point VALUES
-(101, PointFromText('POINT(10 10)')),
-(102, PointFromText('POINT(20 10)')),
-(103, PointFromText('POINT(20 20)')),
-(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
-INSERT INTO gis_line VALUES
-(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
-(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
-(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));
-INSERT INTO gis_polygon VALUES
-(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
-(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
-(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));
-INSERT INTO gis_multi_point VALUES
-(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
-(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
-(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));
-INSERT INTO gis_multi_line VALUES
-(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
-(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
-(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));
-INSERT INTO gis_multi_polygon VALUES
-(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));
-INSERT INTO gis_geometrycollection VALUES
-(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
-(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));
-INSERT into gis_geometry SELECT * FROM gis_point;
-INSERT into gis_geometry SELECT * FROM gis_line;
-INSERT into gis_geometry SELECT * FROM gis_polygon;
-INSERT into gis_geometry SELECT * FROM gis_multi_point;
-INSERT into gis_geometry SELECT * FROM gis_multi_line;
-INSERT into gis_geometry SELECT * FROM gis_multi_polygon;
-INSERT into gis_geometry SELECT * FROM gis_geometrycollection;
-SELECT fid, AsText(g) FROM gis_point ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-SELECT fid, AsText(g) FROM gis_line ORDER by fid;
-fid AsText(g)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;
-fid AsText(g)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;
-fid AsText(g)
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;
-fid AsText(g)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;
-fid AsText(g)
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;
-fid AsText(g)
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;
-fid Dimension(g)
-101 0
-102 0
-103 0
-104 0
-105 1
-106 1
-107 1
-108 2
-109 2
-110 2
-111 0
-112 0
-113 0
-114 1
-115 1
-116 1
-117 2
-118 2
-119 2
-120 1
-121 1
-SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;
-fid GeometryType(g)
-101 POINT
-102 POINT
-103 POINT
-104 POINT
-105 LINESTRING
-106 LINESTRING
-107 LINESTRING
-108 POLYGON
-109 POLYGON
-110 POLYGON
-111 MULTIPOINT
-112 MULTIPOINT
-113 MULTIPOINT
-114 MULTILINESTRING
-115 MULTILINESTRING
-116 MULTILINESTRING
-117 MULTIPOLYGON
-118 MULTIPOLYGON
-119 MULTIPOLYGON
-120 GEOMETRYCOLLECTION
-121 GEOMETRYCOLLECTION
-SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid;
-fid IsEmpty(g)
-101 0
-102 0
-103 0
-104 0
-105 0
-106 0
-107 0
-108 0
-109 0
-110 0
-111 0
-112 0
-113 0
-114 0
-115 0
-116 0
-117 0
-118 0
-119 0
-120 0
-121 0
-SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid;
-fid AsText(Envelope(g))
-101 POLYGON((10 10,10 10,10 10,10 10,10 10))
-102 POLYGON((20 10,20 10,20 10,20 10,20 10))
-103 POLYGON((20 20,20 20,20 20,20 20,20 20))
-104 POLYGON((10 20,10 20,10 20,10 20,10 20))
-105 POLYGON((0 0,10 0,10 10,0 10,0 0))
-106 POLYGON((10 10,20 10,20 20,10 20,10 10))
-107 POLYGON((10 10,40 10,40 10,10 10,10 10))
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0))
-110 POLYGON((0 0,30 0,30 30,0 30,0 0))
-111 POLYGON((0 0,20 0,20 20,0 20,0 0))
-112 POLYGON((1 1,21 1,21 21,1 21,1 1))
-113 POLYGON((3 6,4 6,4 10,3 10,3 6))
-114 POLYGON((10 0,16 0,16 48,10 48,10 0))
-115 POLYGON((10 0,10 0,10 48,10 48,10 0))
-116 POLYGON((1 2,21 2,21 8,1 8,1 2))
-117 POLYGON((28 0,84 0,84 42,28 42,28 0))
-118 POLYGON((28 0,84 0,84 42,28 42,28 0))
-119 POLYGON((0 0,3 0,3 3,0 3,0 0))
-120 POLYGON((0 0,10 0,10 10,0 10,0 0))
-121 POLYGON((3 6,44 6,44 9,3 9,3 6))
-explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
-Warnings:
-Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
-SELECT fid, X(g) FROM gis_point ORDER by fid;
-fid X(g)
-101 10
-102 20
-103 20
-104 10
-SELECT fid, Y(g) FROM gis_point ORDER by fid;
-fid Y(g)
-101 10
-102 10
-103 20
-104 20
-explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
-Warnings:
-Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
-SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(StartPoint(g))
-105 POINT(0 0)
-106 POINT(10 10)
-107 POINT(10 10)
-SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(EndPoint(g))
-105 POINT(10 0)
-106 POINT(10 10)
-107 POINT(40 10)
-SELECT fid, GLength(g) FROM gis_line ORDER by fid;
-fid GLength(g)
-105 24.142135623731
-106 40
-107 30
-SELECT fid, NumPoints(g) FROM gis_line ORDER by fid;
-fid NumPoints(g)
-105 3
-106 5
-107 2
-SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid;
-fid AsText(PointN(g, 2))
-105 POINT(0 10)
-106 POINT(20 10)
-107 POINT(40 10)
-SELECT fid, IsClosed(g) FROM gis_line ORDER by fid;
-fid IsClosed(g)
-105 0
-106 1
-107 0
-explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
-SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
-fid AsText(Centroid(g))
-108 POINT(15 15)
-109 POINT(25.416666666667 25.416666666667)
-110 POINT(20 10)
-SELECT fid, Area(g) FROM gis_polygon ORDER by fid;
-fid Area(g)
-108 100
-109 2400
-110 450
-SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid;
-fid AsText(ExteriorRing(g))
-108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
-110 LINESTRING(0 0,30 0,30 30,0 0)
-SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid;
-fid NumInteriorRings(g)
-108 0
-109 1
-110 0
-SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid;
-fid AsText(InteriorRingN(g, 1))
-108 NULL
-109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-110 NULL
-explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
-SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
-fid IsClosed(g)
-114 0
-115 0
-116 0
-SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
-fid AsText(Centroid(g))
-117 POINT(55.588527753042 17.426536064114)
-118 POINT(55.588527753042 17.426536064114)
-119 POINT(2 2)
-SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
-fid Area(g)
-117 1684.5
-118 1684.5
-119 4.5
-SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid;
-fid NumGeometries(g)
-111 4
-112 4
-113 2
-SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid;
-fid NumGeometries(g)
-114 2
-115 1
-116 2
-SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid;
-fid NumGeometries(g)
-117 2
-118 2
-119 1
-SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid;
-fid NumGeometries(g)
-120 2
-121 2
-explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
-fid AsText(GeometryN(g, 2))
-111 POINT(10 10)
-112 POINT(11 11)
-113 POINT(4 10)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;
-fid AsText(GeometryN(g, 2))
-114 LINESTRING(16 0,16 23,16 48)
-115 NULL
-116 LINESTRING(2 5,5 8,21 7)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;
-fid AsText(GeometryN(g, 2))
-117 POLYGON((59 18,67 18,67 13,59 13,59 18))
-118 POLYGON((59 18,67 18,67 13,59 13,59 18))
-119 NULL
-SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 2))
-120 LINESTRING(0 0,10 10)
-121 LINESTRING(3 6,7 9)
-SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 1))
-120 POINT(0 0)
-121 POINT(44 6)
-explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
-SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
-120 121 0 0 1 0 0 0 1 0
-121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
-explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
-Warnings:
-Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
-DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE t1 (
-gp point,
-ln linestring,
-pg polygon,
-mp multipoint,
-mln multilinestring,
-mpg multipolygon,
-gc geometrycollection,
-gm geometry
-);
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-ALTER TABLE t1 ADD fid INT;
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-fid int(11) YES NULL
-DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
-INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));
-INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
-INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));
-INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));
-INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));
-INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));
-INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));
-INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));
-INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));
-INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));
-INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));
-INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));
-INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));
-INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));
-INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrcontains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrdisjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrequal
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrintersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbroverlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrtouches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrwithin
-big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-contains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-disjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-intersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-overlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-touches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-within
-big,center
-SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
-SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');
-SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');
-SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
-SET @point1 = GeomFromText('POLYGON ((0 0))');
-SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
-0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
-1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
-0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
-0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
-0
-DROP TABLE t1;
-End of 5.0 tests
-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 ALL p NULL NULL NULL 2 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
diff --git a/mysql-test/r/bench_count_distinct.result b/mysql-test/r/bench_count_distinct.result
index 62312870f59..79e12afd237 100644
--- a/mysql-test/r/bench_count_distinct.result
+++ b/mysql-test/r/bench_count_distinct.result
@@ -4,8 +4,8 @@ select count(distinct n) from t1;
count(distinct n)
100
explain extended select count(distinct n) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL n 4 NULL 200 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 index NULL n 4 NULL 200 100.00 Using index
Warnings:
Note 1003 select count(distinct `test`.`t1`.`n`) AS `count(distinct n)` from `test`.`t1`
drop table t1;
diff --git a/mysql-test/r/bigint.result b/mysql-test/r/bigint.result
index b0d114f1655..4a5b8fcf4aa 100644
--- a/mysql-test/r/bigint.result
+++ b/mysql-test/r/bigint.result
@@ -47,7 +47,7 @@ drop table t1;
create table t1 ( a int not null default 1, big bigint );
insert into t1 (big) values (-1),(12345678901234567),(9223372036854775807),(18446744073709551615);
Warnings:
-Warning 1264 Out of range value adjusted for column 'big' at row 4
+Warning 1264 Out of range value for column 'big' at row 4
select * from t1;
a big
1 -1
@@ -62,7 +62,7 @@ min(big) max(big) max(big)-1
-1 9223372036854775807 9223372036854775806
alter table t1 modify big bigint unsigned not null;
Warnings:
-Warning 1264 Out of range value adjusted for column 'big' at row 1
+Warning 1264 Out of range value for column 'big' at row 1
select min(big),max(big),max(big)-1 from t1;
min(big) max(big) max(big)-1
0 9223372036854775807 9223372036854775806
@@ -92,7 +92,7 @@ min(big) max(big) max(big)-1
0 18446744073709551615 18446744073709551614
alter table t1 modify big bigint not null;
Warnings:
-Warning 1264 Out of range value adjusted for column 'big' at row 5
+Warning 1264 Out of range value for column 'big' at row 5
select * from t1;
a big
1 0
@@ -180,14 +180,14 @@ create table t1 select 1 as 'a';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(1) NOT NULL default '0'
+ `a` int(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select 9223372036854775809 as 'a';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(19) unsigned NOT NULL default '0'
+ `a` bigint(19) unsigned NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
a
@@ -210,10 +210,10 @@ drop table t1;
create table t1 ( quantity decimal(2) unsigned);
insert into t1 values (500), (-500), (~0), (-1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'quantity' at row 1
-Warning 1264 Out of range value adjusted for column 'quantity' at row 2
-Warning 1264 Out of range value adjusted for column 'quantity' at row 3
-Warning 1264 Out of range value adjusted for column 'quantity' at row 4
+Warning 1264 Out of range value for column 'quantity' at row 1
+Warning 1264 Out of range value for column 'quantity' at row 2
+Warning 1264 Out of range value for column 'quantity' at row 3
+Warning 1264 Out of range value for column 'quantity' at row 4
select * from t1;
quantity
99
@@ -394,3 +394,13 @@ select --9223372036854775808, ---9223372036854775808, ----9223372036854775808;
select -(-9223372036854775808), -(-(-9223372036854775808));
-(-9223372036854775808) -(-(-9223372036854775808))
9223372036854775808 -9223372036854775808
+create table t1 select -9223372036854775808 bi;
+describe t1;
+Field Type Null Key Default Extra
+bi bigint(20) NO 0
+drop table t1;
+create table t1 select -9223372036854775809 bi;
+describe t1;
+Field Type Null Key Default Extra
+bi decimal(19,0) NO 0
+drop table t1;
diff --git a/mysql-test/r/binary.result b/mysql-test/r/binary.result
index c8b3768b7ce..be87c25e932 100644
--- a/mysql-test/r/binary.result
+++ b/mysql-test/r/binary.result
@@ -138,7 +138,7 @@ create table t1 (a binary);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` binary(1) default NULL
+ `a` binary(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (col1 binary(4));
diff --git a/mysql-test/r/binlog.result b/mysql-test/r/binlog.result
deleted file mode 100644
index 0a199c87545..00000000000
--- a/mysql-test/r/binlog.result
+++ /dev/null
@@ -1,570 +0,0 @@
-drop table if exists t1, t2;
-reset master;
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=innodb;
-begin;
-insert t1 values (5);
-commit;
-begin;
-insert t2 values (5);
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=innodb
-master-bin.000001 # Query 1 # use `test`; create table t2 (a int) engine=innodb
-master-bin.000001 # Query 1 # use `test`; BEGIN
-master-bin.000001 # Query 1 # use `test`; insert t1 values (5)
-master-bin.000001 # Xid 1 # COMMIT /* XID */
-master-bin.000001 # Query 1 # use `test`; BEGIN
-master-bin.000001 # Query 1 # use `test`; insert t2 values (5)
-master-bin.000001 # Xid 1 # COMMIT /* XID */
-drop table t1,t2;
-reset master;
-create table t1 (n int) engine=innodb;
-begin;
-commit;
-drop table t1;
-show binlog events in 'master-bin.000001' from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; create table t1 (n int) engine=innodb
-master-bin.000001 # Query 1 # use `test`; BEGIN
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(100 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(99 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(98 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(97 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(96 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(95 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(94 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(93 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(92 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(91 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(90 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(89 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(88 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(87 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(86 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(85 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(84 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(83 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(82 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(81 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(80 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(79 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(78 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(77 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(76 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(75 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(74 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(73 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(72 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(71 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(70 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(69 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(68 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(67 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(66 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(65 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(64 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(63 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(62 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(61 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(60 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(59 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(58 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(57 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(56 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(55 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(54 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(53 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(52 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(51 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(50 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(49 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(48 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(47 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(46 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(45 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(44 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(43 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(42 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(41 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(40 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(39 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(38 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(37 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(36 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(35 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(34 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(33 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(32 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(31 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(30 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(29 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(28 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(27 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(26 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(25 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(24 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(23 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(22 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(21 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(20 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(19 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(18 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(17 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(16 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(15 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(14 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(13 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(12 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(11 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(10 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(9 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(8 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(7 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(6 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(5 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(4 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(3 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(2 + 4)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(1 + 4)
-master-bin.000001 # Xid 1 # COMMIT /* XID */
-master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query 1 # use `test`; drop table t1
-set @ac = @@autocommit;
-set autocommit= 0;
-reset master;
-create table t1(n int) engine=innodb;
-begin;
-insert into t1 values (1);
-insert into t1 values (2);
-insert into t1 values (3);
-commit;
-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 98 Server version, Binlog ver: 4
-master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=innodb
-master-bin.000001 197 Query 1 265 use `test`; BEGIN
-master-bin.000001 265 Query 1 353 use `test`; insert into t1 values (1)
-master-bin.000001 353 Query 1 441 use `test`; insert into t1 values (2)
-master-bin.000001 441 Query 1 529 use `test`; insert into t1 values (3)
-master-bin.000001 529 Xid 1 556 COMMIT /* XID */
-master-bin.000001 556 Query 1 632 use `test`; drop table t1
-set @bcs = @@binlog_cache_size;
-set global binlog_cache_size=4096;
-reset master;
-create table t1 (a int) engine=innodb;
-show binlog events from 0;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
-master-bin.000001 98 Query 1 198 use `test`; create table t1 (a int) engine=innodb
-master-bin.000001 198 Query 1 266 use `test`; BEGIN
-master-bin.000001 266 Query 1 357 use `test`; insert into t1 values( 400 )
-master-bin.000001 357 Query 1 448 use `test`; insert into t1 values( 399 )
-master-bin.000001 448 Query 1 539 use `test`; insert into t1 values( 398 )
-master-bin.000001 539 Query 1 630 use `test`; insert into t1 values( 397 )
-master-bin.000001 630 Query 1 721 use `test`; insert into t1 values( 396 )
-master-bin.000001 721 Query 1 812 use `test`; insert into t1 values( 395 )
-master-bin.000001 812 Query 1 903 use `test`; insert into t1 values( 394 )
-master-bin.000001 903 Query 1 994 use `test`; insert into t1 values( 393 )
-master-bin.000001 994 Query 1 1085 use `test`; insert into t1 values( 392 )
-master-bin.000001 1085 Query 1 1176 use `test`; insert into t1 values( 391 )
-master-bin.000001 1176 Query 1 1267 use `test`; insert into t1 values( 390 )
-master-bin.000001 1267 Query 1 1358 use `test`; insert into t1 values( 389 )
-master-bin.000001 1358 Query 1 1449 use `test`; insert into t1 values( 388 )
-master-bin.000001 1449 Query 1 1540 use `test`; insert into t1 values( 387 )
-master-bin.000001 1540 Query 1 1631 use `test`; insert into t1 values( 386 )
-master-bin.000001 1631 Query 1 1722 use `test`; insert into t1 values( 385 )
-master-bin.000001 1722 Query 1 1813 use `test`; insert into t1 values( 384 )
-master-bin.000001 1813 Query 1 1904 use `test`; insert into t1 values( 383 )
-master-bin.000001 1904 Query 1 1995 use `test`; insert into t1 values( 382 )
-master-bin.000001 1995 Query 1 2086 use `test`; insert into t1 values( 381 )
-master-bin.000001 2086 Query 1 2177 use `test`; insert into t1 values( 380 )
-master-bin.000001 2177 Query 1 2268 use `test`; insert into t1 values( 379 )
-master-bin.000001 2268 Query 1 2359 use `test`; insert into t1 values( 378 )
-master-bin.000001 2359 Query 1 2450 use `test`; insert into t1 values( 377 )
-master-bin.000001 2450 Query 1 2541 use `test`; insert into t1 values( 376 )
-master-bin.000001 2541 Query 1 2632 use `test`; insert into t1 values( 375 )
-master-bin.000001 2632 Query 1 2723 use `test`; insert into t1 values( 374 )
-master-bin.000001 2723 Query 1 2814 use `test`; insert into t1 values( 373 )
-master-bin.000001 2814 Query 1 2905 use `test`; insert into t1 values( 372 )
-master-bin.000001 2905 Query 1 2996 use `test`; insert into t1 values( 371 )
-master-bin.000001 2996 Query 1 3087 use `test`; insert into t1 values( 370 )
-master-bin.000001 3087 Query 1 3178 use `test`; insert into t1 values( 369 )
-master-bin.000001 3178 Query 1 3269 use `test`; insert into t1 values( 368 )
-master-bin.000001 3269 Query 1 3360 use `test`; insert into t1 values( 367 )
-master-bin.000001 3360 Query 1 3451 use `test`; insert into t1 values( 366 )
-master-bin.000001 3451 Query 1 3542 use `test`; insert into t1 values( 365 )
-master-bin.000001 3542 Query 1 3633 use `test`; insert into t1 values( 364 )
-master-bin.000001 3633 Query 1 3724 use `test`; insert into t1 values( 363 )
-master-bin.000001 3724 Query 1 3815 use `test`; insert into t1 values( 362 )
-master-bin.000001 3815 Query 1 3906 use `test`; insert into t1 values( 361 )
-master-bin.000001 3906 Query 1 3997 use `test`; insert into t1 values( 360 )
-master-bin.000001 3997 Query 1 4088 use `test`; insert into t1 values( 359 )
-master-bin.000001 4088 Query 1 4179 use `test`; insert into t1 values( 358 )
-master-bin.000001 4179 Query 1 4270 use `test`; insert into t1 values( 357 )
-master-bin.000001 4270 Query 1 4361 use `test`; insert into t1 values( 356 )
-master-bin.000001 4361 Query 1 4452 use `test`; insert into t1 values( 355 )
-master-bin.000001 4452 Query 1 4543 use `test`; insert into t1 values( 354 )
-master-bin.000001 4543 Query 1 4634 use `test`; insert into t1 values( 353 )
-master-bin.000001 4634 Query 1 4725 use `test`; insert into t1 values( 352 )
-master-bin.000001 4725 Query 1 4816 use `test`; insert into t1 values( 351 )
-master-bin.000001 4816 Query 1 4907 use `test`; insert into t1 values( 350 )
-master-bin.000001 4907 Query 1 4998 use `test`; insert into t1 values( 349 )
-master-bin.000001 4998 Query 1 5089 use `test`; insert into t1 values( 348 )
-master-bin.000001 5089 Query 1 5180 use `test`; insert into t1 values( 347 )
-master-bin.000001 5180 Query 1 5271 use `test`; insert into t1 values( 346 )
-master-bin.000001 5271 Query 1 5362 use `test`; insert into t1 values( 345 )
-master-bin.000001 5362 Query 1 5453 use `test`; insert into t1 values( 344 )
-master-bin.000001 5453 Query 1 5544 use `test`; insert into t1 values( 343 )
-master-bin.000001 5544 Query 1 5635 use `test`; insert into t1 values( 342 )
-master-bin.000001 5635 Query 1 5726 use `test`; insert into t1 values( 341 )
-master-bin.000001 5726 Query 1 5817 use `test`; insert into t1 values( 340 )
-master-bin.000001 5817 Query 1 5908 use `test`; insert into t1 values( 339 )
-master-bin.000001 5908 Query 1 5999 use `test`; insert into t1 values( 338 )
-master-bin.000001 5999 Query 1 6090 use `test`; insert into t1 values( 337 )
-master-bin.000001 6090 Query 1 6181 use `test`; insert into t1 values( 336 )
-master-bin.000001 6181 Query 1 6272 use `test`; insert into t1 values( 335 )
-master-bin.000001 6272 Query 1 6363 use `test`; insert into t1 values( 334 )
-master-bin.000001 6363 Query 1 6454 use `test`; insert into t1 values( 333 )
-master-bin.000001 6454 Query 1 6545 use `test`; insert into t1 values( 332 )
-master-bin.000001 6545 Query 1 6636 use `test`; insert into t1 values( 331 )
-master-bin.000001 6636 Query 1 6727 use `test`; insert into t1 values( 330 )
-master-bin.000001 6727 Query 1 6818 use `test`; insert into t1 values( 329 )
-master-bin.000001 6818 Query 1 6909 use `test`; insert into t1 values( 328 )
-master-bin.000001 6909 Query 1 7000 use `test`; insert into t1 values( 327 )
-master-bin.000001 7000 Query 1 7091 use `test`; insert into t1 values( 326 )
-master-bin.000001 7091 Query 1 7182 use `test`; insert into t1 values( 325 )
-master-bin.000001 7182 Query 1 7273 use `test`; insert into t1 values( 324 )
-master-bin.000001 7273 Query 1 7364 use `test`; insert into t1 values( 323 )
-master-bin.000001 7364 Query 1 7455 use `test`; insert into t1 values( 322 )
-master-bin.000001 7455 Query 1 7546 use `test`; insert into t1 values( 321 )
-master-bin.000001 7546 Query 1 7637 use `test`; insert into t1 values( 320 )
-master-bin.000001 7637 Query 1 7728 use `test`; insert into t1 values( 319 )
-master-bin.000001 7728 Query 1 7819 use `test`; insert into t1 values( 318 )
-master-bin.000001 7819 Query 1 7910 use `test`; insert into t1 values( 317 )
-master-bin.000001 7910 Query 1 8001 use `test`; insert into t1 values( 316 )
-master-bin.000001 8001 Query 1 8092 use `test`; insert into t1 values( 315 )
-master-bin.000001 8092 Query 1 8183 use `test`; insert into t1 values( 314 )
-master-bin.000001 8183 Query 1 8274 use `test`; insert into t1 values( 313 )
-master-bin.000001 8274 Query 1 8365 use `test`; insert into t1 values( 312 )
-master-bin.000001 8365 Query 1 8456 use `test`; insert into t1 values( 311 )
-master-bin.000001 8456 Query 1 8547 use `test`; insert into t1 values( 310 )
-master-bin.000001 8547 Query 1 8638 use `test`; insert into t1 values( 309 )
-master-bin.000001 8638 Query 1 8729 use `test`; insert into t1 values( 308 )
-master-bin.000001 8729 Query 1 8820 use `test`; insert into t1 values( 307 )
-master-bin.000001 8820 Query 1 8911 use `test`; insert into t1 values( 306 )
-master-bin.000001 8911 Query 1 9002 use `test`; insert into t1 values( 305 )
-master-bin.000001 9002 Query 1 9093 use `test`; insert into t1 values( 304 )
-master-bin.000001 9093 Query 1 9184 use `test`; insert into t1 values( 303 )
-master-bin.000001 9184 Query 1 9275 use `test`; insert into t1 values( 302 )
-master-bin.000001 9275 Query 1 9366 use `test`; insert into t1 values( 301 )
-master-bin.000001 9366 Query 1 9457 use `test`; insert into t1 values( 300 )
-master-bin.000001 9457 Query 1 9548 use `test`; insert into t1 values( 299 )
-master-bin.000001 9548 Query 1 9639 use `test`; insert into t1 values( 298 )
-master-bin.000001 9639 Query 1 9730 use `test`; insert into t1 values( 297 )
-master-bin.000001 9730 Query 1 9821 use `test`; insert into t1 values( 296 )
-master-bin.000001 9821 Query 1 9912 use `test`; insert into t1 values( 295 )
-master-bin.000001 9912 Query 1 10003 use `test`; insert into t1 values( 294 )
-master-bin.000001 10003 Query 1 10094 use `test`; insert into t1 values( 293 )
-master-bin.000001 10094 Query 1 10185 use `test`; insert into t1 values( 292 )
-master-bin.000001 10185 Query 1 10276 use `test`; insert into t1 values( 291 )
-master-bin.000001 10276 Query 1 10367 use `test`; insert into t1 values( 290 )
-master-bin.000001 10367 Query 1 10458 use `test`; insert into t1 values( 289 )
-master-bin.000001 10458 Query 1 10549 use `test`; insert into t1 values( 288 )
-master-bin.000001 10549 Query 1 10640 use `test`; insert into t1 values( 287 )
-master-bin.000001 10640 Query 1 10731 use `test`; insert into t1 values( 286 )
-master-bin.000001 10731 Query 1 10822 use `test`; insert into t1 values( 285 )
-master-bin.000001 10822 Query 1 10913 use `test`; insert into t1 values( 284 )
-master-bin.000001 10913 Query 1 11004 use `test`; insert into t1 values( 283 )
-master-bin.000001 11004 Query 1 11095 use `test`; insert into t1 values( 282 )
-master-bin.000001 11095 Query 1 11186 use `test`; insert into t1 values( 281 )
-master-bin.000001 11186 Query 1 11277 use `test`; insert into t1 values( 280 )
-master-bin.000001 11277 Query 1 11368 use `test`; insert into t1 values( 279 )
-master-bin.000001 11368 Query 1 11459 use `test`; insert into t1 values( 278 )
-master-bin.000001 11459 Query 1 11550 use `test`; insert into t1 values( 277 )
-master-bin.000001 11550 Query 1 11641 use `test`; insert into t1 values( 276 )
-master-bin.000001 11641 Query 1 11732 use `test`; insert into t1 values( 275 )
-master-bin.000001 11732 Query 1 11823 use `test`; insert into t1 values( 274 )
-master-bin.000001 11823 Query 1 11914 use `test`; insert into t1 values( 273 )
-master-bin.000001 11914 Query 1 12005 use `test`; insert into t1 values( 272 )
-master-bin.000001 12005 Query 1 12096 use `test`; insert into t1 values( 271 )
-master-bin.000001 12096 Query 1 12187 use `test`; insert into t1 values( 270 )
-master-bin.000001 12187 Query 1 12278 use `test`; insert into t1 values( 269 )
-master-bin.000001 12278 Query 1 12369 use `test`; insert into t1 values( 268 )
-master-bin.000001 12369 Query 1 12460 use `test`; insert into t1 values( 267 )
-master-bin.000001 12460 Query 1 12551 use `test`; insert into t1 values( 266 )
-master-bin.000001 12551 Query 1 12642 use `test`; insert into t1 values( 265 )
-master-bin.000001 12642 Query 1 12733 use `test`; insert into t1 values( 264 )
-master-bin.000001 12733 Query 1 12824 use `test`; insert into t1 values( 263 )
-master-bin.000001 12824 Query 1 12915 use `test`; insert into t1 values( 262 )
-master-bin.000001 12915 Query 1 13006 use `test`; insert into t1 values( 261 )
-master-bin.000001 13006 Query 1 13097 use `test`; insert into t1 values( 260 )
-master-bin.000001 13097 Query 1 13188 use `test`; insert into t1 values( 259 )
-master-bin.000001 13188 Query 1 13279 use `test`; insert into t1 values( 258 )
-master-bin.000001 13279 Query 1 13370 use `test`; insert into t1 values( 257 )
-master-bin.000001 13370 Query 1 13461 use `test`; insert into t1 values( 256 )
-master-bin.000001 13461 Query 1 13552 use `test`; insert into t1 values( 255 )
-master-bin.000001 13552 Query 1 13643 use `test`; insert into t1 values( 254 )
-master-bin.000001 13643 Query 1 13734 use `test`; insert into t1 values( 253 )
-master-bin.000001 13734 Query 1 13825 use `test`; insert into t1 values( 252 )
-master-bin.000001 13825 Query 1 13916 use `test`; insert into t1 values( 251 )
-master-bin.000001 13916 Query 1 14007 use `test`; insert into t1 values( 250 )
-master-bin.000001 14007 Query 1 14098 use `test`; insert into t1 values( 249 )
-master-bin.000001 14098 Query 1 14189 use `test`; insert into t1 values( 248 )
-master-bin.000001 14189 Query 1 14280 use `test`; insert into t1 values( 247 )
-master-bin.000001 14280 Query 1 14371 use `test`; insert into t1 values( 246 )
-master-bin.000001 14371 Query 1 14462 use `test`; insert into t1 values( 245 )
-master-bin.000001 14462 Query 1 14553 use `test`; insert into t1 values( 244 )
-master-bin.000001 14553 Query 1 14644 use `test`; insert into t1 values( 243 )
-master-bin.000001 14644 Query 1 14735 use `test`; insert into t1 values( 242 )
-master-bin.000001 14735 Query 1 14826 use `test`; insert into t1 values( 241 )
-master-bin.000001 14826 Query 1 14917 use `test`; insert into t1 values( 240 )
-master-bin.000001 14917 Query 1 15008 use `test`; insert into t1 values( 239 )
-master-bin.000001 15008 Query 1 15099 use `test`; insert into t1 values( 238 )
-master-bin.000001 15099 Query 1 15190 use `test`; insert into t1 values( 237 )
-master-bin.000001 15190 Query 1 15281 use `test`; insert into t1 values( 236 )
-master-bin.000001 15281 Query 1 15372 use `test`; insert into t1 values( 235 )
-master-bin.000001 15372 Query 1 15463 use `test`; insert into t1 values( 234 )
-master-bin.000001 15463 Query 1 15554 use `test`; insert into t1 values( 233 )
-master-bin.000001 15554 Query 1 15645 use `test`; insert into t1 values( 232 )
-master-bin.000001 15645 Query 1 15736 use `test`; insert into t1 values( 231 )
-master-bin.000001 15736 Query 1 15827 use `test`; insert into t1 values( 230 )
-master-bin.000001 15827 Query 1 15918 use `test`; insert into t1 values( 229 )
-master-bin.000001 15918 Query 1 16009 use `test`; insert into t1 values( 228 )
-master-bin.000001 16009 Query 1 16100 use `test`; insert into t1 values( 227 )
-master-bin.000001 16100 Query 1 16191 use `test`; insert into t1 values( 226 )
-master-bin.000001 16191 Query 1 16282 use `test`; insert into t1 values( 225 )
-master-bin.000001 16282 Query 1 16373 use `test`; insert into t1 values( 224 )
-master-bin.000001 16373 Query 1 16464 use `test`; insert into t1 values( 223 )
-master-bin.000001 16464 Query 1 16555 use `test`; insert into t1 values( 222 )
-master-bin.000001 16555 Query 1 16646 use `test`; insert into t1 values( 221 )
-master-bin.000001 16646 Query 1 16737 use `test`; insert into t1 values( 220 )
-master-bin.000001 16737 Query 1 16828 use `test`; insert into t1 values( 219 )
-master-bin.000001 16828 Query 1 16919 use `test`; insert into t1 values( 218 )
-master-bin.000001 16919 Query 1 17010 use `test`; insert into t1 values( 217 )
-master-bin.000001 17010 Query 1 17101 use `test`; insert into t1 values( 216 )
-master-bin.000001 17101 Query 1 17192 use `test`; insert into t1 values( 215 )
-master-bin.000001 17192 Query 1 17283 use `test`; insert into t1 values( 214 )
-master-bin.000001 17283 Query 1 17374 use `test`; insert into t1 values( 213 )
-master-bin.000001 17374 Query 1 17465 use `test`; insert into t1 values( 212 )
-master-bin.000001 17465 Query 1 17556 use `test`; insert into t1 values( 211 )
-master-bin.000001 17556 Query 1 17647 use `test`; insert into t1 values( 210 )
-master-bin.000001 17647 Query 1 17738 use `test`; insert into t1 values( 209 )
-master-bin.000001 17738 Query 1 17829 use `test`; insert into t1 values( 208 )
-master-bin.000001 17829 Query 1 17920 use `test`; insert into t1 values( 207 )
-master-bin.000001 17920 Query 1 18011 use `test`; insert into t1 values( 206 )
-master-bin.000001 18011 Query 1 18102 use `test`; insert into t1 values( 205 )
-master-bin.000001 18102 Query 1 18193 use `test`; insert into t1 values( 204 )
-master-bin.000001 18193 Query 1 18284 use `test`; insert into t1 values( 203 )
-master-bin.000001 18284 Query 1 18375 use `test`; insert into t1 values( 202 )
-master-bin.000001 18375 Query 1 18466 use `test`; insert into t1 values( 201 )
-master-bin.000001 18466 Query 1 18557 use `test`; insert into t1 values( 200 )
-master-bin.000001 18557 Query 1 18648 use `test`; insert into t1 values( 199 )
-master-bin.000001 18648 Query 1 18739 use `test`; insert into t1 values( 198 )
-master-bin.000001 18739 Query 1 18830 use `test`; insert into t1 values( 197 )
-master-bin.000001 18830 Query 1 18921 use `test`; insert into t1 values( 196 )
-master-bin.000001 18921 Query 1 19012 use `test`; insert into t1 values( 195 )
-master-bin.000001 19012 Query 1 19103 use `test`; insert into t1 values( 194 )
-master-bin.000001 19103 Query 1 19194 use `test`; insert into t1 values( 193 )
-master-bin.000001 19194 Query 1 19285 use `test`; insert into t1 values( 192 )
-master-bin.000001 19285 Query 1 19376 use `test`; insert into t1 values( 191 )
-master-bin.000001 19376 Query 1 19467 use `test`; insert into t1 values( 190 )
-master-bin.000001 19467 Query 1 19558 use `test`; insert into t1 values( 189 )
-master-bin.000001 19558 Query 1 19649 use `test`; insert into t1 values( 188 )
-master-bin.000001 19649 Query 1 19740 use `test`; insert into t1 values( 187 )
-master-bin.000001 19740 Query 1 19831 use `test`; insert into t1 values( 186 )
-master-bin.000001 19831 Query 1 19922 use `test`; insert into t1 values( 185 )
-master-bin.000001 19922 Query 1 20013 use `test`; insert into t1 values( 184 )
-master-bin.000001 20013 Query 1 20104 use `test`; insert into t1 values( 183 )
-master-bin.000001 20104 Query 1 20195 use `test`; insert into t1 values( 182 )
-master-bin.000001 20195 Query 1 20286 use `test`; insert into t1 values( 181 )
-master-bin.000001 20286 Query 1 20377 use `test`; insert into t1 values( 180 )
-master-bin.000001 20377 Query 1 20468 use `test`; insert into t1 values( 179 )
-master-bin.000001 20468 Query 1 20559 use `test`; insert into t1 values( 178 )
-master-bin.000001 20559 Query 1 20650 use `test`; insert into t1 values( 177 )
-master-bin.000001 20650 Query 1 20741 use `test`; insert into t1 values( 176 )
-master-bin.000001 20741 Query 1 20832 use `test`; insert into t1 values( 175 )
-master-bin.000001 20832 Query 1 20923 use `test`; insert into t1 values( 174 )
-master-bin.000001 20923 Query 1 21014 use `test`; insert into t1 values( 173 )
-master-bin.000001 21014 Query 1 21105 use `test`; insert into t1 values( 172 )
-master-bin.000001 21105 Query 1 21196 use `test`; insert into t1 values( 171 )
-master-bin.000001 21196 Query 1 21287 use `test`; insert into t1 values( 170 )
-master-bin.000001 21287 Query 1 21378 use `test`; insert into t1 values( 169 )
-master-bin.000001 21378 Query 1 21469 use `test`; insert into t1 values( 168 )
-master-bin.000001 21469 Query 1 21560 use `test`; insert into t1 values( 167 )
-master-bin.000001 21560 Query 1 21651 use `test`; insert into t1 values( 166 )
-master-bin.000001 21651 Query 1 21742 use `test`; insert into t1 values( 165 )
-master-bin.000001 21742 Query 1 21833 use `test`; insert into t1 values( 164 )
-master-bin.000001 21833 Query 1 21924 use `test`; insert into t1 values( 163 )
-master-bin.000001 21924 Query 1 22015 use `test`; insert into t1 values( 162 )
-master-bin.000001 22015 Query 1 22106 use `test`; insert into t1 values( 161 )
-master-bin.000001 22106 Query 1 22197 use `test`; insert into t1 values( 160 )
-master-bin.000001 22197 Query 1 22288 use `test`; insert into t1 values( 159 )
-master-bin.000001 22288 Query 1 22379 use `test`; insert into t1 values( 158 )
-master-bin.000001 22379 Query 1 22470 use `test`; insert into t1 values( 157 )
-master-bin.000001 22470 Query 1 22561 use `test`; insert into t1 values( 156 )
-master-bin.000001 22561 Query 1 22652 use `test`; insert into t1 values( 155 )
-master-bin.000001 22652 Query 1 22743 use `test`; insert into t1 values( 154 )
-master-bin.000001 22743 Query 1 22834 use `test`; insert into t1 values( 153 )
-master-bin.000001 22834 Query 1 22925 use `test`; insert into t1 values( 152 )
-master-bin.000001 22925 Query 1 23016 use `test`; insert into t1 values( 151 )
-master-bin.000001 23016 Query 1 23107 use `test`; insert into t1 values( 150 )
-master-bin.000001 23107 Query 1 23198 use `test`; insert into t1 values( 149 )
-master-bin.000001 23198 Query 1 23289 use `test`; insert into t1 values( 148 )
-master-bin.000001 23289 Query 1 23380 use `test`; insert into t1 values( 147 )
-master-bin.000001 23380 Query 1 23471 use `test`; insert into t1 values( 146 )
-master-bin.000001 23471 Query 1 23562 use `test`; insert into t1 values( 145 )
-master-bin.000001 23562 Query 1 23653 use `test`; insert into t1 values( 144 )
-master-bin.000001 23653 Query 1 23744 use `test`; insert into t1 values( 143 )
-master-bin.000001 23744 Query 1 23835 use `test`; insert into t1 values( 142 )
-master-bin.000001 23835 Query 1 23926 use `test`; insert into t1 values( 141 )
-master-bin.000001 23926 Query 1 24017 use `test`; insert into t1 values( 140 )
-master-bin.000001 24017 Query 1 24108 use `test`; insert into t1 values( 139 )
-master-bin.000001 24108 Query 1 24199 use `test`; insert into t1 values( 138 )
-master-bin.000001 24199 Query 1 24290 use `test`; insert into t1 values( 137 )
-master-bin.000001 24290 Query 1 24381 use `test`; insert into t1 values( 136 )
-master-bin.000001 24381 Query 1 24472 use `test`; insert into t1 values( 135 )
-master-bin.000001 24472 Query 1 24563 use `test`; insert into t1 values( 134 )
-master-bin.000001 24563 Query 1 24654 use `test`; insert into t1 values( 133 )
-master-bin.000001 24654 Query 1 24745 use `test`; insert into t1 values( 132 )
-master-bin.000001 24745 Query 1 24836 use `test`; insert into t1 values( 131 )
-master-bin.000001 24836 Query 1 24927 use `test`; insert into t1 values( 130 )
-master-bin.000001 24927 Query 1 25018 use `test`; insert into t1 values( 129 )
-master-bin.000001 25018 Query 1 25109 use `test`; insert into t1 values( 128 )
-master-bin.000001 25109 Query 1 25200 use `test`; insert into t1 values( 127 )
-master-bin.000001 25200 Query 1 25291 use `test`; insert into t1 values( 126 )
-master-bin.000001 25291 Query 1 25382 use `test`; insert into t1 values( 125 )
-master-bin.000001 25382 Query 1 25473 use `test`; insert into t1 values( 124 )
-master-bin.000001 25473 Query 1 25564 use `test`; insert into t1 values( 123 )
-master-bin.000001 25564 Query 1 25655 use `test`; insert into t1 values( 122 )
-master-bin.000001 25655 Query 1 25746 use `test`; insert into t1 values( 121 )
-master-bin.000001 25746 Query 1 25837 use `test`; insert into t1 values( 120 )
-master-bin.000001 25837 Query 1 25928 use `test`; insert into t1 values( 119 )
-master-bin.000001 25928 Query 1 26019 use `test`; insert into t1 values( 118 )
-master-bin.000001 26019 Query 1 26110 use `test`; insert into t1 values( 117 )
-master-bin.000001 26110 Query 1 26201 use `test`; insert into t1 values( 116 )
-master-bin.000001 26201 Query 1 26292 use `test`; insert into t1 values( 115 )
-master-bin.000001 26292 Query 1 26383 use `test`; insert into t1 values( 114 )
-master-bin.000001 26383 Query 1 26474 use `test`; insert into t1 values( 113 )
-master-bin.000001 26474 Query 1 26565 use `test`; insert into t1 values( 112 )
-master-bin.000001 26565 Query 1 26656 use `test`; insert into t1 values( 111 )
-master-bin.000001 26656 Query 1 26747 use `test`; insert into t1 values( 110 )
-master-bin.000001 26747 Query 1 26838 use `test`; insert into t1 values( 109 )
-master-bin.000001 26838 Query 1 26929 use `test`; insert into t1 values( 108 )
-master-bin.000001 26929 Query 1 27020 use `test`; insert into t1 values( 107 )
-master-bin.000001 27020 Query 1 27111 use `test`; insert into t1 values( 106 )
-master-bin.000001 27111 Query 1 27202 use `test`; insert into t1 values( 105 )
-master-bin.000001 27202 Query 1 27293 use `test`; insert into t1 values( 104 )
-master-bin.000001 27293 Query 1 27384 use `test`; insert into t1 values( 103 )
-master-bin.000001 27384 Query 1 27475 use `test`; insert into t1 values( 102 )
-master-bin.000001 27475 Query 1 27566 use `test`; insert into t1 values( 101 )
-master-bin.000001 27566 Query 1 27657 use `test`; insert into t1 values( 100 )
-master-bin.000001 27657 Query 1 27747 use `test`; insert into t1 values( 99 )
-master-bin.000001 27747 Query 1 27837 use `test`; insert into t1 values( 98 )
-master-bin.000001 27837 Query 1 27927 use `test`; insert into t1 values( 97 )
-master-bin.000001 27927 Query 1 28017 use `test`; insert into t1 values( 96 )
-master-bin.000001 28017 Query 1 28107 use `test`; insert into t1 values( 95 )
-master-bin.000001 28107 Query 1 28197 use `test`; insert into t1 values( 94 )
-master-bin.000001 28197 Query 1 28287 use `test`; insert into t1 values( 93 )
-master-bin.000001 28287 Query 1 28377 use `test`; insert into t1 values( 92 )
-master-bin.000001 28377 Query 1 28467 use `test`; insert into t1 values( 91 )
-master-bin.000001 28467 Query 1 28557 use `test`; insert into t1 values( 90 )
-master-bin.000001 28557 Query 1 28647 use `test`; insert into t1 values( 89 )
-master-bin.000001 28647 Query 1 28737 use `test`; insert into t1 values( 88 )
-master-bin.000001 28737 Query 1 28827 use `test`; insert into t1 values( 87 )
-master-bin.000001 28827 Query 1 28917 use `test`; insert into t1 values( 86 )
-master-bin.000001 28917 Query 1 29007 use `test`; insert into t1 values( 85 )
-master-bin.000001 29007 Query 1 29097 use `test`; insert into t1 values( 84 )
-master-bin.000001 29097 Query 1 29187 use `test`; insert into t1 values( 83 )
-master-bin.000001 29187 Query 1 29277 use `test`; insert into t1 values( 82 )
-master-bin.000001 29277 Query 1 29367 use `test`; insert into t1 values( 81 )
-master-bin.000001 29367 Query 1 29457 use `test`; insert into t1 values( 80 )
-master-bin.000001 29457 Query 1 29547 use `test`; insert into t1 values( 79 )
-master-bin.000001 29547 Query 1 29637 use `test`; insert into t1 values( 78 )
-master-bin.000001 29637 Query 1 29727 use `test`; insert into t1 values( 77 )
-master-bin.000001 29727 Query 1 29817 use `test`; insert into t1 values( 76 )
-master-bin.000001 29817 Query 1 29907 use `test`; insert into t1 values( 75 )
-master-bin.000001 29907 Query 1 29997 use `test`; insert into t1 values( 74 )
-master-bin.000001 29997 Query 1 30087 use `test`; insert into t1 values( 73 )
-master-bin.000001 30087 Query 1 30177 use `test`; insert into t1 values( 72 )
-master-bin.000001 30177 Query 1 30267 use `test`; insert into t1 values( 71 )
-master-bin.000001 30267 Query 1 30357 use `test`; insert into t1 values( 70 )
-master-bin.000001 30357 Query 1 30447 use `test`; insert into t1 values( 69 )
-master-bin.000001 30447 Query 1 30537 use `test`; insert into t1 values( 68 )
-master-bin.000001 30537 Query 1 30627 use `test`; insert into t1 values( 67 )
-master-bin.000001 30627 Query 1 30717 use `test`; insert into t1 values( 66 )
-master-bin.000001 30717 Query 1 30807 use `test`; insert into t1 values( 65 )
-master-bin.000001 30807 Query 1 30897 use `test`; insert into t1 values( 64 )
-master-bin.000001 30897 Query 1 30987 use `test`; insert into t1 values( 63 )
-master-bin.000001 30987 Query 1 31077 use `test`; insert into t1 values( 62 )
-master-bin.000001 31077 Query 1 31167 use `test`; insert into t1 values( 61 )
-master-bin.000001 31167 Query 1 31257 use `test`; insert into t1 values( 60 )
-master-bin.000001 31257 Query 1 31347 use `test`; insert into t1 values( 59 )
-master-bin.000001 31347 Query 1 31437 use `test`; insert into t1 values( 58 )
-master-bin.000001 31437 Query 1 31527 use `test`; insert into t1 values( 57 )
-master-bin.000001 31527 Query 1 31617 use `test`; insert into t1 values( 56 )
-master-bin.000001 31617 Query 1 31707 use `test`; insert into t1 values( 55 )
-master-bin.000001 31707 Query 1 31797 use `test`; insert into t1 values( 54 )
-master-bin.000001 31797 Query 1 31887 use `test`; insert into t1 values( 53 )
-master-bin.000001 31887 Query 1 31977 use `test`; insert into t1 values( 52 )
-master-bin.000001 31977 Query 1 32067 use `test`; insert into t1 values( 51 )
-master-bin.000001 32067 Query 1 32157 use `test`; insert into t1 values( 50 )
-master-bin.000001 32157 Query 1 32247 use `test`; insert into t1 values( 49 )
-master-bin.000001 32247 Query 1 32337 use `test`; insert into t1 values( 48 )
-master-bin.000001 32337 Query 1 32427 use `test`; insert into t1 values( 47 )
-master-bin.000001 32427 Query 1 32517 use `test`; insert into t1 values( 46 )
-master-bin.000001 32517 Query 1 32607 use `test`; insert into t1 values( 45 )
-master-bin.000001 32607 Query 1 32697 use `test`; insert into t1 values( 44 )
-master-bin.000001 32697 Query 1 32787 use `test`; insert into t1 values( 43 )
-master-bin.000001 32787 Query 1 32877 use `test`; insert into t1 values( 42 )
-master-bin.000001 32877 Query 1 32967 use `test`; insert into t1 values( 41 )
-master-bin.000001 32967 Query 1 33057 use `test`; insert into t1 values( 40 )
-master-bin.000001 33057 Query 1 33147 use `test`; insert into t1 values( 39 )
-master-bin.000001 33147 Query 1 33237 use `test`; insert into t1 values( 38 )
-master-bin.000001 33237 Query 1 33327 use `test`; insert into t1 values( 37 )
-master-bin.000001 33327 Query 1 33417 use `test`; insert into t1 values( 36 )
-master-bin.000001 33417 Query 1 33507 use `test`; insert into t1 values( 35 )
-master-bin.000001 33507 Query 1 33597 use `test`; insert into t1 values( 34 )
-master-bin.000001 33597 Query 1 33687 use `test`; insert into t1 values( 33 )
-master-bin.000001 33687 Query 1 33777 use `test`; insert into t1 values( 32 )
-master-bin.000001 33777 Query 1 33867 use `test`; insert into t1 values( 31 )
-master-bin.000001 33867 Query 1 33957 use `test`; insert into t1 values( 30 )
-master-bin.000001 33957 Query 1 34047 use `test`; insert into t1 values( 29 )
-master-bin.000001 34047 Query 1 34137 use `test`; insert into t1 values( 28 )
-master-bin.000001 34137 Query 1 34227 use `test`; insert into t1 values( 27 )
-master-bin.000001 34227 Query 1 34317 use `test`; insert into t1 values( 26 )
-master-bin.000001 34317 Query 1 34407 use `test`; insert into t1 values( 25 )
-master-bin.000001 34407 Query 1 34497 use `test`; insert into t1 values( 24 )
-master-bin.000001 34497 Query 1 34587 use `test`; insert into t1 values( 23 )
-master-bin.000001 34587 Query 1 34677 use `test`; insert into t1 values( 22 )
-master-bin.000001 34677 Query 1 34767 use `test`; insert into t1 values( 21 )
-master-bin.000001 34767 Query 1 34857 use `test`; insert into t1 values( 20 )
-master-bin.000001 34857 Query 1 34947 use `test`; insert into t1 values( 19 )
-master-bin.000001 34947 Query 1 35037 use `test`; insert into t1 values( 18 )
-master-bin.000001 35037 Query 1 35127 use `test`; insert into t1 values( 17 )
-master-bin.000001 35127 Query 1 35217 use `test`; insert into t1 values( 16 )
-master-bin.000001 35217 Query 1 35307 use `test`; insert into t1 values( 15 )
-master-bin.000001 35307 Query 1 35397 use `test`; insert into t1 values( 14 )
-master-bin.000001 35397 Query 1 35487 use `test`; insert into t1 values( 13 )
-master-bin.000001 35487 Query 1 35577 use `test`; insert into t1 values( 12 )
-master-bin.000001 35577 Query 1 35667 use `test`; insert into t1 values( 11 )
-master-bin.000001 35667 Query 1 35757 use `test`; insert into t1 values( 10 )
-master-bin.000001 35757 Query 1 35846 use `test`; insert into t1 values( 9 )
-master-bin.000001 35846 Query 1 35935 use `test`; insert into t1 values( 8 )
-master-bin.000001 35935 Query 1 36024 use `test`; insert into t1 values( 7 )
-master-bin.000001 36024 Query 1 36113 use `test`; insert into t1 values( 6 )
-master-bin.000001 36113 Query 1 36202 use `test`; insert into t1 values( 5 )
-master-bin.000001 36202 Query 1 36291 use `test`; insert into t1 values( 4 )
-master-bin.000001 36291 Query 1 36380 use `test`; insert into t1 values( 3 )
-master-bin.000001 36380 Query 1 36469 use `test`; insert into t1 values( 2 )
-master-bin.000001 36469 Query 1 36558 use `test`; insert into t1 values( 1 )
-master-bin.000001 36558 Xid 1 36585 COMMIT /* XID */
-master-bin.000001 36585 Rotate 1 36629 master-bin.000002;pos=4
-drop table t1;
-set global binlog_cache_size=@bcs;
-set session autocommit = @ac;
-End of 5.0 tests
diff --git a/mysql-test/r/binlog_innodb.result b/mysql-test/r/binlog_innodb.result
deleted file mode 100644
index 93414a13ba1..00000000000
--- a/mysql-test/r/binlog_innodb.result
+++ /dev/null
@@ -1,23 +0,0 @@
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 0
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 0
-create table t1 (a int) engine=innodb;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 1
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-begin;
-delete from t1;
-commit;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 2
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-drop table t1;
diff --git a/mysql-test/r/binlog_killed.result b/mysql-test/r/binlog_killed.result
deleted file mode 100644
index e04cc192876..00000000000
--- a/mysql-test/r/binlog_killed.result
+++ /dev/null
@@ -1,56 +0,0 @@
-create table t1 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
-create table t2 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=MyISAM;
-create table t3 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
-select get_lock("a", 20);
-get_lock("a", 20)
-1
-reset master;
-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;
-drop table t1,t2,t3;
-end of the tests
diff --git a/mysql-test/r/binlog_killed_simulate.result b/mysql-test/r/binlog_killed_simulate.result
deleted file mode 100644
index a21ac5b1e32..00000000000
--- a/mysql-test/r/binlog_killed_simulate.result
+++ /dev/null
@@ -1,33 +0,0 @@
-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 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Begin_load_query 1 # ;file_id=1;block_len=12
-master-bin.000001 133 Execute_load_query 1 # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */ ;file_id=1
-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/r/binlog_tx_isolation.result b/mysql-test/r/binlog_tx_isolation.result
new file mode 100644
index 00000000000..39aba22758d
--- /dev/null
+++ b/mysql-test/r/binlog_tx_isolation.result
@@ -0,0 +1,48 @@
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
+SET BINLOG_FORMAT=STATEMENT;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'STATEMENT' binlog mode
+UPDATE t1 SET b = a*a WHERE a > 1;
+COMMIT;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+UPDATE t1 SET b = a*a WHERE a > 1;
+COMMIT;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+UPDATE t1 SET b = a*a WHERE a > 1;
+COMMIT;
+SET BINLOG_FORMAT=MIXED;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'MIXED' binlog mode
+UPDATE t1 SET b = a*a*a WHERE a > 2;
+COMMIT;
+SET BINLOG_FORMAT=ROW;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+UPDATE t1 SET b = a*a*a*a WHERE a > 3;
+COMMIT;
+SELECT @@session.tx_isolation, @@session.binlog_format;
+@@session.tx_isolation READ-COMMITTED
+@@session.binlog_format ROW
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET BINLOG_FORMAT=MIXED;
+ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
+UPDATE t1 SET b = a*a*a*a WHERE a > 3;
+COMMIT;
+SELECT @@session.tx_isolation, @@session.binlog_format;
+@@session.tx_isolation READ-COMMITTED
+@@session.binlog_format ROW
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET BINLOG_FORMAT=STATEMENT;
+ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
+UPDATE t1 SET b = a*a*a*a WHERE a > 3;
+COMMIT;
+SELECT @@session.tx_isolation, @@session.binlog_format;
+@@session.tx_isolation READ-COMMITTED
+@@session.binlog_format ROW
diff --git a/mysql-test/r/binlog_unsafe.result b/mysql-test/r/binlog_unsafe.result
new file mode 100644
index 00000000000..47284ed8bc3
--- /dev/null
+++ b/mysql-test/r/binlog_unsafe.result
@@ -0,0 +1,13 @@
+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 1592 Statement is not safe to log in statement format.
+SHOW WARNINGS;
+Level Warning
+Code 1592
+Message Statement is not safe to log in statement format.
+DROP TABLE t1,t2,t3;
diff --git a/mysql-test/r/blackhole.result b/mysql-test/r/blackhole.result
deleted file mode 100644
index 5ab4931b53b..00000000000
--- a/mysql-test/r/blackhole.result
+++ /dev/null
@@ -1,140 +0,0 @@
-drop table if exists t1,t2;
-CREATE TABLE t1 (
-Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
-Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
-) ENGINE=blackhole;
-INSERT INTO t1 VALUES (9410,9412);
-select period from t1;
-period
-select * from t1;
-Period Varor_period
-select t1.* from t1;
-Period Varor_period
-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,
-primary key (auto)
-) ENGINE=blackhole;
-INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
-INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
-select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
-fld3
-select fld3 from t2 where fld3 like "%cultivation" ;
-fld3
-select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
-fld3 companynr
-select fld3,companynr from t2 where companynr = 58 order by fld3;
-fld3 companynr
-select fld3 from t2 order by fld3 desc limit 10;
-fld3
-select fld3 from t2 order by fld3 desc limit 5;
-fld3
-select fld3 from t2 order by fld3 desc limit 5,5;
-fld3
-select t2.fld3 from t2 where fld3 = 'honeysuckle';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'h%le';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
-fld3
-select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
-fld3
-select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
-fld3
-select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
-fld1 fld3
-DROP TABLE t1;
-CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
-INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
-('Full-text indexes', 'are called collections'),
-('Only MyISAM tables','support collections'),
-('Function MATCH ... AGAINST()','is used to do a search'),
-('Full-text search in MySQL', 'implements vector space model');
-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 NULL NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
-select * from t1 where MATCH(a,b) AGAINST ("collections");
-a b
-Only MyISAM tables support collections
-Full-text indexes are called collections
-explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 fulltext a a 0 1 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'))
-select * from t1 where MATCH(a,b) AGAINST ("indexes");
-a b
-Full-text indexes are called collections
-select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
-a b
-Full-text indexes are called collections
-Only MyISAM tables support collections
-select * from t1 where MATCH(a,b) AGAINST ("only");
-a b
-reset master;
-drop table t1,t2;
-create table t1 (a int) engine=blackhole;
-delete from t1 where a=10;
-update t1 set a=11 where a=15;
-insert into t1 values(1);
-insert ignore into t1 values(1);
-replace into t1 values(100);
-create table t2 (a varchar(200)) engine=blackhole;
-load data infile '../std_data_ln/words.dat' into table t2;
-alter table t1 add b int;
-alter table t1 drop b;
-create table t3 like t1;
-insert into t1 select * from t3;
-replace into t1 select * from t3;
-select * from t1;
-a
-select * from t2;
-a
-select * from t3;
-a
-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`; drop table t1,t2
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole
-master-bin.000001 # Query 1 # use `test`; delete from t1 where a=10
-master-bin.000001 # Query 1 # use `test`; update t1 set a=11 where a=15
-master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
-master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1)
-master-bin.000001 # Query 1 # use `test`; replace into t1 values(100)
-master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
-master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
-master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1
-master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
-master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
-master-bin.000001 # Query 1 # use `test`; create table t3 like t1
-master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t3
-master-bin.000001 # Query 1 # use `test`; replace into t1 select * from t3
-drop table t1,t2,t3;
-CREATE TABLE t1(a INT) ENGINE=BLACKHOLE;
-INSERT DELAYED INTO t1 VALUES(1);
-ERROR HY000: Table storage engine for 't1' doesn't have this option
-DROP TABLE t1;
-CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 ADD INDEX(a);
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 DROP INDEX a;
-ALTER TABLE t1 ADD UNIQUE INDEX(a);
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 DROP INDEX a;
-ALTER TABLE t1 ADD PRIMARY KEY(a);
-DELETE FROM t1 WHERE a=10;
-DROP TABLE t1;
diff --git a/mysql-test/r/innodb_cache.result b/mysql-test/r/cache_innodb.result
index 5e8611655a2..17cfcd69ec3 100644
--- a/mysql-test/r/innodb_cache.result
+++ b/mysql-test/r/cache_innodb.result
@@ -1,7 +1,8 @@
+SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1,t2,t3;
flush status;
set autocommit=0;
-create table t1 (a int not null) engine=innodb;
+create table t1 (a int not null);
insert into t1 values (1),(2),(3);
select * from t1;
a
@@ -15,7 +16,7 @@ drop table t1;
commit;
set autocommit=1;
begin;
-create table t1 (a int not null) engine=innodb;
+create table t1 (a int not null);
insert into t1 values (1),(2),(3);
select * from t1;
a
@@ -27,9 +28,9 @@ Variable_name Value
Qcache_queries_in_cache 1
drop table t1;
commit;
-create table t1 (a int not null) engine=innodb;
-create table t2 (a int not null) engine=innodb;
-create table t3 (a int not null) engine=innodb;
+create table t1 (a int not null);
+create table t2 (a int not null);
+create table t3 (a int not null);
insert into t1 values (1),(2);
insert into t2 values (1),(2);
insert into t3 values (1),(2);
@@ -99,7 +100,7 @@ show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 1
drop table t3,t2,t1;
-CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) ENGINE=InnoDB;
+CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id));
select count(*) from t1;
count(*)
0
@@ -109,9 +110,9 @@ count(*)
1
drop table t1;
set GLOBAL query_cache_size=1355776;
-CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
-CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
-CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) ENGINE=innodb;
+CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a));
+CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b));
+CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`));
INSERT INTO t1 VALUES (1,'me');
INSERT INTO t2 VALUES (1,'you');
INSERT INTO t3 VALUES (2,1,1,2);
@@ -121,9 +122,100 @@ id a
begin;
insert into t3 VALUES ( NULL, 1, 1, 2 );
insert into t3 VALUES ( NULL, 1, 1, 2 );
-ERROR 23000: Duplicate entry '1-1' for key 2
+ERROR 23000: Duplicate entry '1-1' for key 't1_id'
commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
id a
1 me
drop table t3,t2,t1;
+SET SESSION STORAGE_ENGINE = InnoDB;
+SET @@autocommit=1;
+connection default
+SHOW VARIABLES LIKE 'have_query_cache';
+Variable_name Value
+have_query_cache YES
+SET GLOBAL query_cache_size = 200000;
+flush status;
+SET @@autocommit=1;
+SET SESSION STORAGE_ENGINE = InnoDB;
+CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1));
+INSERT INTO t2 VALUES (1,repeat('a',10)),(2,repeat('a',10)),(3,repeat('a',10)),(4,repeat('a',10));
+COMMIT;
+START TRANSACTION;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+0
+UPDATE t2 SET s2 = 'w' WHERE s1 = 3;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+connection connection1
+START TRANSACTION;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+0
+INSERT INTO t2 VALUES (5,'w');
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+1
+COMMIT;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+connection default
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+1
+COMMIT;
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 0
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+connection connection1
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+START TRANSACTION;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+INSERT INTO t2 VALUES (6,'w');
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+3
+connection default
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+START TRANSACTION;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+DELETE from t2 WHERE s1=3;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+1
+COMMIT;
+connection connection1
+COMMIT;
+SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+count(*)
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 1
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+drop table t2;
diff --git a/mysql-test/r/case.result b/mysql-test/r/case.result
index bc05edcfac1..d408a0b6153 100644
--- a/mysql-test/r/case.result
+++ b/mysql-test/r/case.result
@@ -24,8 +24,8 @@ select CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END;
CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END
one
explain extended select CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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`
select CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END;
@@ -63,8 +63,8 @@ fcase count(*)
2 1
3 1
explain extended select case a when 1 then 2 when 2 then 3 else 0 end as fcase, count(*) from t1 group by fcase;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
+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 (case `test`.`t1`.`a` when 1 then 2 when 2 then 3 else 0 end) AS `fcase`,count(0) AS `count(*)` from `test`.`t1` group by (case `test`.`t1`.`a` when 1 then 2 when 2 then 3 else 0 end)
select case a when 1 then "one" when 2 then "two" else "nothing" end as fcase, count(*) from t1 group by fcase;
@@ -99,18 +99,18 @@ CASE WHEN 1 THEN 0.1e1 else '1' END AS c12
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) character set latin1 collate latin1_danish_ci NOT NULL default '',
- `c2` varchar(1) character set latin1 collate latin1_danish_ci NOT NULL default '',
- `c3` varbinary(1) NOT NULL default '',
- `c4` varbinary(1) NOT NULL default '',
- `c5` varbinary(4) NOT NULL default '',
- `c6` varbinary(4) NOT NULL default '',
- `c7` decimal(2,1) NOT NULL default '0.0',
- `c8` decimal(2,1) NOT NULL default '0.0',
- `c9` decimal(2,1) default NULL,
- `c10` double NOT NULL default '0',
- `c11` double NOT NULL default '0',
- `c12` varbinary(5) NOT NULL default ''
+ `c1` varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL DEFAULT '',
+ `c2` varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL DEFAULT '',
+ `c3` varbinary(1) NOT NULL DEFAULT '',
+ `c4` varbinary(1) NOT NULL DEFAULT '',
+ `c5` varbinary(4) NOT NULL DEFAULT '',
+ `c6` varbinary(4) NOT NULL DEFAULT '',
+ `c7` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `c8` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `c9` decimal(2,1) DEFAULT NULL,
+ `c10` double NOT NULL DEFAULT '0',
+ `c11` double NOT NULL DEFAULT '0',
+ `c12` varbinary(5) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
SELECT CASE
@@ -144,20 +144,20 @@ explain extended SELECT
COALESCE(1), COALESCE(1.0),COALESCE('a'),
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
COALESCE('a' COLLATE latin1_bin,'b');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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')`
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `COALESCE(1)` int(1) NOT NULL default '0',
- `COALESCE(1.0)` decimal(2,1) NOT NULL default '0.0',
- `COALESCE('a')` varchar(1) NOT NULL default '',
- `COALESCE(1,1.0)` decimal(2,1) NOT NULL default '0.0',
- `COALESCE(1,'1')` varbinary(1) NOT NULL default '',
- `COALESCE(1.1,'1')` varbinary(4) NOT NULL default '',
- `COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) character set latin1 collate latin1_bin NOT NULL default ''
+ `COALESCE(1)` int(1) NOT NULL DEFAULT '0',
+ `COALESCE(1.0)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `COALESCE('a')` varchar(1) NOT NULL DEFAULT '',
+ `COALESCE(1,1.0)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `COALESCE(1,'1')` varbinary(1) NOT NULL DEFAULT '',
+ `COALESCE(1.1,'1')` varbinary(4) NOT NULL DEFAULT '',
+ `COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
SELECT 'case+union+test'
diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result
index 88601eceb0a..c1af92c5f8d 100644
--- a/mysql-test/r/cast.result
+++ b/mysql-test/r/cast.result
@@ -19,8 +19,8 @@ select ~5, cast(~5 as signed);
~5 cast(~5 as signed)
18446744073709551610 -6
explain extended select ~5, cast(~5 as signed);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 ~(5) AS `~5`,cast(~(5) as signed) AS `cast(~5 as signed)`
select cast(5 as unsigned) -6.0;
@@ -157,7 +157,7 @@ create table t1 select cast(_koi8r'' as char character set cp1251) as t;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t` varchar(4) character set cp1251 NOT NULL default ''
+ `t` varchar(4) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select
@@ -191,11 +191,11 @@ ab a ab a 6100
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varbinary(2) NOT NULL default '',
- `c2` varbinary(2) NOT NULL default '',
- `c3` varbinary(2) NOT NULL default '',
- `c4` varbinary(2) NOT NULL default '',
- `c5` varbinary(2) NOT NULL default ''
+ `c1` varbinary(2) NOT NULL DEFAULT '',
+ `c2` varbinary(2) NOT NULL DEFAULT '',
+ `c3` varbinary(2) NOT NULL DEFAULT '',
+ `c4` varbinary(2) NOT NULL DEFAULT '',
+ `c5` varbinary(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select
@@ -224,11 +224,11 @@ c1 c2 c3 c4 c5
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) character set utf8 NOT NULL default '',
- `c2` varchar(2) character set utf8 NOT NULL default '',
- `c3` varchar(2) character set utf8 NOT NULL default '',
- `c4` varchar(2) character set utf8 NOT NULL default '',
- `c5` varchar(2) character set utf8 NOT NULL default ''
+ `c1` varchar(2) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c2` varchar(2) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c3` varchar(2) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c4` varchar(2) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c5` varchar(2) CHARACTER SET utf8 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a binary(4), b char(4) character set koi8r);
@@ -380,7 +380,7 @@ select cast(s1 as decimal(7,2)) from t1;
cast(s1 as decimal(7,2))
99999.99
Warnings:
-Error 1264 Out of range value adjusted for column 'cast(s1 as decimal(7,2))' at row 1
+Error 1264 Out of range value for column 'cast(s1 as decimal(7,2))' at row 1
drop table t1;
CREATE TABLE t1 (v varchar(10), tt tinytext, t text,
mt mediumtext, lt longtext);
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/check.result b/mysql-test/r/check.result
index 03219d0977e..0bff34dba20 100644
--- a/mysql-test/r/check.result
+++ b/mysql-test/r/check.result
@@ -1,4 +1,5 @@
-drop table if exists t1;
+drop table if exists t1,t2;
+drop view if exists v1;
create table t1(n int not null, key(n), key(n), key(n), key(n));
check table t1 extended;
insert into t1 values (200000);
diff --git a/mysql-test/r/comments.result b/mysql-test/r/comments.result
index 1040c3fc8e9..d8ac68e2468 100644
--- a/mysql-test/r/comments.result
+++ b/mysql-test/r/comments.result
@@ -8,7 +8,7 @@ multi line comment */;
;
ERROR 42000: Query was empty
select 1 /*!32301 +1 */;
-1 /*!32301 +1
+1 +1
2
select 1 /*!52301 +1 */;
1
@@ -26,6 +26,16 @@ select 1 # The rest of the row will be ignored
1
1
/* line with only comment */;
+select 1/*!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 1
+select 1/*!000002*/;
+ERROR 42000: You 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 1
+select 1/*!999992*/;
+1
+1
+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';";
diff --git a/mysql-test/r/compress.result b/mysql-test/r/compress.result
index cce66fd84ef..a71d840d229 100644
--- a/mysql-test/r/compress.result
+++ b/mysql-test/r/compress.result
@@ -1,6 +1,9 @@
SHOW STATUS LIKE 'Compression';
Variable_name Value
Compression ON
+select * from information_schema.session_status where variable_name= 'COMPRESSION';
+VARIABLE_NAME VARIABLE_VALUE
+COMPRESSION ON
drop table if exists t1,t2,t3,t4;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
@@ -145,9 +148,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -608,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 index period period 4 NULL 41810
+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 41810
+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
@@ -1432,7 +1435,7 @@ companynr companynr
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
+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
@@ -1505,8 +1508,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
diff --git a/mysql-test/r/concurrent_innodb.result b/mysql-test/r/concurrent_innodb.result
new file mode 100644
index 00000000000..27e2cde077c
--- /dev/null
+++ b/mysql-test/r/concurrent_innodb.result
@@ -0,0 +1,607 @@
+SET SESSION STORAGE_ENGINE = InnoDB;
+drop table if exists t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+SET SESSION STORAGE_ENGINE = InnoDB;
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",1);
+get_lock("hello",1)
+1
+begin;
+ update t1 set eta=1+get_lock("hello",1)*0 where tipo=11;
+begin;
+update t1 set eta=2 where tipo=22;
+select release_lock("hello");
+release_lock("hello")
+1
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+0
+begin;
+ update t1 set eta=1+get_lock("hello",10)*0 where tipo=1;
+begin;
+update t1 set tipo=1 where tipo=2;
+select release_lock("hello");
+release_lock("hello")
+0
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 1 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 1 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+1 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+1 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 1 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 1 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 1 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 1 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+1 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 1 ddddddddddddddddddddddddddddddddddddddddddd
+1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 1 fffffffffffffffffffffffffffffffffffffffffff
+1 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+1 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 1 ddddddddddddddddddddddddddddddddddddddddddd
+1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 1 fffffffffffffffffffffffffffffffffffffffffff
+1 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1 (a int not null, b int not null);
+insert into t1 values (1,1),(2,1),(3,1),(4,1);
+select get_lock("hello2",1000);
+get_lock("hello2",1000)
+1
+begin;
+ update t1 set b=10+get_lock(concat("hello",a),1000)*0 where
+a=2;
+insert into t1 values (1,1);
+select release_lock("hello2");
+release_lock("hello2")
+1
+select * from t1;
+a b
+1 1
+2 1
+3 1
+4 1
+1 1
+select * from t1;
+a b
+1 1
+2 10
+3 1
+4 1
+1 1
+ commit;
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+1
+begin;
+ select * from t1 where tipo=2 FOR UPDATE;
+begin;
+select release_lock("hello");
+release_lock("hello")
+1
+update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+eta tipo c
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+1
+begin;
+ select * from t1 where tipo=2 FOR UPDATE;
+begin;
+select release_lock("hello");
+release_lock("hello")
+1
+update t1 set tipo=11+get_lock("hello",10)*0 where tipo=22;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+eta tipo c
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+1
+begin;
+ select * from t1 where tipo=2 FOR UPDATE;
+begin;
+select release_lock("hello");
+release_lock("hello")
+1
+select * from t1 where tipo=1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+eta tipo c
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+1
+begin;
+ delete from t1 where tipo=2;
+begin;
+select release_lock("hello");
+release_lock("hello")
+1
+update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
+create table t1(eta int(11) not null, tipo int(11), c varchar(255));
+insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc");
+insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd");
+insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
+insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff");
+insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg");
+insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
+insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
+insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
+select get_lock("hello",10);
+get_lock("hello",10)
+1
+begin;
+ delete from t1 where tipo=2;
+begin;
+select release_lock("hello");
+release_lock("hello")
+1
+update t1 set tipo=1+get_lock("hello",10)*0 where tipo=22;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+20 2 ddddddddddddddddddddddddddddddddddddddddddd
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+40 2 fffffffffffffffffffffffffffffffffffffffffff
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+ commit;
+commit;
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+select * from t1;
+eta tipo c
+7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+10 1 ccccccccccccccccccccccccccccccccccccccccccc
+30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+50 1 ggggggggggggggggggggggggggggggggggggggggggg
+70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
+drop table t1;
diff --git a/mysql-test/r/connect.result b/mysql-test/r/connect.result
index 4f49f77d46c..25cf4f90e6d 100644
--- a/mysql-test/r/connect.result
+++ b/mysql-test/r/connect.result
@@ -3,14 +3,20 @@ show tables;
Tables_in_mysql
columns_priv
db
+event
func
+general_log
help_category
help_keyword
help_relation
help_topic
host
+ndb_binlog_index
+plugin
proc
procs_priv
+servers
+slow_log
tables_priv
time_zone
time_zone_leap_second
@@ -30,14 +36,20 @@ show tables;
Tables_in_mysql
columns_priv
db
+event
func
+general_log
help_category
help_keyword
help_relation
help_topic
host
+ndb_binlog_index
+plugin
proc
procs_priv
+servers
+slow_log
tables_priv
time_zone
time_zone_leap_second
@@ -65,14 +77,20 @@ show tables;
Tables_in_mysql
columns_priv
db
+event
func
+general_log
help_category
help_keyword
help_relation
help_topic
host
+ndb_binlog_index
+plugin
proc
procs_priv
+servers
+slow_log
tables_priv
time_zone
time_zone_leap_second
diff --git a/mysql-test/r/constraints.result b/mysql-test/r/constraints.result
index d4d525c8991..116efe429d5 100644
--- a/mysql-test/r/constraints.result
+++ b/mysql-test/r/constraints.result
@@ -21,7 +21,7 @@ alter table t1 add constraint constraint_2 unique key_2(a);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) default NULL,
+ `a` int(11) DEFAULT NULL,
UNIQUE KEY `constraint_1` (`a`),
UNIQUE KEY `key_1` (`a`),
UNIQUE KEY `key_2` (`a`)
diff --git a/mysql-test/r/contributors.result b/mysql-test/r/contributors.result
new file mode 100644
index 00000000000..5739c2244c3
--- /dev/null
+++ b/mysql-test/r/contributors.result
@@ -0,0 +1,5 @@
+SHOW CONTRIBUTORS;
+Name Location Comment
+Ronald Bradford Brisbane, Australia EFF contribution for UC2006 Auction
+Sheeri Kritzer Boston, Mass. USA EFF contribution for UC2006 Auction
+Mark Shuttleworth London, UK. EFF contribution for UC2006 Auction
diff --git a/mysql-test/r/crash_commit_before.result b/mysql-test/r/crash_commit_before.result
new file mode 100644
index 00000000000..34fb3284bae
--- /dev/null
+++ b/mysql-test/r/crash_commit_before.result
@@ -0,0 +1,14 @@
+CREATE TABLE t1(a int) engine=innodb;
+START TRANSACTION;
+insert into t1 values(9);
+SET SESSION debug="d,crash_commit_before";
+COMMIT;
+ERROR HY000: Lost connection to MySQL server during query
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+a
+DROP TABLE t1;
diff --git a/mysql-test/r/create-big.result b/mysql-test/r/create-big.result
new file mode 100644
index 00000000000..eb57bf59084
--- /dev/null
+++ b/mysql-test/r/create-big.result
@@ -0,0 +1,247 @@
+drop table if exists t1,t2,t3,t4,t5;
+set session debug="+d,sleep_create_select_before_create";
+create table t1 select 1 as i;;
+create table t1 (j char(5));
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 select 1 as i;;
+create table t1 select "Test" as j;
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t3 (j char(5));
+create table t1 select 1 as i;;
+create table t1 like t3;
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 select 1 as i;;
+rename table t3 to t1;
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 select 1 as i;;
+alter table t3 rename to t1;
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 select 1 as i;;
+alter table t3 rename to t1, add k int;
+ERROR 42S01: Table 't1' already exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(1) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1, t3;
+set session debug="-d,sleep_create_select_before_create:+d,sleep_create_select_before_open";
+create table t1 select 1 as i;;
+drop table t1;
+create table t1 select 1 as i;;
+rename table t1 to t2;
+drop table t2;
+create table t1 select 1 as i;;
+select * from t1;
+i
+1
+drop table t1;
+create table t1 select 1 as i;;
+insert into t1 values (2);
+select * from t1;
+i
+1
+2
+drop table t1;
+set @a:=0;
+create table t1 select 1 as i;;
+create trigger t1_bi before insert on t1 for each row set @a:=1;
+select @a;
+@a
+0
+drop table t1;
+set session debug="-d,sleep_create_select_before_open:+d,sleep_create_select_before_lock";
+create table t1 select 1 as i;;
+drop table t1;
+create table t1 select 1 as i;;
+rename table t1 to t2;
+drop table t2;
+create table t1 select 1 as i;;
+select * from t1;
+i
+1
+drop table t1;
+create table t1 select 1 as i;;
+insert into t1 values (2);
+select * from t1;
+i
+1
+2
+drop table t1;
+set @a:=0;
+create table t1 select 1 as i;;
+create trigger t1_bi before insert on t1 for each row set @a:=1;
+select @a;
+@a
+0
+drop table t1;
+set session debug="-d,sleep_create_select_before_lock:+d,sleep_create_select_before_check_if_exists";
+create table t1 (i int);
+create table if not exists t1 select 1 as i;;
+drop table t1;
+Warnings:
+Note 1050 Table 't1' already exists
+create table t1 (i int);
+set @a:=0;
+create table if not exists t1 select 1 as i;;
+create trigger t1_bi before insert on t1 for each row set @a:=1;
+Warnings:
+Note 1050 Table 't1' already exists
+select @a;
+@a
+0
+select * from t1;
+i
+1
+drop table t1;
+set session debug="-d,sleep_create_select_before_check_if_exists";
+create table t2 (a int);
+create table t4 (b int);
+lock table t4 write;
+select 1;
+1
+1
+create table t3 as select * from t4;;
+create table t1 select * from t2, t3;;
+unlock tables;
+select * from t1;
+a b
+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
+drop table t1, t3;
+lock table t4 read;
+select 1;
+1
+1
+rename table t4 to t3;;
+create table if not exists t1 select 1 as i from t2, t3;;
+create table t5 (j int);
+rename table t5 to t1;
+unlock tables;
+Warnings:
+Note 1050 Table 't1' already exists
+select * from t1;
+j
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `j` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1, t2, t3;
+drop table if exists t1,t2;
+create table t1 (i int);
+set session debug="+d,sleep_create_like_before_check_if_exists";
+reset master;
+create table t2 like t1;;
+insert into t1 values (1);
+drop table t1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t2;
+show binlog events in 'master-bin.000001' from 106;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+create table t1 (i int);
+set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
+create table t2 like t1;;
+create table if not exists t2 (j int);
+Warnings:
+Note 1050 Table 't2' already exists
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t2;
+reset master;
+create table t2 like t1;;
+drop table t1;
+drop table t2;
+show binlog events in 'master-bin.000001' from 106;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+create table t1 (i int);
+set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
+reset master;
+create table t2 like t1;;
+insert into t2 values (1);
+drop table t2;
+create table t2 like t1;;
+drop table t2;
+create table t2 like t1;;
+drop table t1;
+drop table t2;
+show binlog events in 'master-bin.000001' from 106;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
+master-bin.000001 # Query 1 # use `test`; drop table t2
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+create table t1 (i int);
+set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
+reset master;
+create table t2 like t1;;
+insert into t2 values (1);
+drop table t2;
+create table t2 like t1;;
+drop table t2;
+create table t2 like t1;;
+drop table t1;
+drop table t2;
+show binlog events in 'master-bin.000001' from 106;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
+master-bin.000001 # Query 1 # use `test`; drop table t2
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+master-bin.000001 # Query 1 # use `test`; create table t2 like t1
+master-bin.000001 # Query 1 # use `test`; drop table t1
+master-bin.000001 # Query 1 # use `test`; drop table t2
+set session debug="-d,sleep_create_like_before_binlogging";
diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result
index 3d7486b6ba2..0613c9ba488 100644
--- a/mysql-test/r/create.result
+++ b/mysql-test/r/create.result
@@ -41,7 +41,14 @@ ERROR 42000: Incorrect table definition; there can be only one auto column and i
create table not_existing_database.test (a int);
ERROR 42000: Unknown database 'not_existing_database'
create table `a/a` (a int);
-ERROR 42000: Incorrect table name 'a/a'
+show create table `a/a`;
+Table Create Table
+a/a CREATE TABLE `a/a` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create table t1 like `a/a`;
+drop table `a/a`;
+drop table `t1`;
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
ERROR 42000: Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
@@ -155,7 +162,7 @@ Note 1051 Unknown table 't2'
CREATE TABLE t1 (a int not null);
INSERT INTO t1 values (1),(2),(1);
CREATE TABLE t2 (primary key(a)) SELECT * FROM t1;
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
DROP TABLE t1;
@@ -167,8 +174,8 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` int(11) default NULL,
- PRIMARY KEY (`a`),
+ `b` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`),
KEY `b` (`b`),
KEY `b_2` (`b`),
KEY `b_3` (`b`),
@@ -259,6 +266,7 @@ select * from t1;
0 1 2
0 0 1
drop table t1;
+flush status;
create table t1 (a int not null, b int, primary key (a));
insert into t1 values (1,1);
create table if not exists t1 select 2;
@@ -273,7 +281,14 @@ create table if not exists t1 select 3 as 'a',4 as 'b';
Warnings:
Note 1050 Table 't1' already exists
create table if not exists t1 select 3 as 'a',3 as 'b';
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
+show warnings;
+Level Code Message
+Note 1050 Table 't1' already exists
+Error 1062 Duplicate entry '3' for key 'PRIMARY'
+show status like "Opened_tables";
+Variable_name Value
+Opened_tables 2
select * from t1;
a b
1 1
@@ -304,7 +319,7 @@ show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`id` int(11) NOT NULL,
- `name` char(20) default NULL
+ `name` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t3;
id name
@@ -327,7 +342,7 @@ show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`id` int(11) NOT NULL,
- `name` char(20) default NULL
+ `name` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t3;
id name
@@ -339,14 +354,14 @@ show create table t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`id` int(11) NOT NULL,
- `name` char(20) default NULL
+ `name` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t2 like t3;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`id` int(11) NOT NULL,
- `name` char(20) default NULL
+ `name` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
id name
@@ -356,11 +371,9 @@ ERROR 42S01: Table 't3' already exists
create table non_existing_database.t1 like t1;
ERROR 42000: Unknown database 'non_existing_database'
create table t3 like non_existing_table;
-ERROR 42S02: Unknown table 'non_existing_table'
+ERROR 42S02: Table 'test.non_existing_table' doesn't exist
create temporary table t3 like t1;
ERROR 42S01: Table 't3' already exists
-create table t3 like `a/a`;
-ERROR 42000: Incorrect table name 'a/a'
drop table t1, t2, t3;
drop table t3;
drop database mysqltest;
@@ -442,21 +455,21 @@ create table t2 select ifnull(a,a), ifnull(b,b), ifnull(c,c), ifnull(d,d), ifnul
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `ifnull(a,a)` tinyint(4) default NULL,
- `ifnull(b,b)` smallint(6) default NULL,
- `ifnull(c,c)` mediumint(8) default NULL,
- `ifnull(d,d)` int(11) default NULL,
- `ifnull(e,e)` bigint(20) default NULL,
- `ifnull(f,f)` float(3,2) default NULL,
- `ifnull(g,g)` double(4,3) default NULL,
- `ifnull(h,h)` decimal(5,4) default NULL,
- `ifnull(i,i)` year(4) default NULL,
- `ifnull(j,j)` date default NULL,
- `ifnull(k,k)` timestamp NOT NULL default '0000-00-00 00:00:00',
- `ifnull(l,l)` datetime default NULL,
- `ifnull(m,m)` varchar(1) default NULL,
- `ifnull(n,n)` varchar(3) default NULL,
- `ifnull(o,o)` varchar(10) default NULL
+ `ifnull(a,a)` tinyint(4) DEFAULT NULL,
+ `ifnull(b,b)` smallint(6) DEFAULT NULL,
+ `ifnull(c,c)` mediumint(8) DEFAULT NULL,
+ `ifnull(d,d)` int(11) DEFAULT NULL,
+ `ifnull(e,e)` bigint(20) DEFAULT NULL,
+ `ifnull(f,f)` float(3,2) DEFAULT NULL,
+ `ifnull(g,g)` double(4,3) DEFAULT NULL,
+ `ifnull(h,h)` decimal(5,4) DEFAULT NULL,
+ `ifnull(i,i)` year(4) DEFAULT NULL,
+ `ifnull(j,j)` date DEFAULT NULL,
+ `ifnull(k,k)` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ifnull(l,l)` datetime DEFAULT NULL,
+ `ifnull(m,m)` varchar(1) DEFAULT NULL,
+ `ifnull(n,n)` varchar(3) DEFAULT NULL,
+ `ifnull(o,o)` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1,t2;
create table t1(str varchar(10) default 'def',strnull varchar(10),intg int default '10',rel double default '3.14');
@@ -523,14 +536,14 @@ create table t1 (`primary` int, index(`primary`));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `primary` int(11) default NULL,
+ `primary` int(11) DEFAULT NULL,
KEY `primary_2` (`primary`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t2 (`PRIMARY` int, index(`PRIMARY`));
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `PRIMARY` int(11) default NULL,
+ `PRIMARY` int(11) DEFAULT NULL,
KEY `PRIMARY_2` (`PRIMARY`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t3 (a int);
@@ -543,7 +556,7 @@ alter table t4 add index(`primary`);
show create table t4;
Table Create Table
t4 CREATE TABLE `t4` (
- `primary` int(11) default NULL,
+ `primary` int(11) DEFAULT NULL,
KEY `primary_2` (`primary`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t5 (`PRIMARY` int);
@@ -551,7 +564,7 @@ alter table t5 add index(`PRIMARY`);
show create table t5;
Table Create Table
t5 CREATE TABLE `t5` (
- `PRIMARY` int(11) default NULL,
+ `PRIMARY` int(11) DEFAULT NULL,
KEY `PRIMARY_2` (`PRIMARY`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2, t3, t4, t5;
@@ -581,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;
@@ -639,8 +652,8 @@ primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(112) character set utf8 collate utf8_bin NOT NULL,
- PRIMARY KEY (`a`)
+ `a` varchar(112) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t2 (
@@ -654,9 +667,9 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) character set utf8 collate utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`b` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (
@@ -669,9 +682,9 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`b` int(11) NOT NULL,
- `a` varchar(12) character set utf8 collate utf8_bin NOT NULL,
- `c` int(1) NOT NULL default '0',
- PRIMARY KEY (`a`)
+ `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `c` int(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (
@@ -681,10 +694,10 @@ b int null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `b` int(11) default NULL,
- `a` varchar(12) character set utf8 collate utf8_bin NOT NULL,
- `c` int(1) NOT NULL default '0',
- PRIMARY KEY (`a`)
+ `b` int(11) DEFAULT NULL,
+ `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `c` int(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (
@@ -694,9 +707,9 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) character set utf8 collate utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`b` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (
@@ -706,9 +719,9 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) character set utf8 collate utf8_bin NOT NULL default '',
+ `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`b` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (
@@ -742,10 +755,10 @@ select a1,a2 from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` int(11) default '3',
- `b` int(11) default '3',
- `a1` int(11) default NULL,
- `a2` int(11) default NULL
+ `a` int(11) DEFAULT '3',
+ `b` int(11) DEFAULT '3',
+ `a1` int(11) DEFAULT NULL,
+ `a2` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1(a set("a,b","c,d") not null);
@@ -754,19 +767,19 @@ create table t1 (i int) engine=myisam max_rows=100000000000;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295
alter table t1 max_rows=100;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=100
alter table t1 max_rows=100000000000;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=4294967295
drop table t1;
create table t1 select * from t2;
@@ -782,7 +795,7 @@ create table if not exists t1 select 1 as a, 2 as b;
ERROR 21S01: Column count doesn't match value count at row 1
drop table t1;
create table t1 (primary key (a)) (select 1 as a) union all (select 1 as a);
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
create table t1 (i int);
create table t1 select 1 as i;
ERROR 42S01: Table 't1' already exists
@@ -799,7 +812,7 @@ i
1
alter table t1 add primary key (i);
create table if not exists t1 (select 2 as i) union all (select 2 as i);
-ERROR 23000: Duplicate entry '2' for key 1
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
select * from t1;
i
1
@@ -1000,22 +1013,22 @@ c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) default NULL,
- `c2` int(11) default NULL,
- `c3` int(11) default NULL,
- `c4` int(11) default NULL,
- `c5` int(11) default NULL,
- `c6` int(11) default NULL,
- `c7` int(11) default NULL,
- `c8` int(11) default NULL,
- `c9` int(11) default NULL,
- `c10` int(11) default NULL,
- `c11` int(11) default NULL,
- `c12` int(11) default NULL,
- `c13` int(11) default NULL,
- `c14` int(11) default NULL,
- `c15` int(11) default NULL,
- `c16` int(11) default NULL,
+ `c1` int(11) DEFAULT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` int(11) DEFAULT NULL,
+ `c6` int(11) DEFAULT NULL,
+ `c7` int(11) DEFAULT NULL,
+ `c8` int(11) DEFAULT NULL,
+ `c9` int(11) DEFAULT NULL,
+ `c10` int(11) DEFAULT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `c12` int(11) DEFAULT NULL,
+ `c13` int(11) DEFAULT NULL,
+ `c14` int(11) DEFAULT NULL,
+ `c15` int(11) DEFAULT NULL,
+ `c16` int(11) DEFAULT NULL,
KEY `a001_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a002_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a003_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
@@ -1085,22 +1098,22 @@ flush tables;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) default NULL,
- `c2` int(11) default NULL,
- `c3` int(11) default NULL,
- `c4` int(11) default NULL,
- `c5` int(11) default NULL,
- `c6` int(11) default NULL,
- `c7` int(11) default NULL,
- `c8` int(11) default NULL,
- `c9` int(11) default NULL,
- `c10` int(11) default NULL,
- `c11` int(11) default NULL,
- `c12` int(11) default NULL,
- `c13` int(11) default NULL,
- `c14` int(11) default NULL,
- `c15` int(11) default NULL,
- `c16` int(11) default NULL,
+ `c1` int(11) DEFAULT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` int(11) DEFAULT NULL,
+ `c6` int(11) DEFAULT NULL,
+ `c7` int(11) DEFAULT NULL,
+ `c8` int(11) DEFAULT NULL,
+ `c9` int(11) DEFAULT NULL,
+ `c10` int(11) DEFAULT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `c12` int(11) DEFAULT NULL,
+ `c13` int(11) DEFAULT NULL,
+ `c14` int(11) DEFAULT NULL,
+ `c15` int(11) DEFAULT NULL,
+ `c16` int(11) DEFAULT NULL,
KEY `a001_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a002_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a003_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
@@ -1301,22 +1314,22 @@ c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) default NULL,
- `c2` int(11) default NULL,
- `c3` int(11) default NULL,
- `c4` int(11) default NULL,
- `c5` int(11) default NULL,
- `c6` int(11) default NULL,
- `c7` int(11) default NULL,
- `c8` int(11) default NULL,
- `c9` int(11) default NULL,
- `c10` int(11) default NULL,
- `c11` int(11) default NULL,
- `c12` int(11) default NULL,
- `c13` int(11) default NULL,
- `c14` int(11) default NULL,
- `c15` int(11) default NULL,
- `c16` int(11) default NULL,
+ `c1` int(11) DEFAULT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` int(11) DEFAULT NULL,
+ `c6` int(11) DEFAULT NULL,
+ `c7` int(11) DEFAULT NULL,
+ `c8` int(11) DEFAULT NULL,
+ `c9` int(11) DEFAULT NULL,
+ `c10` int(11) DEFAULT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `c12` int(11) DEFAULT NULL,
+ `c13` int(11) DEFAULT NULL,
+ `c14` int(11) DEFAULT NULL,
+ `c15` int(11) DEFAULT NULL,
+ `c16` int(11) DEFAULT NULL,
KEY `a001_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a002_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a003_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
@@ -1386,22 +1399,22 @@ flush tables;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) default NULL,
- `c2` int(11) default NULL,
- `c3` int(11) default NULL,
- `c4` int(11) default NULL,
- `c5` int(11) default NULL,
- `c6` int(11) default NULL,
- `c7` int(11) default NULL,
- `c8` int(11) default NULL,
- `c9` int(11) default NULL,
- `c10` int(11) default NULL,
- `c11` int(11) default NULL,
- `c12` int(11) default NULL,
- `c13` int(11) default NULL,
- `c14` int(11) default NULL,
- `c15` int(11) default NULL,
- `c16` int(11) default NULL,
+ `c1` int(11) DEFAULT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` int(11) DEFAULT NULL,
+ `c6` int(11) DEFAULT NULL,
+ `c7` int(11) DEFAULT NULL,
+ `c8` int(11) DEFAULT NULL,
+ `c9` int(11) DEFAULT NULL,
+ `c10` int(11) DEFAULT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `c12` int(11) DEFAULT NULL,
+ `c13` int(11) DEFAULT NULL,
+ `c14` int(11) DEFAULT NULL,
+ `c15` int(11) DEFAULT NULL,
+ `c16` int(11) DEFAULT NULL,
KEY `a001_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a002_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
KEY `a003_long_123456789_123456789_123456789_123456789_123456789_1234` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`),
@@ -1484,23 +1497,23 @@ ERROR 42000: Identifier name 'a001_long_123456789_123456789_123456789_123456789_
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` int(11) default NULL,
- `c2` int(11) default NULL,
- `c3` int(11) default NULL,
- `c4` int(11) default NULL,
- `c5` int(11) default NULL,
- `c6` int(11) default NULL,
- `c7` int(11) default NULL,
- `c8` int(11) default NULL,
- `c9` int(11) default NULL,
- `c10` int(11) default NULL,
- `c11` int(11) default NULL,
- `c12` int(11) default NULL,
- `c13` int(11) default NULL,
- `c14` int(11) default NULL,
- `c15` int(11) default NULL,
- `c16` int(11) default NULL,
- `c17` int(11) default NULL
+ `c1` int(11) DEFAULT NULL,
+ `c2` int(11) DEFAULT NULL,
+ `c3` int(11) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` int(11) DEFAULT NULL,
+ `c6` int(11) DEFAULT NULL,
+ `c7` int(11) DEFAULT NULL,
+ `c8` int(11) DEFAULT NULL,
+ `c9` int(11) DEFAULT NULL,
+ `c10` int(11) DEFAULT NULL,
+ `c11` int(11) DEFAULT NULL,
+ `c12` int(11) DEFAULT NULL,
+ `c13` int(11) DEFAULT NULL,
+ `c14` int(11) DEFAULT NULL,
+ `c15` int(11) DEFAULT NULL,
+ `c16` int(11) DEFAULT NULL,
+ `c17` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -1533,3 +1546,201 @@ Handler_read_rnd 0
Handler_read_rnd_next 7
drop table t1,t2;
End of 5.0 tests
+CREATE TABLE t1 (a int, b int);
+insert into t1 values (1,1),(1,2);
+CREATE TABLE t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TEMPORARY TABLE t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TABLE t2 (a int, b int, primary key (a));
+CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+1 1
+TRUNCATE table t2;
+INSERT INTO t2 select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+1 1
+drop table t2;
+CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a));
+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+1 1
+TRUNCATE table t2;
+INSERT INTO t2 select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+1 1
+drop table t1,t2;
+CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+set names utf8;
+create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
+use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
+select database();
+database()
+имя_базы_в_кодировке_утф8_длиной_больше_чем_45
+use test;
+select SCHEMA_NAME from information_schema.schemata
+where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
+SCHEMA_NAME
+имя_базы_в_кодировке_утф8_длиной_больше_чем_45
+drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
+create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
+(
+имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
+index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
+);
+create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
+select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
+from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
+select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
+имя_поля_в_кодировке_утф8_длиной_больше_чем_45
+select TABLE_NAME from information_schema.tables where
+table_schema='test';
+TABLE_NAME
+имя_вью_кодировке_утф8_длиной_больше_чем_42
+имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
+select COLUMN_NAME from information_schema.columns where
+table_schema='test';
+COLUMN_NAME
+имя_поля_в_кодировке_утф8_длиной_больше_чем_45
+имя_поля_в_кодировке_утф8_длиной_больше_чем_45
+select INDEX_NAME from information_schema.statistics where
+table_schema='test';
+INDEX_NAME
+имя_индекса_в_кодировке_утф8_длиной_больше_чем_48
+select TABLE_NAME from information_schema.views where
+table_schema='test';
+TABLE_NAME
+имя_вью_кодировке_утф8_длиной_больше_чем_42
+show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
+Table Create Table
+имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 CREATE TABLE `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` (
+ `имя_поля_в_кодировке_утф8_длиной_больше_чем_45` int(11) DEFAULT NULL,
+ KEY `имя_индекса_в_кодировке_утф8_длиной_больше_чем_48` (`имя_поля_в_кодировке_утф8_длиной_больше_чем_45`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
+View Create View character_set_client collation_connection
+имя_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имя_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` AS `имя_поля_в_кодировке_утф8_длиной_больше_чем_45` from `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci
+create event имя_события_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1;
+select EVENT_NAME from information_schema.events
+where event_schema='test';
+EVENT_NAME
+имя_события_в_кодировке_утф8_длиной_больше_чем_48
+drop event имя_события_в_кодировке_утф8_длиной_больше_чем_48;
+create event
+очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
+on schedule every 2 year do select 1;
+ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
+create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
+before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
+select TRIGGER_NAME from information_schema.triggers where
+trigger_schema='test';
+TRIGGER_NAME
+имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
+drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
+create trigger
+очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
+before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
+ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
+drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
+ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
+create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
+begin
+end;
+select ROUTINE_NAME from information_schema.routines where
+routine_schema='test';
+ROUTINE_NAME
+имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50
+drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
+create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
+begin
+end;
+ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
+create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
+returns int
+return 0;
+select ROUTINE_NAME from information_schema.routines where
+routine_schema='test';
+ROUTINE_NAME
+имя_функции_в_кодировке_утф8_длиной_больше_чем_49
+drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
+create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
+returns int
+return 0;
+ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
+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;
+End of 5.1 tests
diff --git a/mysql-test/r/create_not_windows.result b/mysql-test/r/create_not_windows.result
index b975c98c2b1..abe76fd3fbe 100644
--- a/mysql-test/r/create_not_windows.result
+++ b/mysql-test/r/create_not_windows.result
@@ -7,8 +7,25 @@ primary key (_id)
show create table `about:text`;
Table Create Table
about:text CREATE TABLE `about:text` (
- `_id` int(11) NOT NULL auto_increment,
- `about:text` varchar(255) NOT NULL default '',
- PRIMARY KEY (`_id`)
+ `_id` int(11) NOT NULL AUTO_INCREMENT,
+ `about:text` varchar(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table `about:text`;
+use test;
+drop table if exists t1;
+create table t1(a int) engine=myisam;
+insert into t1 values(1);
+"We get an error because the table is in the definition cache"
+create table t1(a int, b int);
+ERROR 42S01: Table 't1' already exists
+"Flush the cache and recreate the table anew to be able to drop it"
+flush tables;
+show open tables like "t%";
+Database Table In_use Name_locked
+create table t1(a int, b int, c int);
+"Try to select from the table. This should not crash the server"
+select count(a) from t1;
+count(a)
+0
+drop table t1;
diff --git a/mysql-test/r/create_select_tmp.result b/mysql-test/r/create_select_tmp.result
index 668547bcff9..f499e539baf 100644
--- a/mysql-test/r/create_select_tmp.result
+++ b/mysql-test/r/create_select_tmp.result
@@ -2,19 +2,19 @@ drop table if exists t1, t2;
CREATE TABLE t1 ( a int );
INSERT INTO t1 VALUES (1),(2),(1);
CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1;
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1;
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
drop table t1;
diff --git a/mysql-test/r/csv.result b/mysql-test/r/csv.result
index dca4e349c8a..b0033383f00 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);
@@ -4943,13 +4943,13 @@ val
UPDATE bug13894 SET val=6 WHERE val=10;
SELECT * FROM bug13894;
val
-5
-11
6
6
+5
+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,146 @@ c1
4
5
DROP TABLE bug14672;
-create table t1 (a int) 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;
+val
+1
+SELECT * FROM test_concurrent_insert;
+val
+UNLOCK TABLES;
+LOCK TABLES test_concurrent_insert WRITE;
+INSERT INTO test_concurrent_insert VALUES (2);
+SELECT * FROM test_concurrent_insert;
+val
+1
+2
+UNLOCK TABLES;
+DROP TABLE test_concurrent_insert;
+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
+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 not null ) ENGINE = CSV;
+SELECT * from test_repair_table2;
+val
+Warnings:
+Error 1194 Table 'test_repair_table2' is marked as crashed and should be repaired
+SELECT * from test_repair_table2;
+val
+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 not null ) ENGINE = CSV;
+CHECK TABLE test_repair_table3;
+Table Op Msg_type Msg_text
+test.test_repair_table3 check error Corrupt
+REPAIR TABLE test_repair_table3;
+Table Op Msg_type Msg_text
+test.test_repair_table3 repair status OK
+SELECT * FROM test_repair_table3;
+val
+1
+4
+DROP TABLE test_repair_table3;
+CREATE TABLE test_repair_table4 (
+num int not null,
+magic_no int(4) unsigned zerofill DEFAULT '0000' NOT NULL,
+company_name char(30) DEFAULT '' NOT NULL,
+founded char(4) DEFAULT '' NOT NULL
+) ENGINE = CSV;
+SELECT * FROM test_repair_table4;
+num magic_no company_name founded
+Warnings:
+Error 1194 Table 'test_repair_table4' is marked as crashed and should be repaired
+SELECT * FROM test_repair_table4;
+num magic_no company_name founded
+CHECK TABLE test_repair_table4;
+Table Op Msg_type Msg_text
+test.test_repair_table4 check status OK
+INSERT INTO test_repair_table4 VALUES (2,101,'SAP','1972');
+INSERT INTO test_repair_table4 VALUES (1,101,'Microsoft','1978');
+INSERT INTO test_repair_table4 VALUES (2,101,'MySQL','1995');
+SELECT * FROM test_repair_table4;
+num magic_no company_name founded
+2 0101 SAP 1972
+1 0101 Microsoft 1978
+2 0101 MySQL 1995
+CHECK TABLE test_repair_table4;
+Table Op Msg_type Msg_text
+test.test_repair_table4 check status OK
+REPAIR TABLE test_repair_table4;
+Table Op Msg_type Msg_text
+test.test_repair_table4 repair status OK
+SELECT * FROM test_repair_table4;
+num magic_no company_name founded
+2 0101 SAP 1972
+1 0101 Microsoft 1978
+2 0101 MySQL 1995
+CHECK TABLE test_repair_table4;
+Table Op Msg_type Msg_text
+test.test_repair_table4 check status OK
+REPAIR TABLE test_repair_table4;
+Table Op Msg_type Msg_text
+test.test_repair_table4 repair status OK
+SELECT * FROM test_repair_table4;
+num magic_no company_name founded
+2 0101 SAP 1972
+1 0101 Microsoft 1978
+2 0101 MySQL 1995
+DROP TABLE test_repair_table4;
+CREATE TABLE test_repair_table5 (
+num int not null,
+magic_no int(4) unsigned zerofill DEFAULT '0000' NOT NULL,
+company_name char(30) DEFAULT '' NOT NULL,
+founded char(4) DEFAULT '' NOT NULL
+) ENGINE = CSV;
+CHECK TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 check error Corrupt
+REPAIR TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 repair status OK
+SELECT * FROM test_repair_table5;
+num magic_no company_name founded
+INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT", 1876);
+SELECT * FROM test_repair_table5;
+num magic_no company_name founded
+1 0102 CORRECT 1876
+FLUSH TABLES;
+CHECK TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 check error Corrupt
+REPAIR TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 repair status OK
+SELECT * FROM test_repair_table5;
+num magic_no company_name founded
+1 0102 CORRECT 1876
+INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT2", 1876);
+SELECT * FROM test_repair_table5;
+num magic_no company_name founded
+1 0102 CORRECT 1876
+1 0102 CORRECT2 1876
+FLUSH TABLES;
+CHECK TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 check error Corrupt
+REPAIR TABLE test_repair_table5;
+Table Op Msg_type Msg_text
+test.test_repair_table5 repair status OK
+SELECT * FROM test_repair_table5;
+num magic_no company_name founded
+1 0102 CORRECT 1876
+1 0102 CORRECT2 1876
+DROP TABLE test_repair_table5;
+create table t1 (a int not null) engine=csv;
insert t1 values (1);
delete from t1;
affected rows: 1
@@ -4999,10 +5138,65 @@ insert t1 values (1),(2),(3),(4),(5);
truncate table t1;
affected rows: 0
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 t1 (v varchar(32) not null);
+insert into t1 values ('def'),('abc'),('hij'),('3r4f');
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+alter table t1 change v v2 varchar(32);
+select * from t1;
+v2
+def
+abc
+hij
+3r4f
+alter table t1 change v2 v varchar(64);
+select * from t1;
+v
+def
+abc
+hij
+3r4f
+update t1 set v = 'lmn' where v = 'hij';
+select * from t1;
+v
+def
+abc
+lmn
+3r4f
+alter table t1 add i int auto_increment not null primary key first;
+select * from t1;
+i v
+1 def
+2 abc
+3 lmn
+4 3r4f
+update t1 set i=5 where i=3;
+select * from t1;
+i v
+1 def
+2 abc
+5 lmn
+4 3r4f
+alter table t1 change i i bigint;
+select * from t1;
+i v
+1 def
+2 abc
+5 lmn
+4 3r4f
+alter table t1 add unique key (i, v);
+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) not null) engine=csv;
+create table bug15205_2 (val int(11) not null) engine=csv;
select * from bug15205;
-ERROR HY000: Got error 1 from storage engine
+ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2)
select * from bug15205_2;
val
select * from bug15205;
@@ -5011,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');
@@ -5029,46 +5223,160 @@ F7 DIVISION SIGN
FE LATIN SMALL LETTER THORN
FF LATIN SMALL LETTER Y WITH DIAERESIS
drop table t1;
-create table t1(a datetime) engine=csv;
+End of 5.0 tests
+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');
+check table bug22080_2;
+Table Op Msg_type Msg_text
+test.bug22080_2 check error Corrupt
+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 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');
+insert into float_test values(0.19,'string');
+insert into float_test values(.67,'string');
+insert into float_test values(9.67,'string');
+select * from float_test;
+id string
+1 string
+2.23 serg.g
+0.03 string
+0.19 string
+0.67 string
+9.67 string
+drop table float_test;
+CREATE TABLE `bug21328` (
+`col1` int(11) NOT NULL,
+`col2` int(11) NOT NULL,
+`col3` int(11) NOT NULL
+) ENGINE=CSV;
+insert into bug21328 values (1,0,0);
+alter table bug21328 engine=myisam;
+drop table bug21328;
+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;
+select * from t1;
+a b
+a 2
+drop table t1;
+create table t1(a int not null) engine=csv;
+insert into t1 values(-1), (-123.34), (2), (-23);
+select * from t1;
+a
+-1
+-123
+2
+-23
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
+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
+test.t1 repair status OK
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select * from t1;
+a b
+1 0
+-200 1
+-1 -1
+-1 -100
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
+create table t1(a int not null) engine=csv;
+insert into t1 values (0), (1), (2);
+delete from t1 limit 2;
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+select * from t1;
+a
+2
+delete from t1;
+check table t1;
+Table Op Msg_type Msg_text
+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')) engine=csv;
+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)) engine=csv;
+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) engine=csv;
+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) engine=csv;
+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)) engine=csv;
+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;
-End of 5.0 tests
+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)
+End of 5.1 tests
diff --git a/mysql-test/r/ctype_collate.result b/mysql-test/r/ctype_collate.result
index 7e9513f06e9..026c0ebdcf2 100644
--- a/mysql-test/r/ctype_collate.result
+++ b/mysql-test/r/ctype_collate.result
@@ -494,7 +494,7 @@ latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `latin1_f` char(32) character set latin1 collate latin1_bin default NULL
+ `latin1_f` char(32) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
@@ -503,7 +503,7 @@ ALTER TABLE t1 CHARACTER SET latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `latin1_f` char(32) collate latin1_bin default NULL
+ `latin1_f` char(32) COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
@@ -516,8 +516,8 @@ SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
charset('a') collation('a') coercibility('a') 'a'='A'
latin1 latin1_swedish_ci 4 1
explain extended SELECT charset('a'),collation('a'),coercibility('a'),'a'='A';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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'`
SET CHARACTER SET koi8r;
diff --git a/mysql-test/r/ctype_cp1250_ch.result b/mysql-test/r/ctype_cp1250_ch.result
index 73f415732cd..4b02fa2182a 100644
--- a/mysql-test/r/ctype_cp1250_ch.result
+++ b/mysql-test/r/ctype_cp1250_ch.result
@@ -1,3 +1,4 @@
+drop table if exists t1;
DROP TABLE IF EXISTS t1;
SHOW COLLATION LIKE 'cp1250_czech_cs';
Collation Charset Id Default Compiled Sortlen
diff --git a/mysql-test/r/ctype_cp932.result b/mysql-test/r/ctype_cp932.result
deleted file mode 100755
index 8974a6a8594..00000000000
--- a/mysql-test/r/ctype_cp932.result
+++ /dev/null
@@ -1,11467 +0,0 @@
-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 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;
-DROP DATABASE d1;
-USE test;
-SET character_set_server= @safe_character_set_server;
-SET collation_server= @safe_collation_server;
-set names cp932;
-set character_set_database = cp932;
-CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
-INSERT INTO t1 VALUES
-(0x05),(0x7E),(0x815C),(0x815F),(0x8160),(0x8161),(0x817C),(0x8191),(0x8192),(0x81CA);
-INSERT INTO t1 VALUES
-(0x8740),(0x8741),(0x8742),(0x8743),(0x8744),(0x8745),(0x8746),(0x8747),
-(0x8748),(0x8749),(0x874A),(0x874B),(0x874C),(0x874D),(0x874E),(0x874F),
-(0x8750),(0x8751),(0x8752),(0x8753),(0x8754),(0x8755),(0x8756),(0x8757),
-(0x8758),(0x8759),(0x875A),(0x875B),(0x875C),(0x875D),(0x875F),
-(0x8760),(0x8761),(0x8762),(0x8763),(0x8764),(0x8765),(0x8766),(0x8767),
-(0x8768),(0x8769),(0x876A),(0x876B),(0x876C),(0x876D),(0x876E),(0x876F),
-(0x8770),(0x8771),(0x8772),(0x8773),(0x8774),(0x8775),(0x877E),
-(0x8780),(0x8781),(0x8782),(0x8783),(0x8784),(0x8785),(0x8786),(0x8787),
-(0x8788),(0x8789),(0x878A),(0x878B),(0x878C),(0x878D),(0x878E),(0x878F),
-(0x8790),(0x8791),(0x8792),(0x8793),(0x8794),(0x8795),(0x8796),(0x8797),
-(0x8798),(0x8799),(0x879A),(0x879B),(0x879C);
-INSERT INTO t1 VALUES
-(0xED40),(0xED41),(0xED42),(0xED43),(0xED44),(0xED45),(0xED46),(0xED47),
-(0xED48),(0xED49),(0xED4A),(0xED4B),(0xED4C),(0xED4D),(0xED4E),(0xED4F),
-(0xED50),(0xED51),(0xED52),(0xED53),(0xED54),(0xED55),(0xED56),(0xED57),
-(0xED58),(0xED59),(0xED5A),(0xED5B),(0xED5C),(0xED5D),(0xED5E),(0xED5F),
-(0xED60),(0xED61),(0xED62),(0xED63),(0xED64),(0xED65),(0xED66),(0xED67),
-(0xED68),(0xED69),(0xED6A),(0xED6B),(0xED6C),(0xED6D),(0xED6E),(0xED6F),
-(0xED70),(0xED71),(0xED72),(0xED73),(0xED74),(0xED75),(0xED76),(0xED77),
-(0xED78),(0xED79),(0xED7A),(0xED7B),(0xED7C),(0xED7D),(0xED7E),
-(0xED80),(0xED81),(0xED82),(0xED83),(0xED84),(0xED85),(0xED86),(0xED87),
-(0xED88),(0xED89),(0xED8A),(0xED8B),(0xED8C),(0xED8D),(0xED8E),(0xED8F),
-(0xED90),(0xED91),(0xED92),(0xED93),(0xED94),(0xED95),(0xED96),(0xED97),
-(0xED98),(0xED99),(0xED9A),(0xED9B),(0xED9C),(0xED9D),(0xED9E),(0xED9F),
-(0xEDA0),(0xEDA1),(0xEDA2),(0xEDA3),(0xEDA4),(0xEDA5),(0xEDA6),(0xEDA7),
-(0xEDA8),(0xEDA9),(0xEDAA),(0xEDAB),(0xEDAC),(0xEDAD),(0xEDAE),(0xEDAF),
-(0xEDB0),(0xEDB1),(0xEDB2),(0xEDB3),(0xEDB4),(0xEDB5),(0xEDB6),(0xEDB7),
-(0xEDB8),(0xEDB9),(0xEDBA),(0xEDBB),(0xEDBC),(0xEDBD),(0xEDBE),(0xEDBF),
-(0xEDC0),(0xEDC1),(0xEDC2),(0xEDC3),(0xEDC4),(0xEDC5),(0xEDC6),(0xEDC7),
-(0xEDC8),(0xEDC9),(0xEDCA),(0xEDCB),(0xEDCC),(0xEDCD),(0xEDCE),(0xEDCF),
-(0xEDD0),(0xEDD1),(0xEDD2),(0xEDD3),(0xEDD4),(0xEDD5),(0xEDD6),(0xEDD7),
-(0xEDD8),(0xEDD9),(0xEDDA),(0xEDDB),(0xEDDC),(0xEDDD),(0xEDDE),(0xEDDF),
-(0xEDE0),(0xEDE1),(0xEDE2),(0xEDE3),(0xEDE4),(0xEDE5),(0xEDE6),(0xEDE7),
-(0xEDE8),(0xEDE9),(0xEDEA),(0xEDEB),(0xEDEC),(0xEDED),(0xEDEE),(0xEDEF),
-(0xEDF0),(0xEDF1),(0xEDF2),(0xEDF3),(0xEDF4),(0xEDF5),(0xEDF6),(0xEDF7),
-(0xEDF8),(0xEDF9),(0xEDFA),(0xEDFB),(0xEDFC),
-(0xEE40),(0xEE41),(0xEE42),(0xEE43),(0xEE44),(0xEE45),(0xEE46),(0xEE47),
-(0xEE48),(0xEE49),(0xEE4A),(0xEE4B),(0xEE4C),(0xEE4D),(0xEE4E),(0xEE4F),
-(0xEE50),(0xEE51),(0xEE52),(0xEE53),(0xEE54),(0xEE55),(0xEE56),(0xEE57),
-(0xEE58),(0xEE59),(0xEE5A),(0xEE5B),(0xEE5C),(0xEE5D),(0xEE5E),(0xEE5F),
-(0xEE60),(0xEE61),(0xEE62),(0xEE63),(0xEE64),(0xEE65),(0xEE66),(0xEE67),
-(0xEE68),(0xEE69),(0xEE6A),(0xEE6B),(0xEE6C),(0xEE6D),(0xEE6E),(0xEE6F),
-(0xEE70),(0xEE71),(0xEE72),(0xEE73),(0xEE74),(0xEE75),(0xEE76),(0xEE77),
-(0xEE78),(0xEE79),(0xEE7A),(0xEE7B),(0xEE7C),(0xEE7D),(0xEE7E),
-(0xEE80),(0xEE81),(0xEE82),(0xEE83),(0xEE84),(0xEE85),(0xEE86),(0xEE87),
-(0xEE88),(0xEE89),(0xEE8A),(0xEE8B),(0xEE8C),(0xEE8D),(0xEE8E),(0xEE8F),
-(0xEE90),(0xEE91),(0xEE92),(0xEE93),(0xEE94),(0xEE95),(0xEE96),(0xEE97),
-(0xEE98),(0xEE99),(0xEE9A),(0xEE9B),(0xEE9C),(0xEE9D),(0xEE9E),(0xEE9F),
-(0xEEA0),(0xEEA1),(0xEEA2),(0xEEA3),(0xEEA4),(0xEEA5),(0xEEA6),(0xEEA7),
-(0xEEA8),(0xEEA9),(0xEEAA),(0xEEAB),(0xEEAC),(0xEEAD),(0xEEAE),(0xEEAF),
-(0xEEB0),(0xEEB1),(0xEEB2),(0xEEB3),(0xEEB4),(0xEEB5),(0xEEB6),(0xEEB7),
-(0xEEB8),(0xEEB9),(0xEEBA),(0xEEBB),(0xEEBC),(0xEEBD),(0xEEBE),(0xEEBF),
-(0xEEC0),(0xEEC1),(0xEEC2),(0xEEC3),(0xEEC4),(0xEEC5),(0xEEC6),(0xEEC7),
-(0xEEC8),(0xEEC9),(0xEECA),(0xEECB),(0xEECC),(0xEECD),(0xEECE),(0xEECF),
-(0xEED0),(0xEED1),(0xEED2),(0xEED3),(0xEED4),(0xEED5),(0xEED6),(0xEED7),
-(0xEED8),(0xEED9),(0xEEDA),(0xEEDB),(0xEEDC),(0xEEDD),(0xEEDE),(0xEEDF),
-(0xEEE0),(0xEEE1),(0xEEE2),(0xEEE3),(0xEEE4),(0xEEE5),(0xEEE6),(0xEEE7),
-(0xEEE8),(0xEEE9),(0xEEEA),(0xEEEB),(0xEEEC),(0xEEEF),
-(0xEEF0),(0xEEF1),(0xEEF2),(0xEEF3),(0xEEF4),(0xEEF5),(0xEEF6),(0xEEF7),
-(0xEEF8),(0xEEF9),(0xEEFA),(0xEEFB),(0xEEFC);
-INSERT INTO t1 VALUES
-(0xFA40),(0xFA41),(0xFA42),(0xFA43),(0xFA44),(0xFA45),(0xFA46),(0xFA47),
-(0xFA48),(0xFA49),(0xFA4A),(0xFA4B),(0xFA4C),(0xFA4D),(0xFA4E),(0xFA4F),
-(0xFA50),(0xFA51),(0xFA52),(0xFA53),(0xFA54),(0xFA55),(0xFA56),(0xFA57),
-(0xFA58),(0xFA59),(0xFA5A),(0xFA5B),(0xFA5C),(0xFA5D),(0xFA5E),(0xFA5F),
-(0xFA60),(0xFA61),(0xFA62),(0xFA63),(0xFA64),(0xFA65),(0xFA66),(0xFA67),
-(0xFA68),(0xFA69),(0xFA6A),(0xFA6B),(0xFA6C),(0xFA6D),(0xFA6E),(0xFA6F),
-(0xFA70),(0xFA71),(0xFA72),(0xFA73),(0xFA74),(0xFA75),(0xFA76),(0xFA77),
-(0xFA78),(0xFA79),(0xFA7A),(0xFA7B),(0xFA7C),(0xFA7D),(0xFA7E),
-(0xFA80),(0xFA81),(0xFA82),(0xFA83),(0xFA84),(0xFA85),(0xFA86),(0xFA87),
-(0xFA88),(0xFA89),(0xFA8A),(0xFA8B),(0xFA8C),(0xFA8D),(0xFA8E),(0xFA8F),
-(0xFA90),(0xFA91),(0xFA92),(0xFA93),(0xFA94),(0xFA95),(0xFA96),(0xFA97),
-(0xFA98),(0xFA99),(0xFA9A),(0xFA9B),(0xFA9C),(0xFA9D),(0xFA9E),(0xFA9F),
-(0xFAA0),(0xFAA1),(0xFAA2),(0xFAA3),(0xFAA4),(0xFAA5),(0xFAA6),(0xFAA7),
-(0xFAA8),(0xFAA9),(0xFAAA),(0xFAAB),(0xFAAC),(0xFAAD),(0xFAAE),(0xFAAF),
-(0xFAB0),(0xFAB1),(0xFAB2),(0xFAB3),(0xFAB4),(0xFAB5),(0xFAB6),(0xFAB7),
-(0xFAB8),(0xFAB9),(0xFABA),(0xFABB),(0xFABC),(0xFABD),(0xFABE),(0xFABF),
-(0xFAC0),(0xFAC1),(0xFAC2),(0xFAC3),(0xFAC4),(0xFAC5),(0xFAC6),(0xFAC7),
-(0xFAC8),(0xFAC9),(0xFACA),(0xFACB),(0xFACC),(0xFACD),(0xFACE),(0xFACF),
-(0xFAD0),(0xFAD1),(0xFAD2),(0xFAD3),(0xFAD4),(0xFAD5),(0xFAD6),(0xFAD7),
-(0xFAD8),(0xFAD9),(0xFADA),(0xFADB),(0xFADC),(0xFADD),(0xFADE),(0xFADF),
-(0xFAE0),(0xFAE1),(0xFAE2),(0xFAE3),(0xFAE4),(0xFAE5),(0xFAE6),(0xFAE7),
-(0xFAE8),(0xFAE9),(0xFAEA),(0xFAEB),(0xFAEC),(0xFAED),(0xFAEE),(0xFAEF),
-(0xFAF0),(0xFAF1),(0xFAF2),(0xFAF3),(0xFAF4),(0xFAF5),(0xFAF6),(0xFAF7),
-(0xFAF8),(0xFAF9),(0xFAFA),(0xFAFB),(0xFAFC),
-(0xFB40),(0xFB41),(0xFB42),(0xFB43),(0xFB44),(0xFB45),(0xFB46),(0xFB47),
-(0xFB48),(0xFB49),(0xFB4A),(0xFB4B),(0xFB4C),(0xFB4D),(0xFB4E),(0xFB4F),
-(0xFB50),(0xFB51),(0xFB52),(0xFB53),(0xFB54),(0xFB55),(0xFB56),(0xFB57),
-(0xFB58),(0xFB59),(0xFB5A),(0xFB5B),(0xFB5C),(0xFB5D),(0xFB5E),(0xFB5F),
-(0xFB60),(0xFB61),(0xFB62),(0xFB63),(0xFB64),(0xFB65),(0xFB66),(0xFB67),
-(0xFB68),(0xFB69),(0xFB6A),(0xFB6B),(0xFB6C),(0xFB6D),(0xFB6E),(0xFB6F),
-(0xFB70),(0xFB71),(0xFB72),(0xFB73),(0xFB74),(0xFB75),(0xFB76),(0xFB77),
-(0xFB78),(0xFB79),(0xFB7A),(0xFB7B),(0xFB7C),(0xFB7D),(0xFB7E),
-(0xFB80),(0xFB81),(0xFB82),(0xFB83),(0xFB84),(0xFB85),(0xFB86),(0xFB87),
-(0xFB88),(0xFB89),(0xFB8A),(0xFB8B),(0xFB8C),(0xFB8D),(0xFB8E),(0xFB8F),
-(0xFB90),(0xFB91),(0xFB92),(0xFB93),(0xFB94),(0xFB95),(0xFB96),(0xFB97),
-(0xFB98),(0xFB99),(0xFB9A),(0xFB9B),(0xFB9C),(0xFB9D),(0xFB9E),(0xFB9F),
-(0xFBA0),(0xFBA1),(0xFBA2),(0xFBA3),(0xFBA4),(0xFBA5),(0xFBA6),(0xFBA7),
-(0xFBA8),(0xFBA9),(0xFBAA),(0xFBAB),(0xFBAC),(0xFBAD),(0xFBAE),(0xFBAF),
-(0xFBB0),(0xFBB1),(0xFBB2),(0xFBB3),(0xFBB4),(0xFBB5),(0xFBB6),(0xFBB7),
-(0xFBB8),(0xFBB9),(0xFBBA),(0xFBBB),(0xFBBC),(0xFBBD),(0xFBBE),(0xFBBF),
-(0xFBC0),(0xFBC1),(0xFBC2),(0xFBC3),(0xFBC4),(0xFBC5),(0xFBC6),(0xFBC7),
-(0xFBC8),(0xFBC9),(0xFBCA),(0xFBCB),(0xFBCC),(0xFBCD),(0xFBCE),(0xFBCF),
-(0xFBD0),(0xFBD1),(0xFBD2),(0xFBD3),(0xFBD4),(0xFBD5),(0xFBD6),(0xFBD7),
-(0xFBD8),(0xFBD9),(0xFBDA),(0xFBDB),(0xFBDC),(0xFBDD),(0xFBDE),(0xFBDF),
-(0xFBE0),(0xFBE1),(0xFBE2),(0xFBE3),(0xFBE4),(0xFBE5),(0xFBE6),(0xFBE7),
-(0xFBE8),(0xFBE9),(0xFBEA),(0xFBEB),(0xFBEC),(0xFBED),(0xFBEE),(0xFBEF),
-(0xFBF0),(0xFBF1),(0xFBF2),(0xFBF3),(0xFBF4),(0xFBF5),(0xFBF6),(0xFBF7),
-(0xFBF8),(0xFBF9),(0xFBFA),(0xFBFB),(0xFBFC),
-(0xFC40),(0xFC41),(0xFC42),(0xFC43),(0xFC44),(0xFC45),(0xFC46),(0xFC47),
-(0xFC48),(0xFC49),(0xFC4A),(0xFC4B);
-INSERT INTO t1 VALUES
-(0xF040),(0xF041),(0xF042),(0xF043),(0xF044),(0xF045),(0xF046),(0xF047),
-(0xF048),(0xF049),(0xF04A),(0xF04B),(0xF04C),(0xF04D),(0xF04E),(0xF04F),
-(0xF050),(0xF051),(0xF052),(0xF053),(0xF054),(0xF055),(0xF056),(0xF057),
-(0xF058),(0xF059),(0xF05A),(0xF05B),(0xF05C),(0xF05D),(0xF05E),(0xF05F),
-(0xF060),(0xF061),(0xF062),(0xF063),(0xF064),(0xF065),(0xF066),(0xF067),
-(0xF068),(0xF069),(0xF06A),(0xF06B),(0xF06C),(0xF06D),(0xF06E),(0xF06F),
-(0xF070),(0xF071),(0xF072),(0xF073),(0xF074),(0xF075),(0xF076),(0xF077),
-(0xF078),(0xF079),(0xF07A),(0xF07B),(0xF07C),(0xF07D),(0xF07E),
-(0xF080),(0xF081),(0xF082),(0xF083),(0xF084),(0xF085),(0xF086),(0xF087),
-(0xF088),(0xF089),(0xF08A),(0xF08B),(0xF08C),(0xF08D),(0xF08E),(0xF08F),
-(0xF090),(0xF091),(0xF092),(0xF093),(0xF094),(0xF095),(0xF096),(0xF097),
-(0xF098),(0xF099),(0xF09A),(0xF09B),(0xF09C),(0xF09D),(0xF09E),(0xF09F),
-(0xF0A0),(0xF0A1),(0xF0A2),(0xF0A3),(0xF0A4),(0xF0A5),(0xF0A6),(0xF0A7),
-(0xF0A8),(0xF0A9),(0xF0AA),(0xF0AB),(0xF0AC),(0xF0AD),(0xF0AE),(0xF0AF),
-(0xF0B0),(0xF0B1),(0xF0B2),(0xF0B3),(0xF0B4),(0xF0B5),(0xF0B6),(0xF0B7),
-(0xF0B8),(0xF0B9),(0xF0BA),(0xF0BB),(0xF0BC),(0xF0BD),(0xF0BE),(0xF0BF),
-(0xF0C0),(0xF0C1),(0xF0C2),(0xF0C3),(0xF0C4),(0xF0C5),(0xF0C6),(0xF0C7),
-(0xF0C8),(0xF0C9),(0xF0CA),(0xF0CB),(0xF0CC),(0xF0CD),(0xF0CE),(0xF0CF),
-(0xF0D0),(0xF0D1),(0xF0D2),(0xF0D3),(0xF0D4),(0xF0D5),(0xF0D6),(0xF0D7),
-(0xF0D8),(0xF0D9),(0xF0DA),(0xF0DB),(0xF0DC),(0xF0DD),(0xF0DE),(0xF0DF),
-(0xF0E0),(0xF0E1),(0xF0E2),(0xF0E3),(0xF0E4),(0xF0E5),(0xF0E6),(0xF0E7),
-(0xF0E8),(0xF0E9),(0xF0EA),(0xF0EB),(0xF0EC),(0xF0ED),(0xF0EE),(0xF0EF),
-(0xF0F0),(0xF0F1),(0xF0F2),(0xF0F3),(0xF0F4),(0xF0F5),(0xF0F6),(0xF0F7),
-(0xF0F8),(0xF0F9),(0xF0FA),(0xF0FB),(0xF0FC),
-(0xF140),(0xF141),(0xF142),(0xF143),(0xF144),(0xF145),(0xF146),(0xF147),
-(0xF148),(0xF149),(0xF14A),(0xF14B),(0xF14C),(0xF14D),(0xF14E),(0xF14F),
-(0xF150),(0xF151),(0xF152),(0xF153),(0xF154),(0xF155),(0xF156),(0xF157),
-(0xF158),(0xF159),(0xF15A),(0xF15B),(0xF15C),(0xF15D),(0xF15E),(0xF15F),
-(0xF160),(0xF161),(0xF162),(0xF163),(0xF164),(0xF165),(0xF166),(0xF167),
-(0xF168),(0xF169),(0xF16A),(0xF16B),(0xF16C),(0xF16D),(0xF16E),(0xF16F),
-(0xF170),(0xF171),(0xF172),(0xF173),(0xF174),(0xF175),(0xF176),(0xF177),
-(0xF178),(0xF179),(0xF17A),(0xF17B),(0xF17C),(0xF17D),(0xF17E),
-(0xF180),(0xF181),(0xF182),(0xF183),(0xF184),(0xF185),(0xF186),(0xF187),
-(0xF188),(0xF189),(0xF18A),(0xF18B),(0xF18C),(0xF18D),(0xF18E),(0xF18F),
-(0xF190),(0xF191),(0xF192),(0xF193),(0xF194),(0xF195),(0xF196),(0xF197),
-(0xF198),(0xF199),(0xF19A),(0xF19B),(0xF19C),(0xF19D),(0xF19E),(0xF19F),
-(0xF1A0),(0xF1A1),(0xF1A2),(0xF1A3),(0xF1A4),(0xF1A5),(0xF1A6),(0xF1A7),
-(0xF1A8),(0xF1A9),(0xF1AA),(0xF1AB),(0xF1AC),(0xF1AD),(0xF1AE),(0xF1AF),
-(0xF1B0),(0xF1B1),(0xF1B2),(0xF1B3),(0xF1B4),(0xF1B5),(0xF1B6),(0xF1B7),
-(0xF1B8),(0xF1B9),(0xF1BA),(0xF1BB),(0xF1BC),(0xF1BD),(0xF1BE),(0xF1BF),
-(0xF1C0),(0xF1C1),(0xF1C2),(0xF1C3),(0xF1C4),(0xF1C5),(0xF1C6),(0xF1C7),
-(0xF1C8),(0xF1C9),(0xF1CA),(0xF1CB),(0xF1CC),(0xF1CD),(0xF1CE),(0xF1CF),
-(0xF1D0),(0xF1D1),(0xF1D2),(0xF1D3),(0xF1D4),(0xF1D5),(0xF1D6),(0xF1D7),
-(0xF1D8),(0xF1D9),(0xF1DA),(0xF1DB),(0xF1DC),(0xF1DD),(0xF1DE),(0xF1DF),
-(0xF1E0),(0xF1E1),(0xF1E2),(0xF1E3),(0xF1E4),(0xF1E5),(0xF1E6),(0xF1E7),
-(0xF1E8),(0xF1E9),(0xF1EA),(0xF1EB),(0xF1EC),(0xF1ED),(0xF1EE),(0xF1EF),
-(0xF1F0),(0xF1F1),(0xF1F2),(0xF1F3),(0xF1F4),(0xF1F5),(0xF1F6),(0xF1F7),
-(0xF1F8),(0xF1F9),(0xF1FA),(0xF1FB),(0xF1FC),
-(0xF240),(0xF241),(0xF242),(0xF243),(0xF244),(0xF245),(0xF246),(0xF247),
-(0xF248),(0xF249),(0xF24A),(0xF24B),(0xF24C),(0xF24D),(0xF24E),(0xF24F),
-(0xF250),(0xF251),(0xF252),(0xF253),(0xF254),(0xF255),(0xF256),(0xF257),
-(0xF258),(0xF259),(0xF25A),(0xF25B),(0xF25C),(0xF25D),(0xF25E),(0xF25F),
-(0xF260),(0xF261),(0xF262),(0xF263),(0xF264),(0xF265),(0xF266),(0xF267),
-(0xF268),(0xF269),(0xF26A),(0xF26B),(0xF26C),(0xF26D),(0xF26E),(0xF26F),
-(0xF270),(0xF271),(0xF272),(0xF273),(0xF274),(0xF275),(0xF276),(0xF277),
-(0xF278),(0xF279),(0xF27A),(0xF27B),(0xF27C),(0xF27D),(0xF27E),
-(0xF280),(0xF281),(0xF282),(0xF283),(0xF284),(0xF285),(0xF286),(0xF287),
-(0xF288),(0xF289),(0xF28A),(0xF28B),(0xF28C),(0xF28D),(0xF28E),(0xF28F),
-(0xF290),(0xF291),(0xF292),(0xF293),(0xF294),(0xF295),(0xF296),(0xF297),
-(0xF298),(0xF299),(0xF29A),(0xF29B),(0xF29C),(0xF29D),(0xF29E),(0xF29F),
-(0xF2A0),(0xF2A1),(0xF2A2),(0xF2A3),(0xF2A4),(0xF2A5),(0xF2A6),(0xF2A7),
-(0xF2A8),(0xF2A9),(0xF2AA),(0xF2AB),(0xF2AC),(0xF2AD),(0xF2AE),(0xF2AF),
-(0xF2B0),(0xF2B1),(0xF2B2),(0xF2B3),(0xF2B4),(0xF2B5),(0xF2B6),(0xF2B7),
-(0xF2B8),(0xF2B9),(0xF2BA),(0xF2BB),(0xF2BC),(0xF2BD),(0xF2BE),(0xF2BF),
-(0xF2C0),(0xF2C1),(0xF2C2),(0xF2C3),(0xF2C4),(0xF2C5),(0xF2C6),(0xF2C7),
-(0xF2C8),(0xF2C9),(0xF2CA),(0xF2CB),(0xF2CC),(0xF2CD),(0xF2CE),(0xF2CF),
-(0xF2D0),(0xF2D1),(0xF2D2),(0xF2D3),(0xF2D4),(0xF2D5),(0xF2D6),(0xF2D7),
-(0xF2D8),(0xF2D9),(0xF2DA),(0xF2DB),(0xF2DC),(0xF2DD),(0xF2DE),(0xF2DF),
-(0xF2E0),(0xF2E1),(0xF2E2),(0xF2E3),(0xF2E4),(0xF2E5),(0xF2E6),(0xF2E7),
-(0xF2E8),(0xF2E9),(0xF2EA),(0xF2EB),(0xF2EC),(0xF2ED),(0xF2EE),(0xF2EF),
-(0xF2F0),(0xF2F1),(0xF2F2),(0xF2F3),(0xF2F4),(0xF2F5),(0xF2F6),(0xF2F7),
-(0xF2F8),(0xF2F9),(0xF2FA),(0xF2FB),(0xF2FC),
-(0xF340),(0xF341),(0xF342),(0xF343),(0xF344),(0xF345),(0xF346),(0xF347),
-(0xF348),(0xF349),(0xF34A),(0xF34B),(0xF34C),(0xF34D),(0xF34E),(0xF34F),
-(0xF350),(0xF351),(0xF352),(0xF353),(0xF354),(0xF355),(0xF356),(0xF357),
-(0xF358),(0xF359),(0xF35A),(0xF35B),(0xF35C),(0xF35D),(0xF35E),(0xF35F),
-(0xF360),(0xF361),(0xF362),(0xF363),(0xF364),(0xF365),(0xF366),(0xF367),
-(0xF368),(0xF369),(0xF36A),(0xF36B),(0xF36C),(0xF36D),(0xF36E),(0xF36F),
-(0xF370),(0xF371),(0xF372),(0xF373),(0xF374),(0xF375),(0xF376),(0xF377),
-(0xF378),(0xF379),(0xF37A),(0xF37B),(0xF37C),(0xF37D),(0xF37E),
-(0xF380),(0xF381),(0xF382),(0xF383),(0xF384),(0xF385),(0xF386),(0xF387),
-(0xF388),(0xF389),(0xF38A),(0xF38B),(0xF38C),(0xF38D),(0xF38E),(0xF38F),
-(0xF390),(0xF391),(0xF392),(0xF393),(0xF394),(0xF395),(0xF396),(0xF397),
-(0xF398),(0xF399),(0xF39A),(0xF39B),(0xF39C),(0xF39D),(0xF39E),(0xF39F),
-(0xF3A0),(0xF3A1),(0xF3A2),(0xF3A3),(0xF3A4),(0xF3A5),(0xF3A6),(0xF3A7),
-(0xF3A8),(0xF3A9),(0xF3AA),(0xF3AB),(0xF3AC),(0xF3AD),(0xF3AE),(0xF3AF),
-(0xF3B0),(0xF3B1),(0xF3B2),(0xF3B3),(0xF3B4),(0xF3B5),(0xF3B6),(0xF3B7),
-(0xF3B8),(0xF3B9),(0xF3BA),(0xF3BB),(0xF3BC),(0xF3BD),(0xF3BE),(0xF3BF),
-(0xF3C0),(0xF3C1),(0xF3C2),(0xF3C3),(0xF3C4),(0xF3C5),(0xF3C6),(0xF3C7),
-(0xF3C8),(0xF3C9),(0xF3CA),(0xF3CB),(0xF3CC),(0xF3CD),(0xF3CE),(0xF3CF),
-(0xF3D0),(0xF3D1),(0xF3D2),(0xF3D3),(0xF3D4),(0xF3D5),(0xF3D6),(0xF3D7),
-(0xF3D8),(0xF3D9),(0xF3DA),(0xF3DB),(0xF3DC),(0xF3DD),(0xF3DE),(0xF3DF),
-(0xF3E0),(0xF3E1),(0xF3E2),(0xF3E3),(0xF3E4),(0xF3E5),(0xF3E6),(0xF3E7),
-(0xF3E8),(0xF3E9),(0xF3EA),(0xF3EB),(0xF3EC),(0xF3ED),(0xF3EE),(0xF3EF),
-(0xF3F0),(0xF3F1),(0xF3F2),(0xF3F3),(0xF3F4),(0xF3F5),(0xF3F6),(0xF3F7),
-(0xF3F8),(0xF3F9),(0xF3FA),(0xF3FB),(0xF3FC),
-(0xF440),(0xF441),(0xF442),(0xF443),(0xF444),(0xF445),(0xF446),(0xF447),
-(0xF448),(0xF449),(0xF44A),(0xF44B),(0xF44C),(0xF44D),(0xF44E),(0xF44F),
-(0xF450),(0xF451),(0xF452),(0xF453),(0xF454),(0xF455),(0xF456),(0xF457),
-(0xF458),(0xF459),(0xF45A),(0xF45B),(0xF45C),(0xF45D),(0xF45E),(0xF45F),
-(0xF460),(0xF461),(0xF462),(0xF463),(0xF464),(0xF465),(0xF466),(0xF467),
-(0xF468),(0xF469),(0xF46A),(0xF46B),(0xF46C),(0xF46D),(0xF46E),(0xF46F),
-(0xF470),(0xF471),(0xF472),(0xF473),(0xF474),(0xF475),(0xF476),(0xF477),
-(0xF478),(0xF479),(0xF47A),(0xF47B),(0xF47C),(0xF47D),(0xF47E),
-(0xF480),(0xF481),(0xF482),(0xF483),(0xF484),(0xF485),(0xF486),(0xF487),
-(0xF488),(0xF489),(0xF48A),(0xF48B),(0xF48C),(0xF48D),(0xF48E),(0xF48F),
-(0xF490),(0xF491),(0xF492),(0xF493),(0xF494),(0xF495),(0xF496),(0xF497),
-(0xF498),(0xF499),(0xF49A),(0xF49B),(0xF49C),(0xF49D),(0xF49E),(0xF49F),
-(0xF4A0),(0xF4A1),(0xF4A2),(0xF4A3),(0xF4A4),(0xF4A5),(0xF4A6),(0xF4A7),
-(0xF4A8),(0xF4A9),(0xF4AA),(0xF4AB),(0xF4AC),(0xF4AD),(0xF4AE),(0xF4AF),
-(0xF4B0),(0xF4B1),(0xF4B2),(0xF4B3),(0xF4B4),(0xF4B5),(0xF4B6),(0xF4B7),
-(0xF4B8),(0xF4B9),(0xF4BA),(0xF4BB),(0xF4BC),(0xF4BD),(0xF4BE),(0xF4BF),
-(0xF4C0),(0xF4C1),(0xF4C2),(0xF4C3),(0xF4C4),(0xF4C5),(0xF4C6),(0xF4C7),
-(0xF4C8),(0xF4C9),(0xF4CA),(0xF4CB),(0xF4CC),(0xF4CD),(0xF4CE),(0xF4CF),
-(0xF4D0),(0xF4D1),(0xF4D2),(0xF4D3),(0xF4D4),(0xF4D5),(0xF4D6),(0xF4D7),
-(0xF4D8),(0xF4D9),(0xF4DA),(0xF4DB),(0xF4DC),(0xF4DD),(0xF4DE),(0xF4DF),
-(0xF4E0),(0xF4E1),(0xF4E2),(0xF4E3),(0xF4E4),(0xF4E5),(0xF4E6),(0xF4E7),
-(0xF4E8),(0xF4E9),(0xF4EA),(0xF4EB),(0xF4EC),(0xF4ED),(0xF4EE),(0xF4EF),
-(0xF4F0),(0xF4F1),(0xF4F2),(0xF4F3),(0xF4F4),(0xF4F5),(0xF4F6),(0xF4F7),
-(0xF4F8),(0xF4F9),(0xF4FA),(0xF4FB),(0xF4FC),
-(0xF540),(0xF541),(0xF542),(0xF543),(0xF544),(0xF545),(0xF546),(0xF547),
-(0xF548),(0xF549),(0xF54A),(0xF54B),(0xF54C),(0xF54D),(0xF54E),(0xF54F),
-(0xF550),(0xF551),(0xF552),(0xF553),(0xF554),(0xF555),(0xF556),(0xF557),
-(0xF558),(0xF559),(0xF55A),(0xF55B),(0xF55C),(0xF55D),(0xF55E),(0xF55F),
-(0xF560),(0xF561),(0xF562),(0xF563),(0xF564),(0xF565),(0xF566),(0xF567),
-(0xF568),(0xF569),(0xF56A),(0xF56B),(0xF56C),(0xF56D),(0xF56E),(0xF56F),
-(0xF570),(0xF571),(0xF572),(0xF573),(0xF574),(0xF575),(0xF576),(0xF577),
-(0xF578),(0xF579),(0xF57A),(0xF57B),(0xF57C),(0xF57D),(0xF57E),
-(0xF580),(0xF581),(0xF582),(0xF583),(0xF584),(0xF585),(0xF586),(0xF587),
-(0xF588),(0xF589),(0xF58A),(0xF58B),(0xF58C),(0xF58D),(0xF58E),(0xF58F),
-(0xF590),(0xF591),(0xF592),(0xF593),(0xF594),(0xF595),(0xF596),(0xF597),
-(0xF598),(0xF599),(0xF59A),(0xF59B),(0xF59C),(0xF59D),(0xF59E),(0xF59F),
-(0xF5A0),(0xF5A1),(0xF5A2),(0xF5A3),(0xF5A4),(0xF5A5),(0xF5A6),(0xF5A7),
-(0xF5A8),(0xF5A9),(0xF5AA),(0xF5AB),(0xF5AC),(0xF5AD),(0xF5AE),(0xF5AF),
-(0xF5B0),(0xF5B1),(0xF5B2),(0xF5B3),(0xF5B4),(0xF5B5),(0xF5B6),(0xF5B7),
-(0xF5B8),(0xF5B9),(0xF5BA),(0xF5BB),(0xF5BC),(0xF5BD),(0xF5BE),(0xF5BF),
-(0xF5C0),(0xF5C1),(0xF5C2),(0xF5C3),(0xF5C4),(0xF5C5),(0xF5C6),(0xF5C7),
-(0xF5C8),(0xF5C9),(0xF5CA),(0xF5CB),(0xF5CC),(0xF5CD),(0xF5CE),(0xF5CF),
-(0xF5D0),(0xF5D1),(0xF5D2),(0xF5D3),(0xF5D4),(0xF5D5),(0xF5D6),(0xF5D7),
-(0xF5D8),(0xF5D9),(0xF5DA),(0xF5DB),(0xF5DC),(0xF5DD),(0xF5DE),(0xF5DF),
-(0xF5E0),(0xF5E1),(0xF5E2),(0xF5E3),(0xF5E4),(0xF5E5),(0xF5E6),(0xF5E7),
-(0xF5E8),(0xF5E9),(0xF5EA),(0xF5EB),(0xF5EC),(0xF5ED),(0xF5EE),(0xF5EF),
-(0xF5F0),(0xF5F1),(0xF5F2),(0xF5F3),(0xF5F4),(0xF5F5),(0xF5F6),(0xF5F7),
-(0xF5F8),(0xF5F9),(0xF5FA),(0xF5FB),(0xF5FC),
-(0xF640),(0xF641),(0xF642),(0xF643),(0xF644),(0xF645),(0xF646),(0xF647),
-(0xF648),(0xF649),(0xF64A),(0xF64B),(0xF64C),(0xF64D),(0xF64E),(0xF64F),
-(0xF650),(0xF651),(0xF652),(0xF653),(0xF654),(0xF655),(0xF656),(0xF657),
-(0xF658),(0xF659),(0xF65A),(0xF65B),(0xF65C),(0xF65D),(0xF65E),(0xF65F),
-(0xF660),(0xF661),(0xF662),(0xF663),(0xF664),(0xF665),(0xF666),(0xF667),
-(0xF668),(0xF669),(0xF66A),(0xF66B),(0xF66C),(0xF66D),(0xF66E),(0xF66F),
-(0xF670),(0xF671),(0xF672),(0xF673),(0xF674),(0xF675),(0xF676),(0xF677),
-(0xF678),(0xF679),(0xF67A),(0xF67B),(0xF67C),(0xF67D),(0xF67E),
-(0xF680),(0xF681),(0xF682),(0xF683),(0xF684),(0xF685),(0xF686),(0xF687),
-(0xF688),(0xF689),(0xF68A),(0xF68B),(0xF68C),(0xF68D),(0xF68E),(0xF68F),
-(0xF690),(0xF691),(0xF692),(0xF693),(0xF694),(0xF695),(0xF696),(0xF697),
-(0xF698),(0xF699),(0xF69A),(0xF69B),(0xF69C),(0xF69D),(0xF69E),(0xF69F),
-(0xF6A0),(0xF6A1),(0xF6A2),(0xF6A3),(0xF6A4),(0xF6A5),(0xF6A6),(0xF6A7),
-(0xF6A8),(0xF6A9),(0xF6AA),(0xF6AB),(0xF6AC),(0xF6AD),(0xF6AE),(0xF6AF),
-(0xF6B0),(0xF6B1),(0xF6B2),(0xF6B3),(0xF6B4),(0xF6B5),(0xF6B6),(0xF6B7),
-(0xF6B8),(0xF6B9),(0xF6BA),(0xF6BB),(0xF6BC),(0xF6BD),(0xF6BE),(0xF6BF),
-(0xF6C0),(0xF6C1),(0xF6C2),(0xF6C3),(0xF6C4),(0xF6C5),(0xF6C6),(0xF6C7),
-(0xF6C8),(0xF6C9),(0xF6CA),(0xF6CB),(0xF6CC),(0xF6CD),(0xF6CE),(0xF6CF),
-(0xF6D0),(0xF6D1),(0xF6D2),(0xF6D3),(0xF6D4),(0xF6D5),(0xF6D6),(0xF6D7),
-(0xF6D8),(0xF6D9),(0xF6DA),(0xF6DB),(0xF6DC),(0xF6DD),(0xF6DE),(0xF6DF),
-(0xF6E0),(0xF6E1),(0xF6E2),(0xF6E3),(0xF6E4),(0xF6E5),(0xF6E6),(0xF6E7),
-(0xF6E8),(0xF6E9),(0xF6EA),(0xF6EB),(0xF6EC),(0xF6ED),(0xF6EE),(0xF6EF),
-(0xF6F0),(0xF6F1),(0xF6F2),(0xF6F3),(0xF6F4),(0xF6F5),(0xF6F6),(0xF6F7),
-(0xF6F8),(0xF6F9),(0xF6FA),(0xF6FB),(0xF6FC),
-(0xF740),(0xF741),(0xF742),(0xF743),(0xF744),(0xF745),(0xF746),(0xF747),
-(0xF748),(0xF749),(0xF74A),(0xF74B),(0xF74C),(0xF74D),(0xF74E),(0xF74F),
-(0xF750),(0xF751),(0xF752),(0xF753),(0xF754),(0xF755),(0xF756),(0xF757),
-(0xF758),(0xF759),(0xF75A),(0xF75B),(0xF75C),(0xF75D),(0xF75E),(0xF75F),
-(0xF760),(0xF761),(0xF762),(0xF763),(0xF764),(0xF765),(0xF766),(0xF767),
-(0xF768),(0xF769),(0xF76A),(0xF76B),(0xF76C),(0xF76D),(0xF76E),(0xF76F),
-(0xF770),(0xF771),(0xF772),(0xF773),(0xF774),(0xF775),(0xF776),(0xF777),
-(0xF778),(0xF779),(0xF77A),(0xF77B),(0xF77C),(0xF77D),(0xF77E),
-(0xF780),(0xF781),(0xF782),(0xF783),(0xF784),(0xF785),(0xF786),(0xF787),
-(0xF788),(0xF789),(0xF78A),(0xF78B),(0xF78C),(0xF78D),(0xF78E),(0xF78F),
-(0xF790),(0xF791),(0xF792),(0xF793),(0xF794),(0xF795),(0xF796),(0xF797),
-(0xF798),(0xF799),(0xF79A),(0xF79B),(0xF79C),(0xF79D),(0xF79E),(0xF79F),
-(0xF7A0),(0xF7A1),(0xF7A2),(0xF7A3),(0xF7A4),(0xF7A5),(0xF7A6),(0xF7A7),
-(0xF7A8),(0xF7A9),(0xF7AA),(0xF7AB),(0xF7AC),(0xF7AD),(0xF7AE),(0xF7AF),
-(0xF7B0),(0xF7B1),(0xF7B2),(0xF7B3),(0xF7B4),(0xF7B5),(0xF7B6),(0xF7B7),
-(0xF7B8),(0xF7B9),(0xF7BA),(0xF7BB),(0xF7BC),(0xF7BD),(0xF7BE),(0xF7BF),
-(0xF7C0),(0xF7C1),(0xF7C2),(0xF7C3),(0xF7C4),(0xF7C5),(0xF7C6),(0xF7C7),
-(0xF7C8),(0xF7C9),(0xF7CA),(0xF7CB),(0xF7CC),(0xF7CD),(0xF7CE),(0xF7CF),
-(0xF7D0),(0xF7D1),(0xF7D2),(0xF7D3),(0xF7D4),(0xF7D5),(0xF7D6),(0xF7D7),
-(0xF7D8),(0xF7D9),(0xF7DA),(0xF7DB),(0xF7DC),(0xF7DD),(0xF7DE),(0xF7DF),
-(0xF7E0),(0xF7E1),(0xF7E2),(0xF7E3),(0xF7E4),(0xF7E5),(0xF7E6),(0xF7E7),
-(0xF7E8),(0xF7E9),(0xF7EA),(0xF7EB),(0xF7EC),(0xF7ED),(0xF7EE),(0xF7EF),
-(0xF7F0),(0xF7F1),(0xF7F2),(0xF7F3),(0xF7F4),(0xF7F5),(0xF7F6),(0xF7F7),
-(0xF7F8),(0xF7F9),(0xF7FA),(0xF7FB),(0xF7FC),
-(0xF840),(0xF841),(0xF842),(0xF843),(0xF844),(0xF845),(0xF846),(0xF847),
-(0xF848),(0xF849),(0xF84A),(0xF84B),(0xF84C),(0xF84D),(0xF84E),(0xF84F),
-(0xF850),(0xF851),(0xF852),(0xF853),(0xF854),(0xF855),(0xF856),(0xF857),
-(0xF858),(0xF859),(0xF85A),(0xF85B),(0xF85C),(0xF85D),(0xF85E),(0xF85F),
-(0xF860),(0xF861),(0xF862),(0xF863),(0xF864),(0xF865),(0xF866),(0xF867),
-(0xF868),(0xF869),(0xF86A),(0xF86B),(0xF86C),(0xF86D),(0xF86E),(0xF86F),
-(0xF870),(0xF871),(0xF872),(0xF873),(0xF874),(0xF875),(0xF876),(0xF877),
-(0xF878),(0xF879),(0xF87A),(0xF87B),(0xF87C),(0xF87D),(0xF87E),
-(0xF880),(0xF881),(0xF882),(0xF883),(0xF884),(0xF885),(0xF886),(0xF887),
-(0xF888),(0xF889),(0xF88A),(0xF88B),(0xF88C),(0xF88D),(0xF88E),(0xF88F),
-(0xF890),(0xF891),(0xF892),(0xF893),(0xF894),(0xF895),(0xF896),(0xF897),
-(0xF898),(0xF899),(0xF89A),(0xF89B),(0xF89C),(0xF89D),(0xF89E),(0xF89F),
-(0xF8A0),(0xF8A1),(0xF8A2),(0xF8A3),(0xF8A4),(0xF8A5),(0xF8A6),(0xF8A7),
-(0xF8A8),(0xF8A9),(0xF8AA),(0xF8AB),(0xF8AC),(0xF8AD),(0xF8AE),(0xF8AF),
-(0xF8B0),(0xF8B1),(0xF8B2),(0xF8B3),(0xF8B4),(0xF8B5),(0xF8B6),(0xF8B7),
-(0xF8B8),(0xF8B9),(0xF8BA),(0xF8BB),(0xF8BC),(0xF8BD),(0xF8BE),(0xF8BF),
-(0xF8C0),(0xF8C1),(0xF8C2),(0xF8C3),(0xF8C4),(0xF8C5),(0xF8C6),(0xF8C7),
-(0xF8C8),(0xF8C9),(0xF8CA),(0xF8CB),(0xF8CC),(0xF8CD),(0xF8CE),(0xF8CF),
-(0xF8D0),(0xF8D1),(0xF8D2),(0xF8D3),(0xF8D4),(0xF8D5),(0xF8D6),(0xF8D7),
-(0xF8D8),(0xF8D9),(0xF8DA),(0xF8DB),(0xF8DC),(0xF8DD),(0xF8DE),(0xF8DF),
-(0xF8E0),(0xF8E1),(0xF8E2),(0xF8E3),(0xF8E4),(0xF8E5),(0xF8E6),(0xF8E7),
-(0xF8E8),(0xF8E9),(0xF8EA),(0xF8EB),(0xF8EC),(0xF8ED),(0xF8EE),(0xF8EF),
-(0xF8F0),(0xF8F1),(0xF8F2),(0xF8F3),(0xF8F4),(0xF8F5),(0xF8F6),(0xF8F7),
-(0xF8F8),(0xF8F9),(0xF8FA),(0xF8FB),(0xF8FC),
-(0xF940),(0xF941),(0xF942),(0xF943),(0xF944),(0xF945),(0xF946),(0xF947),
-(0xF948),(0xF949),(0xF94A),(0xF94B),(0xF94C),(0xF94D),(0xF94E),(0xF94F),
-(0xF950),(0xF951),(0xF952),(0xF953),(0xF954),(0xF955),(0xF956),(0xF957),
-(0xF958),(0xF959),(0xF95A),(0xF95B),(0xF95C),(0xF95D),(0xF95E),(0xF95F),
-(0xF960),(0xF961),(0xF962),(0xF963),(0xF964),(0xF965),(0xF966),(0xF967),
-(0xF968),(0xF969),(0xF96A),(0xF96B),(0xF96C),(0xF96D),(0xF96E),(0xF96F),
-(0xF970),(0xF971),(0xF972),(0xF973),(0xF974),(0xF975),(0xF976),(0xF977),
-(0xF978),(0xF979),(0xF97A),(0xF97B),(0xF97C),(0xF97D),(0xF97E),
-(0xF980),(0xF981),(0xF982),(0xF983),(0xF984),(0xF985),(0xF986),(0xF987),
-(0xF988),(0xF989),(0xF98A),(0xF98B),(0xF98C),(0xF98D),(0xF98E),(0xF98F),
-(0xF990),(0xF991),(0xF992),(0xF993),(0xF994),(0xF995),(0xF996),(0xF997),
-(0xF998),(0xF999),(0xF99A),(0xF99B),(0xF99C),(0xF99D),(0xF99E),(0xF99F),
-(0xF9A0),(0xF9A1),(0xF9A2),(0xF9A3),(0xF9A4),(0xF9A5),(0xF9A6),(0xF9A7),
-(0xF9A8),(0xF9A9),(0xF9AA),(0xF9AB),(0xF9AC),(0xF9AD),(0xF9AE),(0xF9AF),
-(0xF9B0),(0xF9B1),(0xF9B2),(0xF9B3),(0xF9B4),(0xF9B5),(0xF9B6),(0xF9B7),
-(0xF9B8),(0xF9B9),(0xF9BA),(0xF9BB),(0xF9BC),(0xF9BD),(0xF9BE),(0xF9BF),
-(0xF9C0),(0xF9C1),(0xF9C2),(0xF9C3),(0xF9C4),(0xF9C5),(0xF9C6),(0xF9C7),
-(0xF9C8),(0xF9C9),(0xF9CA),(0xF9CB),(0xF9CC),(0xF9CD),(0xF9CE),(0xF9CF),
-(0xF9D0),(0xF9D1),(0xF9D2),(0xF9D3),(0xF9D4),(0xF9D5),(0xF9D6),(0xF9D7),
-(0xF9D8),(0xF9D9),(0xF9DA),(0xF9DB),(0xF9DC),(0xF9DD),(0xF9DE),(0xF9DF),
-(0xF9E0),(0xF9E1),(0xF9E2),(0xF9E3),(0xF9E4),(0xF9E5),(0xF9E6),(0xF9E7),
-(0xF9E8),(0xF9E9),(0xF9EA),(0xF9EB),(0xF9EC),(0xF9ED),(0xF9EE),(0xF9EF),
-(0xF9F0),(0xF9F1),(0xF9F2),(0xF9F3),(0xF9F4),(0xF9F5),(0xF9F6),(0xF9F7),
-(0xF9F8),(0xF9F9),(0xF9FA),(0xF9FB),(0xF9FC);
-SELECT HEX(c1) FROM t1;
-HEX(c1)
-05
-7E
-815C
-815F
-8160
-8161
-817C
-8191
-8192
-81CA
-8740
-8741
-8742
-8743
-8744
-8745
-8746
-8747
-8748
-8749
-874A
-874B
-874C
-874D
-874E
-874F
-8750
-8751
-8752
-8753
-8754
-8755
-8756
-8757
-8758
-8759
-875A
-875B
-875C
-875D
-875F
-8760
-8761
-8762
-8763
-8764
-8765
-8766
-8767
-8768
-8769
-876A
-876B
-876C
-876D
-876E
-876F
-8770
-8771
-8772
-8773
-8774
-8775
-877E
-8780
-8781
-8782
-8783
-8784
-8785
-8786
-8787
-8788
-8789
-878A
-878B
-878C
-878D
-878E
-878F
-8790
-8791
-8792
-8793
-8794
-8795
-8796
-8797
-8798
-8799
-879A
-879B
-879C
-ED40
-ED41
-ED42
-ED43
-ED44
-ED45
-ED46
-ED47
-ED48
-ED49
-ED4A
-ED4B
-ED4C
-ED4D
-ED4E
-ED4F
-ED50
-ED51
-ED52
-ED53
-ED54
-ED55
-ED56
-ED57
-ED58
-ED59
-ED5A
-ED5B
-ED5C
-ED5D
-ED5E
-ED5F
-ED60
-ED61
-ED62
-ED63
-ED64
-ED65
-ED66
-ED67
-ED68
-ED69
-ED6A
-ED6B
-ED6C
-ED6D
-ED6E
-ED6F
-ED70
-ED71
-ED72
-ED73
-ED74
-ED75
-ED76
-ED77
-ED78
-ED79
-ED7A
-ED7B
-ED7C
-ED7D
-ED7E
-ED80
-ED81
-ED82
-ED83
-ED84
-ED85
-ED86
-ED87
-ED88
-ED89
-ED8A
-ED8B
-ED8C
-ED8D
-ED8E
-ED8F
-ED90
-ED91
-ED92
-ED93
-ED94
-ED95
-ED96
-ED97
-ED98
-ED99
-ED9A
-ED9B
-ED9C
-ED9D
-ED9E
-ED9F
-EDA0
-EDA1
-EDA2
-EDA3
-EDA4
-EDA5
-EDA6
-EDA7
-EDA8
-EDA9
-EDAA
-EDAB
-EDAC
-EDAD
-EDAE
-EDAF
-EDB0
-EDB1
-EDB2
-EDB3
-EDB4
-EDB5
-EDB6
-EDB7
-EDB8
-EDB9
-EDBA
-EDBB
-EDBC
-EDBD
-EDBE
-EDBF
-EDC0
-EDC1
-EDC2
-EDC3
-EDC4
-EDC5
-EDC6
-EDC7
-EDC8
-EDC9
-EDCA
-EDCB
-EDCC
-EDCD
-EDCE
-EDCF
-EDD0
-EDD1
-EDD2
-EDD3
-EDD4
-EDD5
-EDD6
-EDD7
-EDD8
-EDD9
-EDDA
-EDDB
-EDDC
-EDDD
-EDDE
-EDDF
-EDE0
-EDE1
-EDE2
-EDE3
-EDE4
-EDE5
-EDE6
-EDE7
-EDE8
-EDE9
-EDEA
-EDEB
-EDEC
-EDED
-EDEE
-EDEF
-EDF0
-EDF1
-EDF2
-EDF3
-EDF4
-EDF5
-EDF6
-EDF7
-EDF8
-EDF9
-EDFA
-EDFB
-EDFC
-EE40
-EE41
-EE42
-EE43
-EE44
-EE45
-EE46
-EE47
-EE48
-EE49
-EE4A
-EE4B
-EE4C
-EE4D
-EE4E
-EE4F
-EE50
-EE51
-EE52
-EE53
-EE54
-EE55
-EE56
-EE57
-EE58
-EE59
-EE5A
-EE5B
-EE5C
-EE5D
-EE5E
-EE5F
-EE60
-EE61
-EE62
-EE63
-EE64
-EE65
-EE66
-EE67
-EE68
-EE69
-EE6A
-EE6B
-EE6C
-EE6D
-EE6E
-EE6F
-EE70
-EE71
-EE72
-EE73
-EE74
-EE75
-EE76
-EE77
-EE78
-EE79
-EE7A
-EE7B
-EE7C
-EE7D
-EE7E
-EE80
-EE81
-EE82
-EE83
-EE84
-EE85
-EE86
-EE87
-EE88
-EE89
-EE8A
-EE8B
-EE8C
-EE8D
-EE8E
-EE8F
-EE90
-EE91
-EE92
-EE93
-EE94
-EE95
-EE96
-EE97
-EE98
-EE99
-EE9A
-EE9B
-EE9C
-EE9D
-EE9E
-EE9F
-EEA0
-EEA1
-EEA2
-EEA3
-EEA4
-EEA5
-EEA6
-EEA7
-EEA8
-EEA9
-EEAA
-EEAB
-EEAC
-EEAD
-EEAE
-EEAF
-EEB0
-EEB1
-EEB2
-EEB3
-EEB4
-EEB5
-EEB6
-EEB7
-EEB8
-EEB9
-EEBA
-EEBB
-EEBC
-EEBD
-EEBE
-EEBF
-EEC0
-EEC1
-EEC2
-EEC3
-EEC4
-EEC5
-EEC6
-EEC7
-EEC8
-EEC9
-EECA
-EECB
-EECC
-EECD
-EECE
-EECF
-EED0
-EED1
-EED2
-EED3
-EED4
-EED5
-EED6
-EED7
-EED8
-EED9
-EEDA
-EEDB
-EEDC
-EEDD
-EEDE
-EEDF
-EEE0
-EEE1
-EEE2
-EEE3
-EEE4
-EEE5
-EEE6
-EEE7
-EEE8
-EEE9
-EEEA
-EEEB
-EEEC
-EEEF
-EEF0
-EEF1
-EEF2
-EEF3
-EEF4
-EEF5
-EEF6
-EEF7
-EEF8
-EEF9
-EEFA
-EEFB
-EEFC
-FA40
-FA41
-FA42
-FA43
-FA44
-FA45
-FA46
-FA47
-FA48
-FA49
-FA4A
-FA4B
-FA4C
-FA4D
-FA4E
-FA4F
-FA50
-FA51
-FA52
-FA53
-FA54
-FA55
-FA56
-FA57
-FA58
-FA59
-FA5A
-FA5B
-FA5C
-FA5D
-FA5E
-FA5F
-FA60
-FA61
-FA62
-FA63
-FA64
-FA65
-FA66
-FA67
-FA68
-FA69
-FA6A
-FA6B
-FA6C
-FA6D
-FA6E
-FA6F
-FA70
-FA71
-FA72
-FA73
-FA74
-FA75
-FA76
-FA77
-FA78
-FA79
-FA7A
-FA7B
-FA7C
-FA7D
-FA7E
-FA80
-FA81
-FA82
-FA83
-FA84
-FA85
-FA86
-FA87
-FA88
-FA89
-FA8A
-FA8B
-FA8C
-FA8D
-FA8E
-FA8F
-FA90
-FA91
-FA92
-FA93
-FA94
-FA95
-FA96
-FA97
-FA98
-FA99
-FA9A
-FA9B
-FA9C
-FA9D
-FA9E
-FA9F
-FAA0
-FAA1
-FAA2
-FAA3
-FAA4
-FAA5
-FAA6
-FAA7
-FAA8
-FAA9
-FAAA
-FAAB
-FAAC
-FAAD
-FAAE
-FAAF
-FAB0
-FAB1
-FAB2
-FAB3
-FAB4
-FAB5
-FAB6
-FAB7
-FAB8
-FAB9
-FABA
-FABB
-FABC
-FABD
-FABE
-FABF
-FAC0
-FAC1
-FAC2
-FAC3
-FAC4
-FAC5
-FAC6
-FAC7
-FAC8
-FAC9
-FACA
-FACB
-FACC
-FACD
-FACE
-FACF
-FAD0
-FAD1
-FAD2
-FAD3
-FAD4
-FAD5
-FAD6
-FAD7
-FAD8
-FAD9
-FADA
-FADB
-FADC
-FADD
-FADE
-FADF
-FAE0
-FAE1
-FAE2
-FAE3
-FAE4
-FAE5
-FAE6
-FAE7
-FAE8
-FAE9
-FAEA
-FAEB
-FAEC
-FAED
-FAEE
-FAEF
-FAF0
-FAF1
-FAF2
-FAF3
-FAF4
-FAF5
-FAF6
-FAF7
-FAF8
-FAF9
-FAFA
-FAFB
-FAFC
-FB40
-FB41
-FB42
-FB43
-FB44
-FB45
-FB46
-FB47
-FB48
-FB49
-FB4A
-FB4B
-FB4C
-FB4D
-FB4E
-FB4F
-FB50
-FB51
-FB52
-FB53
-FB54
-FB55
-FB56
-FB57
-FB58
-FB59
-FB5A
-FB5B
-FB5C
-FB5D
-FB5E
-FB5F
-FB60
-FB61
-FB62
-FB63
-FB64
-FB65
-FB66
-FB67
-FB68
-FB69
-FB6A
-FB6B
-FB6C
-FB6D
-FB6E
-FB6F
-FB70
-FB71
-FB72
-FB73
-FB74
-FB75
-FB76
-FB77
-FB78
-FB79
-FB7A
-FB7B
-FB7C
-FB7D
-FB7E
-FB80
-FB81
-FB82
-FB83
-FB84
-FB85
-FB86
-FB87
-FB88
-FB89
-FB8A
-FB8B
-FB8C
-FB8D
-FB8E
-FB8F
-FB90
-FB91
-FB92
-FB93
-FB94
-FB95
-FB96
-FB97
-FB98
-FB99
-FB9A
-FB9B
-FB9C
-FB9D
-FB9E
-FB9F
-FBA0
-FBA1
-FBA2
-FBA3
-FBA4
-FBA5
-FBA6
-FBA7
-FBA8
-FBA9
-FBAA
-FBAB
-FBAC
-FBAD
-FBAE
-FBAF
-FBB0
-FBB1
-FBB2
-FBB3
-FBB4
-FBB5
-FBB6
-FBB7
-FBB8
-FBB9
-FBBA
-FBBB
-FBBC
-FBBD
-FBBE
-FBBF
-FBC0
-FBC1
-FBC2
-FBC3
-FBC4
-FBC5
-FBC6
-FBC7
-FBC8
-FBC9
-FBCA
-FBCB
-FBCC
-FBCD
-FBCE
-FBCF
-FBD0
-FBD1
-FBD2
-FBD3
-FBD4
-FBD5
-FBD6
-FBD7
-FBD8
-FBD9
-FBDA
-FBDB
-FBDC
-FBDD
-FBDE
-FBDF
-FBE0
-FBE1
-FBE2
-FBE3
-FBE4
-FBE5
-FBE6
-FBE7
-FBE8
-FBE9
-FBEA
-FBEB
-FBEC
-FBED
-FBEE
-FBEF
-FBF0
-FBF1
-FBF2
-FBF3
-FBF4
-FBF5
-FBF6
-FBF7
-FBF8
-FBF9
-FBFA
-FBFB
-FBFC
-FC40
-FC41
-FC42
-FC43
-FC44
-FC45
-FC46
-FC47
-FC48
-FC49
-FC4A
-FC4B
-F040
-F041
-F042
-F043
-F044
-F045
-F046
-F047
-F048
-F049
-F04A
-F04B
-F04C
-F04D
-F04E
-F04F
-F050
-F051
-F052
-F053
-F054
-F055
-F056
-F057
-F058
-F059
-F05A
-F05B
-F05C
-F05D
-F05E
-F05F
-F060
-F061
-F062
-F063
-F064
-F065
-F066
-F067
-F068
-F069
-F06A
-F06B
-F06C
-F06D
-F06E
-F06F
-F070
-F071
-F072
-F073
-F074
-F075
-F076
-F077
-F078
-F079
-F07A
-F07B
-F07C
-F07D
-F07E
-F080
-F081
-F082
-F083
-F084
-F085
-F086
-F087
-F088
-F089
-F08A
-F08B
-F08C
-F08D
-F08E
-F08F
-F090
-F091
-F092
-F093
-F094
-F095
-F096
-F097
-F098
-F099
-F09A
-F09B
-F09C
-F09D
-F09E
-F09F
-F0A0
-F0A1
-F0A2
-F0A3
-F0A4
-F0A5
-F0A6
-F0A7
-F0A8
-F0A9
-F0AA
-F0AB
-F0AC
-F0AD
-F0AE
-F0AF
-F0B0
-F0B1
-F0B2
-F0B3
-F0B4
-F0B5
-F0B6
-F0B7
-F0B8
-F0B9
-F0BA
-F0BB
-F0BC
-F0BD
-F0BE
-F0BF
-F0C0
-F0C1
-F0C2
-F0C3
-F0C4
-F0C5
-F0C6
-F0C7
-F0C8
-F0C9
-F0CA
-F0CB
-F0CC
-F0CD
-F0CE
-F0CF
-F0D0
-F0D1
-F0D2
-F0D3
-F0D4
-F0D5
-F0D6
-F0D7
-F0D8
-F0D9
-F0DA
-F0DB
-F0DC
-F0DD
-F0DE
-F0DF
-F0E0
-F0E1
-F0E2
-F0E3
-F0E4
-F0E5
-F0E6
-F0E7
-F0E8
-F0E9
-F0EA
-F0EB
-F0EC
-F0ED
-F0EE
-F0EF
-F0F0
-F0F1
-F0F2
-F0F3
-F0F4
-F0F5
-F0F6
-F0F7
-F0F8
-F0F9
-F0FA
-F0FB
-F0FC
-F140
-F141
-F142
-F143
-F144
-F145
-F146
-F147
-F148
-F149
-F14A
-F14B
-F14C
-F14D
-F14E
-F14F
-F150
-F151
-F152
-F153
-F154
-F155
-F156
-F157
-F158
-F159
-F15A
-F15B
-F15C
-F15D
-F15E
-F15F
-F160
-F161
-F162
-F163
-F164
-F165
-F166
-F167
-F168
-F169
-F16A
-F16B
-F16C
-F16D
-F16E
-F16F
-F170
-F171
-F172
-F173
-F174
-F175
-F176
-F177
-F178
-F179
-F17A
-F17B
-F17C
-F17D
-F17E
-F180
-F181
-F182
-F183
-F184
-F185
-F186
-F187
-F188
-F189
-F18A
-F18B
-F18C
-F18D
-F18E
-F18F
-F190
-F191
-F192
-F193
-F194
-F195
-F196
-F197
-F198
-F199
-F19A
-F19B
-F19C
-F19D
-F19E
-F19F
-F1A0
-F1A1
-F1A2
-F1A3
-F1A4
-F1A5
-F1A6
-F1A7
-F1A8
-F1A9
-F1AA
-F1AB
-F1AC
-F1AD
-F1AE
-F1AF
-F1B0
-F1B1
-F1B2
-F1B3
-F1B4
-F1B5
-F1B6
-F1B7
-F1B8
-F1B9
-F1BA
-F1BB
-F1BC
-F1BD
-F1BE
-F1BF
-F1C0
-F1C1
-F1C2
-F1C3
-F1C4
-F1C5
-F1C6
-F1C7
-F1C8
-F1C9
-F1CA
-F1CB
-F1CC
-F1CD
-F1CE
-F1CF
-F1D0
-F1D1
-F1D2
-F1D3
-F1D4
-F1D5
-F1D6
-F1D7
-F1D8
-F1D9
-F1DA
-F1DB
-F1DC
-F1DD
-F1DE
-F1DF
-F1E0
-F1E1
-F1E2
-F1E3
-F1E4
-F1E5
-F1E6
-F1E7
-F1E8
-F1E9
-F1EA
-F1EB
-F1EC
-F1ED
-F1EE
-F1EF
-F1F0
-F1F1
-F1F2
-F1F3
-F1F4
-F1F5
-F1F6
-F1F7
-F1F8
-F1F9
-F1FA
-F1FB
-F1FC
-F240
-F241
-F242
-F243
-F244
-F245
-F246
-F247
-F248
-F249
-F24A
-F24B
-F24C
-F24D
-F24E
-F24F
-F250
-F251
-F252
-F253
-F254
-F255
-F256
-F257
-F258
-F259
-F25A
-F25B
-F25C
-F25D
-F25E
-F25F
-F260
-F261
-F262
-F263
-F264
-F265
-F266
-F267
-F268
-F269
-F26A
-F26B
-F26C
-F26D
-F26E
-F26F
-F270
-F271
-F272
-F273
-F274
-F275
-F276
-F277
-F278
-F279
-F27A
-F27B
-F27C
-F27D
-F27E
-F280
-F281
-F282
-F283
-F284
-F285
-F286
-F287
-F288
-F289
-F28A
-F28B
-F28C
-F28D
-F28E
-F28F
-F290
-F291
-F292
-F293
-F294
-F295
-F296
-F297
-F298
-F299
-F29A
-F29B
-F29C
-F29D
-F29E
-F29F
-F2A0
-F2A1
-F2A2
-F2A3
-F2A4
-F2A5
-F2A6
-F2A7
-F2A8
-F2A9
-F2AA
-F2AB
-F2AC
-F2AD
-F2AE
-F2AF
-F2B0
-F2B1
-F2B2
-F2B3
-F2B4
-F2B5
-F2B6
-F2B7
-F2B8
-F2B9
-F2BA
-F2BB
-F2BC
-F2BD
-F2BE
-F2BF
-F2C0
-F2C1
-F2C2
-F2C3
-F2C4
-F2C5
-F2C6
-F2C7
-F2C8
-F2C9
-F2CA
-F2CB
-F2CC
-F2CD
-F2CE
-F2CF
-F2D0
-F2D1
-F2D2
-F2D3
-F2D4
-F2D5
-F2D6
-F2D7
-F2D8
-F2D9
-F2DA
-F2DB
-F2DC
-F2DD
-F2DE
-F2DF
-F2E0
-F2E1
-F2E2
-F2E3
-F2E4
-F2E5
-F2E6
-F2E7
-F2E8
-F2E9
-F2EA
-F2EB
-F2EC
-F2ED
-F2EE
-F2EF
-F2F0
-F2F1
-F2F2
-F2F3
-F2F4
-F2F5
-F2F6
-F2F7
-F2F8
-F2F9
-F2FA
-F2FB
-F2FC
-F340
-F341
-F342
-F343
-F344
-F345
-F346
-F347
-F348
-F349
-F34A
-F34B
-F34C
-F34D
-F34E
-F34F
-F350
-F351
-F352
-F353
-F354
-F355
-F356
-F357
-F358
-F359
-F35A
-F35B
-F35C
-F35D
-F35E
-F35F
-F360
-F361
-F362
-F363
-F364
-F365
-F366
-F367
-F368
-F369
-F36A
-F36B
-F36C
-F36D
-F36E
-F36F
-F370
-F371
-F372
-F373
-F374
-F375
-F376
-F377
-F378
-F379
-F37A
-F37B
-F37C
-F37D
-F37E
-F380
-F381
-F382
-F383
-F384
-F385
-F386
-F387
-F388
-F389
-F38A
-F38B
-F38C
-F38D
-F38E
-F38F
-F390
-F391
-F392
-F393
-F394
-F395
-F396
-F397
-F398
-F399
-F39A
-F39B
-F39C
-F39D
-F39E
-F39F
-F3A0
-F3A1
-F3A2
-F3A3
-F3A4
-F3A5
-F3A6
-F3A7
-F3A8
-F3A9
-F3AA
-F3AB
-F3AC
-F3AD
-F3AE
-F3AF
-F3B0
-F3B1
-F3B2
-F3B3
-F3B4
-F3B5
-F3B6
-F3B7
-F3B8
-F3B9
-F3BA
-F3BB
-F3BC
-F3BD
-F3BE
-F3BF
-F3C0
-F3C1
-F3C2
-F3C3
-F3C4
-F3C5
-F3C6
-F3C7
-F3C8
-F3C9
-F3CA
-F3CB
-F3CC
-F3CD
-F3CE
-F3CF
-F3D0
-F3D1
-F3D2
-F3D3
-F3D4
-F3D5
-F3D6
-F3D7
-F3D8
-F3D9
-F3DA
-F3DB
-F3DC
-F3DD
-F3DE
-F3DF
-F3E0
-F3E1
-F3E2
-F3E3
-F3E4
-F3E5
-F3E6
-F3E7
-F3E8
-F3E9
-F3EA
-F3EB
-F3EC
-F3ED
-F3EE
-F3EF
-F3F0
-F3F1
-F3F2
-F3F3
-F3F4
-F3F5
-F3F6
-F3F7
-F3F8
-F3F9
-F3FA
-F3FB
-F3FC
-F440
-F441
-F442
-F443
-F444
-F445
-F446
-F447
-F448
-F449
-F44A
-F44B
-F44C
-F44D
-F44E
-F44F
-F450
-F451
-F452
-F453
-F454
-F455
-F456
-F457
-F458
-F459
-F45A
-F45B
-F45C
-F45D
-F45E
-F45F
-F460
-F461
-F462
-F463
-F464
-F465
-F466
-F467
-F468
-F469
-F46A
-F46B
-F46C
-F46D
-F46E
-F46F
-F470
-F471
-F472
-F473
-F474
-F475
-F476
-F477
-F478
-F479
-F47A
-F47B
-F47C
-F47D
-F47E
-F480
-F481
-F482
-F483
-F484
-F485
-F486
-F487
-F488
-F489
-F48A
-F48B
-F48C
-F48D
-F48E
-F48F
-F490
-F491
-F492
-F493
-F494
-F495
-F496
-F497
-F498
-F499
-F49A
-F49B
-F49C
-F49D
-F49E
-F49F
-F4A0
-F4A1
-F4A2
-F4A3
-F4A4
-F4A5
-F4A6
-F4A7
-F4A8
-F4A9
-F4AA
-F4AB
-F4AC
-F4AD
-F4AE
-F4AF
-F4B0
-F4B1
-F4B2
-F4B3
-F4B4
-F4B5
-F4B6
-F4B7
-F4B8
-F4B9
-F4BA
-F4BB
-F4BC
-F4BD
-F4BE
-F4BF
-F4C0
-F4C1
-F4C2
-F4C3
-F4C4
-F4C5
-F4C6
-F4C7
-F4C8
-F4C9
-F4CA
-F4CB
-F4CC
-F4CD
-F4CE
-F4CF
-F4D0
-F4D1
-F4D2
-F4D3
-F4D4
-F4D5
-F4D6
-F4D7
-F4D8
-F4D9
-F4DA
-F4DB
-F4DC
-F4DD
-F4DE
-F4DF
-F4E0
-F4E1
-F4E2
-F4E3
-F4E4
-F4E5
-F4E6
-F4E7
-F4E8
-F4E9
-F4EA
-F4EB
-F4EC
-F4ED
-F4EE
-F4EF
-F4F0
-F4F1
-F4F2
-F4F3
-F4F4
-F4F5
-F4F6
-F4F7
-F4F8
-F4F9
-F4FA
-F4FB
-F4FC
-F540
-F541
-F542
-F543
-F544
-F545
-F546
-F547
-F548
-F549
-F54A
-F54B
-F54C
-F54D
-F54E
-F54F
-F550
-F551
-F552
-F553
-F554
-F555
-F556
-F557
-F558
-F559
-F55A
-F55B
-F55C
-F55D
-F55E
-F55F
-F560
-F561
-F562
-F563
-F564
-F565
-F566
-F567
-F568
-F569
-F56A
-F56B
-F56C
-F56D
-F56E
-F56F
-F570
-F571
-F572
-F573
-F574
-F575
-F576
-F577
-F578
-F579
-F57A
-F57B
-F57C
-F57D
-F57E
-F580
-F581
-F582
-F583
-F584
-F585
-F586
-F587
-F588
-F589
-F58A
-F58B
-F58C
-F58D
-F58E
-F58F
-F590
-F591
-F592
-F593
-F594
-F595
-F596
-F597
-F598
-F599
-F59A
-F59B
-F59C
-F59D
-F59E
-F59F
-F5A0
-F5A1
-F5A2
-F5A3
-F5A4
-F5A5
-F5A6
-F5A7
-F5A8
-F5A9
-F5AA
-F5AB
-F5AC
-F5AD
-F5AE
-F5AF
-F5B0
-F5B1
-F5B2
-F5B3
-F5B4
-F5B5
-F5B6
-F5B7
-F5B8
-F5B9
-F5BA
-F5BB
-F5BC
-F5BD
-F5BE
-F5BF
-F5C0
-F5C1
-F5C2
-F5C3
-F5C4
-F5C5
-F5C6
-F5C7
-F5C8
-F5C9
-F5CA
-F5CB
-F5CC
-F5CD
-F5CE
-F5CF
-F5D0
-F5D1
-F5D2
-F5D3
-F5D4
-F5D5
-F5D6
-F5D7
-F5D8
-F5D9
-F5DA
-F5DB
-F5DC
-F5DD
-F5DE
-F5DF
-F5E0
-F5E1
-F5E2
-F5E3
-F5E4
-F5E5
-F5E6
-F5E7
-F5E8
-F5E9
-F5EA
-F5EB
-F5EC
-F5ED
-F5EE
-F5EF
-F5F0
-F5F1
-F5F2
-F5F3
-F5F4
-F5F5
-F5F6
-F5F7
-F5F8
-F5F9
-F5FA
-F5FB
-F5FC
-F640
-F641
-F642
-F643
-F644
-F645
-F646
-F647
-F648
-F649
-F64A
-F64B
-F64C
-F64D
-F64E
-F64F
-F650
-F651
-F652
-F653
-F654
-F655
-F656
-F657
-F658
-F659
-F65A
-F65B
-F65C
-F65D
-F65E
-F65F
-F660
-F661
-F662
-F663
-F664
-F665
-F666
-F667
-F668
-F669
-F66A
-F66B
-F66C
-F66D
-F66E
-F66F
-F670
-F671
-F672
-F673
-F674
-F675
-F676
-F677
-F678
-F679
-F67A
-F67B
-F67C
-F67D
-F67E
-F680
-F681
-F682
-F683
-F684
-F685
-F686
-F687
-F688
-F689
-F68A
-F68B
-F68C
-F68D
-F68E
-F68F
-F690
-F691
-F692
-F693
-F694
-F695
-F696
-F697
-F698
-F699
-F69A
-F69B
-F69C
-F69D
-F69E
-F69F
-F6A0
-F6A1
-F6A2
-F6A3
-F6A4
-F6A5
-F6A6
-F6A7
-F6A8
-F6A9
-F6AA
-F6AB
-F6AC
-F6AD
-F6AE
-F6AF
-F6B0
-F6B1
-F6B2
-F6B3
-F6B4
-F6B5
-F6B6
-F6B7
-F6B8
-F6B9
-F6BA
-F6BB
-F6BC
-F6BD
-F6BE
-F6BF
-F6C0
-F6C1
-F6C2
-F6C3
-F6C4
-F6C5
-F6C6
-F6C7
-F6C8
-F6C9
-F6CA
-F6CB
-F6CC
-F6CD
-F6CE
-F6CF
-F6D0
-F6D1
-F6D2
-F6D3
-F6D4
-F6D5
-F6D6
-F6D7
-F6D8
-F6D9
-F6DA
-F6DB
-F6DC
-F6DD
-F6DE
-F6DF
-F6E0
-F6E1
-F6E2
-F6E3
-F6E4
-F6E5
-F6E6
-F6E7
-F6E8
-F6E9
-F6EA
-F6EB
-F6EC
-F6ED
-F6EE
-F6EF
-F6F0
-F6F1
-F6F2
-F6F3
-F6F4
-F6F5
-F6F6
-F6F7
-F6F8
-F6F9
-F6FA
-F6FB
-F6FC
-F740
-F741
-F742
-F743
-F744
-F745
-F746
-F747
-F748
-F749
-F74A
-F74B
-F74C
-F74D
-F74E
-F74F
-F750
-F751
-F752
-F753
-F754
-F755
-F756
-F757
-F758
-F759
-F75A
-F75B
-F75C
-F75D
-F75E
-F75F
-F760
-F761
-F762
-F763
-F764
-F765
-F766
-F767
-F768
-F769
-F76A
-F76B
-F76C
-F76D
-F76E
-F76F
-F770
-F771
-F772
-F773
-F774
-F775
-F776
-F777
-F778
-F779
-F77A
-F77B
-F77C
-F77D
-F77E
-F780
-F781
-F782
-F783
-F784
-F785
-F786
-F787
-F788
-F789
-F78A
-F78B
-F78C
-F78D
-F78E
-F78F
-F790
-F791
-F792
-F793
-F794
-F795
-F796
-F797
-F798
-F799
-F79A
-F79B
-F79C
-F79D
-F79E
-F79F
-F7A0
-F7A1
-F7A2
-F7A3
-F7A4
-F7A5
-F7A6
-F7A7
-F7A8
-F7A9
-F7AA
-F7AB
-F7AC
-F7AD
-F7AE
-F7AF
-F7B0
-F7B1
-F7B2
-F7B3
-F7B4
-F7B5
-F7B6
-F7B7
-F7B8
-F7B9
-F7BA
-F7BB
-F7BC
-F7BD
-F7BE
-F7BF
-F7C0
-F7C1
-F7C2
-F7C3
-F7C4
-F7C5
-F7C6
-F7C7
-F7C8
-F7C9
-F7CA
-F7CB
-F7CC
-F7CD
-F7CE
-F7CF
-F7D0
-F7D1
-F7D2
-F7D3
-F7D4
-F7D5
-F7D6
-F7D7
-F7D8
-F7D9
-F7DA
-F7DB
-F7DC
-F7DD
-F7DE
-F7DF
-F7E0
-F7E1
-F7E2
-F7E3
-F7E4
-F7E5
-F7E6
-F7E7
-F7E8
-F7E9
-F7EA
-F7EB
-F7EC
-F7ED
-F7EE
-F7EF
-F7F0
-F7F1
-F7F2
-F7F3
-F7F4
-F7F5
-F7F6
-F7F7
-F7F8
-F7F9
-F7FA
-F7FB
-F7FC
-F840
-F841
-F842
-F843
-F844
-F845
-F846
-F847
-F848
-F849
-F84A
-F84B
-F84C
-F84D
-F84E
-F84F
-F850
-F851
-F852
-F853
-F854
-F855
-F856
-F857
-F858
-F859
-F85A
-F85B
-F85C
-F85D
-F85E
-F85F
-F860
-F861
-F862
-F863
-F864
-F865
-F866
-F867
-F868
-F869
-F86A
-F86B
-F86C
-F86D
-F86E
-F86F
-F870
-F871
-F872
-F873
-F874
-F875
-F876
-F877
-F878
-F879
-F87A
-F87B
-F87C
-F87D
-F87E
-F880
-F881
-F882
-F883
-F884
-F885
-F886
-F887
-F888
-F889
-F88A
-F88B
-F88C
-F88D
-F88E
-F88F
-F890
-F891
-F892
-F893
-F894
-F895
-F896
-F897
-F898
-F899
-F89A
-F89B
-F89C
-F89D
-F89E
-F89F
-F8A0
-F8A1
-F8A2
-F8A3
-F8A4
-F8A5
-F8A6
-F8A7
-F8A8
-F8A9
-F8AA
-F8AB
-F8AC
-F8AD
-F8AE
-F8AF
-F8B0
-F8B1
-F8B2
-F8B3
-F8B4
-F8B5
-F8B6
-F8B7
-F8B8
-F8B9
-F8BA
-F8BB
-F8BC
-F8BD
-F8BE
-F8BF
-F8C0
-F8C1
-F8C2
-F8C3
-F8C4
-F8C5
-F8C6
-F8C7
-F8C8
-F8C9
-F8CA
-F8CB
-F8CC
-F8CD
-F8CE
-F8CF
-F8D0
-F8D1
-F8D2
-F8D3
-F8D4
-F8D5
-F8D6
-F8D7
-F8D8
-F8D9
-F8DA
-F8DB
-F8DC
-F8DD
-F8DE
-F8DF
-F8E0
-F8E1
-F8E2
-F8E3
-F8E4
-F8E5
-F8E6
-F8E7
-F8E8
-F8E9
-F8EA
-F8EB
-F8EC
-F8ED
-F8EE
-F8EF
-F8F0
-F8F1
-F8F2
-F8F3
-F8F4
-F8F5
-F8F6
-F8F7
-F8F8
-F8F9
-F8FA
-F8FB
-F8FC
-F940
-F941
-F942
-F943
-F944
-F945
-F946
-F947
-F948
-F949
-F94A
-F94B
-F94C
-F94D
-F94E
-F94F
-F950
-F951
-F952
-F953
-F954
-F955
-F956
-F957
-F958
-F959
-F95A
-F95B
-F95C
-F95D
-F95E
-F95F
-F960
-F961
-F962
-F963
-F964
-F965
-F966
-F967
-F968
-F969
-F96A
-F96B
-F96C
-F96D
-F96E
-F96F
-F970
-F971
-F972
-F973
-F974
-F975
-F976
-F977
-F978
-F979
-F97A
-F97B
-F97C
-F97D
-F97E
-F980
-F981
-F982
-F983
-F984
-F985
-F986
-F987
-F988
-F989
-F98A
-F98B
-F98C
-F98D
-F98E
-F98F
-F990
-F991
-F992
-F993
-F994
-F995
-F996
-F997
-F998
-F999
-F99A
-F99B
-F99C
-F99D
-F99E
-F99F
-F9A0
-F9A1
-F9A2
-F9A3
-F9A4
-F9A5
-F9A6
-F9A7
-F9A8
-F9A9
-F9AA
-F9AB
-F9AC
-F9AD
-F9AE
-F9AF
-F9B0
-F9B1
-F9B2
-F9B3
-F9B4
-F9B5
-F9B6
-F9B7
-F9B8
-F9B9
-F9BA
-F9BB
-F9BC
-F9BD
-F9BE
-F9BF
-F9C0
-F9C1
-F9C2
-F9C3
-F9C4
-F9C5
-F9C6
-F9C7
-F9C8
-F9C9
-F9CA
-F9CB
-F9CC
-F9CD
-F9CE
-F9CF
-F9D0
-F9D1
-F9D2
-F9D3
-F9D4
-F9D5
-F9D6
-F9D7
-F9D8
-F9D9
-F9DA
-F9DB
-F9DC
-F9DD
-F9DE
-F9DF
-F9E0
-F9E1
-F9E2
-F9E3
-F9E4
-F9E5
-F9E6
-F9E7
-F9E8
-F9E9
-F9EA
-F9EB
-F9EC
-F9ED
-F9EE
-F9EF
-F9F0
-F9F1
-F9F2
-F9F3
-F9F4
-F9F5
-F9F6
-F9F7
-F9F8
-F9F9
-F9FA
-F9FB
-F9FC
-CREATE TABLE t2 SELECT CONVERT(c1 USING ucs2) AS c1 FROM t1;
-SELECT HEX(c1) FROM t2;
-HEX(c1)
-0005
-007E
-2015
-FF3C
-FF5E
-2225
-FF0D
-FFE0
-FFE1
-FFE2
-2460
-2461
-2462
-2463
-2464
-2465
-2466
-2467
-2468
-2469
-246A
-246B
-246C
-246D
-246E
-246F
-2470
-2471
-2472
-2473
-2160
-2161
-2162
-2163
-2164
-2165
-2166
-2167
-2168
-2169
-3349
-3314
-3322
-334D
-3318
-3327
-3303
-3336
-3351
-3357
-330D
-3326
-3323
-332B
-334A
-333B
-339C
-339D
-339E
-338E
-338F
-33C4
-33A1
-337B
-301D
-301F
-2116
-33CD
-2121
-32A4
-32A5
-32A6
-32A7
-32A8
-3231
-3232
-3239
-337E
-337D
-337C
-2252
-2261
-222B
-222E
-2211
-221A
-22A5
-2220
-221F
-22BF
-2235
-2229
-222A
-7E8A
-891C
-9348
-9288
-84DC
-4FC9
-70BB
-6631
-68C8
-92F9
-66FB
-5F45
-4E28
-4EE1
-4EFC
-4F00
-4F03
-4F39
-4F56
-4F92
-4F8A
-4F9A
-4F94
-4FCD
-5040
-5022
-4FFF
-501E
-5046
-5070
-5042
-5094
-50F4
-50D8
-514A
-5164
-519D
-51BE
-51EC
-5215
-529C
-52A6
-52C0
-52DB
-5300
-5307
-5324
-5372
-5393
-53B2
-53DD
-FA0E
-549C
-548A
-54A9
-54FF
-5586
-5759
-5765
-57AC
-57C8
-57C7
-FA0F
-FA10
-589E
-58B2
-590B
-5953
-595B
-595D
-5963
-59A4
-59BA
-5B56
-5BC0
-752F
-5BD8
-5BEC
-5C1E
-5CA6
-5CBA
-5CF5
-5D27
-5D53
-FA11
-5D42
-5D6D
-5DB8
-5DB9
-5DD0
-5F21
-5F34
-5F67
-5FB7
-5FDE
-605D
-6085
-608A
-60DE
-60D5
-6120
-60F2
-6111
-6137
-6130
-6198
-6213
-62A6
-63F5
-6460
-649D
-64CE
-654E
-6600
-6615
-663B
-6609
-662E
-661E
-6624
-6665
-6657
-6659
-FA12
-6673
-6699
-66A0
-66B2
-66BF
-66FA
-670E
-F929
-6766
-67BB
-6852
-67C0
-6801
-6844
-68CF
-FA13
-6968
-FA14
-6998
-69E2
-6A30
-6A6B
-6A46
-6A73
-6A7E
-6AE2
-6AE4
-6BD6
-6C3F
-6C5C
-6C86
-6C6F
-6CDA
-6D04
-6D87
-6D6F
-6D96
-6DAC
-6DCF
-6DF8
-6DF2
-6DFC
-6E39
-6E5C
-6E27
-6E3C
-6EBF
-6F88
-6FB5
-6FF5
-7005
-7007
-7028
-7085
-70AB
-710F
-7104
-715C
-7146
-7147
-FA15
-71C1
-71FE
-72B1
-72BE
-7324
-FA16
-7377
-73BD
-73C9
-73D6
-73E3
-73D2
-7407
-73F5
-7426
-742A
-7429
-742E
-7462
-7489
-749F
-7501
-756F
-7682
-769C
-769E
-769B
-76A6
-FA17
-7746
-52AF
-7821
-784E
-7864
-787A
-7930
-FA18
-FA19
-FA1A
-7994
-FA1B
-799B
-7AD1
-7AE7
-FA1C
-7AEB
-7B9E
-FA1D
-7D48
-7D5C
-7DB7
-7DA0
-7DD6
-7E52
-7F47
-7FA1
-FA1E
-8301
-8362
-837F
-83C7
-83F6
-8448
-84B4
-8553
-8559
-856B
-FA1F
-85B0
-FA20
-FA21
-8807
-88F5
-8A12
-8A37
-8A79
-8AA7
-8ABE
-8ADF
-FA22
-8AF6
-8B53
-8B7F
-8CF0
-8CF4
-8D12
-8D76
-FA23
-8ECF
-FA24
-FA25
-9067
-90DE
-FA26
-9115
-9127
-91DA
-91D7
-91DE
-91ED
-91EE
-91E4
-91E5
-9206
-9210
-920A
-923A
-9240
-923C
-924E
-9259
-9251
-9239
-9267
-92A7
-9277
-9278
-92E7
-92D7
-92D9
-92D0
-FA27
-92D5
-92E0
-92D3
-9325
-9321
-92FB
-FA28
-931E
-92FF
-931D
-9302
-9370
-9357
-93A4
-93C6
-93DE
-93F8
-9431
-9445
-9448
-9592
-F9DC
-FA29
-969D
-96AF
-9733
-973B
-9743
-974D
-974F
-9751
-9755
-9857
-9865
-FA2A
-FA2B
-9927
-FA2C
-999E
-9A4E
-9AD9
-9ADC
-9B75
-9B72
-9B8F
-9BB1
-9BBB
-9C00
-9D70
-9D6B
-FA2D
-9E19
-9ED1
-2170
-2171
-2172
-2173
-2174
-2175
-2176
-2177
-2178
-2179
-FFE2
-FFE4
-FF07
-FF02
-2170
-2171
-2172
-2173
-2174
-2175
-2176
-2177
-2178
-2179
-2160
-2161
-2162
-2163
-2164
-2165
-2166
-2167
-2168
-2169
-FFE2
-FFE4
-FF07
-FF02
-3231
-2116
-2121
-2235
-7E8A
-891C
-9348
-9288
-84DC
-4FC9
-70BB
-6631
-68C8
-92F9
-66FB
-5F45
-4E28
-4EE1
-4EFC
-4F00
-4F03
-4F39
-4F56
-4F92
-4F8A
-4F9A
-4F94
-4FCD
-5040
-5022
-4FFF
-501E
-5046
-5070
-5042
-5094
-50F4
-50D8
-514A
-5164
-519D
-51BE
-51EC
-5215
-529C
-52A6
-52C0
-52DB
-5300
-5307
-5324
-5372
-5393
-53B2
-53DD
-FA0E
-549C
-548A
-54A9
-54FF
-5586
-5759
-5765
-57AC
-57C8
-57C7
-FA0F
-FA10
-589E
-58B2
-590B
-5953
-595B
-595D
-5963
-59A4
-59BA
-5B56
-5BC0
-752F
-5BD8
-5BEC
-5C1E
-5CA6
-5CBA
-5CF5
-5D27
-5D53
-FA11
-5D42
-5D6D
-5DB8
-5DB9
-5DD0
-5F21
-5F34
-5F67
-5FB7
-5FDE
-605D
-6085
-608A
-60DE
-60D5
-6120
-60F2
-6111
-6137
-6130
-6198
-6213
-62A6
-63F5
-6460
-649D
-64CE
-654E
-6600
-6615
-663B
-6609
-662E
-661E
-6624
-6665
-6657
-6659
-FA12
-6673
-6699
-66A0
-66B2
-66BF
-66FA
-670E
-F929
-6766
-67BB
-6852
-67C0
-6801
-6844
-68CF
-FA13
-6968
-FA14
-6998
-69E2
-6A30
-6A6B
-6A46
-6A73
-6A7E
-6AE2
-6AE4
-6BD6
-6C3F
-6C5C
-6C86
-6C6F
-6CDA
-6D04
-6D87
-6D6F
-6D96
-6DAC
-6DCF
-6DF8
-6DF2
-6DFC
-6E39
-6E5C
-6E27
-6E3C
-6EBF
-6F88
-6FB5
-6FF5
-7005
-7007
-7028
-7085
-70AB
-710F
-7104
-715C
-7146
-7147
-FA15
-71C1
-71FE
-72B1
-72BE
-7324
-FA16
-7377
-73BD
-73C9
-73D6
-73E3
-73D2
-7407
-73F5
-7426
-742A
-7429
-742E
-7462
-7489
-749F
-7501
-756F
-7682
-769C
-769E
-769B
-76A6
-FA17
-7746
-52AF
-7821
-784E
-7864
-787A
-7930
-FA18
-FA19
-FA1A
-7994
-FA1B
-799B
-7AD1
-7AE7
-FA1C
-7AEB
-7B9E
-FA1D
-7D48
-7D5C
-7DB7
-7DA0
-7DD6
-7E52
-7F47
-7FA1
-FA1E
-8301
-8362
-837F
-83C7
-83F6
-8448
-84B4
-8553
-8559
-856B
-FA1F
-85B0
-FA20
-FA21
-8807
-88F5
-8A12
-8A37
-8A79
-8AA7
-8ABE
-8ADF
-FA22
-8AF6
-8B53
-8B7F
-8CF0
-8CF4
-8D12
-8D76
-FA23
-8ECF
-FA24
-FA25
-9067
-90DE
-FA26
-9115
-9127
-91DA
-91D7
-91DE
-91ED
-91EE
-91E4
-91E5
-9206
-9210
-920A
-923A
-9240
-923C
-924E
-9259
-9251
-9239
-9267
-92A7
-9277
-9278
-92E7
-92D7
-92D9
-92D0
-FA27
-92D5
-92E0
-92D3
-9325
-9321
-92FB
-FA28
-931E
-92FF
-931D
-9302
-9370
-9357
-93A4
-93C6
-93DE
-93F8
-9431
-9445
-9448
-9592
-F9DC
-FA29
-969D
-96AF
-9733
-973B
-9743
-974D
-974F
-9751
-9755
-9857
-9865
-FA2A
-FA2B
-9927
-FA2C
-999E
-9A4E
-9AD9
-9ADC
-9B75
-9B72
-9B8F
-9BB1
-9BBB
-9C00
-9D70
-9D6B
-FA2D
-9E19
-9ED1
-E000
-E001
-E002
-E003
-E004
-E005
-E006
-E007
-E008
-E009
-E00A
-E00B
-E00C
-E00D
-E00E
-E00F
-E010
-E011
-E012
-E013
-E014
-E015
-E016
-E017
-E018
-E019
-E01A
-E01B
-E01C
-E01D
-E01E
-E01F
-E020
-E021
-E022
-E023
-E024
-E025
-E026
-E027
-E028
-E029
-E02A
-E02B
-E02C
-E02D
-E02E
-E02F
-E030
-E031
-E032
-E033
-E034
-E035
-E036
-E037
-E038
-E039
-E03A
-E03B
-E03C
-E03D
-E03E
-E03F
-E040
-E041
-E042
-E043
-E044
-E045
-E046
-E047
-E048
-E049
-E04A
-E04B
-E04C
-E04D
-E04E
-E04F
-E050
-E051
-E052
-E053
-E054
-E055
-E056
-E057
-E058
-E059
-E05A
-E05B
-E05C
-E05D
-E05E
-E05F
-E060
-E061
-E062
-E063
-E064
-E065
-E066
-E067
-E068
-E069
-E06A
-E06B
-E06C
-E06D
-E06E
-E06F
-E070
-E071
-E072
-E073
-E074
-E075
-E076
-E077
-E078
-E079
-E07A
-E07B
-E07C
-E07D
-E07E
-E07F
-E080
-E081
-E082
-E083
-E084
-E085
-E086
-E087
-E088
-E089
-E08A
-E08B
-E08C
-E08D
-E08E
-E08F
-E090
-E091
-E092
-E093
-E094
-E095
-E096
-E097
-E098
-E099
-E09A
-E09B
-E09C
-E09D
-E09E
-E09F
-E0A0
-E0A1
-E0A2
-E0A3
-E0A4
-E0A5
-E0A6
-E0A7
-E0A8
-E0A9
-E0AA
-E0AB
-E0AC
-E0AD
-E0AE
-E0AF
-E0B0
-E0B1
-E0B2
-E0B3
-E0B4
-E0B5
-E0B6
-E0B7
-E0B8
-E0B9
-E0BA
-E0BB
-E0BC
-E0BD
-E0BE
-E0BF
-E0C0
-E0C1
-E0C2
-E0C3
-E0C4
-E0C5
-E0C6
-E0C7
-E0C8
-E0C9
-E0CA
-E0CB
-E0CC
-E0CD
-E0CE
-E0CF
-E0D0
-E0D1
-E0D2
-E0D3
-E0D4
-E0D5
-E0D6
-E0D7
-E0D8
-E0D9
-E0DA
-E0DB
-E0DC
-E0DD
-E0DE
-E0DF
-E0E0
-E0E1
-E0E2
-E0E3
-E0E4
-E0E5
-E0E6
-E0E7
-E0E8
-E0E9
-E0EA
-E0EB
-E0EC
-E0ED
-E0EE
-E0EF
-E0F0
-E0F1
-E0F2
-E0F3
-E0F4
-E0F5
-E0F6
-E0F7
-E0F8
-E0F9
-E0FA
-E0FB
-E0FC
-E0FD
-E0FE
-E0FF
-E100
-E101
-E102
-E103
-E104
-E105
-E106
-E107
-E108
-E109
-E10A
-E10B
-E10C
-E10D
-E10E
-E10F
-E110
-E111
-E112
-E113
-E114
-E115
-E116
-E117
-E118
-E119
-E11A
-E11B
-E11C
-E11D
-E11E
-E11F
-E120
-E121
-E122
-E123
-E124
-E125
-E126
-E127
-E128
-E129
-E12A
-E12B
-E12C
-E12D
-E12E
-E12F
-E130
-E131
-E132
-E133
-E134
-E135
-E136
-E137
-E138
-E139
-E13A
-E13B
-E13C
-E13D
-E13E
-E13F
-E140
-E141
-E142
-E143
-E144
-E145
-E146
-E147
-E148
-E149
-E14A
-E14B
-E14C
-E14D
-E14E
-E14F
-E150
-E151
-E152
-E153
-E154
-E155
-E156
-E157
-E158
-E159
-E15A
-E15B
-E15C
-E15D
-E15E
-E15F
-E160
-E161
-E162
-E163
-E164
-E165
-E166
-E167
-E168
-E169
-E16A
-E16B
-E16C
-E16D
-E16E
-E16F
-E170
-E171
-E172
-E173
-E174
-E175
-E176
-E177
-E178
-E179
-E17A
-E17B
-E17C
-E17D
-E17E
-E17F
-E180
-E181
-E182
-E183
-E184
-E185
-E186
-E187
-E188
-E189
-E18A
-E18B
-E18C
-E18D
-E18E
-E18F
-E190
-E191
-E192
-E193
-E194
-E195
-E196
-E197
-E198
-E199
-E19A
-E19B
-E19C
-E19D
-E19E
-E19F
-E1A0
-E1A1
-E1A2
-E1A3
-E1A4
-E1A5
-E1A6
-E1A7
-E1A8
-E1A9
-E1AA
-E1AB
-E1AC
-E1AD
-E1AE
-E1AF
-E1B0
-E1B1
-E1B2
-E1B3
-E1B4
-E1B5
-E1B6
-E1B7
-E1B8
-E1B9
-E1BA
-E1BB
-E1BC
-E1BD
-E1BE
-E1BF
-E1C0
-E1C1
-E1C2
-E1C3
-E1C4
-E1C5
-E1C6
-E1C7
-E1C8
-E1C9
-E1CA
-E1CB
-E1CC
-E1CD
-E1CE
-E1CF
-E1D0
-E1D1
-E1D2
-E1D3
-E1D4
-E1D5
-E1D6
-E1D7
-E1D8
-E1D9
-E1DA
-E1DB
-E1DC
-E1DD
-E1DE
-E1DF
-E1E0
-E1E1
-E1E2
-E1E3
-E1E4
-E1E5
-E1E6
-E1E7
-E1E8
-E1E9
-E1EA
-E1EB
-E1EC
-E1ED
-E1EE
-E1EF
-E1F0
-E1F1
-E1F2
-E1F3
-E1F4
-E1F5
-E1F6
-E1F7
-E1F8
-E1F9
-E1FA
-E1FB
-E1FC
-E1FD
-E1FE
-E1FF
-E200
-E201
-E202
-E203
-E204
-E205
-E206
-E207
-E208
-E209
-E20A
-E20B
-E20C
-E20D
-E20E
-E20F
-E210
-E211
-E212
-E213
-E214
-E215
-E216
-E217
-E218
-E219
-E21A
-E21B
-E21C
-E21D
-E21E
-E21F
-E220
-E221
-E222
-E223
-E224
-E225
-E226
-E227
-E228
-E229
-E22A
-E22B
-E22C
-E22D
-E22E
-E22F
-E230
-E231
-E232
-E233
-E234
-E235
-E236
-E237
-E238
-E239
-E23A
-E23B
-E23C
-E23D
-E23E
-E23F
-E240
-E241
-E242
-E243
-E244
-E245
-E246
-E247
-E248
-E249
-E24A
-E24B
-E24C
-E24D
-E24E
-E24F
-E250
-E251
-E252
-E253
-E254
-E255
-E256
-E257
-E258
-E259
-E25A
-E25B
-E25C
-E25D
-E25E
-E25F
-E260
-E261
-E262
-E263
-E264
-E265
-E266
-E267
-E268
-E269
-E26A
-E26B
-E26C
-E26D
-E26E
-E26F
-E270
-E271
-E272
-E273
-E274
-E275
-E276
-E277
-E278
-E279
-E27A
-E27B
-E27C
-E27D
-E27E
-E27F
-E280
-E281
-E282
-E283
-E284
-E285
-E286
-E287
-E288
-E289
-E28A
-E28B
-E28C
-E28D
-E28E
-E28F
-E290
-E291
-E292
-E293
-E294
-E295
-E296
-E297
-E298
-E299
-E29A
-E29B
-E29C
-E29D
-E29E
-E29F
-E2A0
-E2A1
-E2A2
-E2A3
-E2A4
-E2A5
-E2A6
-E2A7
-E2A8
-E2A9
-E2AA
-E2AB
-E2AC
-E2AD
-E2AE
-E2AF
-E2B0
-E2B1
-E2B2
-E2B3
-E2B4
-E2B5
-E2B6
-E2B7
-E2B8
-E2B9
-E2BA
-E2BB
-E2BC
-E2BD
-E2BE
-E2BF
-E2C0
-E2C1
-E2C2
-E2C3
-E2C4
-E2C5
-E2C6
-E2C7
-E2C8
-E2C9
-E2CA
-E2CB
-E2CC
-E2CD
-E2CE
-E2CF
-E2D0
-E2D1
-E2D2
-E2D3
-E2D4
-E2D5
-E2D6
-E2D7
-E2D8
-E2D9
-E2DA
-E2DB
-E2DC
-E2DD
-E2DE
-E2DF
-E2E0
-E2E1
-E2E2
-E2E3
-E2E4
-E2E5
-E2E6
-E2E7
-E2E8
-E2E9
-E2EA
-E2EB
-E2EC
-E2ED
-E2EE
-E2EF
-E2F0
-E2F1
-E2F2
-E2F3
-E2F4
-E2F5
-E2F6
-E2F7
-E2F8
-E2F9
-E2FA
-E2FB
-E2FC
-E2FD
-E2FE
-E2FF
-E300
-E301
-E302
-E303
-E304
-E305
-E306
-E307
-E308
-E309
-E30A
-E30B
-E30C
-E30D
-E30E
-E30F
-E310
-E311
-E312
-E313
-E314
-E315
-E316
-E317
-E318
-E319
-E31A
-E31B
-E31C
-E31D
-E31E
-E31F
-E320
-E321
-E322
-E323
-E324
-E325
-E326
-E327
-E328
-E329
-E32A
-E32B
-E32C
-E32D
-E32E
-E32F
-E330
-E331
-E332
-E333
-E334
-E335
-E336
-E337
-E338
-E339
-E33A
-E33B
-E33C
-E33D
-E33E
-E33F
-E340
-E341
-E342
-E343
-E344
-E345
-E346
-E347
-E348
-E349
-E34A
-E34B
-E34C
-E34D
-E34E
-E34F
-E350
-E351
-E352
-E353
-E354
-E355
-E356
-E357
-E358
-E359
-E35A
-E35B
-E35C
-E35D
-E35E
-E35F
-E360
-E361
-E362
-E363
-E364
-E365
-E366
-E367
-E368
-E369
-E36A
-E36B
-E36C
-E36D
-E36E
-E36F
-E370
-E371
-E372
-E373
-E374
-E375
-E376
-E377
-E378
-E379
-E37A
-E37B
-E37C
-E37D
-E37E
-E37F
-E380
-E381
-E382
-E383
-E384
-E385
-E386
-E387
-E388
-E389
-E38A
-E38B
-E38C
-E38D
-E38E
-E38F
-E390
-E391
-E392
-E393
-E394
-E395
-E396
-E397
-E398
-E399
-E39A
-E39B
-E39C
-E39D
-E39E
-E39F
-E3A0
-E3A1
-E3A2
-E3A3
-E3A4
-E3A5
-E3A6
-E3A7
-E3A8
-E3A9
-E3AA
-E3AB
-E3AC
-E3AD
-E3AE
-E3AF
-E3B0
-E3B1
-E3B2
-E3B3
-E3B4
-E3B5
-E3B6
-E3B7
-E3B8
-E3B9
-E3BA
-E3BB
-E3BC
-E3BD
-E3BE
-E3BF
-E3C0
-E3C1
-E3C2
-E3C3
-E3C4
-E3C5
-E3C6
-E3C7
-E3C8
-E3C9
-E3CA
-E3CB
-E3CC
-E3CD
-E3CE
-E3CF
-E3D0
-E3D1
-E3D2
-E3D3
-E3D4
-E3D5
-E3D6
-E3D7
-E3D8
-E3D9
-E3DA
-E3DB
-E3DC
-E3DD
-E3DE
-E3DF
-E3E0
-E3E1
-E3E2
-E3E3
-E3E4
-E3E5
-E3E6
-E3E7
-E3E8
-E3E9
-E3EA
-E3EB
-E3EC
-E3ED
-E3EE
-E3EF
-E3F0
-E3F1
-E3F2
-E3F3
-E3F4
-E3F5
-E3F6
-E3F7
-E3F8
-E3F9
-E3FA
-E3FB
-E3FC
-E3FD
-E3FE
-E3FF
-E400
-E401
-E402
-E403
-E404
-E405
-E406
-E407
-E408
-E409
-E40A
-E40B
-E40C
-E40D
-E40E
-E40F
-E410
-E411
-E412
-E413
-E414
-E415
-E416
-E417
-E418
-E419
-E41A
-E41B
-E41C
-E41D
-E41E
-E41F
-E420
-E421
-E422
-E423
-E424
-E425
-E426
-E427
-E428
-E429
-E42A
-E42B
-E42C
-E42D
-E42E
-E42F
-E430
-E431
-E432
-E433
-E434
-E435
-E436
-E437
-E438
-E439
-E43A
-E43B
-E43C
-E43D
-E43E
-E43F
-E440
-E441
-E442
-E443
-E444
-E445
-E446
-E447
-E448
-E449
-E44A
-E44B
-E44C
-E44D
-E44E
-E44F
-E450
-E451
-E452
-E453
-E454
-E455
-E456
-E457
-E458
-E459
-E45A
-E45B
-E45C
-E45D
-E45E
-E45F
-E460
-E461
-E462
-E463
-E464
-E465
-E466
-E467
-E468
-E469
-E46A
-E46B
-E46C
-E46D
-E46E
-E46F
-E470
-E471
-E472
-E473
-E474
-E475
-E476
-E477
-E478
-E479
-E47A
-E47B
-E47C
-E47D
-E47E
-E47F
-E480
-E481
-E482
-E483
-E484
-E485
-E486
-E487
-E488
-E489
-E48A
-E48B
-E48C
-E48D
-E48E
-E48F
-E490
-E491
-E492
-E493
-E494
-E495
-E496
-E497
-E498
-E499
-E49A
-E49B
-E49C
-E49D
-E49E
-E49F
-E4A0
-E4A1
-E4A2
-E4A3
-E4A4
-E4A5
-E4A6
-E4A7
-E4A8
-E4A9
-E4AA
-E4AB
-E4AC
-E4AD
-E4AE
-E4AF
-E4B0
-E4B1
-E4B2
-E4B3
-E4B4
-E4B5
-E4B6
-E4B7
-E4B8
-E4B9
-E4BA
-E4BB
-E4BC
-E4BD
-E4BE
-E4BF
-E4C0
-E4C1
-E4C2
-E4C3
-E4C4
-E4C5
-E4C6
-E4C7
-E4C8
-E4C9
-E4CA
-E4CB
-E4CC
-E4CD
-E4CE
-E4CF
-E4D0
-E4D1
-E4D2
-E4D3
-E4D4
-E4D5
-E4D6
-E4D7
-E4D8
-E4D9
-E4DA
-E4DB
-E4DC
-E4DD
-E4DE
-E4DF
-E4E0
-E4E1
-E4E2
-E4E3
-E4E4
-E4E5
-E4E6
-E4E7
-E4E8
-E4E9
-E4EA
-E4EB
-E4EC
-E4ED
-E4EE
-E4EF
-E4F0
-E4F1
-E4F2
-E4F3
-E4F4
-E4F5
-E4F6
-E4F7
-E4F8
-E4F9
-E4FA
-E4FB
-E4FC
-E4FD
-E4FE
-E4FF
-E500
-E501
-E502
-E503
-E504
-E505
-E506
-E507
-E508
-E509
-E50A
-E50B
-E50C
-E50D
-E50E
-E50F
-E510
-E511
-E512
-E513
-E514
-E515
-E516
-E517
-E518
-E519
-E51A
-E51B
-E51C
-E51D
-E51E
-E51F
-E520
-E521
-E522
-E523
-E524
-E525
-E526
-E527
-E528
-E529
-E52A
-E52B
-E52C
-E52D
-E52E
-E52F
-E530
-E531
-E532
-E533
-E534
-E535
-E536
-E537
-E538
-E539
-E53A
-E53B
-E53C
-E53D
-E53E
-E53F
-E540
-E541
-E542
-E543
-E544
-E545
-E546
-E547
-E548
-E549
-E54A
-E54B
-E54C
-E54D
-E54E
-E54F
-E550
-E551
-E552
-E553
-E554
-E555
-E556
-E557
-E558
-E559
-E55A
-E55B
-E55C
-E55D
-E55E
-E55F
-E560
-E561
-E562
-E563
-E564
-E565
-E566
-E567
-E568
-E569
-E56A
-E56B
-E56C
-E56D
-E56E
-E56F
-E570
-E571
-E572
-E573
-E574
-E575
-E576
-E577
-E578
-E579
-E57A
-E57B
-E57C
-E57D
-E57E
-E57F
-E580
-E581
-E582
-E583
-E584
-E585
-E586
-E587
-E588
-E589
-E58A
-E58B
-E58C
-E58D
-E58E
-E58F
-E590
-E591
-E592
-E593
-E594
-E595
-E596
-E597
-E598
-E599
-E59A
-E59B
-E59C
-E59D
-E59E
-E59F
-E5A0
-E5A1
-E5A2
-E5A3
-E5A4
-E5A5
-E5A6
-E5A7
-E5A8
-E5A9
-E5AA
-E5AB
-E5AC
-E5AD
-E5AE
-E5AF
-E5B0
-E5B1
-E5B2
-E5B3
-E5B4
-E5B5
-E5B6
-E5B7
-E5B8
-E5B9
-E5BA
-E5BB
-E5BC
-E5BD
-E5BE
-E5BF
-E5C0
-E5C1
-E5C2
-E5C3
-E5C4
-E5C5
-E5C6
-E5C7
-E5C8
-E5C9
-E5CA
-E5CB
-E5CC
-E5CD
-E5CE
-E5CF
-E5D0
-E5D1
-E5D2
-E5D3
-E5D4
-E5D5
-E5D6
-E5D7
-E5D8
-E5D9
-E5DA
-E5DB
-E5DC
-E5DD
-E5DE
-E5DF
-E5E0
-E5E1
-E5E2
-E5E3
-E5E4
-E5E5
-E5E6
-E5E7
-E5E8
-E5E9
-E5EA
-E5EB
-E5EC
-E5ED
-E5EE
-E5EF
-E5F0
-E5F1
-E5F2
-E5F3
-E5F4
-E5F5
-E5F6
-E5F7
-E5F8
-E5F9
-E5FA
-E5FB
-E5FC
-E5FD
-E5FE
-E5FF
-E600
-E601
-E602
-E603
-E604
-E605
-E606
-E607
-E608
-E609
-E60A
-E60B
-E60C
-E60D
-E60E
-E60F
-E610
-E611
-E612
-E613
-E614
-E615
-E616
-E617
-E618
-E619
-E61A
-E61B
-E61C
-E61D
-E61E
-E61F
-E620
-E621
-E622
-E623
-E624
-E625
-E626
-E627
-E628
-E629
-E62A
-E62B
-E62C
-E62D
-E62E
-E62F
-E630
-E631
-E632
-E633
-E634
-E635
-E636
-E637
-E638
-E639
-E63A
-E63B
-E63C
-E63D
-E63E
-E63F
-E640
-E641
-E642
-E643
-E644
-E645
-E646
-E647
-E648
-E649
-E64A
-E64B
-E64C
-E64D
-E64E
-E64F
-E650
-E651
-E652
-E653
-E654
-E655
-E656
-E657
-E658
-E659
-E65A
-E65B
-E65C
-E65D
-E65E
-E65F
-E660
-E661
-E662
-E663
-E664
-E665
-E666
-E667
-E668
-E669
-E66A
-E66B
-E66C
-E66D
-E66E
-E66F
-E670
-E671
-E672
-E673
-E674
-E675
-E676
-E677
-E678
-E679
-E67A
-E67B
-E67C
-E67D
-E67E
-E67F
-E680
-E681
-E682
-E683
-E684
-E685
-E686
-E687
-E688
-E689
-E68A
-E68B
-E68C
-E68D
-E68E
-E68F
-E690
-E691
-E692
-E693
-E694
-E695
-E696
-E697
-E698
-E699
-E69A
-E69B
-E69C
-E69D
-E69E
-E69F
-E6A0
-E6A1
-E6A2
-E6A3
-E6A4
-E6A5
-E6A6
-E6A7
-E6A8
-E6A9
-E6AA
-E6AB
-E6AC
-E6AD
-E6AE
-E6AF
-E6B0
-E6B1
-E6B2
-E6B3
-E6B4
-E6B5
-E6B6
-E6B7
-E6B8
-E6B9
-E6BA
-E6BB
-E6BC
-E6BD
-E6BE
-E6BF
-E6C0
-E6C1
-E6C2
-E6C3
-E6C4
-E6C5
-E6C6
-E6C7
-E6C8
-E6C9
-E6CA
-E6CB
-E6CC
-E6CD
-E6CE
-E6CF
-E6D0
-E6D1
-E6D2
-E6D3
-E6D4
-E6D5
-E6D6
-E6D7
-E6D8
-E6D9
-E6DA
-E6DB
-E6DC
-E6DD
-E6DE
-E6DF
-E6E0
-E6E1
-E6E2
-E6E3
-E6E4
-E6E5
-E6E6
-E6E7
-E6E8
-E6E9
-E6EA
-E6EB
-E6EC
-E6ED
-E6EE
-E6EF
-E6F0
-E6F1
-E6F2
-E6F3
-E6F4
-E6F5
-E6F6
-E6F7
-E6F8
-E6F9
-E6FA
-E6FB
-E6FC
-E6FD
-E6FE
-E6FF
-E700
-E701
-E702
-E703
-E704
-E705
-E706
-E707
-E708
-E709
-E70A
-E70B
-E70C
-E70D
-E70E
-E70F
-E710
-E711
-E712
-E713
-E714
-E715
-E716
-E717
-E718
-E719
-E71A
-E71B
-E71C
-E71D
-E71E
-E71F
-E720
-E721
-E722
-E723
-E724
-E725
-E726
-E727
-E728
-E729
-E72A
-E72B
-E72C
-E72D
-E72E
-E72F
-E730
-E731
-E732
-E733
-E734
-E735
-E736
-E737
-E738
-E739
-E73A
-E73B
-E73C
-E73D
-E73E
-E73F
-E740
-E741
-E742
-E743
-E744
-E745
-E746
-E747
-E748
-E749
-E74A
-E74B
-E74C
-E74D
-E74E
-E74F
-E750
-E751
-E752
-E753
-E754
-E755
-E756
-E757
-CREATE TABLE t3 SELECT CONVERT(c1 USING cp932) AS c1 FROM t2;
-SELECT HEX(c1) FROM t3;
-HEX(c1)
-05
-7E
-815C
-815F
-8160
-8161
-817C
-8191
-8192
-81CA
-8740
-8741
-8742
-8743
-8744
-8745
-8746
-8747
-8748
-8749
-874A
-874B
-874C
-874D
-874E
-874F
-8750
-8751
-8752
-8753
-8754
-8755
-8756
-8757
-8758
-8759
-875A
-875B
-875C
-875D
-875F
-8760
-8761
-8762
-8763
-8764
-8765
-8766
-8767
-8768
-8769
-876A
-876B
-876C
-876D
-876E
-876F
-8770
-8771
-8772
-8773
-8774
-8775
-877E
-8780
-8781
-8782
-8783
-8784
-8785
-8786
-8787
-8788
-8789
-878A
-878B
-878C
-878D
-878E
-878F
-81E0
-81DF
-81E7
-8793
-8794
-81E3
-81DB
-81DA
-8798
-8799
-81E6
-81BF
-81BE
-FA5C
-FA5D
-FA5E
-FA5F
-FA60
-FA61
-FA62
-FA63
-FA64
-FA65
-FA66
-FA67
-FA68
-FA69
-FA6A
-FA6B
-FA6C
-FA6D
-FA6E
-FA6F
-FA70
-FA71
-FA72
-FA73
-FA74
-FA75
-FA76
-FA77
-FA78
-FA79
-FA7A
-FA7B
-FA7C
-FA7D
-FA7E
-FA80
-FA81
-FA82
-FA83
-FA84
-FA85
-FA86
-FA87
-FA88
-FA89
-FA8A
-FA8B
-FA8C
-FA8D
-FA8E
-FA8F
-FA90
-FA91
-FA92
-FA93
-FA94
-FA95
-FA96
-FA97
-FA98
-FA99
-FA9A
-FA9B
-FA9C
-FA9D
-FA9E
-FA9F
-FAA0
-FAA1
-FAA2
-FAA3
-FAA4
-FAA5
-FAA6
-FAA7
-FAA8
-FAA9
-FAAA
-FAAB
-FAAC
-FAAD
-FAAE
-FAAF
-FAB0
-FAB1
-FAB2
-FAB3
-FAB4
-FAB5
-FAB6
-FAB7
-FAB8
-FAB9
-FABA
-FABB
-FABC
-FABD
-FABE
-FABF
-FAC0
-FAC1
-FAC2
-FAC3
-FAC4
-FAC5
-FAC6
-FAC7
-FAC8
-FAC9
-FACA
-FACB
-FACC
-FACD
-FACE
-FACF
-FAD0
-FAD1
-FAD2
-FAD3
-FAD4
-FAD5
-FAD6
-FAD7
-FAD8
-FAD9
-FADA
-FADB
-FADC
-FADD
-FADE
-FADF
-FAE0
-FAE1
-FAE2
-FAE3
-FAE4
-FAE5
-FAE6
-FAE7
-FAE8
-FAE9
-FAEA
-FAEB
-FAEC
-FAED
-FAEE
-FAEF
-FAF0
-FAF1
-FAF2
-FAF3
-FAF4
-FAF5
-FAF6
-FAF7
-FAF8
-FAF9
-FAFA
-FAFB
-FAFC
-FB40
-FB41
-FB42
-FB43
-FB44
-FB45
-FB46
-FB47
-FB48
-FB49
-FB4A
-FB4B
-FB4C
-FB4D
-FB4E
-FB4F
-FB50
-FB51
-FB52
-FB53
-FB54
-FB55
-FB56
-FB57
-FB58
-FB59
-FB5A
-FB5B
-FB5C
-FB5D
-FB5E
-FB5F
-FB60
-FB61
-FB62
-FB63
-FB64
-FB65
-FB66
-FB67
-FB68
-FB69
-FB6A
-FB6B
-FB6C
-FB6D
-FB6E
-FB6F
-FB70
-FB71
-FB72
-FB73
-FB74
-FB75
-FB76
-FB77
-FB78
-FB79
-FB7A
-FB7B
-FB7C
-FB7D
-FB7E
-FB80
-FB81
-FB82
-FB83
-FB84
-FB85
-FB86
-FB87
-FB88
-FB89
-FB8A
-FB8B
-FB8C
-FB8D
-FB8E
-FB8F
-FB90
-FB91
-FB92
-FB93
-FB94
-FB95
-FB96
-FB97
-FB98
-FB99
-FB9A
-FB9B
-FB9C
-FB9D
-FB9E
-FB9F
-FBA0
-FBA1
-FBA2
-FBA3
-FBA4
-FBA5
-FBA6
-FBA7
-FBA8
-FBA9
-FBAA
-FBAB
-FBAC
-FBAD
-FBAE
-FBAF
-FBB0
-FBB1
-FBB2
-FBB3
-FBB4
-FBB5
-FBB6
-FBB7
-FBB8
-FBB9
-FBBA
-FBBB
-FBBC
-FBBD
-FBBE
-FBBF
-FBC0
-FBC1
-FBC2
-FBC3
-FBC4
-FBC5
-FBC6
-FBC7
-FBC8
-FBC9
-FBCA
-FBCB
-FBCC
-FBCD
-FBCE
-FBCF
-FBD0
-FBD1
-FBD2
-FBD3
-FBD4
-FBD5
-FBD6
-FBD7
-FBD8
-FBD9
-FBDA
-FBDB
-FBDC
-FBDD
-FBDE
-FBDF
-FBE0
-FBE1
-FBE2
-FBE3
-FBE4
-FBE5
-FBE6
-FBE7
-FBE8
-FBE9
-FBEA
-FBEB
-FBEC
-FBED
-FBEE
-FBEF
-FBF0
-FBF1
-FBF2
-FBF3
-FBF4
-FBF5
-FBF6
-FBF7
-FBF8
-FBF9
-FBFA
-FBFB
-FBFC
-FC40
-FC41
-FC42
-FC43
-FC44
-FC45
-FC46
-FC47
-FC48
-FC49
-FC4A
-FC4B
-FA40
-FA41
-FA42
-FA43
-FA44
-FA45
-FA46
-FA47
-FA48
-FA49
-81CA
-FA55
-FA56
-FA57
-FA40
-FA41
-FA42
-FA43
-FA44
-FA45
-FA46
-FA47
-FA48
-FA49
-8754
-8755
-8756
-8757
-8758
-8759
-875A
-875B
-875C
-875D
-81CA
-FA55
-FA56
-FA57
-878A
-8782
-8784
-81E6
-FA5C
-FA5D
-FA5E
-FA5F
-FA60
-FA61
-FA62
-FA63
-FA64
-FA65
-FA66
-FA67
-FA68
-FA69
-FA6A
-FA6B
-FA6C
-FA6D
-FA6E
-FA6F
-FA70
-FA71
-FA72
-FA73
-FA74
-FA75
-FA76
-FA77
-FA78
-FA79
-FA7A
-FA7B
-FA7C
-FA7D
-FA7E
-FA80
-FA81
-FA82
-FA83
-FA84
-FA85
-FA86
-FA87
-FA88
-FA89
-FA8A
-FA8B
-FA8C
-FA8D
-FA8E
-FA8F
-FA90
-FA91
-FA92
-FA93
-FA94
-FA95
-FA96
-FA97
-FA98
-FA99
-FA9A
-FA9B
-FA9C
-FA9D
-FA9E
-FA9F
-FAA0
-FAA1
-FAA2
-FAA3
-FAA4
-FAA5
-FAA6
-FAA7
-FAA8
-FAA9
-FAAA
-FAAB
-FAAC
-FAAD
-FAAE
-FAAF
-FAB0
-FAB1
-FAB2
-FAB3
-FAB4
-FAB5
-FAB6
-FAB7
-FAB8
-FAB9
-FABA
-FABB
-FABC
-FABD
-FABE
-FABF
-FAC0
-FAC1
-FAC2
-FAC3
-FAC4
-FAC5
-FAC6
-FAC7
-FAC8
-FAC9
-FACA
-FACB
-FACC
-FACD
-FACE
-FACF
-FAD0
-FAD1
-FAD2
-FAD3
-FAD4
-FAD5
-FAD6
-FAD7
-FAD8
-FAD9
-FADA
-FADB
-FADC
-FADD
-FADE
-FADF
-FAE0
-FAE1
-FAE2
-FAE3
-FAE4
-FAE5
-FAE6
-FAE7
-FAE8
-FAE9
-FAEA
-FAEB
-FAEC
-FAED
-FAEE
-FAEF
-FAF0
-FAF1
-FAF2
-FAF3
-FAF4
-FAF5
-FAF6
-FAF7
-FAF8
-FAF9
-FAFA
-FAFB
-FAFC
-FB40
-FB41
-FB42
-FB43
-FB44
-FB45
-FB46
-FB47
-FB48
-FB49
-FB4A
-FB4B
-FB4C
-FB4D
-FB4E
-FB4F
-FB50
-FB51
-FB52
-FB53
-FB54
-FB55
-FB56
-FB57
-FB58
-FB59
-FB5A
-FB5B
-FB5C
-FB5D
-FB5E
-FB5F
-FB60
-FB61
-FB62
-FB63
-FB64
-FB65
-FB66
-FB67
-FB68
-FB69
-FB6A
-FB6B
-FB6C
-FB6D
-FB6E
-FB6F
-FB70
-FB71
-FB72
-FB73
-FB74
-FB75
-FB76
-FB77
-FB78
-FB79
-FB7A
-FB7B
-FB7C
-FB7D
-FB7E
-FB80
-FB81
-FB82
-FB83
-FB84
-FB85
-FB86
-FB87
-FB88
-FB89
-FB8A
-FB8B
-FB8C
-FB8D
-FB8E
-FB8F
-FB90
-FB91
-FB92
-FB93
-FB94
-FB95
-FB96
-FB97
-FB98
-FB99
-FB9A
-FB9B
-FB9C
-FB9D
-FB9E
-FB9F
-FBA0
-FBA1
-FBA2
-FBA3
-FBA4
-FBA5
-FBA6
-FBA7
-FBA8
-FBA9
-FBAA
-FBAB
-FBAC
-FBAD
-FBAE
-FBAF
-FBB0
-FBB1
-FBB2
-FBB3
-FBB4
-FBB5
-FBB6
-FBB7
-FBB8
-FBB9
-FBBA
-FBBB
-FBBC
-FBBD
-FBBE
-FBBF
-FBC0
-FBC1
-FBC2
-FBC3
-FBC4
-FBC5
-FBC6
-FBC7
-FBC8
-FBC9
-FBCA
-FBCB
-FBCC
-FBCD
-FBCE
-FBCF
-FBD0
-FBD1
-FBD2
-FBD3
-FBD4
-FBD5
-FBD6
-FBD7
-FBD8
-FBD9
-FBDA
-FBDB
-FBDC
-FBDD
-FBDE
-FBDF
-FBE0
-FBE1
-FBE2
-FBE3
-FBE4
-FBE5
-FBE6
-FBE7
-FBE8
-FBE9
-FBEA
-FBEB
-FBEC
-FBED
-FBEE
-FBEF
-FBF0
-FBF1
-FBF2
-FBF3
-FBF4
-FBF5
-FBF6
-FBF7
-FBF8
-FBF9
-FBFA
-FBFB
-FBFC
-FC40
-FC41
-FC42
-FC43
-FC44
-FC45
-FC46
-FC47
-FC48
-FC49
-FC4A
-FC4B
-F040
-F041
-F042
-F043
-F044
-F045
-F046
-F047
-F048
-F049
-F04A
-F04B
-F04C
-F04D
-F04E
-F04F
-F050
-F051
-F052
-F053
-F054
-F055
-F056
-F057
-F058
-F059
-F05A
-F05B
-F05C
-F05D
-F05E
-F05F
-F060
-F061
-F062
-F063
-F064
-F065
-F066
-F067
-F068
-F069
-F06A
-F06B
-F06C
-F06D
-F06E
-F06F
-F070
-F071
-F072
-F073
-F074
-F075
-F076
-F077
-F078
-F079
-F07A
-F07B
-F07C
-F07D
-F07E
-F080
-F081
-F082
-F083
-F084
-F085
-F086
-F087
-F088
-F089
-F08A
-F08B
-F08C
-F08D
-F08E
-F08F
-F090
-F091
-F092
-F093
-F094
-F095
-F096
-F097
-F098
-F099
-F09A
-F09B
-F09C
-F09D
-F09E
-F09F
-F0A0
-F0A1
-F0A2
-F0A3
-F0A4
-F0A5
-F0A6
-F0A7
-F0A8
-F0A9
-F0AA
-F0AB
-F0AC
-F0AD
-F0AE
-F0AF
-F0B0
-F0B1
-F0B2
-F0B3
-F0B4
-F0B5
-F0B6
-F0B7
-F0B8
-F0B9
-F0BA
-F0BB
-F0BC
-F0BD
-F0BE
-F0BF
-F0C0
-F0C1
-F0C2
-F0C3
-F0C4
-F0C5
-F0C6
-F0C7
-F0C8
-F0C9
-F0CA
-F0CB
-F0CC
-F0CD
-F0CE
-F0CF
-F0D0
-F0D1
-F0D2
-F0D3
-F0D4
-F0D5
-F0D6
-F0D7
-F0D8
-F0D9
-F0DA
-F0DB
-F0DC
-F0DD
-F0DE
-F0DF
-F0E0
-F0E1
-F0E2
-F0E3
-F0E4
-F0E5
-F0E6
-F0E7
-F0E8
-F0E9
-F0EA
-F0EB
-F0EC
-F0ED
-F0EE
-F0EF
-F0F0
-F0F1
-F0F2
-F0F3
-F0F4
-F0F5
-F0F6
-F0F7
-F0F8
-F0F9
-F0FA
-F0FB
-F0FC
-F140
-F141
-F142
-F143
-F144
-F145
-F146
-F147
-F148
-F149
-F14A
-F14B
-F14C
-F14D
-F14E
-F14F
-F150
-F151
-F152
-F153
-F154
-F155
-F156
-F157
-F158
-F159
-F15A
-F15B
-F15C
-F15D
-F15E
-F15F
-F160
-F161
-F162
-F163
-F164
-F165
-F166
-F167
-F168
-F169
-F16A
-F16B
-F16C
-F16D
-F16E
-F16F
-F170
-F171
-F172
-F173
-F174
-F175
-F176
-F177
-F178
-F179
-F17A
-F17B
-F17C
-F17D
-F17E
-F180
-F181
-F182
-F183
-F184
-F185
-F186
-F187
-F188
-F189
-F18A
-F18B
-F18C
-F18D
-F18E
-F18F
-F190
-F191
-F192
-F193
-F194
-F195
-F196
-F197
-F198
-F199
-F19A
-F19B
-F19C
-F19D
-F19E
-F19F
-F1A0
-F1A1
-F1A2
-F1A3
-F1A4
-F1A5
-F1A6
-F1A7
-F1A8
-F1A9
-F1AA
-F1AB
-F1AC
-F1AD
-F1AE
-F1AF
-F1B0
-F1B1
-F1B2
-F1B3
-F1B4
-F1B5
-F1B6
-F1B7
-F1B8
-F1B9
-F1BA
-F1BB
-F1BC
-F1BD
-F1BE
-F1BF
-F1C0
-F1C1
-F1C2
-F1C3
-F1C4
-F1C5
-F1C6
-F1C7
-F1C8
-F1C9
-F1CA
-F1CB
-F1CC
-F1CD
-F1CE
-F1CF
-F1D0
-F1D1
-F1D2
-F1D3
-F1D4
-F1D5
-F1D6
-F1D7
-F1D8
-F1D9
-F1DA
-F1DB
-F1DC
-F1DD
-F1DE
-F1DF
-F1E0
-F1E1
-F1E2
-F1E3
-F1E4
-F1E5
-F1E6
-F1E7
-F1E8
-F1E9
-F1EA
-F1EB
-F1EC
-F1ED
-F1EE
-F1EF
-F1F0
-F1F1
-F1F2
-F1F3
-F1F4
-F1F5
-F1F6
-F1F7
-F1F8
-F1F9
-F1FA
-F1FB
-F1FC
-F240
-F241
-F242
-F243
-F244
-F245
-F246
-F247
-F248
-F249
-F24A
-F24B
-F24C
-F24D
-F24E
-F24F
-F250
-F251
-F252
-F253
-F254
-F255
-F256
-F257
-F258
-F259
-F25A
-F25B
-F25C
-F25D
-F25E
-F25F
-F260
-F261
-F262
-F263
-F264
-F265
-F266
-F267
-F268
-F269
-F26A
-F26B
-F26C
-F26D
-F26E
-F26F
-F270
-F271
-F272
-F273
-F274
-F275
-F276
-F277
-F278
-F279
-F27A
-F27B
-F27C
-F27D
-F27E
-F280
-F281
-F282
-F283
-F284
-F285
-F286
-F287
-F288
-F289
-F28A
-F28B
-F28C
-F28D
-F28E
-F28F
-F290
-F291
-F292
-F293
-F294
-F295
-F296
-F297
-F298
-F299
-F29A
-F29B
-F29C
-F29D
-F29E
-F29F
-F2A0
-F2A1
-F2A2
-F2A3
-F2A4
-F2A5
-F2A6
-F2A7
-F2A8
-F2A9
-F2AA
-F2AB
-F2AC
-F2AD
-F2AE
-F2AF
-F2B0
-F2B1
-F2B2
-F2B3
-F2B4
-F2B5
-F2B6
-F2B7
-F2B8
-F2B9
-F2BA
-F2BB
-F2BC
-F2BD
-F2BE
-F2BF
-F2C0
-F2C1
-F2C2
-F2C3
-F2C4
-F2C5
-F2C6
-F2C7
-F2C8
-F2C9
-F2CA
-F2CB
-F2CC
-F2CD
-F2CE
-F2CF
-F2D0
-F2D1
-F2D2
-F2D3
-F2D4
-F2D5
-F2D6
-F2D7
-F2D8
-F2D9
-F2DA
-F2DB
-F2DC
-F2DD
-F2DE
-F2DF
-F2E0
-F2E1
-F2E2
-F2E3
-F2E4
-F2E5
-F2E6
-F2E7
-F2E8
-F2E9
-F2EA
-F2EB
-F2EC
-F2ED
-F2EE
-F2EF
-F2F0
-F2F1
-F2F2
-F2F3
-F2F4
-F2F5
-F2F6
-F2F7
-F2F8
-F2F9
-F2FA
-F2FB
-F2FC
-F340
-F341
-F342
-F343
-F344
-F345
-F346
-F347
-F348
-F349
-F34A
-F34B
-F34C
-F34D
-F34E
-F34F
-F350
-F351
-F352
-F353
-F354
-F355
-F356
-F357
-F358
-F359
-F35A
-F35B
-F35C
-F35D
-F35E
-F35F
-F360
-F361
-F362
-F363
-F364
-F365
-F366
-F367
-F368
-F369
-F36A
-F36B
-F36C
-F36D
-F36E
-F36F
-F370
-F371
-F372
-F373
-F374
-F375
-F376
-F377
-F378
-F379
-F37A
-F37B
-F37C
-F37D
-F37E
-F380
-F381
-F382
-F383
-F384
-F385
-F386
-F387
-F388
-F389
-F38A
-F38B
-F38C
-F38D
-F38E
-F38F
-F390
-F391
-F392
-F393
-F394
-F395
-F396
-F397
-F398
-F399
-F39A
-F39B
-F39C
-F39D
-F39E
-F39F
-F3A0
-F3A1
-F3A2
-F3A3
-F3A4
-F3A5
-F3A6
-F3A7
-F3A8
-F3A9
-F3AA
-F3AB
-F3AC
-F3AD
-F3AE
-F3AF
-F3B0
-F3B1
-F3B2
-F3B3
-F3B4
-F3B5
-F3B6
-F3B7
-F3B8
-F3B9
-F3BA
-F3BB
-F3BC
-F3BD
-F3BE
-F3BF
-F3C0
-F3C1
-F3C2
-F3C3
-F3C4
-F3C5
-F3C6
-F3C7
-F3C8
-F3C9
-F3CA
-F3CB
-F3CC
-F3CD
-F3CE
-F3CF
-F3D0
-F3D1
-F3D2
-F3D3
-F3D4
-F3D5
-F3D6
-F3D7
-F3D8
-F3D9
-F3DA
-F3DB
-F3DC
-F3DD
-F3DE
-F3DF
-F3E0
-F3E1
-F3E2
-F3E3
-F3E4
-F3E5
-F3E6
-F3E7
-F3E8
-F3E9
-F3EA
-F3EB
-F3EC
-F3ED
-F3EE
-F3EF
-F3F0
-F3F1
-F3F2
-F3F3
-F3F4
-F3F5
-F3F6
-F3F7
-F3F8
-F3F9
-F3FA
-F3FB
-F3FC
-F440
-F441
-F442
-F443
-F444
-F445
-F446
-F447
-F448
-F449
-F44A
-F44B
-F44C
-F44D
-F44E
-F44F
-F450
-F451
-F452
-F453
-F454
-F455
-F456
-F457
-F458
-F459
-F45A
-F45B
-F45C
-F45D
-F45E
-F45F
-F460
-F461
-F462
-F463
-F464
-F465
-F466
-F467
-F468
-F469
-F46A
-F46B
-F46C
-F46D
-F46E
-F46F
-F470
-F471
-F472
-F473
-F474
-F475
-F476
-F477
-F478
-F479
-F47A
-F47B
-F47C
-F47D
-F47E
-F480
-F481
-F482
-F483
-F484
-F485
-F486
-F487
-F488
-F489
-F48A
-F48B
-F48C
-F48D
-F48E
-F48F
-F490
-F491
-F492
-F493
-F494
-F495
-F496
-F497
-F498
-F499
-F49A
-F49B
-F49C
-F49D
-F49E
-F49F
-F4A0
-F4A1
-F4A2
-F4A3
-F4A4
-F4A5
-F4A6
-F4A7
-F4A8
-F4A9
-F4AA
-F4AB
-F4AC
-F4AD
-F4AE
-F4AF
-F4B0
-F4B1
-F4B2
-F4B3
-F4B4
-F4B5
-F4B6
-F4B7
-F4B8
-F4B9
-F4BA
-F4BB
-F4BC
-F4BD
-F4BE
-F4BF
-F4C0
-F4C1
-F4C2
-F4C3
-F4C4
-F4C5
-F4C6
-F4C7
-F4C8
-F4C9
-F4CA
-F4CB
-F4CC
-F4CD
-F4CE
-F4CF
-F4D0
-F4D1
-F4D2
-F4D3
-F4D4
-F4D5
-F4D6
-F4D7
-F4D8
-F4D9
-F4DA
-F4DB
-F4DC
-F4DD
-F4DE
-F4DF
-F4E0
-F4E1
-F4E2
-F4E3
-F4E4
-F4E5
-F4E6
-F4E7
-F4E8
-F4E9
-F4EA
-F4EB
-F4EC
-F4ED
-F4EE
-F4EF
-F4F0
-F4F1
-F4F2
-F4F3
-F4F4
-F4F5
-F4F6
-F4F7
-F4F8
-F4F9
-F4FA
-F4FB
-F4FC
-F540
-F541
-F542
-F543
-F544
-F545
-F546
-F547
-F548
-F549
-F54A
-F54B
-F54C
-F54D
-F54E
-F54F
-F550
-F551
-F552
-F553
-F554
-F555
-F556
-F557
-F558
-F559
-F55A
-F55B
-F55C
-F55D
-F55E
-F55F
-F560
-F561
-F562
-F563
-F564
-F565
-F566
-F567
-F568
-F569
-F56A
-F56B
-F56C
-F56D
-F56E
-F56F
-F570
-F571
-F572
-F573
-F574
-F575
-F576
-F577
-F578
-F579
-F57A
-F57B
-F57C
-F57D
-F57E
-F580
-F581
-F582
-F583
-F584
-F585
-F586
-F587
-F588
-F589
-F58A
-F58B
-F58C
-F58D
-F58E
-F58F
-F590
-F591
-F592
-F593
-F594
-F595
-F596
-F597
-F598
-F599
-F59A
-F59B
-F59C
-F59D
-F59E
-F59F
-F5A0
-F5A1
-F5A2
-F5A3
-F5A4
-F5A5
-F5A6
-F5A7
-F5A8
-F5A9
-F5AA
-F5AB
-F5AC
-F5AD
-F5AE
-F5AF
-F5B0
-F5B1
-F5B2
-F5B3
-F5B4
-F5B5
-F5B6
-F5B7
-F5B8
-F5B9
-F5BA
-F5BB
-F5BC
-F5BD
-F5BE
-F5BF
-F5C0
-F5C1
-F5C2
-F5C3
-F5C4
-F5C5
-F5C6
-F5C7
-F5C8
-F5C9
-F5CA
-F5CB
-F5CC
-F5CD
-F5CE
-F5CF
-F5D0
-F5D1
-F5D2
-F5D3
-F5D4
-F5D5
-F5D6
-F5D7
-F5D8
-F5D9
-F5DA
-F5DB
-F5DC
-F5DD
-F5DE
-F5DF
-F5E0
-F5E1
-F5E2
-F5E3
-F5E4
-F5E5
-F5E6
-F5E7
-F5E8
-F5E9
-F5EA
-F5EB
-F5EC
-F5ED
-F5EE
-F5EF
-F5F0
-F5F1
-F5F2
-F5F3
-F5F4
-F5F5
-F5F6
-F5F7
-F5F8
-F5F9
-F5FA
-F5FB
-F5FC
-F640
-F641
-F642
-F643
-F644
-F645
-F646
-F647
-F648
-F649
-F64A
-F64B
-F64C
-F64D
-F64E
-F64F
-F650
-F651
-F652
-F653
-F654
-F655
-F656
-F657
-F658
-F659
-F65A
-F65B
-F65C
-F65D
-F65E
-F65F
-F660
-F661
-F662
-F663
-F664
-F665
-F666
-F667
-F668
-F669
-F66A
-F66B
-F66C
-F66D
-F66E
-F66F
-F670
-F671
-F672
-F673
-F674
-F675
-F676
-F677
-F678
-F679
-F67A
-F67B
-F67C
-F67D
-F67E
-F680
-F681
-F682
-F683
-F684
-F685
-F686
-F687
-F688
-F689
-F68A
-F68B
-F68C
-F68D
-F68E
-F68F
-F690
-F691
-F692
-F693
-F694
-F695
-F696
-F697
-F698
-F699
-F69A
-F69B
-F69C
-F69D
-F69E
-F69F
-F6A0
-F6A1
-F6A2
-F6A3
-F6A4
-F6A5
-F6A6
-F6A7
-F6A8
-F6A9
-F6AA
-F6AB
-F6AC
-F6AD
-F6AE
-F6AF
-F6B0
-F6B1
-F6B2
-F6B3
-F6B4
-F6B5
-F6B6
-F6B7
-F6B8
-F6B9
-F6BA
-F6BB
-F6BC
-F6BD
-F6BE
-F6BF
-F6C0
-F6C1
-F6C2
-F6C3
-F6C4
-F6C5
-F6C6
-F6C7
-F6C8
-F6C9
-F6CA
-F6CB
-F6CC
-F6CD
-F6CE
-F6CF
-F6D0
-F6D1
-F6D2
-F6D3
-F6D4
-F6D5
-F6D6
-F6D7
-F6D8
-F6D9
-F6DA
-F6DB
-F6DC
-F6DD
-F6DE
-F6DF
-F6E0
-F6E1
-F6E2
-F6E3
-F6E4
-F6E5
-F6E6
-F6E7
-F6E8
-F6E9
-F6EA
-F6EB
-F6EC
-F6ED
-F6EE
-F6EF
-F6F0
-F6F1
-F6F2
-F6F3
-F6F4
-F6F5
-F6F6
-F6F7
-F6F8
-F6F9
-F6FA
-F6FB
-F6FC
-F740
-F741
-F742
-F743
-F744
-F745
-F746
-F747
-F748
-F749
-F74A
-F74B
-F74C
-F74D
-F74E
-F74F
-F750
-F751
-F752
-F753
-F754
-F755
-F756
-F757
-F758
-F759
-F75A
-F75B
-F75C
-F75D
-F75E
-F75F
-F760
-F761
-F762
-F763
-F764
-F765
-F766
-F767
-F768
-F769
-F76A
-F76B
-F76C
-F76D
-F76E
-F76F
-F770
-F771
-F772
-F773
-F774
-F775
-F776
-F777
-F778
-F779
-F77A
-F77B
-F77C
-F77D
-F77E
-F780
-F781
-F782
-F783
-F784
-F785
-F786
-F787
-F788
-F789
-F78A
-F78B
-F78C
-F78D
-F78E
-F78F
-F790
-F791
-F792
-F793
-F794
-F795
-F796
-F797
-F798
-F799
-F79A
-F79B
-F79C
-F79D
-F79E
-F79F
-F7A0
-F7A1
-F7A2
-F7A3
-F7A4
-F7A5
-F7A6
-F7A7
-F7A8
-F7A9
-F7AA
-F7AB
-F7AC
-F7AD
-F7AE
-F7AF
-F7B0
-F7B1
-F7B2
-F7B3
-F7B4
-F7B5
-F7B6
-F7B7
-F7B8
-F7B9
-F7BA
-F7BB
-F7BC
-F7BD
-F7BE
-F7BF
-F7C0
-F7C1
-F7C2
-F7C3
-F7C4
-F7C5
-F7C6
-F7C7
-F7C8
-F7C9
-F7CA
-F7CB
-F7CC
-F7CD
-F7CE
-F7CF
-F7D0
-F7D1
-F7D2
-F7D3
-F7D4
-F7D5
-F7D6
-F7D7
-F7D8
-F7D9
-F7DA
-F7DB
-F7DC
-F7DD
-F7DE
-F7DF
-F7E0
-F7E1
-F7E2
-F7E3
-F7E4
-F7E5
-F7E6
-F7E7
-F7E8
-F7E9
-F7EA
-F7EB
-F7EC
-F7ED
-F7EE
-F7EF
-F7F0
-F7F1
-F7F2
-F7F3
-F7F4
-F7F5
-F7F6
-F7F7
-F7F8
-F7F9
-F7FA
-F7FB
-F7FC
-F840
-F841
-F842
-F843
-F844
-F845
-F846
-F847
-F848
-F849
-F84A
-F84B
-F84C
-F84D
-F84E
-F84F
-F850
-F851
-F852
-F853
-F854
-F855
-F856
-F857
-F858
-F859
-F85A
-F85B
-F85C
-F85D
-F85E
-F85F
-F860
-F861
-F862
-F863
-F864
-F865
-F866
-F867
-F868
-F869
-F86A
-F86B
-F86C
-F86D
-F86E
-F86F
-F870
-F871
-F872
-F873
-F874
-F875
-F876
-F877
-F878
-F879
-F87A
-F87B
-F87C
-F87D
-F87E
-F880
-F881
-F882
-F883
-F884
-F885
-F886
-F887
-F888
-F889
-F88A
-F88B
-F88C
-F88D
-F88E
-F88F
-F890
-F891
-F892
-F893
-F894
-F895
-F896
-F897
-F898
-F899
-F89A
-F89B
-F89C
-F89D
-F89E
-F89F
-F8A0
-F8A1
-F8A2
-F8A3
-F8A4
-F8A5
-F8A6
-F8A7
-F8A8
-F8A9
-F8AA
-F8AB
-F8AC
-F8AD
-F8AE
-F8AF
-F8B0
-F8B1
-F8B2
-F8B3
-F8B4
-F8B5
-F8B6
-F8B7
-F8B8
-F8B9
-F8BA
-F8BB
-F8BC
-F8BD
-F8BE
-F8BF
-F8C0
-F8C1
-F8C2
-F8C3
-F8C4
-F8C5
-F8C6
-F8C7
-F8C8
-F8C9
-F8CA
-F8CB
-F8CC
-F8CD
-F8CE
-F8CF
-F8D0
-F8D1
-F8D2
-F8D3
-F8D4
-F8D5
-F8D6
-F8D7
-F8D8
-F8D9
-F8DA
-F8DB
-F8DC
-F8DD
-F8DE
-F8DF
-F8E0
-F8E1
-F8E2
-F8E3
-F8E4
-F8E5
-F8E6
-F8E7
-F8E8
-F8E9
-F8EA
-F8EB
-F8EC
-F8ED
-F8EE
-F8EF
-F8F0
-F8F1
-F8F2
-F8F3
-F8F4
-F8F5
-F8F6
-F8F7
-F8F8
-F8F9
-F8FA
-F8FB
-F8FC
-F940
-F941
-F942
-F943
-F944
-F945
-F946
-F947
-F948
-F949
-F94A
-F94B
-F94C
-F94D
-F94E
-F94F
-F950
-F951
-F952
-F953
-F954
-F955
-F956
-F957
-F958
-F959
-F95A
-F95B
-F95C
-F95D
-F95E
-F95F
-F960
-F961
-F962
-F963
-F964
-F965
-F966
-F967
-F968
-F969
-F96A
-F96B
-F96C
-F96D
-F96E
-F96F
-F970
-F971
-F972
-F973
-F974
-F975
-F976
-F977
-F978
-F979
-F97A
-F97B
-F97C
-F97D
-F97E
-F980
-F981
-F982
-F983
-F984
-F985
-F986
-F987
-F988
-F989
-F98A
-F98B
-F98C
-F98D
-F98E
-F98F
-F990
-F991
-F992
-F993
-F994
-F995
-F996
-F997
-F998
-F999
-F99A
-F99B
-F99C
-F99D
-F99E
-F99F
-F9A0
-F9A1
-F9A2
-F9A3
-F9A4
-F9A5
-F9A6
-F9A7
-F9A8
-F9A9
-F9AA
-F9AB
-F9AC
-F9AD
-F9AE
-F9AF
-F9B0
-F9B1
-F9B2
-F9B3
-F9B4
-F9B5
-F9B6
-F9B7
-F9B8
-F9B9
-F9BA
-F9BB
-F9BC
-F9BD
-F9BE
-F9BF
-F9C0
-F9C1
-F9C2
-F9C3
-F9C4
-F9C5
-F9C6
-F9C7
-F9C8
-F9C9
-F9CA
-F9CB
-F9CC
-F9CD
-F9CE
-F9CF
-F9D0
-F9D1
-F9D2
-F9D3
-F9D4
-F9D5
-F9D6
-F9D7
-F9D8
-F9D9
-F9DA
-F9DB
-F9DC
-F9DD
-F9DE
-F9DF
-F9E0
-F9E1
-F9E2
-F9E3
-F9E4
-F9E5
-F9E6
-F9E7
-F9E8
-F9E9
-F9EA
-F9EB
-F9EC
-F9ED
-F9EE
-F9EF
-F9F0
-F9F1
-F9F2
-F9F3
-F9F4
-F9F5
-F9F6
-F9F7
-F9F8
-F9F9
-F9FA
-F9FB
-F9FC
-CREATE TABLE t4 SELECT CONVERT(c1 USING eucjpms) AS c1 FROM t1;
-SELECT HEX(c1) FROM t4;
-HEX(c1)
-05
-7E
-A1BD
-A1C0
-A1C1
-A1C2
-A1DD
-A1F1
-A1F2
-A2CC
-ADA1
-ADA2
-ADA3
-ADA4
-ADA5
-ADA6
-ADA7
-ADA8
-ADA9
-ADAA
-ADAB
-ADAC
-ADAD
-ADAE
-ADAF
-ADB0
-ADB1
-ADB2
-ADB3
-ADB4
-ADB5
-ADB6
-ADB7
-ADB8
-ADB9
-ADBA
-ADBB
-ADBC
-ADBD
-ADBE
-ADC0
-ADC1
-ADC2
-ADC3
-ADC4
-ADC5
-ADC6
-ADC7
-ADC8
-ADC9
-ADCA
-ADCB
-ADCC
-ADCD
-ADCE
-ADCF
-ADD0
-ADD1
-ADD2
-ADD3
-ADD4
-ADD5
-ADD6
-ADDF
-ADE0
-ADE1
-ADE2
-ADE3
-ADE4
-ADE5
-ADE6
-ADE7
-ADE8
-ADE9
-ADEA
-ADEB
-ADEC
-ADED
-ADEE
-ADEF
-A2E2
-A2E1
-A2E9
-ADF3
-ADF4
-A2E5
-A2DD
-A2DC
-ADF8
-ADF9
-A2E8
-A2C1
-A2C0
-8FD4E3
-8FDCDF
-8FE4E9
-8FE3F8
-8FD9A1
-8FB1BB
-8FF4AE
-8FC2AD
-8FC3FC
-8FE4D0
-8FC2BF
-8FBCF4
-8FB0A9
-8FB0C8
-8FF4AF
-8FB0D2
-8FB0D4
-8FB0E3
-8FB0EE
-8FB1A7
-8FB1A3
-8FB1AC
-8FB1A9
-8FB1BE
-8FB1DF
-8FB1D8
-8FB1C8
-8FB1D7
-8FB1E3
-8FB1F4
-8FB1E1
-8FB2A3
-8FF4B0
-8FB2BB
-8FB2E6
-8FB2ED
-8FB2F5
-8FB2FC
-8FF4B1
-8FB3B5
-8FB3D8
-8FB3DB
-8FB3E5
-8FB3EE
-8FB3FB
-8FF4B2
-8FF4B3
-8FB4C0
-8FB4C7
-8FB4D0
-8FB4DE
-8FF4B4
-8FB5AA
-8FF4B5
-8FB5AF
-8FB5C4
-8FB5E8
-8FF4B6
-8FB7C2
-8FB7E4
-8FB7E8
-8FB7E7
-8FF4B7
-8FF4B8
-8FF4B9
-8FB8CE
-8FB8E1
-8FB8F5
-8FB8F7
-8FB8F8
-8FB8FC
-8FB9AF
-8FB9B7
-8FBABE
-8FBADB
-8FCDAA
-8FBAE1
-8FF4BA
-8FBAEB
-8FBBB3
-8FBBB8
-8FF4BB
-8FBBCA
-8FF4BC
-8FF4BD
-8FBBD0
-8FBBDE
-8FBBF4
-8FBBF5
-8FBBF9
-8FBCE4
-8FBCED
-8FBCFE
-8FF4BE
-8FBDC2
-8FBDE7
-8FF4BF
-8FBDF0
-8FBEB0
-8FBEAC
-8FF4C0
-8FBEB3
-8FBEBD
-8FBECD
-8FBEC9
-8FBEE4
-8FBFA8
-8FBFC9
-8FC0C4
-8FC0E4
-8FC0F4
-8FC1A6
-8FF4C1
-8FC1F5
-8FC1FC
-8FF4C2
-8FC1F8
-8FC2AB
-8FC2A1
-8FC2A5
-8FF4C3
-8FC2B8
-8FC2BA
-8FF4C4
-8FC2C4
-8FC2D2
-8FC2D7
-8FC2DB
-8FC2DE
-8FC2ED
-8FC2F0
-8FF4C5
-8FC3A1
-8FC3B5
-8FC3C9
-8FC3B9
-8FF4C6
-8FC3D8
-8FC3FE
-8FF4C7
-8FC4CC
-8FF4C8
-8FC4D9
-8FC4EA
-8FC4FD
-8FF4C9
-8FC5A7
-8FC5B5
-8FC5B6
-8FF4CA
-8FC5D5
-8FC6B8
-8FC6D7
-8FC6E0
-8FC6EA
-8FC6E3
-8FC7A1
-8FC7AB
-8FC7C7
-8FC7C3
-8FC7CB
-8FC7CF
-8FC7D9
-8FF4CB
-8FF4CC
-8FC7E6
-8FC7EE
-8FC7FC
-8FC7EB
-8FC7F0
-8FC8B1
-8FC8E5
-8FC8F8
-8FC9A6
-8FC9AB
-8FC9AD
-8FF4CD
-8FC9CA
-8FC9D3
-8FC9E9
-8FC9E3
-8FC9FC
-8FC9F4
-8FC9F5
-8FF4CE
-8FCAB3
-8FCABD
-8FCAEF
-8FCAF1
-8FCBAE
-8FF4CF
-8FCBCA
-8FCBE6
-8FCBEA
-8FCBF0
-8FCBF4
-8FCBEE
-8FCCA5
-8FCBF9
-8FCCAB
-8FCCAE
-8FCCAD
-8FCCB2
-8FCCC2
-8FCCD0
-8FCCD9
-8FF4D0
-8FCDBB
-8FF4D1
-8FCEBB
-8FF4D2
-8FCEBA
-8FCEC3
-8FF4D3
-8FCEF2
-8FB3DD
-8FCFD5
-8FCFE2
-8FCFE9
-8FCFED
-8FF4D4
-8FF4D5
-8FF4D6
-8FF4D7
-8FD0E5
-8FF4D8
-8FD0E9
-8FD1E8
-8FF4D9
-8FF4DA
-8FD1EC
-8FD2BB
-8FF4DB
-8FD3E1
-8FD3E8
-8FD4A7
-8FF4DC
-8FF4DD
-8FD4D4
-8FD4F2
-8FD5AE
-8FF4DE
-8FD7DE
-8FF4DF
-8FD8A2
-8FD8B7
-8FD8C1
-8FD8D1
-8FD8F4
-8FD9C6
-8FD9C8
-8FD9D1
-8FF4E0
-8FF4E1
-8FF4E2
-8FF4E3
-8FF4E4
-8FDCD3
-8FDDC8
-8FDDD4
-8FDDEA
-8FDDFA
-8FDEA4
-8FDEB0
-8FF4E5
-8FDEB5
-8FDECB
-8FF4E6
-8FDFB9
-8FF4E7
-8FDFC3
-8FF4E8
-8FF4E9
-8FE0D9
-8FF4EA
-8FF4EB
-8FE1E2
-8FF4EC
-8FF4ED
-8FF4EE
-8FE2C7
-8FE3A8
-8FE3A6
-8FE3A9
-8FE3AF
-8FE3B0
-8FE3AA
-8FE3AB
-8FE3BC
-8FE3C1
-8FE3BF
-8FE3D5
-8FE3D8
-8FE3D6
-8FE3DF
-8FE3E3
-8FE3E1
-8FE3D4
-8FE3E9
-8FE4A6
-8FE3F1
-8FE3F2
-8FE4CB
-8FE4C1
-8FE4C3
-8FE4BE
-8FF4EF
-8FE4C0
-8FE4C7
-8FE4BF
-8FE4E0
-8FE4DE
-8FE4D1
-8FF4F0
-8FE4DC
-8FE4D2
-8FE4DB
-8FE4D4
-8FE4FA
-8FE4EF
-8FE5B3
-8FE5BF
-8FE5C9
-8FE5D0
-8FE5E2
-8FE5EA
-8FE5EB
-8FF4F1
-8FF4F2
-8FF4F3
-8FE6E8
-8FE6EF
-8FE7AC
-8FF4F4
-8FE7AE
-8FF4F5
-8FE7B1
-8FF4F6
-8FE7B2
-8FE8B1
-8FE8B6
-8FF4F7
-8FF4F8
-8FE8DD
-8FF4F9
-8FF4FA
-8FE9D1
-8FF4FB
-8FE9ED
-8FEACD
-8FF4FC
-8FEADB
-8FEAE6
-8FEAEA
-8FEBA5
-8FEBFB
-8FEBFA
-8FF4FD
-8FECD6
-8FF4FE
-8FF3F3
-8FF3F4
-8FF3F5
-8FF3F6
-8FF3F7
-8FF3F8
-8FF3F9
-8FF3FA
-8FF3FB
-8FF3FC
-A2CC
-8FA2C3
-8FF4A9
-8FF4AA
-8FF3F3
-8FF3F4
-8FF3F5
-8FF3F6
-8FF3F7
-8FF3F8
-8FF3F9
-8FF3FA
-8FF3FB
-8FF3FC
-ADB5
-ADB6
-ADB7
-ADB8
-ADB9
-ADBA
-ADBB
-ADBC
-ADBD
-ADBE
-A2CC
-8FA2C3
-8FF4A9
-8FF4AA
-ADEA
-ADE2
-ADE4
-A2E8
-8FD4E3
-8FDCDF
-8FE4E9
-8FE3F8
-8FD9A1
-8FB1BB
-8FF4AE
-8FC2AD
-8FC3FC
-8FE4D0
-8FC2BF
-8FBCF4
-8FB0A9
-8FB0C8
-8FF4AF
-8FB0D2
-8FB0D4
-8FB0E3
-8FB0EE
-8FB1A7
-8FB1A3
-8FB1AC
-8FB1A9
-8FB1BE
-8FB1DF
-8FB1D8
-8FB1C8
-8FB1D7
-8FB1E3
-8FB1F4
-8FB1E1
-8FB2A3
-8FF4B0
-8FB2BB
-8FB2E6
-8FB2ED
-8FB2F5
-8FB2FC
-8FF4B1
-8FB3B5
-8FB3D8
-8FB3DB
-8FB3E5
-8FB3EE
-8FB3FB
-8FF4B2
-8FF4B3
-8FB4C0
-8FB4C7
-8FB4D0
-8FB4DE
-8FF4B4
-8FB5AA
-8FF4B5
-8FB5AF
-8FB5C4
-8FB5E8
-8FF4B6
-8FB7C2
-8FB7E4
-8FB7E8
-8FB7E7
-8FF4B7
-8FF4B8
-8FF4B9
-8FB8CE
-8FB8E1
-8FB8F5
-8FB8F7
-8FB8F8
-8FB8FC
-8FB9AF
-8FB9B7
-8FBABE
-8FBADB
-8FCDAA
-8FBAE1
-8FF4BA
-8FBAEB
-8FBBB3
-8FBBB8
-8FF4BB
-8FBBCA
-8FF4BC
-8FF4BD
-8FBBD0
-8FBBDE
-8FBBF4
-8FBBF5
-8FBBF9
-8FBCE4
-8FBCED
-8FBCFE
-8FF4BE
-8FBDC2
-8FBDE7
-8FF4BF
-8FBDF0
-8FBEB0
-8FBEAC
-8FF4C0
-8FBEB3
-8FBEBD
-8FBECD
-8FBEC9
-8FBEE4
-8FBFA8
-8FBFC9
-8FC0C4
-8FC0E4
-8FC0F4
-8FC1A6
-8FF4C1
-8FC1F5
-8FC1FC
-8FF4C2
-8FC1F8
-8FC2AB
-8FC2A1
-8FC2A5
-8FF4C3
-8FC2B8
-8FC2BA
-8FF4C4
-8FC2C4
-8FC2D2
-8FC2D7
-8FC2DB
-8FC2DE
-8FC2ED
-8FC2F0
-8FF4C5
-8FC3A1
-8FC3B5
-8FC3C9
-8FC3B9
-8FF4C6
-8FC3D8
-8FC3FE
-8FF4C7
-8FC4CC
-8FF4C8
-8FC4D9
-8FC4EA
-8FC4FD
-8FF4C9
-8FC5A7
-8FC5B5
-8FC5B6
-8FF4CA
-8FC5D5
-8FC6B8
-8FC6D7
-8FC6E0
-8FC6EA
-8FC6E3
-8FC7A1
-8FC7AB
-8FC7C7
-8FC7C3
-8FC7CB
-8FC7CF
-8FC7D9
-8FF4CB
-8FF4CC
-8FC7E6
-8FC7EE
-8FC7FC
-8FC7EB
-8FC7F0
-8FC8B1
-8FC8E5
-8FC8F8
-8FC9A6
-8FC9AB
-8FC9AD
-8FF4CD
-8FC9CA
-8FC9D3
-8FC9E9
-8FC9E3
-8FC9FC
-8FC9F4
-8FC9F5
-8FF4CE
-8FCAB3
-8FCABD
-8FCAEF
-8FCAF1
-8FCBAE
-8FF4CF
-8FCBCA
-8FCBE6
-8FCBEA
-8FCBF0
-8FCBF4
-8FCBEE
-8FCCA5
-8FCBF9
-8FCCAB
-8FCCAE
-8FCCAD
-8FCCB2
-8FCCC2
-8FCCD0
-8FCCD9
-8FF4D0
-8FCDBB
-8FF4D1
-8FCEBB
-8FF4D2
-8FCEBA
-8FCEC3
-8FF4D3
-8FCEF2
-8FB3DD
-8FCFD5
-8FCFE2
-8FCFE9
-8FCFED
-8FF4D4
-8FF4D5
-8FF4D6
-8FF4D7
-8FD0E5
-8FF4D8
-8FD0E9
-8FD1E8
-8FF4D9
-8FF4DA
-8FD1EC
-8FD2BB
-8FF4DB
-8FD3E1
-8FD3E8
-8FD4A7
-8FF4DC
-8FF4DD
-8FD4D4
-8FD4F2
-8FD5AE
-8FF4DE
-8FD7DE
-8FF4DF
-8FD8A2
-8FD8B7
-8FD8C1
-8FD8D1
-8FD8F4
-8FD9C6
-8FD9C8
-8FD9D1
-8FF4E0
-8FF4E1
-8FF4E2
-8FF4E3
-8FF4E4
-8FDCD3
-8FDDC8
-8FDDD4
-8FDDEA
-8FDDFA
-8FDEA4
-8FDEB0
-8FF4E5
-8FDEB5
-8FDECB
-8FF4E6
-8FDFB9
-8FF4E7
-8FDFC3
-8FF4E8
-8FF4E9
-8FE0D9
-8FF4EA
-8FF4EB
-8FE1E2
-8FF4EC
-8FF4ED
-8FF4EE
-8FE2C7
-8FE3A8
-8FE3A6
-8FE3A9
-8FE3AF
-8FE3B0
-8FE3AA
-8FE3AB
-8FE3BC
-8FE3C1
-8FE3BF
-8FE3D5
-8FE3D8
-8FE3D6
-8FE3DF
-8FE3E3
-8FE3E1
-8FE3D4
-8FE3E9
-8FE4A6
-8FE3F1
-8FE3F2
-8FE4CB
-8FE4C1
-8FE4C3
-8FE4BE
-8FF4EF
-8FE4C0
-8FE4C7
-8FE4BF
-8FE4E0
-8FE4DE
-8FE4D1
-8FF4F0
-8FE4DC
-8FE4D2
-8FE4DB
-8FE4D4
-8FE4FA
-8FE4EF
-8FE5B3
-8FE5BF
-8FE5C9
-8FE5D0
-8FE5E2
-8FE5EA
-8FE5EB
-8FF4F1
-8FF4F2
-8FF4F3
-8FE6E8
-8FE6EF
-8FE7AC
-8FF4F4
-8FE7AE
-8FF4F5
-8FE7B1
-8FF4F6
-8FE7B2
-8FE8B1
-8FE8B6
-8FF4F7
-8FF4F8
-8FE8DD
-8FF4F9
-8FF4FA
-8FE9D1
-8FF4FB
-8FE9ED
-8FEACD
-8FF4FC
-8FEADB
-8FEAE6
-8FEAEA
-8FEBA5
-8FEBFB
-8FEBFA
-8FF4FD
-8FECD6
-8FF4FE
-F5A1
-F5A2
-F5A3
-F5A4
-F5A5
-F5A6
-F5A7
-F5A8
-F5A9
-F5AA
-F5AB
-F5AC
-F5AD
-F5AE
-F5AF
-F5B0
-F5B1
-F5B2
-F5B3
-F5B4
-F5B5
-F5B6
-F5B7
-F5B8
-F5B9
-F5BA
-F5BB
-F5BC
-F5BD
-F5BE
-F5BF
-F5C0
-F5C1
-F5C2
-F5C3
-F5C4
-F5C5
-F5C6
-F5C7
-F5C8
-F5C9
-F5CA
-F5CB
-F5CC
-F5CD
-F5CE
-F5CF
-F5D0
-F5D1
-F5D2
-F5D3
-F5D4
-F5D5
-F5D6
-F5D7
-F5D8
-F5D9
-F5DA
-F5DB
-F5DC
-F5DD
-F5DE
-F5DF
-F5E0
-F5E1
-F5E2
-F5E3
-F5E4
-F5E5
-F5E6
-F5E7
-F5E8
-F5E9
-F5EA
-F5EB
-F5EC
-F5ED
-F5EE
-F5EF
-F5F0
-F5F1
-F5F2
-F5F3
-F5F4
-F5F5
-F5F6
-F5F7
-F5F8
-F5F9
-F5FA
-F5FB
-F5FC
-F5FD
-F5FE
-F6A1
-F6A2
-F6A3
-F6A4
-F6A5
-F6A6
-F6A7
-F6A8
-F6A9
-F6AA
-F6AB
-F6AC
-F6AD
-F6AE
-F6AF
-F6B0
-F6B1
-F6B2
-F6B3
-F6B4
-F6B5
-F6B6
-F6B7
-F6B8
-F6B9
-F6BA
-F6BB
-F6BC
-F6BD
-F6BE
-F6BF
-F6C0
-F6C1
-F6C2
-F6C3
-F6C4
-F6C5
-F6C6
-F6C7
-F6C8
-F6C9
-F6CA
-F6CB
-F6CC
-F6CD
-F6CE
-F6CF
-F6D0
-F6D1
-F6D2
-F6D3
-F6D4
-F6D5
-F6D6
-F6D7
-F6D8
-F6D9
-F6DA
-F6DB
-F6DC
-F6DD
-F6DE
-F6DF
-F6E0
-F6E1
-F6E2
-F6E3
-F6E4
-F6E5
-F6E6
-F6E7
-F6E8
-F6E9
-F6EA
-F6EB
-F6EC
-F6ED
-F6EE
-F6EF
-F6F0
-F6F1
-F6F2
-F6F3
-F6F4
-F6F5
-F6F6
-F6F7
-F6F8
-F6F9
-F6FA
-F6FB
-F6FC
-F6FD
-F6FE
-F7A1
-F7A2
-F7A3
-F7A4
-F7A5
-F7A6
-F7A7
-F7A8
-F7A9
-F7AA
-F7AB
-F7AC
-F7AD
-F7AE
-F7AF
-F7B0
-F7B1
-F7B2
-F7B3
-F7B4
-F7B5
-F7B6
-F7B7
-F7B8
-F7B9
-F7BA
-F7BB
-F7BC
-F7BD
-F7BE
-F7BF
-F7C0
-F7C1
-F7C2
-F7C3
-F7C4
-F7C5
-F7C6
-F7C7
-F7C8
-F7C9
-F7CA
-F7CB
-F7CC
-F7CD
-F7CE
-F7CF
-F7D0
-F7D1
-F7D2
-F7D3
-F7D4
-F7D5
-F7D6
-F7D7
-F7D8
-F7D9
-F7DA
-F7DB
-F7DC
-F7DD
-F7DE
-F7DF
-F7E0
-F7E1
-F7E2
-F7E3
-F7E4
-F7E5
-F7E6
-F7E7
-F7E8
-F7E9
-F7EA
-F7EB
-F7EC
-F7ED
-F7EE
-F7EF
-F7F0
-F7F1
-F7F2
-F7F3
-F7F4
-F7F5
-F7F6
-F7F7
-F7F8
-F7F9
-F7FA
-F7FB
-F7FC
-F7FD
-F7FE
-F8A1
-F8A2
-F8A3
-F8A4
-F8A5
-F8A6
-F8A7
-F8A8
-F8A9
-F8AA
-F8AB
-F8AC
-F8AD
-F8AE
-F8AF
-F8B0
-F8B1
-F8B2
-F8B3
-F8B4
-F8B5
-F8B6
-F8B7
-F8B8
-F8B9
-F8BA
-F8BB
-F8BC
-F8BD
-F8BE
-F8BF
-F8C0
-F8C1
-F8C2
-F8C3
-F8C4
-F8C5
-F8C6
-F8C7
-F8C8
-F8C9
-F8CA
-F8CB
-F8CC
-F8CD
-F8CE
-F8CF
-F8D0
-F8D1
-F8D2
-F8D3
-F8D4
-F8D5
-F8D6
-F8D7
-F8D8
-F8D9
-F8DA
-F8DB
-F8DC
-F8DD
-F8DE
-F8DF
-F8E0
-F8E1
-F8E2
-F8E3
-F8E4
-F8E5
-F8E6
-F8E7
-F8E8
-F8E9
-F8EA
-F8EB
-F8EC
-F8ED
-F8EE
-F8EF
-F8F0
-F8F1
-F8F2
-F8F3
-F8F4
-F8F5
-F8F6
-F8F7
-F8F8
-F8F9
-F8FA
-F8FB
-F8FC
-F8FD
-F8FE
-F9A1
-F9A2
-F9A3
-F9A4
-F9A5
-F9A6
-F9A7
-F9A8
-F9A9
-F9AA
-F9AB
-F9AC
-F9AD
-F9AE
-F9AF
-F9B0
-F9B1
-F9B2
-F9B3
-F9B4
-F9B5
-F9B6
-F9B7
-F9B8
-F9B9
-F9BA
-F9BB
-F9BC
-F9BD
-F9BE
-F9BF
-F9C0
-F9C1
-F9C2
-F9C3
-F9C4
-F9C5
-F9C6
-F9C7
-F9C8
-F9C9
-F9CA
-F9CB
-F9CC
-F9CD
-F9CE
-F9CF
-F9D0
-F9D1
-F9D2
-F9D3
-F9D4
-F9D5
-F9D6
-F9D7
-F9D8
-F9D9
-F9DA
-F9DB
-F9DC
-F9DD
-F9DE
-F9DF
-F9E0
-F9E1
-F9E2
-F9E3
-F9E4
-F9E5
-F9E6
-F9E7
-F9E8
-F9E9
-F9EA
-F9EB
-F9EC
-F9ED
-F9EE
-F9EF
-F9F0
-F9F1
-F9F2
-F9F3
-F9F4
-F9F5
-F9F6
-F9F7
-F9F8
-F9F9
-F9FA
-F9FB
-F9FC
-F9FD
-F9FE
-FAA1
-FAA2
-FAA3
-FAA4
-FAA5
-FAA6
-FAA7
-FAA8
-FAA9
-FAAA
-FAAB
-FAAC
-FAAD
-FAAE
-FAAF
-FAB0
-FAB1
-FAB2
-FAB3
-FAB4
-FAB5
-FAB6
-FAB7
-FAB8
-FAB9
-FABA
-FABB
-FABC
-FABD
-FABE
-FABF
-FAC0
-FAC1
-FAC2
-FAC3
-FAC4
-FAC5
-FAC6
-FAC7
-FAC8
-FAC9
-FACA
-FACB
-FACC
-FACD
-FACE
-FACF
-FAD0
-FAD1
-FAD2
-FAD3
-FAD4
-FAD5
-FAD6
-FAD7
-FAD8
-FAD9
-FADA
-FADB
-FADC
-FADD
-FADE
-FADF
-FAE0
-FAE1
-FAE2
-FAE3
-FAE4
-FAE5
-FAE6
-FAE7
-FAE8
-FAE9
-FAEA
-FAEB
-FAEC
-FAED
-FAEE
-FAEF
-FAF0
-FAF1
-FAF2
-FAF3
-FAF4
-FAF5
-FAF6
-FAF7
-FAF8
-FAF9
-FAFA
-FAFB
-FAFC
-FAFD
-FAFE
-FBA1
-FBA2
-FBA3
-FBA4
-FBA5
-FBA6
-FBA7
-FBA8
-FBA9
-FBAA
-FBAB
-FBAC
-FBAD
-FBAE
-FBAF
-FBB0
-FBB1
-FBB2
-FBB3
-FBB4
-FBB5
-FBB6
-FBB7
-FBB8
-FBB9
-FBBA
-FBBB
-FBBC
-FBBD
-FBBE
-FBBF
-FBC0
-FBC1
-FBC2
-FBC3
-FBC4
-FBC5
-FBC6
-FBC7
-FBC8
-FBC9
-FBCA
-FBCB
-FBCC
-FBCD
-FBCE
-FBCF
-FBD0
-FBD1
-FBD2
-FBD3
-FBD4
-FBD5
-FBD6
-FBD7
-FBD8
-FBD9
-FBDA
-FBDB
-FBDC
-FBDD
-FBDE
-FBDF
-FBE0
-FBE1
-FBE2
-FBE3
-FBE4
-FBE5
-FBE6
-FBE7
-FBE8
-FBE9
-FBEA
-FBEB
-FBEC
-FBED
-FBEE
-FBEF
-FBF0
-FBF1
-FBF2
-FBF3
-FBF4
-FBF5
-FBF6
-FBF7
-FBF8
-FBF9
-FBFA
-FBFB
-FBFC
-FBFD
-FBFE
-FCA1
-FCA2
-FCA3
-FCA4
-FCA5
-FCA6
-FCA7
-FCA8
-FCA9
-FCAA
-FCAB
-FCAC
-FCAD
-FCAE
-FCAF
-FCB0
-FCB1
-FCB2
-FCB3
-FCB4
-FCB5
-FCB6
-FCB7
-FCB8
-FCB9
-FCBA
-FCBB
-FCBC
-FCBD
-FCBE
-FCBF
-FCC0
-FCC1
-FCC2
-FCC3
-FCC4
-FCC5
-FCC6
-FCC7
-FCC8
-FCC9
-FCCA
-FCCB
-FCCC
-FCCD
-FCCE
-FCCF
-FCD0
-FCD1
-FCD2
-FCD3
-FCD4
-FCD5
-FCD6
-FCD7
-FCD8
-FCD9
-FCDA
-FCDB
-FCDC
-FCDD
-FCDE
-FCDF
-FCE0
-FCE1
-FCE2
-FCE3
-FCE4
-FCE5
-FCE6
-FCE7
-FCE8
-FCE9
-FCEA
-FCEB
-FCEC
-FCED
-FCEE
-FCEF
-FCF0
-FCF1
-FCF2
-FCF3
-FCF4
-FCF5
-FCF6
-FCF7
-FCF8
-FCF9
-FCFA
-FCFB
-FCFC
-FCFD
-FCFE
-FDA1
-FDA2
-FDA3
-FDA4
-FDA5
-FDA6
-FDA7
-FDA8
-FDA9
-FDAA
-FDAB
-FDAC
-FDAD
-FDAE
-FDAF
-FDB0
-FDB1
-FDB2
-FDB3
-FDB4
-FDB5
-FDB6
-FDB7
-FDB8
-FDB9
-FDBA
-FDBB
-FDBC
-FDBD
-FDBE
-FDBF
-FDC0
-FDC1
-FDC2
-FDC3
-FDC4
-FDC5
-FDC6
-FDC7
-FDC8
-FDC9
-FDCA
-FDCB
-FDCC
-FDCD
-FDCE
-FDCF
-FDD0
-FDD1
-FDD2
-FDD3
-FDD4
-FDD5
-FDD6
-FDD7
-FDD8
-FDD9
-FDDA
-FDDB
-FDDC
-FDDD
-FDDE
-FDDF
-FDE0
-FDE1
-FDE2
-FDE3
-FDE4
-FDE5
-FDE6
-FDE7
-FDE8
-FDE9
-FDEA
-FDEB
-FDEC
-FDED
-FDEE
-FDEF
-FDF0
-FDF1
-FDF2
-FDF3
-FDF4
-FDF5
-FDF6
-FDF7
-FDF8
-FDF9
-FDFA
-FDFB
-FDFC
-FDFD
-FDFE
-FEA1
-FEA2
-FEA3
-FEA4
-FEA5
-FEA6
-FEA7
-FEA8
-FEA9
-FEAA
-FEAB
-FEAC
-FEAD
-FEAE
-FEAF
-FEB0
-FEB1
-FEB2
-FEB3
-FEB4
-FEB5
-FEB6
-FEB7
-FEB8
-FEB9
-FEBA
-FEBB
-FEBC
-FEBD
-FEBE
-FEBF
-FEC0
-FEC1
-FEC2
-FEC3
-FEC4
-FEC5
-FEC6
-FEC7
-FEC8
-FEC9
-FECA
-FECB
-FECC
-FECD
-FECE
-FECF
-FED0
-FED1
-FED2
-FED3
-FED4
-FED5
-FED6
-FED7
-FED8
-FED9
-FEDA
-FEDB
-FEDC
-FEDD
-FEDE
-FEDF
-FEE0
-FEE1
-FEE2
-FEE3
-FEE4
-FEE5
-FEE6
-FEE7
-FEE8
-FEE9
-FEEA
-FEEB
-FEEC
-FEED
-FEEE
-FEEF
-FEF0
-FEF1
-FEF2
-FEF3
-FEF4
-FEF5
-FEF6
-FEF7
-FEF8
-FEF9
-FEFA
-FEFB
-FEFC
-FEFD
-FEFE
-8FF5A1
-8FF5A2
-8FF5A3
-8FF5A4
-8FF5A5
-8FF5A6
-8FF5A7
-8FF5A8
-8FF5A9
-8FF5AA
-8FF5AB
-8FF5AC
-8FF5AD
-8FF5AE
-8FF5AF
-8FF5B0
-8FF5B1
-8FF5B2
-8FF5B3
-8FF5B4
-8FF5B5
-8FF5B6
-8FF5B7
-8FF5B8
-8FF5B9
-8FF5BA
-8FF5BB
-8FF5BC
-8FF5BD
-8FF5BE
-8FF5BF
-8FF5C0
-8FF5C1
-8FF5C2
-8FF5C3
-8FF5C4
-8FF5C5
-8FF5C6
-8FF5C7
-8FF5C8
-8FF5C9
-8FF5CA
-8FF5CB
-8FF5CC
-8FF5CD
-8FF5CE
-8FF5CF
-8FF5D0
-8FF5D1
-8FF5D2
-8FF5D3
-8FF5D4
-8FF5D5
-8FF5D6
-8FF5D7
-8FF5D8
-8FF5D9
-8FF5DA
-8FF5DB
-8FF5DC
-8FF5DD
-8FF5DE
-8FF5DF
-8FF5E0
-8FF5E1
-8FF5E2
-8FF5E3
-8FF5E4
-8FF5E5
-8FF5E6
-8FF5E7
-8FF5E8
-8FF5E9
-8FF5EA
-8FF5EB
-8FF5EC
-8FF5ED
-8FF5EE
-8FF5EF
-8FF5F0
-8FF5F1
-8FF5F2
-8FF5F3
-8FF5F4
-8FF5F5
-8FF5F6
-8FF5F7
-8FF5F8
-8FF5F9
-8FF5FA
-8FF5FB
-8FF5FC
-8FF5FD
-8FF5FE
-8FF6A1
-8FF6A2
-8FF6A3
-8FF6A4
-8FF6A5
-8FF6A6
-8FF6A7
-8FF6A8
-8FF6A9
-8FF6AA
-8FF6AB
-8FF6AC
-8FF6AD
-8FF6AE
-8FF6AF
-8FF6B0
-8FF6B1
-8FF6B2
-8FF6B3
-8FF6B4
-8FF6B5
-8FF6B6
-8FF6B7
-8FF6B8
-8FF6B9
-8FF6BA
-8FF6BB
-8FF6BC
-8FF6BD
-8FF6BE
-8FF6BF
-8FF6C0
-8FF6C1
-8FF6C2
-8FF6C3
-8FF6C4
-8FF6C5
-8FF6C6
-8FF6C7
-8FF6C8
-8FF6C9
-8FF6CA
-8FF6CB
-8FF6CC
-8FF6CD
-8FF6CE
-8FF6CF
-8FF6D0
-8FF6D1
-8FF6D2
-8FF6D3
-8FF6D4
-8FF6D5
-8FF6D6
-8FF6D7
-8FF6D8
-8FF6D9
-8FF6DA
-8FF6DB
-8FF6DC
-8FF6DD
-8FF6DE
-8FF6DF
-8FF6E0
-8FF6E1
-8FF6E2
-8FF6E3
-8FF6E4
-8FF6E5
-8FF6E6
-8FF6E7
-8FF6E8
-8FF6E9
-8FF6EA
-8FF6EB
-8FF6EC
-8FF6ED
-8FF6EE
-8FF6EF
-8FF6F0
-8FF6F1
-8FF6F2
-8FF6F3
-8FF6F4
-8FF6F5
-8FF6F6
-8FF6F7
-8FF6F8
-8FF6F9
-8FF6FA
-8FF6FB
-8FF6FC
-8FF6FD
-8FF6FE
-8FF7A1
-8FF7A2
-8FF7A3
-8FF7A4
-8FF7A5
-8FF7A6
-8FF7A7
-8FF7A8
-8FF7A9
-8FF7AA
-8FF7AB
-8FF7AC
-8FF7AD
-8FF7AE
-8FF7AF
-8FF7B0
-8FF7B1
-8FF7B2
-8FF7B3
-8FF7B4
-8FF7B5
-8FF7B6
-8FF7B7
-8FF7B8
-8FF7B9
-8FF7BA
-8FF7BB
-8FF7BC
-8FF7BD
-8FF7BE
-8FF7BF
-8FF7C0
-8FF7C1
-8FF7C2
-8FF7C3
-8FF7C4
-8FF7C5
-8FF7C6
-8FF7C7
-8FF7C8
-8FF7C9
-8FF7CA
-8FF7CB
-8FF7CC
-8FF7CD
-8FF7CE
-8FF7CF
-8FF7D0
-8FF7D1
-8FF7D2
-8FF7D3
-8FF7D4
-8FF7D5
-8FF7D6
-8FF7D7
-8FF7D8
-8FF7D9
-8FF7DA
-8FF7DB
-8FF7DC
-8FF7DD
-8FF7DE
-8FF7DF
-8FF7E0
-8FF7E1
-8FF7E2
-8FF7E3
-8FF7E4
-8FF7E5
-8FF7E6
-8FF7E7
-8FF7E8
-8FF7E9
-8FF7EA
-8FF7EB
-8FF7EC
-8FF7ED
-8FF7EE
-8FF7EF
-8FF7F0
-8FF7F1
-8FF7F2
-8FF7F3
-8FF7F4
-8FF7F5
-8FF7F6
-8FF7F7
-8FF7F8
-8FF7F9
-8FF7FA
-8FF7FB
-8FF7FC
-8FF7FD
-8FF7FE
-8FF8A1
-8FF8A2
-8FF8A3
-8FF8A4
-8FF8A5
-8FF8A6
-8FF8A7
-8FF8A8
-8FF8A9
-8FF8AA
-8FF8AB
-8FF8AC
-8FF8AD
-8FF8AE
-8FF8AF
-8FF8B0
-8FF8B1
-8FF8B2
-8FF8B3
-8FF8B4
-8FF8B5
-8FF8B6
-8FF8B7
-8FF8B8
-8FF8B9
-8FF8BA
-8FF8BB
-8FF8BC
-8FF8BD
-8FF8BE
-8FF8BF
-8FF8C0
-8FF8C1
-8FF8C2
-8FF8C3
-8FF8C4
-8FF8C5
-8FF8C6
-8FF8C7
-8FF8C8
-8FF8C9
-8FF8CA
-8FF8CB
-8FF8CC
-8FF8CD
-8FF8CE
-8FF8CF
-8FF8D0
-8FF8D1
-8FF8D2
-8FF8D3
-8FF8D4
-8FF8D5
-8FF8D6
-8FF8D7
-8FF8D8
-8FF8D9
-8FF8DA
-8FF8DB
-8FF8DC
-8FF8DD
-8FF8DE
-8FF8DF
-8FF8E0
-8FF8E1
-8FF8E2
-8FF8E3
-8FF8E4
-8FF8E5
-8FF8E6
-8FF8E7
-8FF8E8
-8FF8E9
-8FF8EA
-8FF8EB
-8FF8EC
-8FF8ED
-8FF8EE
-8FF8EF
-8FF8F0
-8FF8F1
-8FF8F2
-8FF8F3
-8FF8F4
-8FF8F5
-8FF8F6
-8FF8F7
-8FF8F8
-8FF8F9
-8FF8FA
-8FF8FB
-8FF8FC
-8FF8FD
-8FF8FE
-8FF9A1
-8FF9A2
-8FF9A3
-8FF9A4
-8FF9A5
-8FF9A6
-8FF9A7
-8FF9A8
-8FF9A9
-8FF9AA
-8FF9AB
-8FF9AC
-8FF9AD
-8FF9AE
-8FF9AF
-8FF9B0
-8FF9B1
-8FF9B2
-8FF9B3
-8FF9B4
-8FF9B5
-8FF9B6
-8FF9B7
-8FF9B8
-8FF9B9
-8FF9BA
-8FF9BB
-8FF9BC
-8FF9BD
-8FF9BE
-8FF9BF
-8FF9C0
-8FF9C1
-8FF9C2
-8FF9C3
-8FF9C4
-8FF9C5
-8FF9C6
-8FF9C7
-8FF9C8
-8FF9C9
-8FF9CA
-8FF9CB
-8FF9CC
-8FF9CD
-8FF9CE
-8FF9CF
-8FF9D0
-8FF9D1
-8FF9D2
-8FF9D3
-8FF9D4
-8FF9D5
-8FF9D6
-8FF9D7
-8FF9D8
-8FF9D9
-8FF9DA
-8FF9DB
-8FF9DC
-8FF9DD
-8FF9DE
-8FF9DF
-8FF9E0
-8FF9E1
-8FF9E2
-8FF9E3
-8FF9E4
-8FF9E5
-8FF9E6
-8FF9E7
-8FF9E8
-8FF9E9
-8FF9EA
-8FF9EB
-8FF9EC
-8FF9ED
-8FF9EE
-8FF9EF
-8FF9F0
-8FF9F1
-8FF9F2
-8FF9F3
-8FF9F4
-8FF9F5
-8FF9F6
-8FF9F7
-8FF9F8
-8FF9F9
-8FF9FA
-8FF9FB
-8FF9FC
-8FF9FD
-8FF9FE
-8FFAA1
-8FFAA2
-8FFAA3
-8FFAA4
-8FFAA5
-8FFAA6
-8FFAA7
-8FFAA8
-8FFAA9
-8FFAAA
-8FFAAB
-8FFAAC
-8FFAAD
-8FFAAE
-8FFAAF
-8FFAB0
-8FFAB1
-8FFAB2
-8FFAB3
-8FFAB4
-8FFAB5
-8FFAB6
-8FFAB7
-8FFAB8
-8FFAB9
-8FFABA
-8FFABB
-8FFABC
-8FFABD
-8FFABE
-8FFABF
-8FFAC0
-8FFAC1
-8FFAC2
-8FFAC3
-8FFAC4
-8FFAC5
-8FFAC6
-8FFAC7
-8FFAC8
-8FFAC9
-8FFACA
-8FFACB
-8FFACC
-8FFACD
-8FFACE
-8FFACF
-8FFAD0
-8FFAD1
-8FFAD2
-8FFAD3
-8FFAD4
-8FFAD5
-8FFAD6
-8FFAD7
-8FFAD8
-8FFAD9
-8FFADA
-8FFADB
-8FFADC
-8FFADD
-8FFADE
-8FFADF
-8FFAE0
-8FFAE1
-8FFAE2
-8FFAE3
-8FFAE4
-8FFAE5
-8FFAE6
-8FFAE7
-8FFAE8
-8FFAE9
-8FFAEA
-8FFAEB
-8FFAEC
-8FFAED
-8FFAEE
-8FFAEF
-8FFAF0
-8FFAF1
-8FFAF2
-8FFAF3
-8FFAF4
-8FFAF5
-8FFAF6
-8FFAF7
-8FFAF8
-8FFAF9
-8FFAFA
-8FFAFB
-8FFAFC
-8FFAFD
-8FFAFE
-8FFBA1
-8FFBA2
-8FFBA3
-8FFBA4
-8FFBA5
-8FFBA6
-8FFBA7
-8FFBA8
-8FFBA9
-8FFBAA
-8FFBAB
-8FFBAC
-8FFBAD
-8FFBAE
-8FFBAF
-8FFBB0
-8FFBB1
-8FFBB2
-8FFBB3
-8FFBB4
-8FFBB5
-8FFBB6
-8FFBB7
-8FFBB8
-8FFBB9
-8FFBBA
-8FFBBB
-8FFBBC
-8FFBBD
-8FFBBE
-8FFBBF
-8FFBC0
-8FFBC1
-8FFBC2
-8FFBC3
-8FFBC4
-8FFBC5
-8FFBC6
-8FFBC7
-8FFBC8
-8FFBC9
-8FFBCA
-8FFBCB
-8FFBCC
-8FFBCD
-8FFBCE
-8FFBCF
-8FFBD0
-8FFBD1
-8FFBD2
-8FFBD3
-8FFBD4
-8FFBD5
-8FFBD6
-8FFBD7
-8FFBD8
-8FFBD9
-8FFBDA
-8FFBDB
-8FFBDC
-8FFBDD
-8FFBDE
-8FFBDF
-8FFBE0
-8FFBE1
-8FFBE2
-8FFBE3
-8FFBE4
-8FFBE5
-8FFBE6
-8FFBE7
-8FFBE8
-8FFBE9
-8FFBEA
-8FFBEB
-8FFBEC
-8FFBED
-8FFBEE
-8FFBEF
-8FFBF0
-8FFBF1
-8FFBF2
-8FFBF3
-8FFBF4
-8FFBF5
-8FFBF6
-8FFBF7
-8FFBF8
-8FFBF9
-8FFBFA
-8FFBFB
-8FFBFC
-8FFBFD
-8FFBFE
-8FFCA1
-8FFCA2
-8FFCA3
-8FFCA4
-8FFCA5
-8FFCA6
-8FFCA7
-8FFCA8
-8FFCA9
-8FFCAA
-8FFCAB
-8FFCAC
-8FFCAD
-8FFCAE
-8FFCAF
-8FFCB0
-8FFCB1
-8FFCB2
-8FFCB3
-8FFCB4
-8FFCB5
-8FFCB6
-8FFCB7
-8FFCB8
-8FFCB9
-8FFCBA
-8FFCBB
-8FFCBC
-8FFCBD
-8FFCBE
-8FFCBF
-8FFCC0
-8FFCC1
-8FFCC2
-8FFCC3
-8FFCC4
-8FFCC5
-8FFCC6
-8FFCC7
-8FFCC8
-8FFCC9
-8FFCCA
-8FFCCB
-8FFCCC
-8FFCCD
-8FFCCE
-8FFCCF
-8FFCD0
-8FFCD1
-8FFCD2
-8FFCD3
-8FFCD4
-8FFCD5
-8FFCD6
-8FFCD7
-8FFCD8
-8FFCD9
-8FFCDA
-8FFCDB
-8FFCDC
-8FFCDD
-8FFCDE
-8FFCDF
-8FFCE0
-8FFCE1
-8FFCE2
-8FFCE3
-8FFCE4
-8FFCE5
-8FFCE6
-8FFCE7
-8FFCE8
-8FFCE9
-8FFCEA
-8FFCEB
-8FFCEC
-8FFCED
-8FFCEE
-8FFCEF
-8FFCF0
-8FFCF1
-8FFCF2
-8FFCF3
-8FFCF4
-8FFCF5
-8FFCF6
-8FFCF7
-8FFCF8
-8FFCF9
-8FFCFA
-8FFCFB
-8FFCFC
-8FFCFD
-8FFCFE
-8FFDA1
-8FFDA2
-8FFDA3
-8FFDA4
-8FFDA5
-8FFDA6
-8FFDA7
-8FFDA8
-8FFDA9
-8FFDAA
-8FFDAB
-8FFDAC
-8FFDAD
-8FFDAE
-8FFDAF
-8FFDB0
-8FFDB1
-8FFDB2
-8FFDB3
-8FFDB4
-8FFDB5
-8FFDB6
-8FFDB7
-8FFDB8
-8FFDB9
-8FFDBA
-8FFDBB
-8FFDBC
-8FFDBD
-8FFDBE
-8FFDBF
-8FFDC0
-8FFDC1
-8FFDC2
-8FFDC3
-8FFDC4
-8FFDC5
-8FFDC6
-8FFDC7
-8FFDC8
-8FFDC9
-8FFDCA
-8FFDCB
-8FFDCC
-8FFDCD
-8FFDCE
-8FFDCF
-8FFDD0
-8FFDD1
-8FFDD2
-8FFDD3
-8FFDD4
-8FFDD5
-8FFDD6
-8FFDD7
-8FFDD8
-8FFDD9
-8FFDDA
-8FFDDB
-8FFDDC
-8FFDDD
-8FFDDE
-8FFDDF
-8FFDE0
-8FFDE1
-8FFDE2
-8FFDE3
-8FFDE4
-8FFDE5
-8FFDE6
-8FFDE7
-8FFDE8
-8FFDE9
-8FFDEA
-8FFDEB
-8FFDEC
-8FFDED
-8FFDEE
-8FFDEF
-8FFDF0
-8FFDF1
-8FFDF2
-8FFDF3
-8FFDF4
-8FFDF5
-8FFDF6
-8FFDF7
-8FFDF8
-8FFDF9
-8FFDFA
-8FFDFB
-8FFDFC
-8FFDFD
-8FFDFE
-8FFEA1
-8FFEA2
-8FFEA3
-8FFEA4
-8FFEA5
-8FFEA6
-8FFEA7
-8FFEA8
-8FFEA9
-8FFEAA
-8FFEAB
-8FFEAC
-8FFEAD
-8FFEAE
-8FFEAF
-8FFEB0
-8FFEB1
-8FFEB2
-8FFEB3
-8FFEB4
-8FFEB5
-8FFEB6
-8FFEB7
-8FFEB8
-8FFEB9
-8FFEBA
-8FFEBB
-8FFEBC
-8FFEBD
-8FFEBE
-8FFEBF
-8FFEC0
-8FFEC1
-8FFEC2
-8FFEC3
-8FFEC4
-8FFEC5
-8FFEC6
-8FFEC7
-8FFEC8
-8FFEC9
-8FFECA
-8FFECB
-8FFECC
-8FFECD
-8FFECE
-8FFECF
-8FFED0
-8FFED1
-8FFED2
-8FFED3
-8FFED4
-8FFED5
-8FFED6
-8FFED7
-8FFED8
-8FFED9
-8FFEDA
-8FFEDB
-8FFEDC
-8FFEDD
-8FFEDE
-8FFEDF
-8FFEE0
-8FFEE1
-8FFEE2
-8FFEE3
-8FFEE4
-8FFEE5
-8FFEE6
-8FFEE7
-8FFEE8
-8FFEE9
-8FFEEA
-8FFEEB
-8FFEEC
-8FFEED
-8FFEEE
-8FFEEF
-8FFEF0
-8FFEF1
-8FFEF2
-8FFEF3
-8FFEF4
-8FFEF5
-8FFEF6
-8FFEF7
-8FFEF8
-8FFEF9
-8FFEFA
-8FFEFB
-8FFEFC
-8FFEFD
-8FFEFE
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE t4;
-SET collation_connection='cp932_japanese_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-cp932_japanese_ci 6109
-cp932_japanese_ci 61
-cp932_japanese_ci 6120
-drop table t1;
-SET collation_connection='cp932_bin';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-cp932_bin 6109
-cp932_bin 61
-cp932_bin 6120
-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');
-create table t1 (
-a varchar(2) character set cp932
-) engine=myisam;
-insert into t1
-select unhex(concat(t24.a, t23.a, t22.a, t21.a))
-from t2 t21, t2 t22, t2 t23, t2 t24;
-delete from t1 where a='';
-alter table t1 add key(a);
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-drop table t1;
-drop table t2;
-create table t1 (col1 varchar(1)) character set cp932;
-insert into t1 values ('a');
-insert into t1 values ('ab');
-Warnings:
-Warning 1265 Data truncated for column 'col1' at row 1
-select * from t1;
-col1
-a
-a
-insert into t1 values ('abc');
-Warnings:
-Warning 1265 Data truncated for column 'col1' at row 1
-select * from t1;
-col1
-a
-a
-a
-drop table t1;
-\
-\
-c_cp932
-\
-\
-\
-ソ
-ソ
-\
-\
-set names utf8;
-create table t1 (a text) default character set cp932;
-insert into t1 values (_utf8 0xE38182);
-show warnings;
-Level Code Message
-select * from t1;
-a
-あ
-select hex(a) from t1;
-hex(a)
-82A0
-drop table t1;
diff --git a/mysql-test/r/ctype_cp932_binlog_row.result b/mysql-test/r/ctype_cp932_binlog_row.result
new file mode 100644
index 00000000000..39d7727b58a
--- /dev/null
+++ b/mysql-test/r/ctype_cp932_binlog_row.result
@@ -0,0 +1,17 @@
+drop table if exists t1;
+set names cp932;
+set character_set_database = cp932;
+RESET MASTER;
+CREATE TABLE t1(f1 blob);
+PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
+SET @var1= x'8300';
+EXECUTE stmt1 USING @var1;
+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(f1 blob)
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+SELECT HEX(f1) FROM t1;
+HEX(f1)
+8300
+DROP table t1;
diff --git a/mysql-test/r/ctype_cp932_binlog.result b/mysql-test/r/ctype_cp932_binlog_stm.result
index 3385cd20ec4..cbdafc95b2a 100644
--- a/mysql-test/r/ctype_cp932_binlog.result
+++ b/mysql-test/r/ctype_cp932_binlog_stm.result
@@ -6,10 +6,10 @@ CREATE TABLE t1(f1 blob);
PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
SET @var1= x'8300';
EXECUTE stmt1 USING @var1;
-SHOW BINLOG EVENTS FROM 98;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 188 use `test`; CREATE TABLE t1(f1 blob)
-master-bin.000001 188 Query 1 283 use `test`; INSERT INTO t1 VALUES(0x8300)
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES('\0')
SELECT HEX(f1) FROM t1;
HEX(f1)
8300
@@ -29,17 +29,21 @@ HEX(s1) HEX(s2) d
466F6F2773206120426172 ED40ED41ED42 47.93
DROP PROCEDURE bug18293|
DROP TABLE t4|
-SHOW BINLOG EVENTS FROM 362|
+SHOW BINLOG EVENTS FROM 369|
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 362 Query 1 528 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
+master-bin.000001 369 Query 1 535 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
s2 CHAR(50) CHARACTER SET cp932,
d DECIMAL(10,2))
-master-bin.000001 528 Query 1 776 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50),
+master-bin.000001 535 Query 1 783 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50),
IN ins2 CHAR(50) CHARACTER SET cp932,
IN ind DECIMAL(10,2))
BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind);
END
-master-bin.000001 776 Query 1 995 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
-master-bin.000001 995 Query 1 1084 use `test`; DROP PROCEDURE bug18293
-master-bin.000001 1084 Query 1 1163 use `test`; DROP TABLE t4
+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 1088 use `test`; DROP PROCEDURE bug18293
+master-bin.000001 1088 Query 1 1167 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
+End of 5.1 tests
diff --git a/mysql-test/r/ctype_create.result b/mysql-test/r/ctype_create.result
index 63bae33c6e1..35461fce45a 100644
--- a/mysql-test/r/ctype_create.result
+++ b/mysql-test/r/ctype_create.result
@@ -12,7 +12,7 @@ CREATE TABLE mysqltest2.t1 (a char(10));
SHOW CREATE TABLE mysqltest2.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin5
DROP TABLE mysqltest2.t1;
ALTER DATABASE mysqltest2 DEFAULT CHARACTER SET latin7;
@@ -20,7 +20,7 @@ CREATE TABLE mysqltest2.t1 (a char(10));
SHOW CREATE TABLE mysqltest2.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin7
DROP DATABASE mysqltest2;
CREATE DATABASE mysqltest2 CHARACTER SET latin2;
@@ -28,7 +28,7 @@ CREATE TABLE mysqltest2.t1 (a char(10));
SHOW CREATE TABLE mysqltest2.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin2
DROP DATABASE mysqltest2;
USE mysqltest1;
@@ -36,14 +36,14 @@ CREATE TABLE t1 (a char(10));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
DROP TABLE t1;
CREATE TABLE t1 (a char(10)) DEFAULT CHARACTER SET latin1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a char(10))
@@ -51,7 +51,7 @@ DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) collate latin1_german1_ci default NULL
+ `a` char(10) COLLATE latin1_german1_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci
DROP TABLE t1;
create table t1 (a char) character set latin1 character set latin2;
@@ -72,3 +72,7 @@ mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
drop database mysqltest2;
ALTER DATABASE DEFAULT CHARACTER SET latin2;
ERROR 3D000: No database selected
+ALTER DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa DEFAULT CHARACTER SET latin2;
+ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ALTER DATABASE `` DEFAULT CHARACTER SET latin2;
+ERROR 42000: Incorrect database name ''
diff --git a/mysql-test/r/ctype_filename.result b/mysql-test/r/ctype_filename.result
new file mode 100644
index 00000000000..acc32c7dedf
--- /dev/null
+++ b/mysql-test/r/ctype_filename.result
@@ -0,0 +1,13 @@
+drop table if exists con, aux, nul, lpt1, com1, `clock$`;
+create table con (a int);
+drop table con;
+create table aux (a int);
+drop table aux;
+create table nul (a int);
+drop table nul;
+create table lpt1 (a int);
+drop table lpt1;
+create table com1 (a int);
+drop table com1;
+create table `clock$` (a int);
+drop table `clock$`;
diff --git a/mysql-test/r/ctype_latin1.result b/mysql-test/r/ctype_latin1.result
index 0c0b7f81b69..763acd0fea0 100644
--- a/mysql-test/r/ctype_latin1.result
+++ b/mysql-test/r/ctype_latin1.result
@@ -391,6 +391,20 @@ ABC ߲~ @ abc
SELECT convert(@str collate latin1_swedish_ci using utf8);
convert(@str collate latin1_swedish_ci using utf8)
ABC ߲~ @ abc
+SET NAMES latin1;
+DROP TABLE IF EXISTS `abcdef`;
+CREATE TABLE `abcdef` (i int);
+INSERT INTO `abcdef` VALUES (1);
+INSERT INTO abcdef VALUES (2);
+SELECT * FROM `abcdef`;
+i
+1
+2
+SELECT * FROM abcdef;
+i
+1
+2
+DROP TABLE `abcdef`;
select hex(cast(_ascii 0x7f as char(1) character set latin1));
hex(cast(_ascii 0x7f as char(1) character set latin1))
7F
diff --git a/mysql-test/r/ctype_latin1_de.result b/mysql-test/r/ctype_latin1_de.result
index f60dc175cd6..5733877237d 100644
--- a/mysql-test/r/ctype_latin1_de.result
+++ b/mysql-test/r/ctype_latin1_de.result
@@ -224,8 +224,8 @@ create table t1 (word varchar(255) not null, word2 varchar(255) not null default
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `word` varchar(255) collate latin1_german2_ci NOT NULL,
- `word2` varchar(255) collate latin1_german2_ci NOT NULL default '',
+ `word` varchar(255) COLLATE latin1_german2_ci NOT NULL,
+ `word2` varchar(255) COLLATE latin1_german2_ci NOT NULL DEFAULT '',
KEY `word` (`word`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci
insert into t1 (word) values ('ss'),(0xDF),(0xE4),('ae');
@@ -299,7 +299,7 @@ s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `s1` char(5) collate latin1_german2_ci default NULL
+ `s1` char(5) COLLATE latin1_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci
INSERT INTO t1 VALUES ('');
INSERT INTO t1 VALUES ('ue');
diff --git a/mysql-test/r/ctype_many.result b/mysql-test/r/ctype_many.result
index 125a3fc4286..89e05bf4484 100644
--- a/mysql-test/r/ctype_many.result
+++ b/mysql-test/r/ctype_many.result
@@ -7,22 +7,22 @@ koi8_ru_f CHAR(32) CHARACTER SET koi8r NOT NULL default ''
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `comment` char(32) character set latin1 NOT NULL,
- `koi8_ru_f` char(32) character set koi8r NOT NULL default ''
+ `comment` char(32) CHARACTER SET latin1 NOT NULL,
+ `koi8_ru_f` char(32) CHARACTER SET koi8r NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin5
ALTER TABLE t1 CHANGE comment comment CHAR(32) CHARACTER SET latin2 NOT NULL;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `comment` char(32) character set latin2 NOT NULL,
- `koi8_ru_f` char(32) character set koi8r NOT NULL default ''
+ `comment` char(32) CHARACTER SET latin2 NOT NULL,
+ `koi8_ru_f` char(32) CHARACTER SET koi8r NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin5
ALTER TABLE t1 ADD latin5_f CHAR(32) NOT NULL;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `comment` char(32) character set latin2 NOT NULL,
- `koi8_ru_f` char(32) character set koi8r NOT NULL default '',
+ `comment` char(32) CHARACTER SET latin2 NOT NULL,
+ `koi8_ru_f` char(32) CHARACTER SET koi8r NOT NULL DEFAULT '',
`latin5_f` char(32) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin5
ALTER TABLE t1 DEFAULT CHARSET=latin2;
@@ -31,8 +31,8 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`comment` char(32) NOT NULL,
- `koi8_ru_f` char(32) character set koi8r NOT NULL default '',
- `latin5_f` char(32) character set latin5 NOT NULL,
+ `koi8_ru_f` char(32) CHARACTER SET koi8r NOT NULL DEFAULT '',
+ `latin5_f` char(32) CHARACTER SET latin5 NOT NULL,
`latin2_f` char(32) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin2
ALTER TABLE t1 DROP latin2_f, DROP latin5_f;
@@ -40,7 +40,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`comment` char(32) NOT NULL,
- `koi8_ru_f` char(32) character set koi8r NOT NULL default ''
+ `koi8_ru_f` char(32) CHARACTER SET koi8r NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin2
INSERT INTO t1 (koi8_ru_f,comment) VALUES ('a','LAT SMALL A');
INSERT INTO t1 (koi8_ru_f,comment) VALUES ('b','LAT SMALL B');
diff --git a/mysql-test/r/ctype_mb.result b/mysql-test/r/ctype_mb.result
index f6e14e1a78f..aa5b4ae8189 100644
--- a/mysql-test/r/ctype_mb.result
+++ b/mysql-test/r/ctype_mb.result
@@ -3,17 +3,17 @@ CREATE TABLE t1 SELECT _utf8'test' as c1, _utf8'тест' as c2;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) character set utf8 NOT NULL default '',
- `c2` varchar(4) character set utf8 NOT NULL default ''
+ `c1` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c2` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DELETE FROM t1;
ALTER TABLE t1 ADD c3 CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) character set utf8 NOT NULL default '',
- `c2` varchar(4) character set utf8 NOT NULL default '',
- `c3` char(4) character set utf8 default NULL
+ `c1` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c2` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `c3` char(4) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('aaaabbbbccccdddd','aaaabbbbccccdddd','aaaabbbbccccdddd');
Warnings:
@@ -28,7 +28,7 @@ CREATE TABLE t1 (a CHAR(4) CHARACTER SET utf8, KEY key_a(a(3)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(4) character set utf8 default NULL,
+ `a` char(4) CHARACTER SET utf8 DEFAULT NULL,
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
@@ -38,7 +38,7 @@ ALTER TABLE t1 CHANGE a a CHAR(4);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(4) default NULL,
+ `a` char(4) DEFAULT NULL,
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
@@ -48,7 +48,7 @@ ALTER TABLE t1 CHANGE a a CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(4) character set utf8 default NULL,
+ `a` char(4) CHARACTER SET utf8 DEFAULT NULL,
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW KEYS FROM t1;
diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result
index 3f8ab75957b..304e37facb1 100644
--- a/mysql-test/r/ctype_recoding.result
+++ b/mysql-test/r/ctype_recoding.result
@@ -6,7 +6,7 @@ CREATE TABLE t2 (a CHAR(10) CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) character set cp1251 default NULL
+ `a` char(10) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT a FROM t1;
a
@@ -30,7 +30,7 @@ CREATE TABLE t2 (a TEXT CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` text character set cp1251
+ `a` text CHARACTER SET cp1251
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT HEX(a) FROM t1;
HEX(a)
@@ -50,7 +50,7 @@ Tables_in_test
SHOW CREATE TABLE ;
Table Create Table
CREATE TABLE `` (
- `` char(32) character set koi8r NOT NULL COMMENT ' '
+ `` char(32) CHARACTER SET koi8r NOT NULL COMMENT ' '
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=' '
SHOW FIELDS FROM ;
Field Type Null Key Default Extra
@@ -62,7 +62,7 @@ Tables_in_test
SHOW CREATE TABLE ;
Table Create Table
CREATE TABLE `` (
- `` char(32) character set koi8r NOT NULL COMMENT ' '
+ `` char(32) CHARACTER SET koi8r NOT NULL COMMENT ' '
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=' '
SHOW FIELDS FROM ;
Field Type Null Key Default Extra
@@ -74,7 +74,7 @@ Tables_in_test
SHOW CREATE TABLE таблица;
Table Create Table
таблица CREATE TABLE `таблица` (
- `поле` char(32) character set koi8r NOT NULL COMMENT 'комментарий поля'
+ `поле` char(32) CHARACTER SET koi8r NOT NULL COMMENT 'комментарий поля'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='комментарий таблицы'
SHOW FIELDS FROM таблица;
Field Type Null Key Default Extra
@@ -117,13 +117,13 @@ CREATE TABLE `тест` (`тест` int);
SHOW CREATE TABLE `тест`;
Table Create Table
тест CREATE TABLE `тест` (
- `тест` int(11) default NULL
+ `тест` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET NAMES utf8;
SHOW CREATE TABLE `тест`;
Table Create Table
тест CREATE TABLE `тест` (
- `тест` int(11) default NULL
+ `тест` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE `тест`;
SET NAMES binary;
@@ -141,8 +141,8 @@ CREATE TABLE t1 (`` CHAR(128) DEFAULT '', `1` ENUM('1','2') DEFAULT '2');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `` char(128) default '',
- `1` enum('1','2') default '2'
+ `` char(128) DEFAULT '',
+ `1` enum('1','2') DEFAULT '2'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
@@ -152,8 +152,8 @@ SET NAMES binary;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ä` char(128) default 'ä',
- `ä1` enum('ä1','ä2') default 'ä2'
+ `ä` char(128) DEFAULT 'ä',
+ `ä1` enum('ä1','ä2') DEFAULT 'ä2'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
@@ -261,7 +261,7 @@ create table t1(a char character set cp1251 default _koi8r 0xFF);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(1) character set cp1251 default ''
+ `a` char(1) CHARACTER SET cp1251 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(a char character set latin1 default _cp1251 0xFF);
diff --git a/mysql-test/r/ctype_sjis.result b/mysql-test/r/ctype_sjis.result
index dab5991b505..1c9d540d574 100644
--- a/mysql-test/r/ctype_sjis.result
+++ b/mysql-test/r/ctype_sjis.result
@@ -51,7 +51,7 @@ create table t1(c enum(0x9353,0x9373) character set sjis);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` enum('S','s') character set sjis default NULL
+ `c` enum('S','s') CHARACTER SET sjis DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (0x9353);
insert into t1 values (0x9373);
diff --git a/mysql-test/r/ctype_tis620.result b/mysql-test/r/ctype_tis620.result
index dae694cf3d5..5699c044d70 100644
--- a/mysql-test/r/ctype_tis620.result
+++ b/mysql-test/r/ctype_tis620.result
@@ -120,9 +120,9 @@ PRIMARY KEY (recid)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `recid` int(11) NOT NULL auto_increment,
+ `recid` int(11) NOT NULL AUTO_INCREMENT,
`dyninfo` text,
- PRIMARY KEY (`recid`)
+ PRIMARY KEY (`recid`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620
INSERT INTO t1 VALUES (1,'color=\"STB,NPG\"\r\nengine=\"J30A13\"\r\nframe=\"MRHCG1640YP4\"\r\ngrade=\"V6\"\r\nmodel=\"ACCORD\"\r\nmodelcode=\"CG164YEN\"\r\ntype=\"VT6\"\r\n');
INSERT INTO t1 VALUES (2,'color=\"HTM,NPG,DEG,RGS\"\r\nengine=\"F23A5YP1\"\r\nframe=\"MRHCF8640YP3\"\r\ngrade=\"EXi AT\"\r\nmodel=\"ACCORD\"\r\nmodelcode=\"CF864YE\"\r\ntype=\"EXA\"\r\n');
diff --git a/mysql-test/r/ctype_uca.result b/mysql-test/r/ctype_uca.result
index 50be0ca53b2..92b76802d0b 100644
--- a/mysql-test/r/ctype_uca.result
+++ b/mysql-test/r/ctype_uca.result
@@ -2780,8 +2780,8 @@ 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
+ `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');
diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result
index a6d6c604b9b..bd76f2a859f 100644
--- a/mysql-test/r/ctype_ucs.result
+++ b/mysql-test/r/ctype_ucs.result
@@ -74,8 +74,8 @@ RPAD(_ucs2 X'0420',10,_ucs2 X'0421') r;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `l` varchar(10) character set ucs2 NOT NULL default '',
- `r` varchar(10) character set ucs2 NOT NULL default ''
+ `l` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT '',
+ `r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
create table t2(f1 Char(30));
@@ -523,7 +523,7 @@ create table t1 (a enum('x','y','z') character set ucs2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('x','y','z') character set ucs2 default NULL
+ `a` enum('x','y','z') CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('x');
insert into t1 values ('y');
@@ -537,7 +537,7 @@ alter table t1 change a a enum('x','y','z','d','e','','','') character set uc
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('x','y','z','d','e','','','') character set ucs2 default NULL
+ `a` enum('x','y','z','d','e','','','') CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('D');
insert into t1 values ('E ');
@@ -559,7 +559,7 @@ create table t1 (a set ('x','y','z','','','') character set ucs2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` set('x','y','z','','','') character set ucs2 default NULL
+ `a` set('x','y','z','','','') CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('x');
insert into t1 values ('y');
@@ -671,7 +671,7 @@ DROP TABLE t1;
CREATE TABLE t1 (Field1 int(10) unsigned default '0');
INSERT INTO t1 VALUES ('-1');
Warnings:
-Warning 1264 Out of range value adjusted for column 'Field1' at row 1
+Warning 1264 Out of range value for column 'Field1' at row 1
DROP TABLE t1;
SET NAMES latin1;
SELECT CONVERT(103, CHAR(50) UNICODE);
@@ -784,7 +784,7 @@ NOT NULL default 'passive'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `status` enum('active','passive') character set latin1 collate latin1_general_ci NOT NULL default 'passive'
+ `status` enum('active','passive') CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT 'passive'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ADD a int NOT NULL AFTER status;
CREATE TABLE t2 (
@@ -794,7 +794,7 @@ NOT NULL default 'passive'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `status` enum('active','passive') character set ucs2 collate ucs2_turkish_ci NOT NULL default 'passive'
+ `status` enum('active','passive') CHARACTER SET ucs2 COLLATE ucs2_turkish_ci NOT NULL DEFAULT 'passive'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t2 ADD a int NOT NULL AFTER status;
DROP TABLE t1,t2;
@@ -945,8 +945,8 @@ 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
+ `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');
diff --git a/mysql-test/r/ctype_ucs2_def.result b/mysql-test/r/ctype_ucs2_def.result
index d838c5d66b0..6fd45428368 100644
--- a/mysql-test/r/ctype_ucs2_def.result
+++ b/mysql-test/r/ctype_ucs2_def.result
@@ -19,6 +19,6 @@ col2 VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_bin NOT NULL,
UNIQUE KEY key1 USING HASH (col1, col2)) ENGINE=MEMORY;
INSERT INTO t1 VALUES('A', 'A'), ('B', 'B'), ('C', 'C');
INSERT INTO t1 VALUES('A ', 'A ');
-ERROR 23000: Duplicate entry '' for key 1
+ERROR 23000: Duplicate entry '' for key 'key1'
DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/ctype_ucs_binlog.result b/mysql-test/r/ctype_ucs_binlog.result
deleted file mode 100644
index 2657bf60c04..00000000000
--- a/mysql-test/r/ctype_ucs_binlog.result
+++ /dev/null
@@ -1,26 +0,0 @@
-SET TIMESTAMP=10000;
-create table t2 (c char(30)) charset=ucs2;
-set @v=convert('abc' using ucs2);
-reset master;
-insert into t2 values (@v);
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 User var 1 138 @`v`=_ucs2 0x006100620063 COLLATE ucs2_general_ci
-master-bin.000001 138 Query 1 227 use `test`; insert into t2 values (@v)
-/*!40019 SET @@session.max_insert_delayed_threads=0*/;
-/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
-DELIMITER /*!*/;
-ROLLBACK/*!*/;
-SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`/*!*/;
-use test/*!*/;
-SET TIMESTAMP=10000/*!*/;
-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/*!*/;
-insert into t2 values (@v)/*!*/;
-DELIMITER ;
-# End of log file
-ROLLBACK /* added by mysqlbinlog */;
-/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
-drop table t2;
diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result
index 091d96c56d3..d95b8cf9efb 100644
--- a/mysql-test/r/ctype_ujis.result
+++ b/mysql-test/r/ctype_ujis.result
@@ -118,8 +118,8 @@ b enum('','') default NULL
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(1) NOT NULL default '',
- `b` enum('','') default NULL
+ `a` char(1) NOT NULL DEFAULT '',
+ `b` enum('','') DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ujis
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
@@ -132,7 +132,7 @@ a INTEGER NOT NULL,
b VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (a),
KEY b (b(10))
-) TYPE=InnoDB CHARACTER SET 'ujis' COLLATE 'ujis_japanese_ci';
+) ENGINE=InnoDB CHARACTER SET 'ujis' COLLATE 'ujis_japanese_ci';
INSERT INTO t1 (a, b) VALUES (0, 'aaabbbcccddd');
INSERT INTO t1 (a, b) VALUES (1, 'eeefffggghhh');
INSERT INTO t1 (a, b) VALUES (2, 'iiijjjkkkl');
@@ -152,7 +152,7 @@ a INTEGER NOT NULL,
b VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (a),
KEY b (b(10))
-) TYPE=MyISAM CHARACTER SET 'ujis' COLLATE 'ujis_japanese_ci';
+) ENGINE=MyISAM CHARACTER SET 'ujis' COLLATE 'ujis_japanese_ci';
INSERT INTO t1 (a, b) VALUES (0, 'aaabbbcccddd');
INSERT INTO t1 (a, b) VALUES (1, 'eeefffggghhh');
INSERT INTO t1 (a, b) VALUES (2, 'iiijjjkkkl');
diff --git a/mysql-test/r/ctype_ujis_ucs2.result b/mysql-test/r/ctype_ujis_ucs2.result
new file mode 100644
index 00000000000..3c63e7c0441
--- /dev/null
+++ b/mysql-test/r/ctype_ujis_ucs2.result
@@ -0,0 +1,19159 @@
+drop table if exists t1, t2;
+create table t2 (code binary(1));
+insert into t2 values (0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
+insert into t2 values (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
+insert into t2 values (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
+insert into t2 values (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
+insert into t2 values (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
+insert into t2 values (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
+insert into t2 values (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
+insert into t2 values (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
+insert into t2 values (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
+insert into t2 values (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
+insert into t2 values (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
+insert into t2 values (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE);
+create table t1
+(
+ujis varchar(1) character set ujis collate ujis_bin primary key,
+ucs2 varchar(1) character set ucs2 not null default '',
+ujis2 varchar(1) character set ujis not null default '',
+name varchar(64) character set ujis not null default ''
+);
+insert into t1 set ujis=0x00, name='U+0000 NULL';
+insert into t1 set ujis=0x01, name='U+0001 START OF HEADING';
+insert into t1 set ujis=0x02, name='U+0002 START OF TEXT';
+insert into t1 set ujis=0x03, name='U+0003 END OF TEXT';
+insert into t1 set ujis=0x04, name='U+0004 END OF TRANSMISSION';
+insert into t1 set ujis=0x05, name='U+0005 ENQUIRY';
+insert into t1 set ujis=0x06, name='U+0006 ACKNOWLEDGE';
+insert into t1 set ujis=0x07, name='U+0007 BELL';
+insert into t1 set ujis=0x08, name='U+0008 BACKSPACE';
+insert into t1 set ujis=0x09, name='U+0009 HORIZONTAL TABULATION';
+insert into t1 set ujis=0x0A, name='U+000A LINE FEED';
+insert into t1 set ujis=0x0B, name='U+000B VERTICAL TABULATION';
+insert into t1 set ujis=0x0C, name='U+000C FORM FEED';
+insert into t1 set ujis=0x0D, name='U+000D CARRIAGE RETURN';
+insert into t1 set ujis=0x0E, name='U+000E SHIFT OUT';
+insert into t1 set ujis=0x0F, name='U+000F SHIFT IN';
+insert into t1 set ujis=0x10, name='U+0010 DATA LINK ESCAPE';
+insert into t1 set ujis=0x11, name='U+0011 DEVICE CONTROL ONE';
+insert into t1 set ujis=0x12, name='U+0012 DEVICE CONTROL TWO';
+insert into t1 set ujis=0x13, name='U+0013 DEVICE CONTROL THREE';
+insert into t1 set ujis=0x14, name='U+0014 DEVICE CONTROL FOUR';
+insert into t1 set ujis=0x15, name='U+0015 NEGATIVE ACKNOWLEDGE';
+insert into t1 set ujis=0x16, name='U+0016 SYNCHRONOUS IDLE';
+insert into t1 set ujis=0x17, name='U+0017 END OF TRANSMISSION BLOCK';
+insert into t1 set ujis=0x18, name='U+0018 CANCEL';
+insert into t1 set ujis=0x19, name='U+0019 END OF MEDIUM';
+insert into t1 set ujis=0x1A, name='U+001A SUBSTITUTE';
+insert into t1 set ujis=0x1B, name='U+001B ESCAPE';
+insert into t1 set ujis=0x1C, name='U+001C FILE SEPARATOR';
+insert into t1 set ujis=0x1D, name='U+001D GROUP SEPARATOR';
+insert into t1 set ujis=0x1E, name='U+001E RECORD SEPARATOR';
+insert into t1 set ujis=0x1F, name='U+001F UNIT SEPARATOR';
+insert into t1 set ujis=0x20, name='U+0020 SPACE';
+insert into t1 set ujis=0x21, name='U+0021 EXCLAMATION MARK';
+insert into t1 set ujis=0x22, name='U+0022 QUOTATION MARK';
+insert into t1 set ujis=0x23, name='U+0023 NUMBER SIGN';
+insert into t1 set ujis=0x24, name='U+0024 DOLLAR SIGN';
+insert into t1 set ujis=0x25, name='U+0025 PERCENT SIGN';
+insert into t1 set ujis=0x26, name='U+0026 AMPERSAND';
+insert into t1 set ujis=0x27, name='U+0027 APOSTROPHE';
+insert into t1 set ujis=0x28, name='U+0028 LEFT PARENTHESIS';
+insert into t1 set ujis=0x29, name='U+0029 RIGHT PARENTHESIS';
+insert into t1 set ujis=0x2A, name='U+002A ASTERISK';
+insert into t1 set ujis=0x2B, name='U+002B PLUS SIGN';
+insert into t1 set ujis=0x2C, name='U+002C COMMA';
+insert into t1 set ujis=0x2D, name='U+002D HYPHEN-MINUS';
+insert into t1 set ujis=0x2E, name='U+002E FULL STOP';
+insert into t1 set ujis=0x2F, name='U+002F SOLIDUS';
+insert into t1 set ujis=0x30, name='U+0030 DIGIT ZERO';
+insert into t1 set ujis=0x31, name='U+0031 DIGIT ONE';
+insert into t1 set ujis=0x32, name='U+0032 DIGIT TWO';
+insert into t1 set ujis=0x33, name='U+0033 DIGIT THREE';
+insert into t1 set ujis=0x34, name='U+0034 DIGIT FOUR';
+insert into t1 set ujis=0x35, name='U+0035 DIGIT FIVE';
+insert into t1 set ujis=0x36, name='U+0036 DIGIT SIX';
+insert into t1 set ujis=0x37, name='U+0037 DIGIT SEVEN';
+insert into t1 set ujis=0x38, name='U+0038 DIGIT EIGHT';
+insert into t1 set ujis=0x39, name='U+0039 DIGIT NINE';
+insert into t1 set ujis=0x3A, name='U+003A COLON';
+insert into t1 set ujis=0x3B, name='U+003B SEMICOLON';
+insert into t1 set ujis=0x3C, name='U+003C LESS-THAN SIGN';
+insert into t1 set ujis=0x3D, name='U+003D EQUALS SIGN';
+insert into t1 set ujis=0x3E, name='U+003E GREATER-THAN SIGN';
+insert into t1 set ujis=0x3F, name='U+003F QUESTION MARK';
+insert into t1 set ujis=0x40, name='U+0040 COMMERCIAL AT';
+insert into t1 set ujis=0x41, name='U+0041 LATIN CAPITAL LETTER A';
+insert into t1 set ujis=0x42, name='U+0042 LATIN CAPITAL LETTER B';
+insert into t1 set ujis=0x43, name='U+0043 LATIN CAPITAL LETTER C';
+insert into t1 set ujis=0x44, name='U+0044 LATIN CAPITAL LETTER D';
+insert into t1 set ujis=0x45, name='U+0045 LATIN CAPITAL LETTER E';
+insert into t1 set ujis=0x46, name='U+0046 LATIN CAPITAL LETTER F';
+insert into t1 set ujis=0x47, name='U+0047 LATIN CAPITAL LETTER G';
+insert into t1 set ujis=0x48, name='U+0048 LATIN CAPITAL LETTER H';
+insert into t1 set ujis=0x49, name='U+0049 LATIN CAPITAL LETTER I';
+insert into t1 set ujis=0x4A, name='U+004A LATIN CAPITAL LETTER J';
+insert into t1 set ujis=0x4B, name='U+004B LATIN CAPITAL LETTER K';
+insert into t1 set ujis=0x4C, name='U+004C LATIN CAPITAL LETTER L';
+insert into t1 set ujis=0x4D, name='U+004D LATIN CAPITAL LETTER M';
+insert into t1 set ujis=0x4E, name='U+004E LATIN CAPITAL LETTER N';
+insert into t1 set ujis=0x4F, name='U+004F LATIN CAPITAL LETTER O';
+insert into t1 set ujis=0x50, name='U+0050 LATIN CAPITAL LETTER P';
+insert into t1 set ujis=0x51, name='U+0051 LATIN CAPITAL LETTER Q';
+insert into t1 set ujis=0x52, name='U+0052 LATIN CAPITAL LETTER R';
+insert into t1 set ujis=0x53, name='U+0053 LATIN CAPITAL LETTER S';
+insert into t1 set ujis=0x54, name='U+0054 LATIN CAPITAL LETTER T';
+insert into t1 set ujis=0x55, name='U+0055 LATIN CAPITAL LETTER U';
+insert into t1 set ujis=0x56, name='U+0056 LATIN CAPITAL LETTER V';
+insert into t1 set ujis=0x57, name='U+0057 LATIN CAPITAL LETTER W';
+insert into t1 set ujis=0x58, name='U+0058 LATIN CAPITAL LETTER X';
+insert into t1 set ujis=0x59, name='U+0059 LATIN CAPITAL LETTER Y';
+insert into t1 set ujis=0x5A, name='U+005A LATIN CAPITAL LETTER Z';
+insert into t1 set ujis=0x5B, name='U+005B LEFT SQUARE BRACKET';
+insert into t1 set ujis=0x5C, name='U+005C REVERSE SOLIDUS';
+insert into t1 set ujis=0x5D, name='U+005D RIGHT SQUARE BRACKET';
+insert into t1 set ujis=0x5E, name='U+005E CIRCUMFLEX ACCENT';
+insert into t1 set ujis=0x5F, name='U+005F LOW LINE';
+insert into t1 set ujis=0x60, name='U+0060 GRAVE ACCENT';
+insert into t1 set ujis=0x61, name='U+0061 LATIN SMALL LETTER A';
+insert into t1 set ujis=0x62, name='U+0062 LATIN SMALL LETTER B';
+insert into t1 set ujis=0x63, name='U+0063 LATIN SMALL LETTER C';
+insert into t1 set ujis=0x64, name='U+0064 LATIN SMALL LETTER D';
+insert into t1 set ujis=0x65, name='U+0065 LATIN SMALL LETTER E';
+insert into t1 set ujis=0x66, name='U+0066 LATIN SMALL LETTER F';
+insert into t1 set ujis=0x67, name='U+0067 LATIN SMALL LETTER G';
+insert into t1 set ujis=0x68, name='U+0068 LATIN SMALL LETTER H';
+insert into t1 set ujis=0x69, name='U+0069 LATIN SMALL LETTER I';
+insert into t1 set ujis=0x6A, name='U+006A LATIN SMALL LETTER J';
+insert into t1 set ujis=0x6B, name='U+006B LATIN SMALL LETTER K';
+insert into t1 set ujis=0x6C, name='U+006C LATIN SMALL LETTER L';
+insert into t1 set ujis=0x6D, name='U+006D LATIN SMALL LETTER M';
+insert into t1 set ujis=0x6E, name='U+006E LATIN SMALL LETTER N';
+insert into t1 set ujis=0x6F, name='U+006F LATIN SMALL LETTER O';
+insert into t1 set ujis=0x70, name='U+0070 LATIN SMALL LETTER P';
+insert into t1 set ujis=0x71, name='U+0071 LATIN SMALL LETTER Q';
+insert into t1 set ujis=0x72, name='U+0072 LATIN SMALL LETTER R';
+insert into t1 set ujis=0x73, name='U+0073 LATIN SMALL LETTER S';
+insert into t1 set ujis=0x74, name='U+0074 LATIN SMALL LETTER T';
+insert into t1 set ujis=0x75, name='U+0075 LATIN SMALL LETTER U';
+insert into t1 set ujis=0x76, name='U+0076 LATIN SMALL LETTER V';
+insert into t1 set ujis=0x77, name='U+0077 LATIN SMALL LETTER W';
+insert into t1 set ujis=0x78, name='U+0078 LATIN SMALL LETTER X';
+insert into t1 set ujis=0x79, name='U+0079 LATIN SMALL LETTER Y';
+insert into t1 set ujis=0x7A, name='U+007A LATIN SMALL LETTER Z';
+insert into t1 set ujis=0x7B, name='U+007B LEFT CURLY BRACKET';
+insert into t1 set ujis=0x7C, name='U+007C VERTICAL LINE';
+insert into t1 set ujis=0x7D, name='U+007D RIGHT CURLY BRACKET';
+insert into t1 set ujis=0x7E, name='U+007E TILDE';
+insert into t1 set ujis=0x7F, name='U+007F DELETE';
+insert into t1 (ujis) select concat(t21.code,t22.code) from t2 t21, t2 t22 order by 1;
+update t1 set name='U+3000 IDEOGRAPHIC SPACE' where ujis=0xA1A1;
+update t1 set name='U+3001 IDEOGRAPHIC COMMA' where ujis=0xA1A2;
+update t1 set name='U+3002 IDEOGRAPHIC FULL STOP' where ujis=0xA1A3;
+update t1 set name='U+FF0C FULLWIDTH COMMA' where ujis=0xA1A4;
+update t1 set name='U+FF0E FULLWIDTH FULL STOP' where ujis=0xA1A5;
+update t1 set name='U+30FB KATAKANA MIDDLE DOT' where ujis=0xA1A6;
+update t1 set name='U+FF1A FULLWIDTH COLON' where ujis=0xA1A7;
+update t1 set name='U+FF1B FULLWIDTH SEMICOLON' where ujis=0xA1A8;
+update t1 set name='U+FF1F FULLWIDTH QUESTION MARK' where ujis=0xA1A9;
+update t1 set name='U+FF01 FULLWIDTH EXCLAMATION MARK' where ujis=0xA1AA;
+update t1 set name='U+309B KATAKANA-HIRAGANA VOICED SOUND MARK' where ujis=0xA1AB;
+update t1 set name='U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK' where ujis=0xA1AC;
+update t1 set name='U+00B4 ACUTE ACCENT' where ujis=0xA1AD;
+update t1 set name='U+FF40 FULLWIDTH GRAVE ACCENT' where ujis=0xA1AE;
+update t1 set name='U+00A8 DIAERESIS' where ujis=0xA1AF;
+update t1 set name='U+FF3E FULLWIDTH CIRCUMFLEX ACCENT' where ujis=0xA1B0;
+update t1 set name='U+FFE3 FULLWIDTH MACRON' where ujis=0xA1B1;
+update t1 set name='U+FF3F FULLWIDTH LOW LINE' where ujis=0xA1B2;
+update t1 set name='U+30FD KATAKANA ITERATION MARK' where ujis=0xA1B3;
+update t1 set name='U+30FE KATAKANA VOICED ITERATION MARK' where ujis=0xA1B4;
+update t1 set name='U+309D HIRAGANA ITERATION MARK' where ujis=0xA1B5;
+update t1 set name='U+309E HIRAGANA VOICED ITERATION MARK' where ujis=0xA1B6;
+update t1 set name='U+3003 DITTO MARK' where ujis=0xA1B7;
+update t1 set name='U+4EDD <CJK>' where ujis=0xA1B8;
+update t1 set name='U+3005 IDEOGRAPHIC ITERATION MARK' where ujis=0xA1B9;
+update t1 set name='U+3006 IDEOGRAPHIC CLOSING MARK' where ujis=0xA1BA;
+update t1 set name='U+3007 IDEOGRAPHIC NUMBER ZERO' where ujis=0xA1BB;
+update t1 set name='U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK' where ujis=0xA1BC;
+update t1 set name='U+2015 HORIZONTAL BAR' where ujis=0xA1BD;
+update t1 set name='U+2010 HYPHEN' where ujis=0xA1BE;
+update t1 set name='U+FF0F FULLWIDTH SOLIDUS' where ujis=0xA1BF;
+update t1 set name='U+005C REVERSE SOLIDUS' where ujis=0xA1C0;
+update t1 set name='U+301C WAVE DASH' where ujis=0xA1C1;
+update t1 set name='U+2016 DOUBLE VERTICAL LINE' where ujis=0xA1C2;
+update t1 set name='U+FF5C FULLWIDTH VERTICAL LINE' where ujis=0xA1C3;
+update t1 set name='U+2026 HORIZONTAL ELLIPSIS' where ujis=0xA1C4;
+update t1 set name='U+2025 TWO DOT LEADER' where ujis=0xA1C5;
+update t1 set name='U+2018 LEFT SINGLE QUOTATION MARK' where ujis=0xA1C6;
+update t1 set name='U+2019 RIGHT SINGLE QUOTATION MARK' where ujis=0xA1C7;
+update t1 set name='U+201C LEFT DOUBLE QUOTATION MARK' where ujis=0xA1C8;
+update t1 set name='U+201D RIGHT DOUBLE QUOTATION MARK' where ujis=0xA1C9;
+update t1 set name='U+FF08 FULLWIDTH LEFT PARENTHESIS' where ujis=0xA1CA;
+update t1 set name='U+FF09 FULLWIDTH RIGHT PARENTHESIS' where ujis=0xA1CB;
+update t1 set name='U+3014 LEFT TORTOISE SHELL BRACKET' where ujis=0xA1CC;
+update t1 set name='U+3015 RIGHT TORTOISE SHELL BRACKET' where ujis=0xA1CD;
+update t1 set name='U+FF3B FULLWIDTH LEFT SQUARE BRACKET' where ujis=0xA1CE;
+update t1 set name='U+FF3D FULLWIDTH RIGHT SQUARE BRACKET' where ujis=0xA1CF;
+update t1 set name='U+FF5B FULLWIDTH LEFT CURLY BRACKET' where ujis=0xA1D0;
+update t1 set name='U+FF5D FULLWIDTH RIGHT CURLY BRACKET' where ujis=0xA1D1;
+update t1 set name='U+3008 LEFT ANGLE BRACKET' where ujis=0xA1D2;
+update t1 set name='U+3009 RIGHT ANGLE BRACKET' where ujis=0xA1D3;
+update t1 set name='U+300A LEFT DOUBLE ANGLE BRACKET' where ujis=0xA1D4;
+update t1 set name='U+300B RIGHT DOUBLE ANGLE BRACKET' where ujis=0xA1D5;
+update t1 set name='U+300C LEFT CORNER BRACKET' where ujis=0xA1D6;
+update t1 set name='U+300D RIGHT CORNER BRACKET' where ujis=0xA1D7;
+update t1 set name='U+300E LEFT WHITE CORNER BRACKET' where ujis=0xA1D8;
+update t1 set name='U+300F RIGHT WHITE CORNER BRACKET' where ujis=0xA1D9;
+update t1 set name='U+3010 LEFT BLACK LENTICULAR BRACKET' where ujis=0xA1DA;
+update t1 set name='U+3011 RIGHT BLACK LENTICULAR BRACKET' where ujis=0xA1DB;
+update t1 set name='U+FF0B FULLWIDTH PLUS SIGN' where ujis=0xA1DC;
+update t1 set name='U+2212 MINUS SIGN' where ujis=0xA1DD;
+update t1 set name='U+00B1 PLUS-MINUS SIGN' where ujis=0xA1DE;
+update t1 set name='U+00D7 MULTIPLICATION SIGN' where ujis=0xA1DF;
+update t1 set name='U+00F7 DIVISION SIGN' where ujis=0xA1E0;
+update t1 set name='U+FF1D FULLWIDTH EQUALS SIGN' where ujis=0xA1E1;
+update t1 set name='U+2260 NOT EQUAL TO' where ujis=0xA1E2;
+update t1 set name='U+FF1C FULLWIDTH LESS-THAN SIGN' where ujis=0xA1E3;
+update t1 set name='U+FF1E FULLWIDTH GREATER-THAN SIGN' where ujis=0xA1E4;
+update t1 set name='U+2266 LESS-THAN OVER EQUAL TO' where ujis=0xA1E5;
+update t1 set name='U+2267 GREATER-THAN OVER EQUAL TO' where ujis=0xA1E6;
+update t1 set name='U+221E INFINITY' where ujis=0xA1E7;
+update t1 set name='U+2234 THEREFORE' where ujis=0xA1E8;
+update t1 set name='U+2642 MALE SIGN' where ujis=0xA1E9;
+update t1 set name='U+2640 FEMALE SIGN' where ujis=0xA1EA;
+update t1 set name='U+00B0 DEGREE SIGN' where ujis=0xA1EB;
+update t1 set name='U+2032 PRIME' where ujis=0xA1EC;
+update t1 set name='U+2033 DOUBLE PRIME' where ujis=0xA1ED;
+update t1 set name='U+2103 DEGREE CELSIUS' where ujis=0xA1EE;
+update t1 set name='U+FFE5 FULLWIDTH YEN SIGN' where ujis=0xA1EF;
+update t1 set name='U+FF04 FULLWIDTH DOLLAR SIGN' where ujis=0xA1F0;
+update t1 set name='U+00A2 CENT SIGN' where ujis=0xA1F1;
+update t1 set name='U+00A3 POUND SIGN' where ujis=0xA1F2;
+update t1 set name='U+FF05 FULLWIDTH PERCENT SIGN' where ujis=0xA1F3;
+update t1 set name='U+FF03 FULLWIDTH NUMBER SIGN' where ujis=0xA1F4;
+update t1 set name='U+FF06 FULLWIDTH AMPERSAND' where ujis=0xA1F5;
+update t1 set name='U+FF0A FULLWIDTH ASTERISK' where ujis=0xA1F6;
+update t1 set name='U+FF20 FULLWIDTH COMMERCIAL AT' where ujis=0xA1F7;
+update t1 set name='U+00A7 SECTION SIGN' where ujis=0xA1F8;
+update t1 set name='U+2606 WHITE STAR' where ujis=0xA1F9;
+update t1 set name='U+2605 BLACK STAR' where ujis=0xA1FA;
+update t1 set name='U+25CB WHITE CIRCLE' where ujis=0xA1FB;
+update t1 set name='U+25CF BLACK CIRCLE' where ujis=0xA1FC;
+update t1 set name='U+25CE BULLSEYE' where ujis=0xA1FD;
+update t1 set name='U+25C7 WHITE DIAMOND' where ujis=0xA1FE;
+update t1 set name='U+25C6 BLACK DIAMOND' where ujis=0xA2A1;
+update t1 set name='U+25A1 WHITE SQUARE' where ujis=0xA2A2;
+update t1 set name='U+25A0 BLACK SQUARE' where ujis=0xA2A3;
+update t1 set name='U+25B3 WHITE UP-POINTING TRIANGLE' where ujis=0xA2A4;
+update t1 set name='U+25B2 BLACK UP-POINTING TRIANGLE' where ujis=0xA2A5;
+update t1 set name='U+25BD WHITE DOWN-POINTING TRIANGLE' where ujis=0xA2A6;
+update t1 set name='U+25BC BLACK DOWN-POINTING TRIANGLE' where ujis=0xA2A7;
+update t1 set name='U+203B REFERENCE MARK' where ujis=0xA2A8;
+update t1 set name='U+3012 POSTAL MARK' where ujis=0xA2A9;
+update t1 set name='U+2192 RIGHTWARDS ARROW' where ujis=0xA2AA;
+update t1 set name='U+2190 LEFTWARDS ARROW' where ujis=0xA2AB;
+update t1 set name='U+2191 UPWARDS ARROW' where ujis=0xA2AC;
+update t1 set name='U+2193 DOWNWARDS ARROW' where ujis=0xA2AD;
+update t1 set name='U+3013 GETA MARK' where ujis=0xA2AE;
+update t1 set name='U+2208 ELEMENT OF' where ujis=0xA2BA;
+update t1 set name='U+220B CONTAINS AS MEMBER' where ujis=0xA2BB;
+update t1 set name='U+2286 SUBset OF OR EQUAL TO' where ujis=0xA2BC;
+update t1 set name='U+2287 SUPERset OF OR EQUAL TO' where ujis=0xA2BD;
+update t1 set name='U+2282 SUBset OF' where ujis=0xA2BE;
+update t1 set name='U+2283 SUPERset OF' where ujis=0xA2BF;
+update t1 set name='U+222A UNION' where ujis=0xA2C0;
+update t1 set name='U+2229 INTERSECTION' where ujis=0xA2C1;
+update t1 set name='U+2227 LOGICAL AND' where ujis=0xA2CA;
+update t1 set name='U+2228 LOGICAL OR' where ujis=0xA2CB;
+update t1 set name='U+00AC NOT SIGN' where ujis=0xA2CC;
+update t1 set name='U+21D2 RIGHTWARDS DOUBLE ARROW' where ujis=0xA2CD;
+update t1 set name='U+21D4 LEFT RIGHT DOUBLE ARROW' where ujis=0xA2CE;
+update t1 set name='U+2200 FOR ALL' where ujis=0xA2CF;
+update t1 set name='U+2203 THERE EXISTS' where ujis=0xA2D0;
+update t1 set name='U+2220 ANGLE' where ujis=0xA2DC;
+update t1 set name='U+22A5 UP TACK' where ujis=0xA2DD;
+update t1 set name='U+2312 ARC' where ujis=0xA2DE;
+update t1 set name='U+2202 PARTIAL DIFFERENTIAL' where ujis=0xA2DF;
+update t1 set name='U+2207 NABLA' where ujis=0xA2E0;
+update t1 set name='U+2261 IDENTICAL TO' where ujis=0xA2E1;
+update t1 set name='U+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF' where ujis=0xA2E2;
+update t1 set name='U+226A MUCH LESS-THAN' where ujis=0xA2E3;
+update t1 set name='U+226B MUCH GREATER-THAN' where ujis=0xA2E4;
+update t1 set name='U+221A SQUARE ROOT' where ujis=0xA2E5;
+update t1 set name='U+223D REVERSED TILDE' where ujis=0xA2E6;
+update t1 set name='U+221D PROPORTIONAL TO' where ujis=0xA2E7;
+update t1 set name='U+2235 BECAUSE' where ujis=0xA2E8;
+update t1 set name='U+222B INTEGRAL' where ujis=0xA2E9;
+update t1 set name='U+222C DOUBLE INTEGRAL' where ujis=0xA2EA;
+update t1 set name='U+212B ANGSTROM SIGN' where ujis=0xA2F2;
+update t1 set name='U+2030 PER MILLE SIGN' where ujis=0xA2F3;
+update t1 set name='U+266F MUSIC SHARP SIGN' where ujis=0xA2F4;
+update t1 set name='U+266D MUSIC FLAT SIGN' where ujis=0xA2F5;
+update t1 set name='U+266A EIGHTH NOTE' where ujis=0xA2F6;
+update t1 set name='U+2020 DAGGER' where ujis=0xA2F7;
+update t1 set name='U+2021 DOUBLE DAGGER' where ujis=0xA2F8;
+update t1 set name='U+00B6 PILCROW SIGN' where ujis=0xA2F9;
+update t1 set name='U+25EF LARGE CIRCLE' where ujis=0xA2FE;
+update t1 set name='U+FF10 FULLWIDTH DIGIT ZERO' where ujis=0xA3B0;
+update t1 set name='U+FF11 FULLWIDTH DIGIT ONE' where ujis=0xA3B1;
+update t1 set name='U+FF12 FULLWIDTH DIGIT TWO' where ujis=0xA3B2;
+update t1 set name='U+FF13 FULLWIDTH DIGIT THREE' where ujis=0xA3B3;
+update t1 set name='U+FF14 FULLWIDTH DIGIT FOUR' where ujis=0xA3B4;
+update t1 set name='U+FF15 FULLWIDTH DIGIT FIVE' where ujis=0xA3B5;
+update t1 set name='U+FF16 FULLWIDTH DIGIT SIX' where ujis=0xA3B6;
+update t1 set name='U+FF17 FULLWIDTH DIGIT SEVEN' where ujis=0xA3B7;
+update t1 set name='U+FF18 FULLWIDTH DIGIT EIGHT' where ujis=0xA3B8;
+update t1 set name='U+FF19 FULLWIDTH DIGIT NINE' where ujis=0xA3B9;
+update t1 set name='U+FF21 FULLWIDTH LATIN CAPITAL LETTER A' where ujis=0xA3C1;
+update t1 set name='U+FF22 FULLWIDTH LATIN CAPITAL LETTER B' where ujis=0xA3C2;
+update t1 set name='U+FF23 FULLWIDTH LATIN CAPITAL LETTER C' where ujis=0xA3C3;
+update t1 set name='U+FF24 FULLWIDTH LATIN CAPITAL LETTER D' where ujis=0xA3C4;
+update t1 set name='U+FF25 FULLWIDTH LATIN CAPITAL LETTER E' where ujis=0xA3C5;
+update t1 set name='U+FF26 FULLWIDTH LATIN CAPITAL LETTER F' where ujis=0xA3C6;
+update t1 set name='U+FF27 FULLWIDTH LATIN CAPITAL LETTER G' where ujis=0xA3C7;
+update t1 set name='U+FF28 FULLWIDTH LATIN CAPITAL LETTER H' where ujis=0xA3C8;
+update t1 set name='U+FF29 FULLWIDTH LATIN CAPITAL LETTER I' where ujis=0xA3C9;
+update t1 set name='U+FF2A FULLWIDTH LATIN CAPITAL LETTER J' where ujis=0xA3CA;
+update t1 set name='U+FF2B FULLWIDTH LATIN CAPITAL LETTER K' where ujis=0xA3CB;
+update t1 set name='U+FF2C FULLWIDTH LATIN CAPITAL LETTER L' where ujis=0xA3CC;
+update t1 set name='U+FF2D FULLWIDTH LATIN CAPITAL LETTER M' where ujis=0xA3CD;
+update t1 set name='U+FF2E FULLWIDTH LATIN CAPITAL LETTER N' where ujis=0xA3CE;
+update t1 set name='U+FF2F FULLWIDTH LATIN CAPITAL LETTER O' where ujis=0xA3CF;
+update t1 set name='U+FF30 FULLWIDTH LATIN CAPITAL LETTER P' where ujis=0xA3D0;
+update t1 set name='U+FF31 FULLWIDTH LATIN CAPITAL LETTER Q' where ujis=0xA3D1;
+update t1 set name='U+FF32 FULLWIDTH LATIN CAPITAL LETTER R' where ujis=0xA3D2;
+update t1 set name='U+FF33 FULLWIDTH LATIN CAPITAL LETTER S' where ujis=0xA3D3;
+update t1 set name='U+FF34 FULLWIDTH LATIN CAPITAL LETTER T' where ujis=0xA3D4;
+update t1 set name='U+FF35 FULLWIDTH LATIN CAPITAL LETTER U' where ujis=0xA3D5;
+update t1 set name='U+FF36 FULLWIDTH LATIN CAPITAL LETTER V' where ujis=0xA3D6;
+update t1 set name='U+FF37 FULLWIDTH LATIN CAPITAL LETTER W' where ujis=0xA3D7;
+update t1 set name='U+FF38 FULLWIDTH LATIN CAPITAL LETTER X' where ujis=0xA3D8;
+update t1 set name='U+FF39 FULLWIDTH LATIN CAPITAL LETTER Y' where ujis=0xA3D9;
+update t1 set name='U+FF3A FULLWIDTH LATIN CAPITAL LETTER Z' where ujis=0xA3DA;
+update t1 set name='U+FF41 FULLWIDTH LATIN SMALL LETTER A' where ujis=0xA3E1;
+update t1 set name='U+FF42 FULLWIDTH LATIN SMALL LETTER B' where ujis=0xA3E2;
+update t1 set name='U+FF43 FULLWIDTH LATIN SMALL LETTER C' where ujis=0xA3E3;
+update t1 set name='U+FF44 FULLWIDTH LATIN SMALL LETTER D' where ujis=0xA3E4;
+update t1 set name='U+FF45 FULLWIDTH LATIN SMALL LETTER E' where ujis=0xA3E5;
+update t1 set name='U+FF46 FULLWIDTH LATIN SMALL LETTER F' where ujis=0xA3E6;
+update t1 set name='U+FF47 FULLWIDTH LATIN SMALL LETTER G' where ujis=0xA3E7;
+update t1 set name='U+FF48 FULLWIDTH LATIN SMALL LETTER H' where ujis=0xA3E8;
+update t1 set name='U+FF49 FULLWIDTH LATIN SMALL LETTER I' where ujis=0xA3E9;
+update t1 set name='U+FF4A FULLWIDTH LATIN SMALL LETTER J' where ujis=0xA3EA;
+update t1 set name='U+FF4B FULLWIDTH LATIN SMALL LETTER K' where ujis=0xA3EB;
+update t1 set name='U+FF4C FULLWIDTH LATIN SMALL LETTER L' where ujis=0xA3EC;
+update t1 set name='U+FF4D FULLWIDTH LATIN SMALL LETTER M' where ujis=0xA3ED;
+update t1 set name='U+FF4E FULLWIDTH LATIN SMALL LETTER N' where ujis=0xA3EE;
+update t1 set name='U+FF4F FULLWIDTH LATIN SMALL LETTER O' where ujis=0xA3EF;
+update t1 set name='U+FF50 FULLWIDTH LATIN SMALL LETTER P' where ujis=0xA3F0;
+update t1 set name='U+FF51 FULLWIDTH LATIN SMALL LETTER Q' where ujis=0xA3F1;
+update t1 set name='U+FF52 FULLWIDTH LATIN SMALL LETTER R' where ujis=0xA3F2;
+update t1 set name='U+FF53 FULLWIDTH LATIN SMALL LETTER S' where ujis=0xA3F3;
+update t1 set name='U+FF54 FULLWIDTH LATIN SMALL LETTER T' where ujis=0xA3F4;
+update t1 set name='U+FF55 FULLWIDTH LATIN SMALL LETTER U' where ujis=0xA3F5;
+update t1 set name='U+FF56 FULLWIDTH LATIN SMALL LETTER V' where ujis=0xA3F6;
+update t1 set name='U+FF57 FULLWIDTH LATIN SMALL LETTER W' where ujis=0xA3F7;
+update t1 set name='U+FF58 FULLWIDTH LATIN SMALL LETTER X' where ujis=0xA3F8;
+update t1 set name='U+FF59 FULLWIDTH LATIN SMALL LETTER Y' where ujis=0xA3F9;
+update t1 set name='U+FF5A FULLWIDTH LATIN SMALL LETTER Z' where ujis=0xA3FA;
+update t1 set name='U+3041 HIRAGANA LETTER SMALL A' where ujis=0xA4A1;
+update t1 set name='U+3042 HIRAGANA LETTER A' where ujis=0xA4A2;
+update t1 set name='U+3043 HIRAGANA LETTER SMALL I' where ujis=0xA4A3;
+update t1 set name='U+3044 HIRAGANA LETTER I' where ujis=0xA4A4;
+update t1 set name='U+3045 HIRAGANA LETTER SMALL U' where ujis=0xA4A5;
+update t1 set name='U+3046 HIRAGANA LETTER U' where ujis=0xA4A6;
+update t1 set name='U+3047 HIRAGANA LETTER SMALL E' where ujis=0xA4A7;
+update t1 set name='U+3048 HIRAGANA LETTER E' where ujis=0xA4A8;
+update t1 set name='U+3049 HIRAGANA LETTER SMALL O' where ujis=0xA4A9;
+update t1 set name='U+304A HIRAGANA LETTER O' where ujis=0xA4AA;
+update t1 set name='U+304B HIRAGANA LETTER KA' where ujis=0xA4AB;
+update t1 set name='U+304C HIRAGANA LETTER GA' where ujis=0xA4AC;
+update t1 set name='U+304D HIRAGANA LETTER KI' where ujis=0xA4AD;
+update t1 set name='U+304E HIRAGANA LETTER GI' where ujis=0xA4AE;
+update t1 set name='U+304F HIRAGANA LETTER KU' where ujis=0xA4AF;
+update t1 set name='U+3050 HIRAGANA LETTER GU' where ujis=0xA4B0;
+update t1 set name='U+3051 HIRAGANA LETTER KE' where ujis=0xA4B1;
+update t1 set name='U+3052 HIRAGANA LETTER GE' where ujis=0xA4B2;
+update t1 set name='U+3053 HIRAGANA LETTER KO' where ujis=0xA4B3;
+update t1 set name='U+3054 HIRAGANA LETTER GO' where ujis=0xA4B4;
+update t1 set name='U+3055 HIRAGANA LETTER SA' where ujis=0xA4B5;
+update t1 set name='U+3056 HIRAGANA LETTER ZA' where ujis=0xA4B6;
+update t1 set name='U+3057 HIRAGANA LETTER SI' where ujis=0xA4B7;
+update t1 set name='U+3058 HIRAGANA LETTER ZI' where ujis=0xA4B8;
+update t1 set name='U+3059 HIRAGANA LETTER SU' where ujis=0xA4B9;
+update t1 set name='U+305A HIRAGANA LETTER ZU' where ujis=0xA4BA;
+update t1 set name='U+305B HIRAGANA LETTER SE' where ujis=0xA4BB;
+update t1 set name='U+305C HIRAGANA LETTER ZE' where ujis=0xA4BC;
+update t1 set name='U+305D HIRAGANA LETTER SO' where ujis=0xA4BD;
+update t1 set name='U+305E HIRAGANA LETTER ZO' where ujis=0xA4BE;
+update t1 set name='U+305F HIRAGANA LETTER TA' where ujis=0xA4BF;
+update t1 set name='U+3060 HIRAGANA LETTER DA' where ujis=0xA4C0;
+update t1 set name='U+3061 HIRAGANA LETTER TI' where ujis=0xA4C1;
+update t1 set name='U+3062 HIRAGANA LETTER DI' where ujis=0xA4C2;
+update t1 set name='U+3063 HIRAGANA LETTER SMALL TU' where ujis=0xA4C3;
+update t1 set name='U+3064 HIRAGANA LETTER TU' where ujis=0xA4C4;
+update t1 set name='U+3065 HIRAGANA LETTER DU' where ujis=0xA4C5;
+update t1 set name='U+3066 HIRAGANA LETTER TE' where ujis=0xA4C6;
+update t1 set name='U+3067 HIRAGANA LETTER DE' where ujis=0xA4C7;
+update t1 set name='U+3068 HIRAGANA LETTER TO' where ujis=0xA4C8;
+update t1 set name='U+3069 HIRAGANA LETTER DO' where ujis=0xA4C9;
+update t1 set name='U+306A HIRAGANA LETTER NA' where ujis=0xA4CA;
+update t1 set name='U+306B HIRAGANA LETTER NI' where ujis=0xA4CB;
+update t1 set name='U+306C HIRAGANA LETTER NU' where ujis=0xA4CC;
+update t1 set name='U+306D HIRAGANA LETTER NE' where ujis=0xA4CD;
+update t1 set name='U+306E HIRAGANA LETTER NO' where ujis=0xA4CE;
+update t1 set name='U+306F HIRAGANA LETTER HA' where ujis=0xA4CF;
+update t1 set name='U+3070 HIRAGANA LETTER BA' where ujis=0xA4D0;
+update t1 set name='U+3071 HIRAGANA LETTER PA' where ujis=0xA4D1;
+update t1 set name='U+3072 HIRAGANA LETTER HI' where ujis=0xA4D2;
+update t1 set name='U+3073 HIRAGANA LETTER BI' where ujis=0xA4D3;
+update t1 set name='U+3074 HIRAGANA LETTER PI' where ujis=0xA4D4;
+update t1 set name='U+3075 HIRAGANA LETTER HU' where ujis=0xA4D5;
+update t1 set name='U+3076 HIRAGANA LETTER BU' where ujis=0xA4D6;
+update t1 set name='U+3077 HIRAGANA LETTER PU' where ujis=0xA4D7;
+update t1 set name='U+3078 HIRAGANA LETTER HE' where ujis=0xA4D8;
+update t1 set name='U+3079 HIRAGANA LETTER BE' where ujis=0xA4D9;
+update t1 set name='U+307A HIRAGANA LETTER PE' where ujis=0xA4DA;
+update t1 set name='U+307B HIRAGANA LETTER HO' where ujis=0xA4DB;
+update t1 set name='U+307C HIRAGANA LETTER BO' where ujis=0xA4DC;
+update t1 set name='U+307D HIRAGANA LETTER PO' where ujis=0xA4DD;
+update t1 set name='U+307E HIRAGANA LETTER MA' where ujis=0xA4DE;
+update t1 set name='U+307F HIRAGANA LETTER MI' where ujis=0xA4DF;
+update t1 set name='U+3080 HIRAGANA LETTER MU' where ujis=0xA4E0;
+update t1 set name='U+3081 HIRAGANA LETTER ME' where ujis=0xA4E1;
+update t1 set name='U+3082 HIRAGANA LETTER MO' where ujis=0xA4E2;
+update t1 set name='U+3083 HIRAGANA LETTER SMALL YA' where ujis=0xA4E3;
+update t1 set name='U+3084 HIRAGANA LETTER YA' where ujis=0xA4E4;
+update t1 set name='U+3085 HIRAGANA LETTER SMALL YU' where ujis=0xA4E5;
+update t1 set name='U+3086 HIRAGANA LETTER YU' where ujis=0xA4E6;
+update t1 set name='U+3087 HIRAGANA LETTER SMALL YO' where ujis=0xA4E7;
+update t1 set name='U+3088 HIRAGANA LETTER YO' where ujis=0xA4E8;
+update t1 set name='U+3089 HIRAGANA LETTER RA' where ujis=0xA4E9;
+update t1 set name='U+308A HIRAGANA LETTER RI' where ujis=0xA4EA;
+update t1 set name='U+308B HIRAGANA LETTER RU' where ujis=0xA4EB;
+update t1 set name='U+308C HIRAGANA LETTER RE' where ujis=0xA4EC;
+update t1 set name='U+308D HIRAGANA LETTER RO' where ujis=0xA4ED;
+update t1 set name='U+308E HIRAGANA LETTER SMALL WA' where ujis=0xA4EE;
+update t1 set name='U+308F HIRAGANA LETTER WA' where ujis=0xA4EF;
+update t1 set name='U+3090 HIRAGANA LETTER WI' where ujis=0xA4F0;
+update t1 set name='U+3091 HIRAGANA LETTER WE' where ujis=0xA4F1;
+update t1 set name='U+3092 HIRAGANA LETTER WO' where ujis=0xA4F2;
+update t1 set name='U+3093 HIRAGANA LETTER N' where ujis=0xA4F3;
+update t1 set name='U+30A1 KATAKANA LETTER SMALL A' where ujis=0xA5A1;
+update t1 set name='U+30A2 KATAKANA LETTER A' where ujis=0xA5A2;
+update t1 set name='U+30A3 KATAKANA LETTER SMALL I' where ujis=0xA5A3;
+update t1 set name='U+30A4 KATAKANA LETTER I' where ujis=0xA5A4;
+update t1 set name='U+30A5 KATAKANA LETTER SMALL U' where ujis=0xA5A5;
+update t1 set name='U+30A6 KATAKANA LETTER U' where ujis=0xA5A6;
+update t1 set name='U+30A7 KATAKANA LETTER SMALL E' where ujis=0xA5A7;
+update t1 set name='U+30A8 KATAKANA LETTER E' where ujis=0xA5A8;
+update t1 set name='U+30A9 KATAKANA LETTER SMALL O' where ujis=0xA5A9;
+update t1 set name='U+30AA KATAKANA LETTER O' where ujis=0xA5AA;
+update t1 set name='U+30AB KATAKANA LETTER KA' where ujis=0xA5AB;
+update t1 set name='U+30AC KATAKANA LETTER GA' where ujis=0xA5AC;
+update t1 set name='U+30AD KATAKANA LETTER KI' where ujis=0xA5AD;
+update t1 set name='U+30AE KATAKANA LETTER GI' where ujis=0xA5AE;
+update t1 set name='U+30AF KATAKANA LETTER KU' where ujis=0xA5AF;
+update t1 set name='U+30B0 KATAKANA LETTER GU' where ujis=0xA5B0;
+update t1 set name='U+30B1 KATAKANA LETTER KE' where ujis=0xA5B1;
+update t1 set name='U+30B2 KATAKANA LETTER GE' where ujis=0xA5B2;
+update t1 set name='U+30B3 KATAKANA LETTER KO' where ujis=0xA5B3;
+update t1 set name='U+30B4 KATAKANA LETTER GO' where ujis=0xA5B4;
+update t1 set name='U+30B5 KATAKANA LETTER SA' where ujis=0xA5B5;
+update t1 set name='U+30B6 KATAKANA LETTER ZA' where ujis=0xA5B6;
+update t1 set name='U+30B7 KATAKANA LETTER SI' where ujis=0xA5B7;
+update t1 set name='U+30B8 KATAKANA LETTER ZI' where ujis=0xA5B8;
+update t1 set name='U+30B9 KATAKANA LETTER SU' where ujis=0xA5B9;
+update t1 set name='U+30BA KATAKANA LETTER ZU' where ujis=0xA5BA;
+update t1 set name='U+30BB KATAKANA LETTER SE' where ujis=0xA5BB;
+update t1 set name='U+30BC KATAKANA LETTER ZE' where ujis=0xA5BC;
+update t1 set name='U+30BD KATAKANA LETTER SO' where ujis=0xA5BD;
+update t1 set name='U+30BE KATAKANA LETTER ZO' where ujis=0xA5BE;
+update t1 set name='U+30BF KATAKANA LETTER TA' where ujis=0xA5BF;
+update t1 set name='U+30C0 KATAKANA LETTER DA' where ujis=0xA5C0;
+update t1 set name='U+30C1 KATAKANA LETTER TI' where ujis=0xA5C1;
+update t1 set name='U+30C2 KATAKANA LETTER DI' where ujis=0xA5C2;
+update t1 set name='U+30C3 KATAKANA LETTER SMALL TU' where ujis=0xA5C3;
+update t1 set name='U+30C4 KATAKANA LETTER TU' where ujis=0xA5C4;
+update t1 set name='U+30C5 KATAKANA LETTER DU' where ujis=0xA5C5;
+update t1 set name='U+30C6 KATAKANA LETTER TE' where ujis=0xA5C6;
+update t1 set name='U+30C7 KATAKANA LETTER DE' where ujis=0xA5C7;
+update t1 set name='U+30C8 KATAKANA LETTER TO' where ujis=0xA5C8;
+update t1 set name='U+30C9 KATAKANA LETTER DO' where ujis=0xA5C9;
+update t1 set name='U+30CA KATAKANA LETTER NA' where ujis=0xA5CA;
+update t1 set name='U+30CB KATAKANA LETTER NI' where ujis=0xA5CB;
+update t1 set name='U+30CC KATAKANA LETTER NU' where ujis=0xA5CC;
+update t1 set name='U+30CD KATAKANA LETTER NE' where ujis=0xA5CD;
+update t1 set name='U+30CE KATAKANA LETTER NO' where ujis=0xA5CE;
+update t1 set name='U+30CF KATAKANA LETTER HA' where ujis=0xA5CF;
+update t1 set name='U+30D0 KATAKANA LETTER BA' where ujis=0xA5D0;
+update t1 set name='U+30D1 KATAKANA LETTER PA' where ujis=0xA5D1;
+update t1 set name='U+30D2 KATAKANA LETTER HI' where ujis=0xA5D2;
+update t1 set name='U+30D3 KATAKANA LETTER BI' where ujis=0xA5D3;
+update t1 set name='U+30D4 KATAKANA LETTER PI' where ujis=0xA5D4;
+update t1 set name='U+30D5 KATAKANA LETTER HU' where ujis=0xA5D5;
+update t1 set name='U+30D6 KATAKANA LETTER BU' where ujis=0xA5D6;
+update t1 set name='U+30D7 KATAKANA LETTER PU' where ujis=0xA5D7;
+update t1 set name='U+30D8 KATAKANA LETTER HE' where ujis=0xA5D8;
+update t1 set name='U+30D9 KATAKANA LETTER BE' where ujis=0xA5D9;
+update t1 set name='U+30DA KATAKANA LETTER PE' where ujis=0xA5DA;
+update t1 set name='U+30DB KATAKANA LETTER HO' where ujis=0xA5DB;
+update t1 set name='U+30DC KATAKANA LETTER BO' where ujis=0xA5DC;
+update t1 set name='U+30DD KATAKANA LETTER PO' where ujis=0xA5DD;
+update t1 set name='U+30DE KATAKANA LETTER MA' where ujis=0xA5DE;
+update t1 set name='U+30DF KATAKANA LETTER MI' where ujis=0xA5DF;
+update t1 set name='U+30E0 KATAKANA LETTER MU' where ujis=0xA5E0;
+update t1 set name='U+30E1 KATAKANA LETTER ME' where ujis=0xA5E1;
+update t1 set name='U+30E2 KATAKANA LETTER MO' where ujis=0xA5E2;
+update t1 set name='U+30E3 KATAKANA LETTER SMALL YA' where ujis=0xA5E3;
+update t1 set name='U+30E4 KATAKANA LETTER YA' where ujis=0xA5E4;
+update t1 set name='U+30E5 KATAKANA LETTER SMALL YU' where ujis=0xA5E5;
+update t1 set name='U+30E6 KATAKANA LETTER YU' where ujis=0xA5E6;
+update t1 set name='U+30E7 KATAKANA LETTER SMALL YO' where ujis=0xA5E7;
+update t1 set name='U+30E8 KATAKANA LETTER YO' where ujis=0xA5E8;
+update t1 set name='U+30E9 KATAKANA LETTER RA' where ujis=0xA5E9;
+update t1 set name='U+30EA KATAKANA LETTER RI' where ujis=0xA5EA;
+update t1 set name='U+30EB KATAKANA LETTER RU' where ujis=0xA5EB;
+update t1 set name='U+30EC KATAKANA LETTER RE' where ujis=0xA5EC;
+update t1 set name='U+30ED KATAKANA LETTER RO' where ujis=0xA5ED;
+update t1 set name='U+30EE KATAKANA LETTER SMALL WA' where ujis=0xA5EE;
+update t1 set name='U+30EF KATAKANA LETTER WA' where ujis=0xA5EF;
+update t1 set name='U+30F0 KATAKANA LETTER WI' where ujis=0xA5F0;
+update t1 set name='U+30F1 KATAKANA LETTER WE' where ujis=0xA5F1;
+update t1 set name='U+30F2 KATAKANA LETTER WO' where ujis=0xA5F2;
+update t1 set name='U+30F3 KATAKANA LETTER N' where ujis=0xA5F3;
+update t1 set name='U+30F4 KATAKANA LETTER VU' where ujis=0xA5F4;
+update t1 set name='U+30F5 KATAKANA LETTER SMALL KA' where ujis=0xA5F5;
+update t1 set name='U+30F6 KATAKANA LETTER SMALL KE' where ujis=0xA5F6;
+update t1 set name='U+0391 GREEK CAPITAL LETTER ALPHA' where ujis=0xA6A1;
+update t1 set name='U+0392 GREEK CAPITAL LETTER BETA' where ujis=0xA6A2;
+update t1 set name='U+0393 GREEK CAPITAL LETTER GAMMA' where ujis=0xA6A3;
+update t1 set name='U+0394 GREEK CAPITAL LETTER DELTA' where ujis=0xA6A4;
+update t1 set name='U+0395 GREEK CAPITAL LETTER EPSILON' where ujis=0xA6A5;
+update t1 set name='U+0396 GREEK CAPITAL LETTER ZETA' where ujis=0xA6A6;
+update t1 set name='U+0397 GREEK CAPITAL LETTER ETA' where ujis=0xA6A7;
+update t1 set name='U+0398 GREEK CAPITAL LETTER THETA' where ujis=0xA6A8;
+update t1 set name='U+0399 GREEK CAPITAL LETTER IOTA' where ujis=0xA6A9;
+update t1 set name='U+039A GREEK CAPITAL LETTER KAPPA' where ujis=0xA6AA;
+update t1 set name='U+039B GREEK CAPITAL LETTER LAMDA' where ujis=0xA6AB;
+update t1 set name='U+039C GREEK CAPITAL LETTER MU' where ujis=0xA6AC;
+update t1 set name='U+039D GREEK CAPITAL LETTER NU' where ujis=0xA6AD;
+update t1 set name='U+039E GREEK CAPITAL LETTER XI' where ujis=0xA6AE;
+update t1 set name='U+039F GREEK CAPITAL LETTER OMICRON' where ujis=0xA6AF;
+update t1 set name='U+03A0 GREEK CAPITAL LETTER PI' where ujis=0xA6B0;
+update t1 set name='U+03A1 GREEK CAPITAL LETTER RHO' where ujis=0xA6B1;
+update t1 set name='U+03A3 GREEK CAPITAL LETTER SIGMA' where ujis=0xA6B2;
+update t1 set name='U+03A4 GREEK CAPITAL LETTER TAU' where ujis=0xA6B3;
+update t1 set name='U+03A5 GREEK CAPITAL LETTER UPSILON' where ujis=0xA6B4;
+update t1 set name='U+03A6 GREEK CAPITAL LETTER PHI' where ujis=0xA6B5;
+update t1 set name='U+03A7 GREEK CAPITAL LETTER CHI' where ujis=0xA6B6;
+update t1 set name='U+03A8 GREEK CAPITAL LETTER PSI' where ujis=0xA6B7;
+update t1 set name='U+03A9 GREEK CAPITAL LETTER OMEGA' where ujis=0xA6B8;
+update t1 set name='U+03B1 GREEK SMALL LETTER ALPHA' where ujis=0xA6C1;
+update t1 set name='U+03B2 GREEK SMALL LETTER BETA' where ujis=0xA6C2;
+update t1 set name='U+03B3 GREEK SMALL LETTER GAMMA' where ujis=0xA6C3;
+update t1 set name='U+03B4 GREEK SMALL LETTER DELTA' where ujis=0xA6C4;
+update t1 set name='U+03B5 GREEK SMALL LETTER EPSILON' where ujis=0xA6C5;
+update t1 set name='U+03B6 GREEK SMALL LETTER ZETA' where ujis=0xA6C6;
+update t1 set name='U+03B7 GREEK SMALL LETTER ETA' where ujis=0xA6C7;
+update t1 set name='U+03B8 GREEK SMALL LETTER THETA' where ujis=0xA6C8;
+update t1 set name='U+03B9 GREEK SMALL LETTER IOTA' where ujis=0xA6C9;
+update t1 set name='U+03BA GREEK SMALL LETTER KAPPA' where ujis=0xA6CA;
+update t1 set name='U+03BB GREEK SMALL LETTER LAMDA' where ujis=0xA6CB;
+update t1 set name='U+03BC GREEK SMALL LETTER MU' where ujis=0xA6CC;
+update t1 set name='U+03BD GREEK SMALL LETTER NU' where ujis=0xA6CD;
+update t1 set name='U+03BE GREEK SMALL LETTER XI' where ujis=0xA6CE;
+update t1 set name='U+03BF GREEK SMALL LETTER OMICRON' where ujis=0xA6CF;
+update t1 set name='U+03C0 GREEK SMALL LETTER PI' where ujis=0xA6D0;
+update t1 set name='U+03C1 GREEK SMALL LETTER RHO' where ujis=0xA6D1;
+update t1 set name='U+03C3 GREEK SMALL LETTER SIGMA' where ujis=0xA6D2;
+update t1 set name='U+03C4 GREEK SMALL LETTER TAU' where ujis=0xA6D3;
+update t1 set name='U+03C5 GREEK SMALL LETTER UPSILON' where ujis=0xA6D4;
+update t1 set name='U+03C6 GREEK SMALL LETTER PHI' where ujis=0xA6D5;
+update t1 set name='U+03C7 GREEK SMALL LETTER CHI' where ujis=0xA6D6;
+update t1 set name='U+03C8 GREEK SMALL LETTER PSI' where ujis=0xA6D7;
+update t1 set name='U+03C9 GREEK SMALL LETTER OMEGA' where ujis=0xA6D8;
+update t1 set name='U+0410 CYRILLIC CAPITAL LETTER A' where ujis=0xA7A1;
+update t1 set name='U+0411 CYRILLIC CAPITAL LETTER BE' where ujis=0xA7A2;
+update t1 set name='U+0412 CYRILLIC CAPITAL LETTER VE' where ujis=0xA7A3;
+update t1 set name='U+0413 CYRILLIC CAPITAL LETTER GHE' where ujis=0xA7A4;
+update t1 set name='U+0414 CYRILLIC CAPITAL LETTER DE' where ujis=0xA7A5;
+update t1 set name='U+0415 CYRILLIC CAPITAL LETTER IE' where ujis=0xA7A6;
+update t1 set name='U+0401 CYRILLIC CAPITAL LETTER IO' where ujis=0xA7A7;
+update t1 set name='U+0416 CYRILLIC CAPITAL LETTER ZHE' where ujis=0xA7A8;
+update t1 set name='U+0417 CYRILLIC CAPITAL LETTER ZE' where ujis=0xA7A9;
+update t1 set name='U+0418 CYRILLIC CAPITAL LETTER I' where ujis=0xA7AA;
+update t1 set name='U+0419 CYRILLIC CAPITAL LETTER SHORT I' where ujis=0xA7AB;
+update t1 set name='U+041A CYRILLIC CAPITAL LETTER KA' where ujis=0xA7AC;
+update t1 set name='U+041B CYRILLIC CAPITAL LETTER EL' where ujis=0xA7AD;
+update t1 set name='U+041C CYRILLIC CAPITAL LETTER EM' where ujis=0xA7AE;
+update t1 set name='U+041D CYRILLIC CAPITAL LETTER EN' where ujis=0xA7AF;
+update t1 set name='U+041E CYRILLIC CAPITAL LETTER O' where ujis=0xA7B0;
+update t1 set name='U+041F CYRILLIC CAPITAL LETTER PE' where ujis=0xA7B1;
+update t1 set name='U+0420 CYRILLIC CAPITAL LETTER ER' where ujis=0xA7B2;
+update t1 set name='U+0421 CYRILLIC CAPITAL LETTER ES' where ujis=0xA7B3;
+update t1 set name='U+0422 CYRILLIC CAPITAL LETTER TE' where ujis=0xA7B4;
+update t1 set name='U+0423 CYRILLIC CAPITAL LETTER U' where ujis=0xA7B5;
+update t1 set name='U+0424 CYRILLIC CAPITAL LETTER EF' where ujis=0xA7B6;
+update t1 set name='U+0425 CYRILLIC CAPITAL LETTER HA' where ujis=0xA7B7;
+update t1 set name='U+0426 CYRILLIC CAPITAL LETTER TSE' where ujis=0xA7B8;
+update t1 set name='U+0427 CYRILLIC CAPITAL LETTER CHE' where ujis=0xA7B9;
+update t1 set name='U+0428 CYRILLIC CAPITAL LETTER SHA' where ujis=0xA7BA;
+update t1 set name='U+0429 CYRILLIC CAPITAL LETTER SHCHA' where ujis=0xA7BB;
+update t1 set name='U+042A CYRILLIC CAPITAL LETTER HARD SIGN' where ujis=0xA7BC;
+update t1 set name='U+042B CYRILLIC CAPITAL LETTER YERU' where ujis=0xA7BD;
+update t1 set name='U+042C CYRILLIC CAPITAL LETTER SOFT SIGN' where ujis=0xA7BE;
+update t1 set name='U+042D CYRILLIC CAPITAL LETTER E' where ujis=0xA7BF;
+update t1 set name='U+042E CYRILLIC CAPITAL LETTER YU' where ujis=0xA7C0;
+update t1 set name='U+042F CYRILLIC CAPITAL LETTER YA' where ujis=0xA7C1;
+update t1 set name='U+0430 CYRILLIC SMALL LETTER A' where ujis=0xA7D1;
+update t1 set name='U+0431 CYRILLIC SMALL LETTER BE' where ujis=0xA7D2;
+update t1 set name='U+0432 CYRILLIC SMALL LETTER VE' where ujis=0xA7D3;
+update t1 set name='U+0433 CYRILLIC SMALL LETTER GHE' where ujis=0xA7D4;
+update t1 set name='U+0434 CYRILLIC SMALL LETTER DE' where ujis=0xA7D5;
+update t1 set name='U+0435 CYRILLIC SMALL LETTER IE' where ujis=0xA7D6;
+update t1 set name='U+0451 CYRILLIC SMALL LETTER IO' where ujis=0xA7D7;
+update t1 set name='U+0436 CYRILLIC SMALL LETTER ZHE' where ujis=0xA7D8;
+update t1 set name='U+0437 CYRILLIC SMALL LETTER ZE' where ujis=0xA7D9;
+update t1 set name='U+0438 CYRILLIC SMALL LETTER I' where ujis=0xA7DA;
+update t1 set name='U+0439 CYRILLIC SMALL LETTER SHORT I' where ujis=0xA7DB;
+update t1 set name='U+043A CYRILLIC SMALL LETTER KA' where ujis=0xA7DC;
+update t1 set name='U+043B CYRILLIC SMALL LETTER EL' where ujis=0xA7DD;
+update t1 set name='U+043C CYRILLIC SMALL LETTER EM' where ujis=0xA7DE;
+update t1 set name='U+043D CYRILLIC SMALL LETTER EN' where ujis=0xA7DF;
+update t1 set name='U+043E CYRILLIC SMALL LETTER O' where ujis=0xA7E0;
+update t1 set name='U+043F CYRILLIC SMALL LETTER PE' where ujis=0xA7E1;
+update t1 set name='U+0440 CYRILLIC SMALL LETTER ER' where ujis=0xA7E2;
+update t1 set name='U+0441 CYRILLIC SMALL LETTER ES' where ujis=0xA7E3;
+update t1 set name='U+0442 CYRILLIC SMALL LETTER TE' where ujis=0xA7E4;
+update t1 set name='U+0443 CYRILLIC SMALL LETTER U' where ujis=0xA7E5;
+update t1 set name='U+0444 CYRILLIC SMALL LETTER EF' where ujis=0xA7E6;
+update t1 set name='U+0445 CYRILLIC SMALL LETTER HA' where ujis=0xA7E7;
+update t1 set name='U+0446 CYRILLIC SMALL LETTER TSE' where ujis=0xA7E8;
+update t1 set name='U+0447 CYRILLIC SMALL LETTER CHE' where ujis=0xA7E9;
+update t1 set name='U+0448 CYRILLIC SMALL LETTER SHA' where ujis=0xA7EA;
+update t1 set name='U+0449 CYRILLIC SMALL LETTER SHCHA' where ujis=0xA7EB;
+update t1 set name='U+044A CYRILLIC SMALL LETTER HARD SIGN' where ujis=0xA7EC;
+update t1 set name='U+044B CYRILLIC SMALL LETTER YERU' where ujis=0xA7ED;
+update t1 set name='U+044C CYRILLIC SMALL LETTER SOFT SIGN' where ujis=0xA7EE;
+update t1 set name='U+044D CYRILLIC SMALL LETTER E' where ujis=0xA7EF;
+update t1 set name='U+044E CYRILLIC SMALL LETTER YU' where ujis=0xA7F0;
+update t1 set name='U+044F CYRILLIC SMALL LETTER YA' where ujis=0xA7F1;
+update t1 set name='U+2500 BOX DRAWINGS LIGHT HORIZONTAL' where ujis=0xA8A1;
+update t1 set name='U+2502 BOX DRAWINGS LIGHT VERTICAL' where ujis=0xA8A2;
+update t1 set name='U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT' where ujis=0xA8A3;
+update t1 set name='U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT' where ujis=0xA8A4;
+update t1 set name='U+2518 BOX DRAWINGS LIGHT UP AND LEFT' where ujis=0xA8A5;
+update t1 set name='U+2514 BOX DRAWINGS LIGHT UP AND RIGHT' where ujis=0xA8A6;
+update t1 set name='U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT' where ujis=0xA8A7;
+update t1 set name='U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL' where ujis=0xA8A8;
+update t1 set name='U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT' where ujis=0xA8A9;
+update t1 set name='U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL' where ujis=0xA8AA;
+update t1 set name='U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL' where ujis=0xA8AB;
+update t1 set name='U+2501 BOX DRAWINGS HEAVY HORIZONTAL' where ujis=0xA8AC;
+update t1 set name='U+2503 BOX DRAWINGS HEAVY VERTICAL' where ujis=0xA8AD;
+update t1 set name='U+250F BOX DRAWINGS HEAVY DOWN AND RIGHT' where ujis=0xA8AE;
+update t1 set name='U+2513 BOX DRAWINGS HEAVY DOWN AND LEFT' where ujis=0xA8AF;
+update t1 set name='U+251B BOX DRAWINGS HEAVY UP AND LEFT' where ujis=0xA8B0;
+update t1 set name='U+2517 BOX DRAWINGS HEAVY UP AND RIGHT' where ujis=0xA8B1;
+update t1 set name='U+2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT' where ujis=0xA8B2;
+update t1 set name='U+2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL' where ujis=0xA8B3;
+update t1 set name='U+252B BOX DRAWINGS HEAVY VERTICAL AND LEFT' where ujis=0xA8B4;
+update t1 set name='U+253B BOX DRAWINGS HEAVY UP AND HORIZONTAL' where ujis=0xA8B5;
+update t1 set name='U+254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL' where ujis=0xA8B6;
+update t1 set name='U+2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT' where ujis=0xA8B7;
+update t1 set name='U+252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY' where ujis=0xA8B8;
+update t1 set name='U+2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT' where ujis=0xA8B9;
+update t1 set name='U+2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY' where ujis=0xA8BA;
+update t1 set name='U+253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY' where ujis=0xA8BB;
+update t1 set name='U+251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY' where ujis=0xA8BC;
+update t1 set name='U+2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT' where ujis=0xA8BD;
+update t1 set name='U+2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY' where ujis=0xA8BE;
+update t1 set name='U+2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT' where ujis=0xA8BF;
+update t1 set name='U+2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT' where ujis=0xA8C0;
+update t1 set name='<CJK>' where ujis >= 0xB0A1 AND ujis <= 0xBFFE;
+update t1 set name='<CJK>' where ujis >= 0xC0A1 AND ujis <= 0xCEFE;
+update t1 set name='U+84EE <CJK>' where ujis=0xCFA1;
+update t1 set name='U+9023 <CJK>' where ujis=0xCFA2;
+update t1 set name='U+932C <CJK>' where ujis=0xCFA3;
+update t1 set name='U+5442 <CJK>' where ujis=0xCFA4;
+update t1 set name='U+9B6F <CJK>' where ujis=0xCFA5;
+update t1 set name='U+6AD3 <CJK>' where ujis=0xCFA6;
+update t1 set name='U+7089 <CJK>' where ujis=0xCFA7;
+update t1 set name='U+8CC2 <CJK>' where ujis=0xCFA8;
+update t1 set name='U+8DEF <CJK>' where ujis=0xCFA9;
+update t1 set name='U+9732 <CJK>' where ujis=0xCFAA;
+update t1 set name='U+52B4 <CJK>' where ujis=0xCFAB;
+update t1 set name='U+5A41 <CJK>' where ujis=0xCFAC;
+update t1 set name='U+5ECA <CJK>' where ujis=0xCFAD;
+update t1 set name='U+5F04 <CJK>' where ujis=0xCFAE;
+update t1 set name='U+6717 <CJK>' where ujis=0xCFAF;
+update t1 set name='U+697C <CJK>' where ujis=0xCFB0;
+update t1 set name='U+6994 <CJK>' where ujis=0xCFB1;
+update t1 set name='U+6D6A <CJK>' where ujis=0xCFB2;
+update t1 set name='U+6F0F <CJK>' where ujis=0xCFB3;
+update t1 set name='U+7262 <CJK>' where ujis=0xCFB4;
+update t1 set name='U+72FC <CJK>' where ujis=0xCFB5;
+update t1 set name='U+7BED <CJK>' where ujis=0xCFB6;
+update t1 set name='U+8001 <CJK>' where ujis=0xCFB7;
+update t1 set name='U+807E <CJK>' where ujis=0xCFB8;
+update t1 set name='U+874B <CJK>' where ujis=0xCFB9;
+update t1 set name='U+90CE <CJK>' where ujis=0xCFBA;
+update t1 set name='U+516D <CJK>' where ujis=0xCFBB;
+update t1 set name='U+9E93 <CJK>' where ujis=0xCFBC;
+update t1 set name='U+7984 <CJK>' where ujis=0xCFBD;
+update t1 set name='U+808B <CJK>' where ujis=0xCFBE;
+update t1 set name='U+9332 <CJK>' where ujis=0xCFBF;
+update t1 set name='U+8AD6 <CJK>' where ujis=0xCFC0;
+update t1 set name='U+502D <CJK>' where ujis=0xCFC1;
+update t1 set name='U+548C <CJK>' where ujis=0xCFC2;
+update t1 set name='U+8A71 <CJK>' where ujis=0xCFC3;
+update t1 set name='U+6B6A <CJK>' where ujis=0xCFC4;
+update t1 set name='U+8CC4 <CJK>' where ujis=0xCFC5;
+update t1 set name='U+8107 <CJK>' where ujis=0xCFC6;
+update t1 set name='U+60D1 <CJK>' where ujis=0xCFC7;
+update t1 set name='U+67A0 <CJK>' where ujis=0xCFC8;
+update t1 set name='U+9DF2 <CJK>' where ujis=0xCFC9;
+update t1 set name='U+4E99 <CJK>' where ujis=0xCFCA;
+update t1 set name='U+4E98 <CJK>' where ujis=0xCFCB;
+update t1 set name='U+9C10 <CJK>' where ujis=0xCFCC;
+update t1 set name='U+8A6B <CJK>' where ujis=0xCFCD;
+update t1 set name='U+85C1 <CJK>' where ujis=0xCFCE;
+update t1 set name='U+8568 <CJK>' where ujis=0xCFCF;
+update t1 set name='U+6900 <CJK>' where ujis=0xCFD0;
+update t1 set name='U+6E7E <CJK>' where ujis=0xCFD1;
+update t1 set name='U+7897 <CJK>' where ujis=0xCFD2;
+update t1 set name='U+8155 <CJK>' where ujis=0xCFD3;
+update t1 set name='<CJK>' where ujis >= 0xD0A1 AND ujis <= 0xDFFE;
+update t1 set name='<CJK>' where ujis >= 0xE0A1 AND ujis <= 0xEFFE;
+update t1 set name='<CJK>' where ujis >= 0xF0A1 AND ujis <= 0xF3FE;
+update t1 set name='U+582F <CJK>' where ujis=0xF4A1;
+update t1 set name='U+69C7 <CJK>' where ujis=0xF4A2;
+update t1 set name='U+9059 <CJK>' where ujis=0xF4A3;
+update t1 set name='U+7464 <CJK>' where ujis=0xF4A4;
+update t1 set name='U+51DC <CJK>' where ujis=0xF4A5;
+update t1 set name='U+7199 <CJK>' where ujis=0xF4A6;
+update t1 set name='User defined range #1' where ujis >= 0xF5A1 AND ujis <= 0xFEFE;
+insert into t1 (ujis,name) values (0x8EA1,'U+FF61 HALFWIDTH IDEOGRAPHIC FULL STOP');
+insert into t1 (ujis,name) values (0x8EA2,'U+FF62 HALFWIDTH LEFT CORNER BRACKET');
+insert into t1 (ujis,name) values (0x8EA3,'U+FF63 HALFWIDTH RIGHT CORNER BRACKET');
+insert into t1 (ujis,name) values (0x8EA4,'U+FF64 HALFWIDTH IDEOGRAPHIC COMMA');
+insert into t1 (ujis,name) values (0x8EA5,'U+FF65 HALFWIDTH KATAKANA MIDDLE DOT');
+insert into t1 (ujis,name) values (0x8EA6,'U+FF66 HALFWIDTH KATAKANA LETTER WO');
+insert into t1 (ujis,name) values (0x8EA7,'U+FF67 HALFWIDTH KATAKANA LETTER SMALL A');
+insert into t1 (ujis,name) values (0x8EA8,'U+FF68 HALFWIDTH KATAKANA LETTER SMALL I');
+insert into t1 (ujis,name) values (0x8EA9,'U+FF69 HALFWIDTH KATAKANA LETTER SMALL U');
+insert into t1 (ujis,name) values (0x8EAA,'U+FF6A HALFWIDTH KATAKANA LETTER SMALL E');
+insert into t1 (ujis,name) values (0x8EAB,'U+FF6B HALFWIDTH KATAKANA LETTER SMALL O');
+insert into t1 (ujis,name) values (0x8EAC,'U+FF6C HALFWIDTH KATAKANA LETTER SMALL YA');
+insert into t1 (ujis,name) values (0x8EAD,'U+FF6D HALFWIDTH KATAKANA LETTER SMALL YU');
+insert into t1 (ujis,name) values (0x8EAE,'U+FF6E HALFWIDTH KATAKANA LETTER SMALL YO');
+insert into t1 (ujis,name) values (0x8EAF,'U+FF6F HALFWIDTH KATAKANA LETTER SMALL TU');
+insert into t1 (ujis,name) values (0x8EB0,'U+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK');
+insert into t1 (ujis,name) values (0x8EB1,'U+FF71 HALFWIDTH KATAKANA LETTER A');
+insert into t1 (ujis,name) values (0x8EB2,'U+FF72 HALFWIDTH KATAKANA LETTER I');
+insert into t1 (ujis,name) values (0x8EB3,'U+FF73 HALFWIDTH KATAKANA LETTER U');
+insert into t1 (ujis,name) values (0x8EB4,'U+FF74 HALFWIDTH KATAKANA LETTER E');
+insert into t1 (ujis,name) values (0x8EB5,'U+FF75 HALFWIDTH KATAKANA LETTER O');
+insert into t1 (ujis,name) values (0x8EB6,'U+FF76 HALFWIDTH KATAKANA LETTER KA');
+insert into t1 (ujis,name) values (0x8EB7,'U+FF77 HALFWIDTH KATAKANA LETTER KI');
+insert into t1 (ujis,name) values (0x8EB8,'U+FF78 HALFWIDTH KATAKANA LETTER KU');
+insert into t1 (ujis,name) values (0x8EB9,'U+FF79 HALFWIDTH KATAKANA LETTER KE');
+insert into t1 (ujis,name) values (0x8EBA,'U+FF7A HALFWIDTH KATAKANA LETTER KO');
+insert into t1 (ujis,name) values (0x8EBB,'U+FF7B HALFWIDTH KATAKANA LETTER SA');
+insert into t1 (ujis,name) values (0x8EBC,'U+FF7C HALFWIDTH KATAKANA LETTER SI');
+insert into t1 (ujis,name) values (0x8EBD,'U+FF7D HALFWIDTH KATAKANA LETTER SU');
+insert into t1 (ujis,name) values (0x8EBE,'U+FF7E HALFWIDTH KATAKANA LETTER SE');
+insert into t1 (ujis,name) values (0x8EBF,'U+FF7F HALFWIDTH KATAKANA LETTER SO');
+insert into t1 (ujis,name) values (0x8EC0,'U+FF80 HALFWIDTH KATAKANA LETTER TA');
+insert into t1 (ujis,name) values (0x8EC1,'U+FF81 HALFWIDTH KATAKANA LETTER TI');
+insert into t1 (ujis,name) values (0x8EC2,'U+FF82 HALFWIDTH KATAKANA LETTER TU');
+insert into t1 (ujis,name) values (0x8EC3,'U+FF83 HALFWIDTH KATAKANA LETTER TE');
+insert into t1 (ujis,name) values (0x8EC4,'U+FF84 HALFWIDTH KATAKANA LETTER TO');
+insert into t1 (ujis,name) values (0x8EC5,'U+FF85 HALFWIDTH KATAKANA LETTER NA');
+insert into t1 (ujis,name) values (0x8EC6,'U+FF86 HALFWIDTH KATAKANA LETTER NI');
+insert into t1 (ujis,name) values (0x8EC7,'U+FF87 HALFWIDTH KATAKANA LETTER NU');
+insert into t1 (ujis,name) values (0x8EC8,'U+FF88 HALFWIDTH KATAKANA LETTER NE');
+insert into t1 (ujis,name) values (0x8EC9,'U+FF89 HALFWIDTH KATAKANA LETTER NO');
+insert into t1 (ujis,name) values (0x8ECA,'U+FF8A HALFWIDTH KATAKANA LETTER HA');
+insert into t1 (ujis,name) values (0x8ECB,'U+FF8B HALFWIDTH KATAKANA LETTER HI');
+insert into t1 (ujis,name) values (0x8ECC,'U+FF8C HALFWIDTH KATAKANA LETTER HU');
+insert into t1 (ujis,name) values (0x8ECD,'U+FF8D HALFWIDTH KATAKANA LETTER HE');
+insert into t1 (ujis,name) values (0x8ECE,'U+FF8E HALFWIDTH KATAKANA LETTER HO');
+insert into t1 (ujis,name) values (0x8ECF,'U+FF8F HALFWIDTH KATAKANA LETTER MA');
+insert into t1 (ujis,name) values (0x8ED0,'U+FF90 HALFWIDTH KATAKANA LETTER MI');
+insert into t1 (ujis,name) values (0x8ED1,'U+FF91 HALFWIDTH KATAKANA LETTER MU');
+insert into t1 (ujis,name) values (0x8ED2,'U+FF92 HALFWIDTH KATAKANA LETTER ME');
+insert into t1 (ujis,name) values (0x8ED3,'U+FF93 HALFWIDTH KATAKANA LETTER MO');
+insert into t1 (ujis,name) values (0x8ED4,'U+FF94 HALFWIDTH KATAKANA LETTER YA');
+insert into t1 (ujis,name) values (0x8ED5,'U+FF95 HALFWIDTH KATAKANA LETTER YU');
+insert into t1 (ujis,name) values (0x8ED6,'U+FF96 HALFWIDTH KATAKANA LETTER YO');
+insert into t1 (ujis,name) values (0x8ED7,'U+FF97 HALFWIDTH KATAKANA LETTER RA');
+insert into t1 (ujis,name) values (0x8ED8,'U+FF98 HALFWIDTH KATAKANA LETTER RI');
+insert into t1 (ujis,name) values (0x8ED9,'U+FF99 HALFWIDTH KATAKANA LETTER RU');
+insert into t1 (ujis,name) values (0x8EDA,'U+FF9A HALFWIDTH KATAKANA LETTER RE');
+insert into t1 (ujis,name) values (0x8EDB,'U+FF9B HALFWIDTH KATAKANA LETTER RO');
+insert into t1 (ujis,name) values (0x8EDC,'U+FF9C HALFWIDTH KATAKANA LETTER WA');
+insert into t1 (ujis,name) values (0x8EDD,'U+FF9D HALFWIDTH KATAKANA LETTER N');
+insert into t1 (ujis,name) values (0x8EDE,'U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK');
+insert into t1 (ujis,name) values (0x8EDF,'U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK');
+insert into t1 (ujis) select concat(0x8F,t21.code,t22.code) from t2 t21, t2 t22 order by 1;
+update t1 set name='U+02D8 BREVE' where ujis=0x8FA2AF;
+update t1 set name='U+02C7 CARON (Mandarin Chinese third tone)' where ujis=0x8FA2B0;
+update t1 set name='U+00B8 CEDILLA' where ujis=0x8FA2B1;
+update t1 set name='U+02D9 DOT ABOVE (Mandarin Chinese light tone)' where ujis=0x8FA2B2;
+update t1 set name='U+02DD DOUBLE ACUTE ACCENT' where ujis=0x8FA2B3;
+update t1 set name='U+00AF MACRON' where ujis=0x8FA2B4;
+update t1 set name='U+02DB OGONEK' where ujis=0x8FA2B5;
+update t1 set name='U+02DA RING ABOVE' where ujis=0x8FA2B6;
+update t1 set name='U+007E TILDE' where ujis=0x8FA2B7;
+update t1 set name='U+0384 GREEK TONOS' where ujis=0x8FA2B8;
+update t1 set name='U+0385 GREEK DIALYTIKA TONOS' where ujis=0x8FA2B9;
+update t1 set name='U+00A1 INVERTED EXCLAMATION MARK' where ujis=0x8FA2C2;
+update t1 set name='U+00A6 BROKEN BAR' where ujis=0x8FA2C3;
+update t1 set name='U+00BF INVERTED QUESTION MARK' where ujis=0x8FA2C4;
+update t1 set name='U+00BA MASCULINE ORDINAL INDICATOR' where ujis=0x8FA2EB;
+update t1 set name='U+00AA FEMININE ORDINAL INDICATOR' where ujis=0x8FA2EC;
+update t1 set name='U+00A9 COPYRIGHT SIGN' where ujis=0x8FA2ED;
+update t1 set name='U+00AE REGISTERED SIGN' where ujis=0x8FA2EE;
+update t1 set name='U+2122 TRADE MARK SIGN' where ujis=0x8FA2EF;
+update t1 set name='U+00A4 CURRENCY SIGN' where ujis=0x8FA2F0;
+update t1 set name='U+2116 NUMERO SIGN' where ujis=0x8FA2F1;
+update t1 set name='U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS' where ujis=0x8FA6E1;
+update t1 set name='U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS' where ujis=0x8FA6E2;
+update t1 set name='U+0389 GREEK CAPITAL LETTER ETA WITH TONOS' where ujis=0x8FA6E3;
+update t1 set name='U+038A GREEK CAPITAL LETTER IOTA WITH TONOS' where ujis=0x8FA6E4;
+update t1 set name='U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA' where ujis=0x8FA6E5;
+update t1 set name='U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS' where ujis=0x8FA6E7;
+update t1 set name='U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS' where ujis=0x8FA6E9;
+update t1 set name='U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA' where ujis=0x8FA6EA;
+update t1 set name='U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS' where ujis=0x8FA6EC;
+update t1 set name='U+03AC GREEK SMALL LETTER ALPHA WITH TONOS' where ujis=0x8FA6F1;
+update t1 set name='U+03AD GREEK SMALL LETTER EPSILON WITH TONOS' where ujis=0x8FA6F2;
+update t1 set name='U+03AE GREEK SMALL LETTER ETA WITH TONOS' where ujis=0x8FA6F3;
+update t1 set name='U+03AF GREEK SMALL LETTER IOTA WITH TONOS' where ujis=0x8FA6F4;
+update t1 set name='U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA' where ujis=0x8FA6F5;
+update t1 set name='U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS' where ujis=0x8FA6F6;
+update t1 set name='U+03CC GREEK SMALL LETTER OMICRON WITH TONOS' where ujis=0x8FA6F7;
+update t1 set name='U+03C2 GREEK SMALL LETTER FINAL SIGMA' where ujis=0x8FA6F8;
+update t1 set name='U+03CD GREEK SMALL LETTER UPSILON WITH TONOS' where ujis=0x8FA6F9;
+update t1 set name='U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA' where ujis=0x8FA6FA;
+update t1 set name='U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS' where ujis=0x8FA6FB;
+update t1 set name='U+03CE GREEK SMALL LETTER OMEGA WITH TONOS' where ujis=0x8FA6FC;
+update t1 set name='U+0402 CYRILLIC CAPITAL LETTER DJE' where ujis=0x8FA7C2;
+update t1 set name='U+0403 CYRILLIC CAPITAL LETTER GJE' where ujis=0x8FA7C3;
+update t1 set name='U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE' where ujis=0x8FA7C4;
+update t1 set name='U+0405 CYRILLIC CAPITAL LETTER DZE' where ujis=0x8FA7C5;
+update t1 set name='U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I' where ujis=0x8FA7C6;
+update t1 set name='U+0407 CYRILLIC CAPITAL LETTER YI' where ujis=0x8FA7C7;
+update t1 set name='U+0408 CYRILLIC CAPITAL LETTER JE' where ujis=0x8FA7C8;
+update t1 set name='U+0409 CYRILLIC CAPITAL LETTER LJE' where ujis=0x8FA7C9;
+update t1 set name='U+040A CYRILLIC CAPITAL LETTER NJE' where ujis=0x8FA7CA;
+update t1 set name='U+040B CYRILLIC CAPITAL LETTER TSHE' where ujis=0x8FA7CB;
+update t1 set name='U+040C CYRILLIC CAPITAL LETTER KJE' where ujis=0x8FA7CC;
+update t1 set name='U+040E CYRILLIC CAPITAL LETTER SHORT U' where ujis=0x8FA7CD;
+update t1 set name='U+040F CYRILLIC CAPITAL LETTER DZHE' where ujis=0x8FA7CE;
+update t1 set name='U+0452 CYRILLIC SMALL LETTER DJE' where ujis=0x8FA7F2;
+update t1 set name='U+0453 CYRILLIC SMALL LETTER GJE' where ujis=0x8FA7F3;
+update t1 set name='U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE' where ujis=0x8FA7F4;
+update t1 set name='U+0455 CYRILLIC SMALL LETTER DZE' where ujis=0x8FA7F5;
+update t1 set name='U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I' where ujis=0x8FA7F6;
+update t1 set name='U+0457 CYRILLIC SMALL LETTER YI' where ujis=0x8FA7F7;
+update t1 set name='U+0458 CYRILLIC SMALL LETTER JE' where ujis=0x8FA7F8;
+update t1 set name='U+0459 CYRILLIC SMALL LETTER LJE' where ujis=0x8FA7F9;
+update t1 set name='U+045A CYRILLIC SMALL LETTER NJE' where ujis=0x8FA7FA;
+update t1 set name='U+045B CYRILLIC SMALL LETTER TSHE' where ujis=0x8FA7FB;
+update t1 set name='U+045C CYRILLIC SMALL LETTER KJE' where ujis=0x8FA7FC;
+update t1 set name='U+045E CYRILLIC SMALL LETTER SHORT U' where ujis=0x8FA7FD;
+update t1 set name='U+045F CYRILLIC SMALL LETTER DZHE' where ujis=0x8FA7FE;
+update t1 set name='U+00C6 LATIN CAPITAL LIGATURE AE' where ujis=0x8FA9A1;
+update t1 set name='U+0110 LATIN CAPITAL LETTER D WITH STROKE' where ujis=0x8FA9A2;
+update t1 set name='U+0126 LATIN CAPITAL LETTER H WITH STROKE' where ujis=0x8FA9A4;
+update t1 set name='U+0132 LATIN CAPITAL LIGATURE IJ' where ujis=0x8FA9A6;
+update t1 set name='U+0141 LATIN CAPITAL LETTER L WITH STROKE' where ujis=0x8FA9A8;
+update t1 set name='U+013F LATIN CAPITAL LETTER L WITH MIDDLE DOT' where ujis=0x8FA9A9;
+update t1 set name='U+014A LATIN CAPITAL LETTER ENG' where ujis=0x8FA9AB;
+update t1 set name='U+00D8 LATIN CAPITAL LETTER O WITH STROKE' where ujis=0x8FA9AC;
+update t1 set name='U+0152 LATIN CAPITAL LIGATURE OE' where ujis=0x8FA9AD;
+update t1 set name='U+0166 LATIN CAPITAL LETTER T WITH STROKE' where ujis=0x8FA9AF;
+update t1 set name='U+00DE LATIN CAPITAL LETTER THORN' where ujis=0x8FA9B0;
+update t1 set name='U+00E6 LATIN SMALL LIGATURE AE' where ujis=0x8FA9C1;
+update t1 set name='U+0111 LATIN SMALL LETTER D WITH STROKE' where ujis=0x8FA9C2;
+update t1 set name='U+00F0 LATIN SMALL LETTER ETH' where ujis=0x8FA9C3;
+update t1 set name='U+0127 LATIN SMALL LETTER H WITH STROKE' where ujis=0x8FA9C4;
+update t1 set name='U+0131 LATIN SMALL LETTER DOTLESS I' where ujis=0x8FA9C5;
+update t1 set name='U+0133 LATIN SMALL LIGATURE IJ' where ujis=0x8FA9C6;
+update t1 set name='U+0138 LATIN SMALL LETTER KRA' where ujis=0x8FA9C7;
+update t1 set name='U+0142 LATIN SMALL LETTER L WITH STROKE' where ujis=0x8FA9C8;
+update t1 set name='U+0140 LATIN SMALL LETTER L WITH MIDDLE DOT' where ujis=0x8FA9C9;
+update t1 set name='U+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE' where ujis=0x8FA9CA;
+update t1 set name='U+014B LATIN SMALL LETTER ENG' where ujis=0x8FA9CB;
+update t1 set name='U+00F8 LATIN SMALL LETTER O WITH STROKE' where ujis=0x8FA9CC;
+update t1 set name='U+0153 LATIN SMALL LIGATURE OE' where ujis=0x8FA9CD;
+update t1 set name='U+00DF LATIN SMALL LETTER SHARP S' where ujis=0x8FA9CE;
+update t1 set name='U+0167 LATIN SMALL LETTER T WITH STROKE' where ujis=0x8FA9CF;
+update t1 set name='U+00FE LATIN SMALL LETTER THORN' where ujis=0x8FA9D0;
+update t1 set name='U+00C1 LATIN CAPITAL LETTER A WITH ACUTE' where ujis=0x8FAAA1;
+update t1 set name='U+00C0 LATIN CAPITAL LETTER A WITH GRAVE' where ujis=0x8FAAA2;
+update t1 set name='U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS' where ujis=0x8FAAA3;
+update t1 set name='U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX' where ujis=0x8FAAA4;
+update t1 set name='U+0102 LATIN CAPITAL LETTER A WITH BREVE' where ujis=0x8FAAA5;
+update t1 set name='U+01CD LATIN CAPITAL LETTER A WITH CARON' where ujis=0x8FAAA6;
+update t1 set name='U+0100 LATIN CAPITAL LETTER A WITH MACRON' where ujis=0x8FAAA7;
+update t1 set name='U+0104 LATIN CAPITAL LETTER A WITH OGONEK' where ujis=0x8FAAA8;
+update t1 set name='U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE' where ujis=0x8FAAA9;
+update t1 set name='U+00C3 LATIN CAPITAL LETTER A WITH TILDE' where ujis=0x8FAAAA;
+update t1 set name='U+0106 LATIN CAPITAL LETTER C WITH ACUTE' where ujis=0x8FAAAB;
+update t1 set name='U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX' where ujis=0x8FAAAC;
+update t1 set name='U+010C LATIN CAPITAL LETTER C WITH CARON' where ujis=0x8FAAAD;
+update t1 set name='U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA' where ujis=0x8FAAAE;
+update t1 set name='U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE' where ujis=0x8FAAAF;
+update t1 set name='U+010E LATIN CAPITAL LETTER D WITH CARON' where ujis=0x8FAAB0;
+update t1 set name='U+00C9 LATIN CAPITAL LETTER E WITH ACUTE' where ujis=0x8FAAB1;
+update t1 set name='U+00C8 LATIN CAPITAL LETTER E WITH GRAVE' where ujis=0x8FAAB2;
+update t1 set name='U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS' where ujis=0x8FAAB3;
+update t1 set name='U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX' where ujis=0x8FAAB4;
+update t1 set name='U+011A LATIN CAPITAL LETTER E WITH CARON' where ujis=0x8FAAB5;
+update t1 set name='U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE' where ujis=0x8FAAB6;
+update t1 set name='U+0112 LATIN CAPITAL LETTER E WITH MACRON' where ujis=0x8FAAB7;
+update t1 set name='U+0118 LATIN CAPITAL LETTER E WITH OGONEK' where ujis=0x8FAAB8;
+update t1 set name='U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX' where ujis=0x8FAABA;
+update t1 set name='U+011E LATIN CAPITAL LETTER G WITH BREVE' where ujis=0x8FAABB;
+update t1 set name='U+0122 LATIN CAPITAL LETTER G WITH CEDILLA' where ujis=0x8FAABC;
+update t1 set name='U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE' where ujis=0x8FAABD;
+update t1 set name='U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX' where ujis=0x8FAABE;
+update t1 set name='U+00CD LATIN CAPITAL LETTER I WITH ACUTE' where ujis=0x8FAABF;
+update t1 set name='U+00CC LATIN CAPITAL LETTER I WITH GRAVE' where ujis=0x8FAAC0;
+update t1 set name='U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS' where ujis=0x8FAAC1;
+update t1 set name='U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX' where ujis=0x8FAAC2;
+update t1 set name='U+01CF LATIN CAPITAL LETTER I WITH CARON' where ujis=0x8FAAC3;
+update t1 set name='U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE' where ujis=0x8FAAC4;
+update t1 set name='U+012A LATIN CAPITAL LETTER I WITH MACRON' where ujis=0x8FAAC5;
+update t1 set name='U+012E LATIN CAPITAL LETTER I WITH OGONEK' where ujis=0x8FAAC6;
+update t1 set name='U+0128 LATIN CAPITAL LETTER I WITH TILDE' where ujis=0x8FAAC7;
+update t1 set name='U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX' where ujis=0x8FAAC8;
+update t1 set name='U+0136 LATIN CAPITAL LETTER K WITH CEDILLA' where ujis=0x8FAAC9;
+update t1 set name='U+0139 LATIN CAPITAL LETTER L WITH ACUTE' where ujis=0x8FAACA;
+update t1 set name='U+013D LATIN CAPITAL LETTER L WITH CARON' where ujis=0x8FAACB;
+update t1 set name='U+013B LATIN CAPITAL LETTER L WITH CEDILLA' where ujis=0x8FAACC;
+update t1 set name='U+0143 LATIN CAPITAL LETTER N WITH ACUTE' where ujis=0x8FAACD;
+update t1 set name='U+0147 LATIN CAPITAL LETTER N WITH CARON' where ujis=0x8FAACE;
+update t1 set name='U+0145 LATIN CAPITAL LETTER N WITH CEDILLA' where ujis=0x8FAACF;
+update t1 set name='U+00D1 LATIN CAPITAL LETTER N WITH TILDE' where ujis=0x8FAAD0;
+update t1 set name='U+00D3 LATIN CAPITAL LETTER O WITH ACUTE' where ujis=0x8FAAD1;
+update t1 set name='U+00D2 LATIN CAPITAL LETTER O WITH GRAVE' where ujis=0x8FAAD2;
+update t1 set name='U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS' where ujis=0x8FAAD3;
+update t1 set name='U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX' where ujis=0x8FAAD4;
+update t1 set name='U+01D1 LATIN CAPITAL LETTER O WITH CARON' where ujis=0x8FAAD5;
+update t1 set name='U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE' where ujis=0x8FAAD6;
+update t1 set name='U+014C LATIN CAPITAL LETTER O WITH MACRON' where ujis=0x8FAAD7;
+update t1 set name='U+00D5 LATIN CAPITAL LETTER O WITH TILDE' where ujis=0x8FAAD8;
+update t1 set name='U+0154 LATIN CAPITAL LETTER R WITH ACUTE' where ujis=0x8FAAD9;
+update t1 set name='U+0158 LATIN CAPITAL LETTER R WITH CARON' where ujis=0x8FAADA;
+update t1 set name='U+0156 LATIN CAPITAL LETTER R WITH CEDILLA' where ujis=0x8FAADB;
+update t1 set name='U+015A LATIN CAPITAL LETTER S WITH ACUTE' where ujis=0x8FAADC;
+update t1 set name='U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX' where ujis=0x8FAADD;
+update t1 set name='U+0160 LATIN CAPITAL LETTER S WITH CARON' where ujis=0x8FAADE;
+update t1 set name='U+015E LATIN CAPITAL LETTER S WITH CEDILLA' where ujis=0x8FAADF;
+update t1 set name='U+0164 LATIN CAPITAL LETTER T WITH CARON' where ujis=0x8FAAE0;
+update t1 set name='U+0162 LATIN CAPITAL LETTER T WITH CEDILLA' where ujis=0x8FAAE1;
+update t1 set name='U+00DA LATIN CAPITAL LETTER U WITH ACUTE' where ujis=0x8FAAE2;
+update t1 set name='U+00D9 LATIN CAPITAL LETTER U WITH GRAVE' where ujis=0x8FAAE3;
+update t1 set name='U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS' where ujis=0x8FAAE4;
+update t1 set name='U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX' where ujis=0x8FAAE5;
+update t1 set name='U+016C LATIN CAPITAL LETTER U WITH BREVE' where ujis=0x8FAAE6;
+update t1 set name='U+01D3 LATIN CAPITAL LETTER U WITH CARON' where ujis=0x8FAAE7;
+update t1 set name='U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE' where ujis=0x8FAAE8;
+update t1 set name='U+016A LATIN CAPITAL LETTER U WITH MACRON' where ujis=0x8FAAE9;
+update t1 set name='U+0172 LATIN CAPITAL LETTER U WITH OGONEK' where ujis=0x8FAAEA;
+update t1 set name='U+016E LATIN CAPITAL LETTER U WITH RING ABOVE' where ujis=0x8FAAEB;
+update t1 set name='U+0168 LATIN CAPITAL LETTER U WITH TILDE' where ujis=0x8FAAEC;
+update t1 set name='U+01D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE' where ujis=0x8FAAED;
+update t1 set name='U+01DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE' where ujis=0x8FAAEE;
+update t1 set name='U+01D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON' where ujis=0x8FAAEF;
+update t1 set name='U+01D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON' where ujis=0x8FAAF0;
+update t1 set name='U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX' where ujis=0x8FAAF1;
+update t1 set name='U+00DD LATIN CAPITAL LETTER Y WITH ACUTE' where ujis=0x8FAAF2;
+update t1 set name='U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS' where ujis=0x8FAAF3;
+update t1 set name='U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX' where ujis=0x8FAAF4;
+update t1 set name='U+0179 LATIN CAPITAL LETTER Z WITH ACUTE' where ujis=0x8FAAF5;
+update t1 set name='U+017D LATIN CAPITAL LETTER Z WITH CARON' where ujis=0x8FAAF6;
+update t1 set name='U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE' where ujis=0x8FAAF7;
+update t1 set name='U+00E1 LATIN SMALL LETTER A WITH ACUTE' where ujis=0x8FABA1;
+update t1 set name='U+00E0 LATIN SMALL LETTER A WITH GRAVE' where ujis=0x8FABA2;
+update t1 set name='U+00E4 LATIN SMALL LETTER A WITH DIAERESIS' where ujis=0x8FABA3;
+update t1 set name='U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX' where ujis=0x8FABA4;
+update t1 set name='U+0103 LATIN SMALL LETTER A WITH BREVE' where ujis=0x8FABA5;
+update t1 set name='U+01CE LATIN SMALL LETTER A WITH CARON' where ujis=0x8FABA6;
+update t1 set name='U+0101 LATIN SMALL LETTER A WITH MACRON' where ujis=0x8FABA7;
+update t1 set name='U+0105 LATIN SMALL LETTER A WITH OGONEK' where ujis=0x8FABA8;
+update t1 set name='U+00E5 LATIN SMALL LETTER A WITH RING ABOVE' where ujis=0x8FABA9;
+update t1 set name='U+00E3 LATIN SMALL LETTER A WITH TILDE' where ujis=0x8FABAA;
+update t1 set name='U+0107 LATIN SMALL LETTER C WITH ACUTE' where ujis=0x8FABAB;
+update t1 set name='U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX' where ujis=0x8FABAC;
+update t1 set name='U+010D LATIN SMALL LETTER C WITH CARON' where ujis=0x8FABAD;
+update t1 set name='U+00E7 LATIN SMALL LETTER C WITH CEDILLA' where ujis=0x8FABAE;
+update t1 set name='U+010B LATIN SMALL LETTER C WITH DOT ABOVE' where ujis=0x8FABAF;
+update t1 set name='U+010F LATIN SMALL LETTER D WITH CARON' where ujis=0x8FABB0;
+update t1 set name='U+00E9 LATIN SMALL LETTER E WITH ACUTE' where ujis=0x8FABB1;
+update t1 set name='U+00E8 LATIN SMALL LETTER E WITH GRAVE' where ujis=0x8FABB2;
+update t1 set name='U+00EB LATIN SMALL LETTER E WITH DIAERESIS' where ujis=0x8FABB3;
+update t1 set name='U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX' where ujis=0x8FABB4;
+update t1 set name='U+011B LATIN SMALL LETTER E WITH CARON' where ujis=0x8FABB5;
+update t1 set name='U+0117 LATIN SMALL LETTER E WITH DOT ABOVE' where ujis=0x8FABB6;
+update t1 set name='U+0113 LATIN SMALL LETTER E WITH MACRON' where ujis=0x8FABB7;
+update t1 set name='U+0119 LATIN SMALL LETTER E WITH OGONEK' where ujis=0x8FABB8;
+update t1 set name='U+01F5 LATIN SMALL LETTER G WITH ACUTE' where ujis=0x8FABB9;
+update t1 set name='U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX' where ujis=0x8FABBA;
+update t1 set name='U+011F LATIN SMALL LETTER G WITH BREVE' where ujis=0x8FABBB;
+update t1 set name='U+0121 LATIN SMALL LETTER G WITH DOT ABOVE' where ujis=0x8FABBD;
+update t1 set name='U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX' where ujis=0x8FABBE;
+update t1 set name='U+00ED LATIN SMALL LETTER I WITH ACUTE' where ujis=0x8FABBF;
+update t1 set name='U+00EC LATIN SMALL LETTER I WITH GRAVE' where ujis=0x8FABC0;
+update t1 set name='U+00EF LATIN SMALL LETTER I WITH DIAERESIS' where ujis=0x8FABC1;
+update t1 set name='U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX' where ujis=0x8FABC2;
+update t1 set name='U+01D0 LATIN SMALL LETTER I WITH CARON' where ujis=0x8FABC3;
+update t1 set name='U+012B LATIN SMALL LETTER I WITH MACRON' where ujis=0x8FABC5;
+update t1 set name='U+012F LATIN SMALL LETTER I WITH OGONEK' where ujis=0x8FABC6;
+update t1 set name='U+0129 LATIN SMALL LETTER I WITH TILDE' where ujis=0x8FABC7;
+update t1 set name='U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX' where ujis=0x8FABC8;
+update t1 set name='U+0137 LATIN SMALL LETTER K WITH CEDILLA' where ujis=0x8FABC9;
+update t1 set name='U+013A LATIN SMALL LETTER L WITH ACUTE' where ujis=0x8FABCA;
+update t1 set name='U+013E LATIN SMALL LETTER L WITH CARON' where ujis=0x8FABCB;
+update t1 set name='U+013C LATIN SMALL LETTER L WITH CEDILLA' where ujis=0x8FABCC;
+update t1 set name='U+0144 LATIN SMALL LETTER N WITH ACUTE' where ujis=0x8FABCD;
+update t1 set name='U+0148 LATIN SMALL LETTER N WITH CARON' where ujis=0x8FABCE;
+update t1 set name='U+0146 LATIN SMALL LETTER N WITH CEDILLA' where ujis=0x8FABCF;
+update t1 set name='U+00F1 LATIN SMALL LETTER N WITH TILDE' where ujis=0x8FABD0;
+update t1 set name='U+00F3 LATIN SMALL LETTER O WITH ACUTE' where ujis=0x8FABD1;
+update t1 set name='U+00F2 LATIN SMALL LETTER O WITH GRAVE' where ujis=0x8FABD2;
+update t1 set name='U+00F6 LATIN SMALL LETTER O WITH DIAERESIS' where ujis=0x8FABD3;
+update t1 set name='U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX' where ujis=0x8FABD4;
+update t1 set name='U+01D2 LATIN SMALL LETTER O WITH CARON' where ujis=0x8FABD5;
+update t1 set name='U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE' where ujis=0x8FABD6;
+update t1 set name='U+014D LATIN SMALL LETTER O WITH MACRON' where ujis=0x8FABD7;
+update t1 set name='U+00F5 LATIN SMALL LETTER O WITH TILDE' where ujis=0x8FABD8;
+update t1 set name='U+0155 LATIN SMALL LETTER R WITH ACUTE' where ujis=0x8FABD9;
+update t1 set name='U+0159 LATIN SMALL LETTER R WITH CARON' where ujis=0x8FABDA;
+update t1 set name='U+0157 LATIN SMALL LETTER R WITH CEDILLA' where ujis=0x8FABDB;
+update t1 set name='U+015B LATIN SMALL LETTER S WITH ACUTE' where ujis=0x8FABDC;
+update t1 set name='U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX' where ujis=0x8FABDD;
+update t1 set name='U+0161 LATIN SMALL LETTER S WITH CARON' where ujis=0x8FABDE;
+update t1 set name='U+015F LATIN SMALL LETTER S WITH CEDILLA' where ujis=0x8FABDF;
+update t1 set name='U+0165 LATIN SMALL LETTER T WITH CARON' where ujis=0x8FABE0;
+update t1 set name='U+0163 LATIN SMALL LETTER T WITH CEDILLA' where ujis=0x8FABE1;
+update t1 set name='U+00FA LATIN SMALL LETTER U WITH ACUTE' where ujis=0x8FABE2;
+update t1 set name='U+00F9 LATIN SMALL LETTER U WITH GRAVE' where ujis=0x8FABE3;
+update t1 set name='U+00FC LATIN SMALL LETTER U WITH DIAERESIS' where ujis=0x8FABE4;
+update t1 set name='U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX' where ujis=0x8FABE5;
+update t1 set name='U+016D LATIN SMALL LETTER U WITH BREVE' where ujis=0x8FABE6;
+update t1 set name='U+01D4 LATIN SMALL LETTER U WITH CARON' where ujis=0x8FABE7;
+update t1 set name='U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE' where ujis=0x8FABE8;
+update t1 set name='U+016B LATIN SMALL LETTER U WITH MACRON' where ujis=0x8FABE9;
+update t1 set name='U+0173 LATIN SMALL LETTER U WITH OGONEK' where ujis=0x8FABEA;
+update t1 set name='U+016F LATIN SMALL LETTER U WITH RING ABOVE' where ujis=0x8FABEB;
+update t1 set name='U+0169 LATIN SMALL LETTER U WITH TILDE' where ujis=0x8FABEC;
+update t1 set name='U+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE' where ujis=0x8FABED;
+update t1 set name='U+01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE' where ujis=0x8FABEE;
+update t1 set name='U+01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON' where ujis=0x8FABEF;
+update t1 set name='U+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON' where ujis=0x8FABF0;
+update t1 set name='U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX' where ujis=0x8FABF1;
+update t1 set name='U+00FD LATIN SMALL LETTER Y WITH ACUTE' where ujis=0x8FABF2;
+update t1 set name='U+00FF LATIN SMALL LETTER Y WITH DIAERESIS' where ujis=0x8FABF3;
+update t1 set name='U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX' where ujis=0x8FABF4;
+update t1 set name='U+017A LATIN SMALL LETTER Z WITH ACUTE' where ujis=0x8FABF5;
+update t1 set name='U+017E LATIN SMALL LETTER Z WITH CARON' where ujis=0x8FABF6;
+update t1 set name='U+017C LATIN SMALL LETTER Z WITH DOT ABOVE' where ujis=0x8FABF7;
+update t1 set name='<CJK>' where ujis >= 0x8FB0A1 AND ujis <= 0x8FBFFE;
+update t1 set name='<CJK>' where ujis >= 0x8FC0A1 AND ujis <= 0x8FCFFE;
+update t1 set name='<CJK>' where ujis >= 0x8FD0A1 AND ujis <= 0x8FDFFE;
+update t1 set name='<CJK>' where ujis >= 0x8FE0A1 AND ujis <= 0x8FECFE;
+update t1 set name='U+9EF8 <CJK>' where ujis=0x8FEDA1;
+update t1 set name='U+9EFF <CJK>' where ujis=0x8FEDA2;
+update t1 set name='U+9F02 <CJK>' where ujis=0x8FEDA3;
+update t1 set name='U+9F03 <CJK>' where ujis=0x8FEDA4;
+update t1 set name='U+9F09 <CJK>' where ujis=0x8FEDA5;
+update t1 set name='U+9F0F <CJK>' where ujis=0x8FEDA6;
+update t1 set name='U+9F10 <CJK>' where ujis=0x8FEDA7;
+update t1 set name='U+9F11 <CJK>' where ujis=0x8FEDA8;
+update t1 set name='U+9F12 <CJK>' where ujis=0x8FEDA9;
+update t1 set name='U+9F14 <CJK>' where ujis=0x8FEDAA;
+update t1 set name='U+9F16 <CJK>' where ujis=0x8FEDAB;
+update t1 set name='U+9F17 <CJK>' where ujis=0x8FEDAC;
+update t1 set name='U+9F19 <CJK>' where ujis=0x8FEDAD;
+update t1 set name='U+9F1A <CJK>' where ujis=0x8FEDAE;
+update t1 set name='U+9F1B <CJK>' where ujis=0x8FEDAF;
+update t1 set name='U+9F1F <CJK>' where ujis=0x8FEDB0;
+update t1 set name='U+9F22 <CJK>' where ujis=0x8FEDB1;
+update t1 set name='U+9F26 <CJK>' where ujis=0x8FEDB2;
+update t1 set name='U+9F2A <CJK>' where ujis=0x8FEDB3;
+update t1 set name='U+9F2B <CJK>' where ujis=0x8FEDB4;
+update t1 set name='U+9F2F <CJK>' where ujis=0x8FEDB5;
+update t1 set name='U+9F31 <CJK>' where ujis=0x8FEDB6;
+update t1 set name='U+9F32 <CJK>' where ujis=0x8FEDB7;
+update t1 set name='U+9F34 <CJK>' where ujis=0x8FEDB8;
+update t1 set name='U+9F37 <CJK>' where ujis=0x8FEDB9;
+update t1 set name='U+9F39 <CJK>' where ujis=0x8FEDBA;
+update t1 set name='U+9F3A <CJK>' where ujis=0x8FEDBB;
+update t1 set name='U+9F3C <CJK>' where ujis=0x8FEDBC;
+update t1 set name='U+9F3D <CJK>' where ujis=0x8FEDBD;
+update t1 set name='U+9F3F <CJK>' where ujis=0x8FEDBE;
+update t1 set name='U+9F41 <CJK>' where ujis=0x8FEDBF;
+update t1 set name='U+9F43 <CJK>' where ujis=0x8FEDC0;
+update t1 set name='U+9F44 <CJK>' where ujis=0x8FEDC1;
+update t1 set name='U+9F45 <CJK>' where ujis=0x8FEDC2;
+update t1 set name='U+9F46 <CJK>' where ujis=0x8FEDC3;
+update t1 set name='U+9F47 <CJK>' where ujis=0x8FEDC4;
+update t1 set name='U+9F53 <CJK>' where ujis=0x8FEDC5;
+update t1 set name='U+9F55 <CJK>' where ujis=0x8FEDC6;
+update t1 set name='U+9F56 <CJK>' where ujis=0x8FEDC7;
+update t1 set name='U+9F57 <CJK>' where ujis=0x8FEDC8;
+update t1 set name='U+9F58 <CJK>' where ujis=0x8FEDC9;
+update t1 set name='U+9F5A <CJK>' where ujis=0x8FEDCA;
+update t1 set name='U+9F5D <CJK>' where ujis=0x8FEDCB;
+update t1 set name='U+9F5E <CJK>' where ujis=0x8FEDCC;
+update t1 set name='U+9F68 <CJK>' where ujis=0x8FEDCD;
+update t1 set name='U+9F69 <CJK>' where ujis=0x8FEDCE;
+update t1 set name='U+9F6D <CJK>' where ujis=0x8FEDCF;
+update t1 set name='U+9F6E <CJK>' where ujis=0x8FEDD0;
+update t1 set name='U+9F6F <CJK>' where ujis=0x8FEDD1;
+update t1 set name='U+9F70 <CJK>' where ujis=0x8FEDD2;
+update t1 set name='U+9F71 <CJK>' where ujis=0x8FEDD3;
+update t1 set name='U+9F73 <CJK>' where ujis=0x8FEDD4;
+update t1 set name='U+9F75 <CJK>' where ujis=0x8FEDD5;
+update t1 set name='U+9F7A <CJK>' where ujis=0x8FEDD6;
+update t1 set name='U+9F7D <CJK>' where ujis=0x8FEDD7;
+update t1 set name='U+9F8F <CJK>' where ujis=0x8FEDD8;
+update t1 set name='U+9F90 <CJK>' where ujis=0x8FEDD9;
+update t1 set name='U+9F91 <CJK>' where ujis=0x8FEDDA;
+update t1 set name='U+9F92 <CJK>' where ujis=0x8FEDDB;
+update t1 set name='U+9F94 <CJK>' where ujis=0x8FEDDC;
+update t1 set name='U+9F96 <CJK>' where ujis=0x8FEDDD;
+update t1 set name='U+9F97 <CJK>' where ujis=0x8FEDDE;
+update t1 set name='U+9F9E <CJK>' where ujis=0x8FEDDF;
+update t1 set name='U+9FA1 <CJK>' where ujis=0x8FEDE0;
+update t1 set name='U+9FA2 <CJK>' where ujis=0x8FEDE1;
+update t1 set name='U+9FA3 <CJK>' where ujis=0x8FEDE2;
+update t1 set name='U+9FA5 <CJK>' where ujis=0x8FEDE3;
+update t1 set name='User defined range #2' where ujis >= 0x8FF5A1 and ujis <= 0x8FFEFE;
+update t1 set name='UNASSIGNED' where name='';
+update t1 set ucs2=ujis, ujis2=ucs2;
+Warnings:
+Warning 1366 Incorrect string value: '\xA2\xAF' for column 'ucs2' at row 237
+Warning 1366 Incorrect string value: '\xA2\xB0' for column 'ucs2' at row 238
+Warning 1366 Incorrect string value: '\xA2\xB1' for column 'ucs2' at row 239
+Warning 1366 Incorrect string value: '\xA2\xB2' for column 'ucs2' at row 240
+Warning 1366 Incorrect string value: '\xA2\xB3' for column 'ucs2' at row 241
+Warning 1366 Incorrect string value: '\xA2\xB4' for column 'ucs2' at row 242
+Warning 1366 Incorrect string value: '\xA2\xB5' for column 'ucs2' at row 243
+Warning 1366 Incorrect string value: '\xA2\xB6' for column 'ucs2' at row 244
+Warning 1366 Incorrect string value: '\xA2\xB7' for column 'ucs2' at row 245
+Warning 1366 Incorrect string value: '\xA2\xB8' for column 'ucs2' at row 246
+Warning 1366 Incorrect string value: '\xA2\xB9' for column 'ucs2' at row 247
+Warning 1366 Incorrect string value: '\xA2\xC2' for column 'ucs2' at row 256
+Warning 1366 Incorrect string value: '\xA2\xC3' for column 'ucs2' at row 257
+Warning 1366 Incorrect string value: '\xA2\xC4' for column 'ucs2' at row 258
+Warning 1366 Incorrect string value: '\xA2\xC5' for column 'ucs2' at row 259
+Warning 1366 Incorrect string value: '\xA2\xC6' for column 'ucs2' at row 260
+Warning 1366 Incorrect string value: '\xA2\xC7' for column 'ucs2' at row 261
+Warning 1366 Incorrect string value: '\xA2\xC8' for column 'ucs2' at row 262
+Warning 1366 Incorrect string value: '\xA2\xC9' for column 'ucs2' at row 263
+Warning 1366 Incorrect string value: '\xA2\xD1' for column 'ucs2' at row 271
+Warning 1366 Incorrect string value: '\xA2\xD2' for column 'ucs2' at row 272
+Warning 1366 Incorrect string value: '\xA2\xD3' for column 'ucs2' at row 273
+Warning 1366 Incorrect string value: '\xA2\xD4' for column 'ucs2' at row 274
+Warning 1366 Incorrect string value: '\xA2\xD5' for column 'ucs2' at row 275
+Warning 1366 Incorrect string value: '\xA2\xD6' for column 'ucs2' at row 276
+Warning 1366 Incorrect string value: '\xA2\xD7' for column 'ucs2' at row 277
+Warning 1366 Incorrect string value: '\xA2\xD8' for column 'ucs2' at row 278
+Warning 1366 Incorrect string value: '\xA2\xD9' for column 'ucs2' at row 279
+Warning 1366 Incorrect string value: '\xA2\xDA' for column 'ucs2' at row 280
+Warning 1366 Incorrect string value: '\xA2\xDB' for column 'ucs2' at row 281
+Warning 1366 Incorrect string value: '\xA2\xEB' for column 'ucs2' at row 297
+Warning 1366 Incorrect string value: '\xA2\xEC' for column 'ucs2' at row 298
+Warning 1366 Incorrect string value: '\xA2\xED' for column 'ucs2' at row 299
+Warning 1366 Incorrect string value: '\xA2\xEE' for column 'ucs2' at row 300
+Warning 1366 Incorrect string value: '\xA2\xEF' for column 'ucs2' at row 301
+Warning 1366 Incorrect string value: '\xA2\xF0' for column 'ucs2' at row 302
+Warning 1366 Incorrect string value: '\xA2\xF1' for column 'ucs2' at row 303
+Warning 1366 Incorrect string value: '\xA2\xFA' for column 'ucs2' at row 312
+Warning 1366 Incorrect string value: '\xA2\xFB' for column 'ucs2' at row 313
+Warning 1366 Incorrect string value: '\xA2\xFC' for column 'ucs2' at row 314
+Warning 1366 Incorrect string value: '\xA2\xFD' for column 'ucs2' at row 315
+Warning 1366 Incorrect string value: '\xA3\xA1' for column 'ucs2' at row 317
+Warning 1366 Incorrect string value: '\xA3\xA2' for column 'ucs2' at row 318
+Warning 1366 Incorrect string value: '\xA3\xA3' for column 'ucs2' at row 319
+Warning 1366 Incorrect string value: '\xA3\xA4' for column 'ucs2' at row 320
+Warning 1366 Incorrect string value: '\xA3\xA5' for column 'ucs2' at row 321
+Warning 1366 Incorrect string value: '\xA3\xA6' for column 'ucs2' at row 322
+Warning 1366 Incorrect string value: '\xA3\xA7' for column 'ucs2' at row 323
+Warning 1366 Incorrect string value: '\xA3\xA8' for column 'ucs2' at row 324
+Warning 1366 Incorrect string value: '\xA3\xA9' for column 'ucs2' at row 325
+Warning 1366 Incorrect string value: '\xA3\xAA' for column 'ucs2' at row 326
+Warning 1366 Incorrect string value: '\xA3\xAB' for column 'ucs2' at row 327
+Warning 1366 Incorrect string value: '\xA3\xAC' for column 'ucs2' at row 328
+Warning 1366 Incorrect string value: '\xA3\xAD' for column 'ucs2' at row 329
+Warning 1366 Incorrect string value: '\xA3\xAE' for column 'ucs2' at row 330
+Warning 1366 Incorrect string value: '\xA3\xAF' for column 'ucs2' at row 331
+Warning 1366 Incorrect string value: '\xA3\xBA' for column 'ucs2' at row 342
+Warning 1366 Incorrect string value: '\xA3\xBB' for column 'ucs2' at row 343
+Warning 1366 Incorrect string value: '\xA3\xBC' for column 'ucs2' at row 344
+Warning 1366 Incorrect string value: '\xA3\xBD' for column 'ucs2' at row 345
+Warning 1366 Incorrect string value: '\xA3\xBE' for column 'ucs2' at row 346
+Warning 1366 Incorrect string value: '\xA3\xBF' for column 'ucs2' at row 347
+Warning 1366 Incorrect string value: '\xA3\xC0' for column 'ucs2' at row 348
+Warning 1366 Incorrect string value: '\xA3\xDB' for column 'ucs2' at row 375
+Characters with safe Unicode round trip
+select hex(ujis), hex(ucs2), hex(ujis2), name from t1 where ujis=ujis2 order by ujis;
+hex(ujis) hex(ucs2) hex(ujis2) name
+00 0000 00 U+0000 NULL
+01 0001 01 U+0001 START OF HEADING
+02 0002 02 U+0002 START OF TEXT
+03 0003 03 U+0003 END OF TEXT
+04 0004 04 U+0004 END OF TRANSMISSION
+05 0005 05 U+0005 ENQUIRY
+06 0006 06 U+0006 ACKNOWLEDGE
+07 0007 07 U+0007 BELL
+08 0008 08 U+0008 BACKSPACE
+09 0009 09 U+0009 HORIZONTAL TABULATION
+0A 000A 0A U+000A LINE FEED
+0B 000B 0B U+000B VERTICAL TABULATION
+0C 000C 0C U+000C FORM FEED
+0D 000D 0D U+000D CARRIAGE RETURN
+0E 000E 0E U+000E SHIFT OUT
+0F 000F 0F U+000F SHIFT IN
+10 0010 10 U+0010 DATA LINK ESCAPE
+11 0011 11 U+0011 DEVICE CONTROL ONE
+12 0012 12 U+0012 DEVICE CONTROL TWO
+13 0013 13 U+0013 DEVICE CONTROL THREE
+14 0014 14 U+0014 DEVICE CONTROL FOUR
+15 0015 15 U+0015 NEGATIVE ACKNOWLEDGE
+16 0016 16 U+0016 SYNCHRONOUS IDLE
+17 0017 17 U+0017 END OF TRANSMISSION BLOCK
+18 0018 18 U+0018 CANCEL
+19 0019 19 U+0019 END OF MEDIUM
+1A 001A 1A U+001A SUBSTITUTE
+1B 001B 1B U+001B ESCAPE
+1C 001C 1C U+001C FILE SEPARATOR
+1D 001D 1D U+001D GROUP SEPARATOR
+1E 001E 1E U+001E RECORD SEPARATOR
+1F 001F 1F U+001F UNIT SEPARATOR
+20 0020 20 U+0020 SPACE
+21 0021 21 U+0021 EXCLAMATION MARK
+22 0022 22 U+0022 QUOTATION MARK
+23 0023 23 U+0023 NUMBER SIGN
+24 0024 24 U+0024 DOLLAR SIGN
+25 0025 25 U+0025 PERCENT SIGN
+26 0026 26 U+0026 AMPERSAND
+27 0027 27 U+0027 APOSTROPHE
+28 0028 28 U+0028 LEFT PARENTHESIS
+29 0029 29 U+0029 RIGHT PARENTHESIS
+2A 002A 2A U+002A ASTERISK
+2B 002B 2B U+002B PLUS SIGN
+2C 002C 2C U+002C COMMA
+2D 002D 2D U+002D HYPHEN-MINUS
+2E 002E 2E U+002E FULL STOP
+2F 002F 2F U+002F SOLIDUS
+30 0030 30 U+0030 DIGIT ZERO
+31 0031 31 U+0031 DIGIT ONE
+32 0032 32 U+0032 DIGIT TWO
+33 0033 33 U+0033 DIGIT THREE
+34 0034 34 U+0034 DIGIT FOUR
+35 0035 35 U+0035 DIGIT FIVE
+36 0036 36 U+0036 DIGIT SIX
+37 0037 37 U+0037 DIGIT SEVEN
+38 0038 38 U+0038 DIGIT EIGHT
+39 0039 39 U+0039 DIGIT NINE
+3A 003A 3A U+003A COLON
+3B 003B 3B U+003B SEMICOLON
+3C 003C 3C U+003C LESS-THAN SIGN
+3D 003D 3D U+003D EQUALS SIGN
+3E 003E 3E U+003E GREATER-THAN SIGN
+3F 003F 3F U+003F QUESTION MARK
+40 0040 40 U+0040 COMMERCIAL AT
+41 0041 41 U+0041 LATIN CAPITAL LETTER A
+42 0042 42 U+0042 LATIN CAPITAL LETTER B
+43 0043 43 U+0043 LATIN CAPITAL LETTER C
+44 0044 44 U+0044 LATIN CAPITAL LETTER D
+45 0045 45 U+0045 LATIN CAPITAL LETTER E
+46 0046 46 U+0046 LATIN CAPITAL LETTER F
+47 0047 47 U+0047 LATIN CAPITAL LETTER G
+48 0048 48 U+0048 LATIN CAPITAL LETTER H
+49 0049 49 U+0049 LATIN CAPITAL LETTER I
+4A 004A 4A U+004A LATIN CAPITAL LETTER J
+4B 004B 4B U+004B LATIN CAPITAL LETTER K
+4C 004C 4C U+004C LATIN CAPITAL LETTER L
+4D 004D 4D U+004D LATIN CAPITAL LETTER M
+4E 004E 4E U+004E LATIN CAPITAL LETTER N
+4F 004F 4F U+004F LATIN CAPITAL LETTER O
+50 0050 50 U+0050 LATIN CAPITAL LETTER P
+51 0051 51 U+0051 LATIN CAPITAL LETTER Q
+52 0052 52 U+0052 LATIN CAPITAL LETTER R
+53 0053 53 U+0053 LATIN CAPITAL LETTER S
+54 0054 54 U+0054 LATIN CAPITAL LETTER T
+55 0055 55 U+0055 LATIN CAPITAL LETTER U
+56 0056 56 U+0056 LATIN CAPITAL LETTER V
+57 0057 57 U+0057 LATIN CAPITAL LETTER W
+58 0058 58 U+0058 LATIN CAPITAL LETTER X
+59 0059 59 U+0059 LATIN CAPITAL LETTER Y
+5A 005A 5A U+005A LATIN CAPITAL LETTER Z
+5B 005B 5B U+005B LEFT SQUARE BRACKET
+5C 005C 5C U+005C REVERSE SOLIDUS
+5D 005D 5D U+005D RIGHT SQUARE BRACKET
+5E 005E 5E U+005E CIRCUMFLEX ACCENT
+5F 005F 5F U+005F LOW LINE
+60 0060 60 U+0060 GRAVE ACCENT
+61 0061 61 U+0061 LATIN SMALL LETTER A
+62 0062 62 U+0062 LATIN SMALL LETTER B
+63 0063 63 U+0063 LATIN SMALL LETTER C
+64 0064 64 U+0064 LATIN SMALL LETTER D
+65 0065 65 U+0065 LATIN SMALL LETTER E
+66 0066 66 U+0066 LATIN SMALL LETTER F
+67 0067 67 U+0067 LATIN SMALL LETTER G
+68 0068 68 U+0068 LATIN SMALL LETTER H
+69 0069 69 U+0069 LATIN SMALL LETTER I
+6A 006A 6A U+006A LATIN SMALL LETTER J
+6B 006B 6B U+006B LATIN SMALL LETTER K
+6C 006C 6C U+006C LATIN SMALL LETTER L
+6D 006D 6D U+006D LATIN SMALL LETTER M
+6E 006E 6E U+006E LATIN SMALL LETTER N
+6F 006F 6F U+006F LATIN SMALL LETTER O
+70 0070 70 U+0070 LATIN SMALL LETTER P
+71 0071 71 U+0071 LATIN SMALL LETTER Q
+72 0072 72 U+0072 LATIN SMALL LETTER R
+73 0073 73 U+0073 LATIN SMALL LETTER S
+74 0074 74 U+0074 LATIN SMALL LETTER T
+75 0075 75 U+0075 LATIN SMALL LETTER U
+76 0076 76 U+0076 LATIN SMALL LETTER V
+77 0077 77 U+0077 LATIN SMALL LETTER W
+78 0078 78 U+0078 LATIN SMALL LETTER X
+79 0079 79 U+0079 LATIN SMALL LETTER Y
+7A 007A 7A U+007A LATIN SMALL LETTER Z
+7B 007B 7B U+007B LEFT CURLY BRACKET
+7C 007C 7C U+007C VERTICAL LINE
+7D 007D 7D U+007D RIGHT CURLY BRACKET
+7E 007E 7E U+007E TILDE
+7F 007F 7F U+007F DELETE
+8EA1 FF61 8EA1 U+FF61 HALFWIDTH IDEOGRAPHIC FULL STOP
+8EA2 FF62 8EA2 U+FF62 HALFWIDTH LEFT CORNER BRACKET
+8EA3 FF63 8EA3 U+FF63 HALFWIDTH RIGHT CORNER BRACKET
+8EA4 FF64 8EA4 U+FF64 HALFWIDTH IDEOGRAPHIC COMMA
+8EA5 FF65 8EA5 U+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+8EA6 FF66 8EA6 U+FF66 HALFWIDTH KATAKANA LETTER WO
+8EA7 FF67 8EA7 U+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+8EA8 FF68 8EA8 U+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+8EA9 FF69 8EA9 U+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+8EAA FF6A 8EAA U+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+8EAB FF6B 8EAB U+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+8EAC FF6C 8EAC U+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+8EAD FF6D 8EAD U+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+8EAE FF6E 8EAE U+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+8EAF FF6F 8EAF U+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+8EB0 FF70 8EB0 U+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+8EB1 FF71 8EB1 U+FF71 HALFWIDTH KATAKANA LETTER A
+8EB2 FF72 8EB2 U+FF72 HALFWIDTH KATAKANA LETTER I
+8EB3 FF73 8EB3 U+FF73 HALFWIDTH KATAKANA LETTER U
+8EB4 FF74 8EB4 U+FF74 HALFWIDTH KATAKANA LETTER E
+8EB5 FF75 8EB5 U+FF75 HALFWIDTH KATAKANA LETTER O
+8EB6 FF76 8EB6 U+FF76 HALFWIDTH KATAKANA LETTER KA
+8EB7 FF77 8EB7 U+FF77 HALFWIDTH KATAKANA LETTER KI
+8EB8 FF78 8EB8 U+FF78 HALFWIDTH KATAKANA LETTER KU
+8EB9 FF79 8EB9 U+FF79 HALFWIDTH KATAKANA LETTER KE
+8EBA FF7A 8EBA U+FF7A HALFWIDTH KATAKANA LETTER KO
+8EBB FF7B 8EBB U+FF7B HALFWIDTH KATAKANA LETTER SA
+8EBC FF7C 8EBC U+FF7C HALFWIDTH KATAKANA LETTER SI
+8EBD FF7D 8EBD U+FF7D HALFWIDTH KATAKANA LETTER SU
+8EBE FF7E 8EBE U+FF7E HALFWIDTH KATAKANA LETTER SE
+8EBF FF7F 8EBF U+FF7F HALFWIDTH KATAKANA LETTER SO
+8EC0 FF80 8EC0 U+FF80 HALFWIDTH KATAKANA LETTER TA
+8EC1 FF81 8EC1 U+FF81 HALFWIDTH KATAKANA LETTER TI
+8EC2 FF82 8EC2 U+FF82 HALFWIDTH KATAKANA LETTER TU
+8EC3 FF83 8EC3 U+FF83 HALFWIDTH KATAKANA LETTER TE
+8EC4 FF84 8EC4 U+FF84 HALFWIDTH KATAKANA LETTER TO
+8EC5 FF85 8EC5 U+FF85 HALFWIDTH KATAKANA LETTER NA
+8EC6 FF86 8EC6 U+FF86 HALFWIDTH KATAKANA LETTER NI
+8EC7 FF87 8EC7 U+FF87 HALFWIDTH KATAKANA LETTER NU
+8EC8 FF88 8EC8 U+FF88 HALFWIDTH KATAKANA LETTER NE
+8EC9 FF89 8EC9 U+FF89 HALFWIDTH KATAKANA LETTER NO
+8ECA FF8A 8ECA U+FF8A HALFWIDTH KATAKANA LETTER HA
+8ECB FF8B 8ECB U+FF8B HALFWIDTH KATAKANA LETTER HI
+8ECC FF8C 8ECC U+FF8C HALFWIDTH KATAKANA LETTER HU
+8ECD FF8D 8ECD U+FF8D HALFWIDTH KATAKANA LETTER HE
+8ECE FF8E 8ECE U+FF8E HALFWIDTH KATAKANA LETTER HO
+8ECF FF8F 8ECF U+FF8F HALFWIDTH KATAKANA LETTER MA
+8ED0 FF90 8ED0 U+FF90 HALFWIDTH KATAKANA LETTER MI
+8ED1 FF91 8ED1 U+FF91 HALFWIDTH KATAKANA LETTER MU
+8ED2 FF92 8ED2 U+FF92 HALFWIDTH KATAKANA LETTER ME
+8ED3 FF93 8ED3 U+FF93 HALFWIDTH KATAKANA LETTER MO
+8ED4 FF94 8ED4 U+FF94 HALFWIDTH KATAKANA LETTER YA
+8ED5 FF95 8ED5 U+FF95 HALFWIDTH KATAKANA LETTER YU
+8ED6 FF96 8ED6 U+FF96 HALFWIDTH KATAKANA LETTER YO
+8ED7 FF97 8ED7 U+FF97 HALFWIDTH KATAKANA LETTER RA
+8ED8 FF98 8ED8 U+FF98 HALFWIDTH KATAKANA LETTER RI
+8ED9 FF99 8ED9 U+FF99 HALFWIDTH KATAKANA LETTER RU
+8EDA FF9A 8EDA U+FF9A HALFWIDTH KATAKANA LETTER RE
+8EDB FF9B 8EDB U+FF9B HALFWIDTH KATAKANA LETTER RO
+8EDC FF9C 8EDC U+FF9C HALFWIDTH KATAKANA LETTER WA
+8EDD FF9D 8EDD U+FF9D HALFWIDTH KATAKANA LETTER N
+8EDE FF9E 8EDE U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK
+8EDF FF9F 8EDF U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+8FA2AF 02D8 8FA2AF U+02D8 BREVE
+8FA2B0 02C7 8FA2B0 U+02C7 CARON (Mandarin Chinese third tone)
+8FA2B1 00B8 8FA2B1 U+00B8 CEDILLA
+8FA2B2 02D9 8FA2B2 U+02D9 DOT ABOVE (Mandarin Chinese light tone)
+8FA2B3 02DD 8FA2B3 U+02DD DOUBLE ACUTE ACCENT
+8FA2B4 00AF 8FA2B4 U+00AF MACRON
+8FA2B5 02DB 8FA2B5 U+02DB OGONEK
+8FA2B6 02DA 8FA2B6 U+02DA RING ABOVE
+8FA2B8 0384 8FA2B8 U+0384 GREEK TONOS
+8FA2B9 0385 8FA2B9 U+0385 GREEK DIALYTIKA TONOS
+8FA2C2 00A1 8FA2C2 U+00A1 INVERTED EXCLAMATION MARK
+8FA2C3 00A6 8FA2C3 U+00A6 BROKEN BAR
+8FA2C4 00BF 8FA2C4 U+00BF INVERTED QUESTION MARK
+8FA2EB 00BA 8FA2EB U+00BA MASCULINE ORDINAL INDICATOR
+8FA2EC 00AA 8FA2EC U+00AA FEMININE ORDINAL INDICATOR
+8FA2ED 00A9 8FA2ED U+00A9 COPYRIGHT SIGN
+8FA2EE 00AE 8FA2EE U+00AE REGISTERED SIGN
+8FA2EF 2122 8FA2EF U+2122 TRADE MARK SIGN
+8FA2F0 00A4 8FA2F0 U+00A4 CURRENCY SIGN
+8FA2F1 2116 8FA2F1 U+2116 NUMERO SIGN
+8FA6E1 0386 8FA6E1 U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
+8FA6E2 0388 8FA6E2 U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
+8FA6E3 0389 8FA6E3 U+0389 GREEK CAPITAL LETTER ETA WITH TONOS
+8FA6E4 038A 8FA6E4 U+038A GREEK CAPITAL LETTER IOTA WITH TONOS
+8FA6E5 03AA 8FA6E5 U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+8FA6E7 038C 8FA6E7 U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS
+8FA6E9 038E 8FA6E9 U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS
+8FA6EA 03AB 8FA6EA U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+8FA6EC 038F 8FA6EC U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS
+8FA6F1 03AC 8FA6F1 U+03AC GREEK SMALL LETTER ALPHA WITH TONOS
+8FA6F2 03AD 8FA6F2 U+03AD GREEK SMALL LETTER EPSILON WITH TONOS
+8FA6F3 03AE 8FA6F3 U+03AE GREEK SMALL LETTER ETA WITH TONOS
+8FA6F4 03AF 8FA6F4 U+03AF GREEK SMALL LETTER IOTA WITH TONOS
+8FA6F5 03CA 8FA6F5 U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
+8FA6F6 0390 8FA6F6 U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+8FA6F7 03CC 8FA6F7 U+03CC GREEK SMALL LETTER OMICRON WITH TONOS
+8FA6F8 03C2 8FA6F8 U+03C2 GREEK SMALL LETTER FINAL SIGMA
+8FA6F9 03CD 8FA6F9 U+03CD GREEK SMALL LETTER UPSILON WITH TONOS
+8FA6FA 03CB 8FA6FA U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+8FA6FB 03B0 8FA6FB U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+8FA6FC 03CE 8FA6FC U+03CE GREEK SMALL LETTER OMEGA WITH TONOS
+8FA7C2 0402 8FA7C2 U+0402 CYRILLIC CAPITAL LETTER DJE
+8FA7C3 0403 8FA7C3 U+0403 CYRILLIC CAPITAL LETTER GJE
+8FA7C4 0404 8FA7C4 U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+8FA7C5 0405 8FA7C5 U+0405 CYRILLIC CAPITAL LETTER DZE
+8FA7C6 0406 8FA7C6 U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+8FA7C7 0407 8FA7C7 U+0407 CYRILLIC CAPITAL LETTER YI
+8FA7C8 0408 8FA7C8 U+0408 CYRILLIC CAPITAL LETTER JE
+8FA7C9 0409 8FA7C9 U+0409 CYRILLIC CAPITAL LETTER LJE
+8FA7CA 040A 8FA7CA U+040A CYRILLIC CAPITAL LETTER NJE
+8FA7CB 040B 8FA7CB U+040B CYRILLIC CAPITAL LETTER TSHE
+8FA7CC 040C 8FA7CC U+040C CYRILLIC CAPITAL LETTER KJE
+8FA7CD 040E 8FA7CD U+040E CYRILLIC CAPITAL LETTER SHORT U
+8FA7CE 040F 8FA7CE U+040F CYRILLIC CAPITAL LETTER DZHE
+8FA7F2 0452 8FA7F2 U+0452 CYRILLIC SMALL LETTER DJE
+8FA7F3 0453 8FA7F3 U+0453 CYRILLIC SMALL LETTER GJE
+8FA7F4 0454 8FA7F4 U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE
+8FA7F5 0455 8FA7F5 U+0455 CYRILLIC SMALL LETTER DZE
+8FA7F6 0456 8FA7F6 U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+8FA7F7 0457 8FA7F7 U+0457 CYRILLIC SMALL LETTER YI
+8FA7F8 0458 8FA7F8 U+0458 CYRILLIC SMALL LETTER JE
+8FA7F9 0459 8FA7F9 U+0459 CYRILLIC SMALL LETTER LJE
+8FA7FA 045A 8FA7FA U+045A CYRILLIC SMALL LETTER NJE
+8FA7FB 045B 8FA7FB U+045B CYRILLIC SMALL LETTER TSHE
+8FA7FC 045C 8FA7FC U+045C CYRILLIC SMALL LETTER KJE
+8FA7FD 045E 8FA7FD U+045E CYRILLIC SMALL LETTER SHORT U
+8FA7FE 045F 8FA7FE U+045F CYRILLIC SMALL LETTER DZHE
+8FA9A1 00C6 8FA9A1 U+00C6 LATIN CAPITAL LIGATURE AE
+8FA9A2 0110 8FA9A2 U+0110 LATIN CAPITAL LETTER D WITH STROKE
+8FA9A4 0126 8FA9A4 U+0126 LATIN CAPITAL LETTER H WITH STROKE
+8FA9A6 0132 8FA9A6 U+0132 LATIN CAPITAL LIGATURE IJ
+8FA9A8 0141 8FA9A8 U+0141 LATIN CAPITAL LETTER L WITH STROKE
+8FA9A9 013F 8FA9A9 U+013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
+8FA9AB 014A 8FA9AB U+014A LATIN CAPITAL LETTER ENG
+8FA9AC 00D8 8FA9AC U+00D8 LATIN CAPITAL LETTER O WITH STROKE
+8FA9AD 0152 8FA9AD U+0152 LATIN CAPITAL LIGATURE OE
+8FA9AF 0166 8FA9AF U+0166 LATIN CAPITAL LETTER T WITH STROKE
+8FA9B0 00DE 8FA9B0 U+00DE LATIN CAPITAL LETTER THORN
+8FA9C1 00E6 8FA9C1 U+00E6 LATIN SMALL LIGATURE AE
+8FA9C2 0111 8FA9C2 U+0111 LATIN SMALL LETTER D WITH STROKE
+8FA9C3 00F0 8FA9C3 U+00F0 LATIN SMALL LETTER ETH
+8FA9C4 0127 8FA9C4 U+0127 LATIN SMALL LETTER H WITH STROKE
+8FA9C5 0131 8FA9C5 U+0131 LATIN SMALL LETTER DOTLESS I
+8FA9C6 0133 8FA9C6 U+0133 LATIN SMALL LIGATURE IJ
+8FA9C7 0138 8FA9C7 U+0138 LATIN SMALL LETTER KRA
+8FA9C8 0142 8FA9C8 U+0142 LATIN SMALL LETTER L WITH STROKE
+8FA9C9 0140 8FA9C9 U+0140 LATIN SMALL LETTER L WITH MIDDLE DOT
+8FA9CA 0149 8FA9CA U+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+8FA9CB 014B 8FA9CB U+014B LATIN SMALL LETTER ENG
+8FA9CC 00F8 8FA9CC U+00F8 LATIN SMALL LETTER O WITH STROKE
+8FA9CD 0153 8FA9CD U+0153 LATIN SMALL LIGATURE OE
+8FA9CE 00DF 8FA9CE U+00DF LATIN SMALL LETTER SHARP S
+8FA9CF 0167 8FA9CF U+0167 LATIN SMALL LETTER T WITH STROKE
+8FA9D0 00FE 8FA9D0 U+00FE LATIN SMALL LETTER THORN
+8FAAA1 00C1 8FAAA1 U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
+8FAAA2 00C0 8FAAA2 U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
+8FAAA3 00C4 8FAAA3 U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
+8FAAA4 00C2 8FAAA4 U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+8FAAA5 0102 8FAAA5 U+0102 LATIN CAPITAL LETTER A WITH BREVE
+8FAAA6 01CD 8FAAA6 U+01CD LATIN CAPITAL LETTER A WITH CARON
+8FAAA7 0100 8FAAA7 U+0100 LATIN CAPITAL LETTER A WITH MACRON
+8FAAA8 0104 8FAAA8 U+0104 LATIN CAPITAL LETTER A WITH OGONEK
+8FAAA9 00C5 8FAAA9 U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
+8FAAAA 00C3 8FAAAA U+00C3 LATIN CAPITAL LETTER A WITH TILDE
+8FAAAB 0106 8FAAAB U+0106 LATIN CAPITAL LETTER C WITH ACUTE
+8FAAAC 0108 8FAAAC U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+8FAAAD 010C 8FAAAD U+010C LATIN CAPITAL LETTER C WITH CARON
+8FAAAE 00C7 8FAAAE U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
+8FAAAF 010A 8FAAAF U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE
+8FAAB0 010E 8FAAB0 U+010E LATIN CAPITAL LETTER D WITH CARON
+8FAAB1 00C9 8FAAB1 U+00C9 LATIN CAPITAL LETTER E WITH ACUTE
+8FAAB2 00C8 8FAAB2 U+00C8 LATIN CAPITAL LETTER E WITH GRAVE
+8FAAB3 00CB 8FAAB3 U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
+8FAAB4 00CA 8FAAB4 U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+8FAAB5 011A 8FAAB5 U+011A LATIN CAPITAL LETTER E WITH CARON
+8FAAB6 0116 8FAAB6 U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
+8FAAB7 0112 8FAAB7 U+0112 LATIN CAPITAL LETTER E WITH MACRON
+8FAAB8 0118 8FAAB8 U+0118 LATIN CAPITAL LETTER E WITH OGONEK
+8FAABA 011C 8FAABA U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+8FAABB 011E 8FAABB U+011E LATIN CAPITAL LETTER G WITH BREVE
+8FAABC 0122 8FAABC U+0122 LATIN CAPITAL LETTER G WITH CEDILLA
+8FAABD 0120 8FAABD U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
+8FAABE 0124 8FAABE U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+8FAABF 00CD 8FAABF U+00CD LATIN CAPITAL LETTER I WITH ACUTE
+8FAAC0 00CC 8FAAC0 U+00CC LATIN CAPITAL LETTER I WITH GRAVE
+8FAAC1 00CF 8FAAC1 U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
+8FAAC2 00CE 8FAAC2 U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+8FAAC3 01CF 8FAAC3 U+01CF LATIN CAPITAL LETTER I WITH CARON
+8FAAC4 0130 8FAAC4 U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
+8FAAC5 012A 8FAAC5 U+012A LATIN CAPITAL LETTER I WITH MACRON
+8FAAC6 012E 8FAAC6 U+012E LATIN CAPITAL LETTER I WITH OGONEK
+8FAAC7 0128 8FAAC7 U+0128 LATIN CAPITAL LETTER I WITH TILDE
+8FAAC8 0134 8FAAC8 U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+8FAAC9 0136 8FAAC9 U+0136 LATIN CAPITAL LETTER K WITH CEDILLA
+8FAACA 0139 8FAACA U+0139 LATIN CAPITAL LETTER L WITH ACUTE
+8FAACB 013D 8FAACB U+013D LATIN CAPITAL LETTER L WITH CARON
+8FAACC 013B 8FAACC U+013B LATIN CAPITAL LETTER L WITH CEDILLA
+8FAACD 0143 8FAACD U+0143 LATIN CAPITAL LETTER N WITH ACUTE
+8FAACE 0147 8FAACE U+0147 LATIN CAPITAL LETTER N WITH CARON
+8FAACF 0145 8FAACF U+0145 LATIN CAPITAL LETTER N WITH CEDILLA
+8FAAD0 00D1 8FAAD0 U+00D1 LATIN CAPITAL LETTER N WITH TILDE
+8FAAD1 00D3 8FAAD1 U+00D3 LATIN CAPITAL LETTER O WITH ACUTE
+8FAAD2 00D2 8FAAD2 U+00D2 LATIN CAPITAL LETTER O WITH GRAVE
+8FAAD3 00D6 8FAAD3 U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
+8FAAD4 00D4 8FAAD4 U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+8FAAD5 01D1 8FAAD5 U+01D1 LATIN CAPITAL LETTER O WITH CARON
+8FAAD6 0150 8FAAD6 U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+8FAAD7 014C 8FAAD7 U+014C LATIN CAPITAL LETTER O WITH MACRON
+8FAAD8 00D5 8FAAD8 U+00D5 LATIN CAPITAL LETTER O WITH TILDE
+8FAAD9 0154 8FAAD9 U+0154 LATIN CAPITAL LETTER R WITH ACUTE
+8FAADA 0158 8FAADA U+0158 LATIN CAPITAL LETTER R WITH CARON
+8FAADB 0156 8FAADB U+0156 LATIN CAPITAL LETTER R WITH CEDILLA
+8FAADC 015A 8FAADC U+015A LATIN CAPITAL LETTER S WITH ACUTE
+8FAADD 015C 8FAADD U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+8FAADE 0160 8FAADE U+0160 LATIN CAPITAL LETTER S WITH CARON
+8FAADF 015E 8FAADF U+015E LATIN CAPITAL LETTER S WITH CEDILLA
+8FAAE0 0164 8FAAE0 U+0164 LATIN CAPITAL LETTER T WITH CARON
+8FAAE1 0162 8FAAE1 U+0162 LATIN CAPITAL LETTER T WITH CEDILLA
+8FAAE2 00DA 8FAAE2 U+00DA LATIN CAPITAL LETTER U WITH ACUTE
+8FAAE3 00D9 8FAAE3 U+00D9 LATIN CAPITAL LETTER U WITH GRAVE
+8FAAE4 00DC 8FAAE4 U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
+8FAAE5 00DB 8FAAE5 U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+8FAAE6 016C 8FAAE6 U+016C LATIN CAPITAL LETTER U WITH BREVE
+8FAAE7 01D3 8FAAE7 U+01D3 LATIN CAPITAL LETTER U WITH CARON
+8FAAE8 0170 8FAAE8 U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+8FAAE9 016A 8FAAE9 U+016A LATIN CAPITAL LETTER U WITH MACRON
+8FAAEA 0172 8FAAEA U+0172 LATIN CAPITAL LETTER U WITH OGONEK
+8FAAEB 016E 8FAAEB U+016E LATIN CAPITAL LETTER U WITH RING ABOVE
+8FAAEC 0168 8FAAEC U+0168 LATIN CAPITAL LETTER U WITH TILDE
+8FAAED 01D7 8FAAED U+01D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+8FAAEE 01DB 8FAAEE U+01DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+8FAAEF 01D9 8FAAEF U+01D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+8FAAF0 01D5 8FAAF0 U+01D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+8FAAF1 0174 8FAAF1 U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+8FAAF2 00DD 8FAAF2 U+00DD LATIN CAPITAL LETTER Y WITH ACUTE
+8FAAF3 0178 8FAAF3 U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
+8FAAF4 0176 8FAAF4 U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+8FAAF5 0179 8FAAF5 U+0179 LATIN CAPITAL LETTER Z WITH ACUTE
+8FAAF6 017D 8FAAF6 U+017D LATIN CAPITAL LETTER Z WITH CARON
+8FAAF7 017B 8FAAF7 U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
+8FABA1 00E1 8FABA1 U+00E1 LATIN SMALL LETTER A WITH ACUTE
+8FABA2 00E0 8FABA2 U+00E0 LATIN SMALL LETTER A WITH GRAVE
+8FABA3 00E4 8FABA3 U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
+8FABA4 00E2 8FABA4 U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+8FABA5 0103 8FABA5 U+0103 LATIN SMALL LETTER A WITH BREVE
+8FABA6 01CE 8FABA6 U+01CE LATIN SMALL LETTER A WITH CARON
+8FABA7 0101 8FABA7 U+0101 LATIN SMALL LETTER A WITH MACRON
+8FABA8 0105 8FABA8 U+0105 LATIN SMALL LETTER A WITH OGONEK
+8FABA9 00E5 8FABA9 U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
+8FABAA 00E3 8FABAA U+00E3 LATIN SMALL LETTER A WITH TILDE
+8FABAB 0107 8FABAB U+0107 LATIN SMALL LETTER C WITH ACUTE
+8FABAC 0109 8FABAC U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
+8FABAD 010D 8FABAD U+010D LATIN SMALL LETTER C WITH CARON
+8FABAE 00E7 8FABAE U+00E7 LATIN SMALL LETTER C WITH CEDILLA
+8FABAF 010B 8FABAF U+010B LATIN SMALL LETTER C WITH DOT ABOVE
+8FABB0 010F 8FABB0 U+010F LATIN SMALL LETTER D WITH CARON
+8FABB1 00E9 8FABB1 U+00E9 LATIN SMALL LETTER E WITH ACUTE
+8FABB2 00E8 8FABB2 U+00E8 LATIN SMALL LETTER E WITH GRAVE
+8FABB3 00EB 8FABB3 U+00EB LATIN SMALL LETTER E WITH DIAERESIS
+8FABB4 00EA 8FABB4 U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
+8FABB5 011B 8FABB5 U+011B LATIN SMALL LETTER E WITH CARON
+8FABB6 0117 8FABB6 U+0117 LATIN SMALL LETTER E WITH DOT ABOVE
+8FABB7 0113 8FABB7 U+0113 LATIN SMALL LETTER E WITH MACRON
+8FABB8 0119 8FABB8 U+0119 LATIN SMALL LETTER E WITH OGONEK
+8FABB9 01F5 8FABB9 U+01F5 LATIN SMALL LETTER G WITH ACUTE
+8FABBA 011D 8FABBA U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX
+8FABBB 011F 8FABBB U+011F LATIN SMALL LETTER G WITH BREVE
+8FABBD 0121 8FABBD U+0121 LATIN SMALL LETTER G WITH DOT ABOVE
+8FABBE 0125 8FABBE U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
+8FABBF 00ED 8FABBF U+00ED LATIN SMALL LETTER I WITH ACUTE
+8FABC0 00EC 8FABC0 U+00EC LATIN SMALL LETTER I WITH GRAVE
+8FABC1 00EF 8FABC1 U+00EF LATIN SMALL LETTER I WITH DIAERESIS
+8FABC2 00EE 8FABC2 U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
+8FABC3 01D0 8FABC3 U+01D0 LATIN SMALL LETTER I WITH CARON
+8FABC5 012B 8FABC5 U+012B LATIN SMALL LETTER I WITH MACRON
+8FABC6 012F 8FABC6 U+012F LATIN SMALL LETTER I WITH OGONEK
+8FABC7 0129 8FABC7 U+0129 LATIN SMALL LETTER I WITH TILDE
+8FABC8 0135 8FABC8 U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
+8FABC9 0137 8FABC9 U+0137 LATIN SMALL LETTER K WITH CEDILLA
+8FABCA 013A 8FABCA U+013A LATIN SMALL LETTER L WITH ACUTE
+8FABCB 013E 8FABCB U+013E LATIN SMALL LETTER L WITH CARON
+8FABCC 013C 8FABCC U+013C LATIN SMALL LETTER L WITH CEDILLA
+8FABCD 0144 8FABCD U+0144 LATIN SMALL LETTER N WITH ACUTE
+8FABCE 0148 8FABCE U+0148 LATIN SMALL LETTER N WITH CARON
+8FABCF 0146 8FABCF U+0146 LATIN SMALL LETTER N WITH CEDILLA
+8FABD0 00F1 8FABD0 U+00F1 LATIN SMALL LETTER N WITH TILDE
+8FABD1 00F3 8FABD1 U+00F3 LATIN SMALL LETTER O WITH ACUTE
+8FABD2 00F2 8FABD2 U+00F2 LATIN SMALL LETTER O WITH GRAVE
+8FABD3 00F6 8FABD3 U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
+8FABD4 00F4 8FABD4 U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+8FABD5 01D2 8FABD5 U+01D2 LATIN SMALL LETTER O WITH CARON
+8FABD6 0151 8FABD6 U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
+8FABD7 014D 8FABD7 U+014D LATIN SMALL LETTER O WITH MACRON
+8FABD8 00F5 8FABD8 U+00F5 LATIN SMALL LETTER O WITH TILDE
+8FABD9 0155 8FABD9 U+0155 LATIN SMALL LETTER R WITH ACUTE
+8FABDA 0159 8FABDA U+0159 LATIN SMALL LETTER R WITH CARON
+8FABDB 0157 8FABDB U+0157 LATIN SMALL LETTER R WITH CEDILLA
+8FABDC 015B 8FABDC U+015B LATIN SMALL LETTER S WITH ACUTE
+8FABDD 015D 8FABDD U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX
+8FABDE 0161 8FABDE U+0161 LATIN SMALL LETTER S WITH CARON
+8FABDF 015F 8FABDF U+015F LATIN SMALL LETTER S WITH CEDILLA
+8FABE0 0165 8FABE0 U+0165 LATIN SMALL LETTER T WITH CARON
+8FABE1 0163 8FABE1 U+0163 LATIN SMALL LETTER T WITH CEDILLA
+8FABE2 00FA 8FABE2 U+00FA LATIN SMALL LETTER U WITH ACUTE
+8FABE3 00F9 8FABE3 U+00F9 LATIN SMALL LETTER U WITH GRAVE
+8FABE4 00FC 8FABE4 U+00FC LATIN SMALL LETTER U WITH DIAERESIS
+8FABE5 00FB 8FABE5 U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
+8FABE6 016D 8FABE6 U+016D LATIN SMALL LETTER U WITH BREVE
+8FABE7 01D4 8FABE7 U+01D4 LATIN SMALL LETTER U WITH CARON
+8FABE8 0171 8FABE8 U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
+8FABE9 016B 8FABE9 U+016B LATIN SMALL LETTER U WITH MACRON
+8FABEA 0173 8FABEA U+0173 LATIN SMALL LETTER U WITH OGONEK
+8FABEB 016F 8FABEB U+016F LATIN SMALL LETTER U WITH RING ABOVE
+8FABEC 0169 8FABEC U+0169 LATIN SMALL LETTER U WITH TILDE
+8FABED 01D8 8FABED U+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+8FABEE 01DC 8FABEE U+01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+8FABEF 01DA 8FABEF U+01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+8FABF0 01D6 8FABF0 U+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+8FABF1 0175 8FABF1 U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
+8FABF2 00FD 8FABF2 U+00FD LATIN SMALL LETTER Y WITH ACUTE
+8FABF3 00FF 8FABF3 U+00FF LATIN SMALL LETTER Y WITH DIAERESIS
+8FABF4 0177 8FABF4 U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
+8FABF5 017A 8FABF5 U+017A LATIN SMALL LETTER Z WITH ACUTE
+8FABF6 017E 8FABF6 U+017E LATIN SMALL LETTER Z WITH CARON
+8FABF7 017C 8FABF7 U+017C LATIN SMALL LETTER Z WITH DOT ABOVE
+8FB0A1 4E02 8FB0A1 <CJK>
+8FB0A2 4E04 8FB0A2 <CJK>
+8FB0A3 4E05 8FB0A3 <CJK>
+8FB0A4 4E0C 8FB0A4 <CJK>
+8FB0A5 4E12 8FB0A5 <CJK>
+8FB0A6 4E1F 8FB0A6 <CJK>
+8FB0A7 4E23 8FB0A7 <CJK>
+8FB0A8 4E24 8FB0A8 <CJK>
+8FB0A9 4E28 8FB0A9 <CJK>
+8FB0AA 4E2B 8FB0AA <CJK>
+8FB0AB 4E2E 8FB0AB <CJK>
+8FB0AC 4E2F 8FB0AC <CJK>
+8FB0AD 4E30 8FB0AD <CJK>
+8FB0AE 4E35 8FB0AE <CJK>
+8FB0AF 4E40 8FB0AF <CJK>
+8FB0B0 4E41 8FB0B0 <CJK>
+8FB0B1 4E44 8FB0B1 <CJK>
+8FB0B2 4E47 8FB0B2 <CJK>
+8FB0B3 4E51 8FB0B3 <CJK>
+8FB0B4 4E5A 8FB0B4 <CJK>
+8FB0B5 4E5C 8FB0B5 <CJK>
+8FB0B6 4E63 8FB0B6 <CJK>
+8FB0B7 4E68 8FB0B7 <CJK>
+8FB0B8 4E69 8FB0B8 <CJK>
+8FB0B9 4E74 8FB0B9 <CJK>
+8FB0BA 4E75 8FB0BA <CJK>
+8FB0BB 4E79 8FB0BB <CJK>
+8FB0BC 4E7F 8FB0BC <CJK>
+8FB0BD 4E8D 8FB0BD <CJK>
+8FB0BE 4E96 8FB0BE <CJK>
+8FB0BF 4E97 8FB0BF <CJK>
+8FB0C0 4E9D 8FB0C0 <CJK>
+8FB0C1 4EAF 8FB0C1 <CJK>
+8FB0C2 4EB9 8FB0C2 <CJK>
+8FB0C3 4EC3 8FB0C3 <CJK>
+8FB0C4 4ED0 8FB0C4 <CJK>
+8FB0C5 4EDA 8FB0C5 <CJK>
+8FB0C6 4EDB 8FB0C6 <CJK>
+8FB0C7 4EE0 8FB0C7 <CJK>
+8FB0C8 4EE1 8FB0C8 <CJK>
+8FB0C9 4EE2 8FB0C9 <CJK>
+8FB0CA 4EE8 8FB0CA <CJK>
+8FB0CB 4EEF 8FB0CB <CJK>
+8FB0CC 4EF1 8FB0CC <CJK>
+8FB0CD 4EF3 8FB0CD <CJK>
+8FB0CE 4EF5 8FB0CE <CJK>
+8FB0CF 4EFD 8FB0CF <CJK>
+8FB0D0 4EFE 8FB0D0 <CJK>
+8FB0D1 4EFF 8FB0D1 <CJK>
+8FB0D2 4F00 8FB0D2 <CJK>
+8FB0D3 4F02 8FB0D3 <CJK>
+8FB0D4 4F03 8FB0D4 <CJK>
+8FB0D5 4F08 8FB0D5 <CJK>
+8FB0D6 4F0B 8FB0D6 <CJK>
+8FB0D7 4F0C 8FB0D7 <CJK>
+8FB0D8 4F12 8FB0D8 <CJK>
+8FB0D9 4F15 8FB0D9 <CJK>
+8FB0DA 4F16 8FB0DA <CJK>
+8FB0DB 4F17 8FB0DB <CJK>
+8FB0DC 4F19 8FB0DC <CJK>
+8FB0DD 4F2E 8FB0DD <CJK>
+8FB0DE 4F31 8FB0DE <CJK>
+8FB0DF 4F60 8FB0DF <CJK>
+8FB0E0 4F33 8FB0E0 <CJK>
+8FB0E1 4F35 8FB0E1 <CJK>
+8FB0E2 4F37 8FB0E2 <CJK>
+8FB0E3 4F39 8FB0E3 <CJK>
+8FB0E4 4F3B 8FB0E4 <CJK>
+8FB0E5 4F3E 8FB0E5 <CJK>
+8FB0E6 4F40 8FB0E6 <CJK>
+8FB0E7 4F42 8FB0E7 <CJK>
+8FB0E8 4F48 8FB0E8 <CJK>
+8FB0E9 4F49 8FB0E9 <CJK>
+8FB0EA 4F4B 8FB0EA <CJK>
+8FB0EB 4F4C 8FB0EB <CJK>
+8FB0EC 4F52 8FB0EC <CJK>
+8FB0ED 4F54 8FB0ED <CJK>
+8FB0EE 4F56 8FB0EE <CJK>
+8FB0EF 4F58 8FB0EF <CJK>
+8FB0F0 4F5F 8FB0F0 <CJK>
+8FB0F1 4F63 8FB0F1 <CJK>
+8FB0F2 4F6A 8FB0F2 <CJK>
+8FB0F3 4F6C 8FB0F3 <CJK>
+8FB0F4 4F6E 8FB0F4 <CJK>
+8FB0F5 4F71 8FB0F5 <CJK>
+8FB0F6 4F77 8FB0F6 <CJK>
+8FB0F7 4F78 8FB0F7 <CJK>
+8FB0F8 4F79 8FB0F8 <CJK>
+8FB0F9 4F7A 8FB0F9 <CJK>
+8FB0FA 4F7D 8FB0FA <CJK>
+8FB0FB 4F7E 8FB0FB <CJK>
+8FB0FC 4F81 8FB0FC <CJK>
+8FB0FD 4F82 8FB0FD <CJK>
+8FB0FE 4F84 8FB0FE <CJK>
+8FB1A1 4F85 8FB1A1 <CJK>
+8FB1A2 4F89 8FB1A2 <CJK>
+8FB1A3 4F8A 8FB1A3 <CJK>
+8FB1A4 4F8C 8FB1A4 <CJK>
+8FB1A5 4F8E 8FB1A5 <CJK>
+8FB1A6 4F90 8FB1A6 <CJK>
+8FB1A7 4F92 8FB1A7 <CJK>
+8FB1A8 4F93 8FB1A8 <CJK>
+8FB1A9 4F94 8FB1A9 <CJK>
+8FB1AA 4F97 8FB1AA <CJK>
+8FB1AB 4F99 8FB1AB <CJK>
+8FB1AC 4F9A 8FB1AC <CJK>
+8FB1AD 4F9E 8FB1AD <CJK>
+8FB1AE 4F9F 8FB1AE <CJK>
+8FB1AF 4FB2 8FB1AF <CJK>
+8FB1B0 4FB7 8FB1B0 <CJK>
+8FB1B1 4FB9 8FB1B1 <CJK>
+8FB1B2 4FBB 8FB1B2 <CJK>
+8FB1B3 4FBC 8FB1B3 <CJK>
+8FB1B4 4FBD 8FB1B4 <CJK>
+8FB1B5 4FBE 8FB1B5 <CJK>
+8FB1B6 4FC0 8FB1B6 <CJK>
+8FB1B7 4FC1 8FB1B7 <CJK>
+8FB1B8 4FC5 8FB1B8 <CJK>
+8FB1B9 4FC6 8FB1B9 <CJK>
+8FB1BA 4FC8 8FB1BA <CJK>
+8FB1BB 4FC9 8FB1BB <CJK>
+8FB1BC 4FCB 8FB1BC <CJK>
+8FB1BD 4FCC 8FB1BD <CJK>
+8FB1BE 4FCD 8FB1BE <CJK>
+8FB1BF 4FCF 8FB1BF <CJK>
+8FB1C0 4FD2 8FB1C0 <CJK>
+8FB1C1 4FDC 8FB1C1 <CJK>
+8FB1C2 4FE0 8FB1C2 <CJK>
+8FB1C3 4FE2 8FB1C3 <CJK>
+8FB1C4 4FF0 8FB1C4 <CJK>
+8FB1C5 4FF2 8FB1C5 <CJK>
+8FB1C6 4FFC 8FB1C6 <CJK>
+8FB1C7 4FFD 8FB1C7 <CJK>
+8FB1C8 4FFF 8FB1C8 <CJK>
+8FB1C9 5000 8FB1C9 <CJK>
+8FB1CA 5001 8FB1CA <CJK>
+8FB1CB 5004 8FB1CB <CJK>
+8FB1CC 5007 8FB1CC <CJK>
+8FB1CD 500A 8FB1CD <CJK>
+8FB1CE 500C 8FB1CE <CJK>
+8FB1CF 500E 8FB1CF <CJK>
+8FB1D0 5010 8FB1D0 <CJK>
+8FB1D1 5013 8FB1D1 <CJK>
+8FB1D2 5017 8FB1D2 <CJK>
+8FB1D3 5018 8FB1D3 <CJK>
+8FB1D4 501B 8FB1D4 <CJK>
+8FB1D5 501C 8FB1D5 <CJK>
+8FB1D6 501D 8FB1D6 <CJK>
+8FB1D7 501E 8FB1D7 <CJK>
+8FB1D8 5022 8FB1D8 <CJK>
+8FB1D9 5027 8FB1D9 <CJK>
+8FB1DA 502E 8FB1DA <CJK>
+8FB1DB 5030 8FB1DB <CJK>
+8FB1DC 5032 8FB1DC <CJK>
+8FB1DD 5033 8FB1DD <CJK>
+8FB1DE 5035 8FB1DE <CJK>
+8FB1DF 5040 8FB1DF <CJK>
+8FB1E0 5041 8FB1E0 <CJK>
+8FB1E1 5042 8FB1E1 <CJK>
+8FB1E2 5045 8FB1E2 <CJK>
+8FB1E3 5046 8FB1E3 <CJK>
+8FB1E4 504A 8FB1E4 <CJK>
+8FB1E5 504C 8FB1E5 <CJK>
+8FB1E6 504E 8FB1E6 <CJK>
+8FB1E7 5051 8FB1E7 <CJK>
+8FB1E8 5052 8FB1E8 <CJK>
+8FB1E9 5053 8FB1E9 <CJK>
+8FB1EA 5057 8FB1EA <CJK>
+8FB1EB 5059 8FB1EB <CJK>
+8FB1EC 505F 8FB1EC <CJK>
+8FB1ED 5060 8FB1ED <CJK>
+8FB1EE 5062 8FB1EE <CJK>
+8FB1EF 5063 8FB1EF <CJK>
+8FB1F0 5066 8FB1F0 <CJK>
+8FB1F1 5067 8FB1F1 <CJK>
+8FB1F2 506A 8FB1F2 <CJK>
+8FB1F3 506D 8FB1F3 <CJK>
+8FB1F4 5070 8FB1F4 <CJK>
+8FB1F5 5071 8FB1F5 <CJK>
+8FB1F6 503B 8FB1F6 <CJK>
+8FB1F7 5081 8FB1F7 <CJK>
+8FB1F8 5083 8FB1F8 <CJK>
+8FB1F9 5084 8FB1F9 <CJK>
+8FB1FA 5086 8FB1FA <CJK>
+8FB1FB 508A 8FB1FB <CJK>
+8FB1FC 508E 8FB1FC <CJK>
+8FB1FD 508F 8FB1FD <CJK>
+8FB1FE 5090 8FB1FE <CJK>
+8FB2A1 5092 8FB2A1 <CJK>
+8FB2A2 5093 8FB2A2 <CJK>
+8FB2A3 5094 8FB2A3 <CJK>
+8FB2A4 5096 8FB2A4 <CJK>
+8FB2A5 509B 8FB2A5 <CJK>
+8FB2A6 509C 8FB2A6 <CJK>
+8FB2A7 509E 8FB2A7 <CJK>
+8FB2A8 509F 8FB2A8 <CJK>
+8FB2A9 50A0 8FB2A9 <CJK>
+8FB2AA 50A1 8FB2AA <CJK>
+8FB2AB 50A2 8FB2AB <CJK>
+8FB2AC 50AA 8FB2AC <CJK>
+8FB2AD 50AF 8FB2AD <CJK>
+8FB2AE 50B0 8FB2AE <CJK>
+8FB2AF 50B9 8FB2AF <CJK>
+8FB2B0 50BA 8FB2B0 <CJK>
+8FB2B1 50BD 8FB2B1 <CJK>
+8FB2B2 50C0 8FB2B2 <CJK>
+8FB2B3 50C3 8FB2B3 <CJK>
+8FB2B4 50C4 8FB2B4 <CJK>
+8FB2B5 50C7 8FB2B5 <CJK>
+8FB2B6 50CC 8FB2B6 <CJK>
+8FB2B7 50CE 8FB2B7 <CJK>
+8FB2B8 50D0 8FB2B8 <CJK>
+8FB2B9 50D3 8FB2B9 <CJK>
+8FB2BA 50D4 8FB2BA <CJK>
+8FB2BB 50D8 8FB2BB <CJK>
+8FB2BC 50DC 8FB2BC <CJK>
+8FB2BD 50DD 8FB2BD <CJK>
+8FB2BE 50DF 8FB2BE <CJK>
+8FB2BF 50E2 8FB2BF <CJK>
+8FB2C0 50E4 8FB2C0 <CJK>
+8FB2C1 50E6 8FB2C1 <CJK>
+8FB2C2 50E8 8FB2C2 <CJK>
+8FB2C3 50E9 8FB2C3 <CJK>
+8FB2C4 50EF 8FB2C4 <CJK>
+8FB2C5 50F1 8FB2C5 <CJK>
+8FB2C6 50F6 8FB2C6 <CJK>
+8FB2C7 50FA 8FB2C7 <CJK>
+8FB2C8 50FE 8FB2C8 <CJK>
+8FB2C9 5103 8FB2C9 <CJK>
+8FB2CA 5106 8FB2CA <CJK>
+8FB2CB 5107 8FB2CB <CJK>
+8FB2CC 5108 8FB2CC <CJK>
+8FB2CD 510B 8FB2CD <CJK>
+8FB2CE 510C 8FB2CE <CJK>
+8FB2CF 510D 8FB2CF <CJK>
+8FB2D0 510E 8FB2D0 <CJK>
+8FB2D1 50F2 8FB2D1 <CJK>
+8FB2D2 5110 8FB2D2 <CJK>
+8FB2D3 5117 8FB2D3 <CJK>
+8FB2D4 5119 8FB2D4 <CJK>
+8FB2D5 511B 8FB2D5 <CJK>
+8FB2D6 511C 8FB2D6 <CJK>
+8FB2D7 511D 8FB2D7 <CJK>
+8FB2D8 511E 8FB2D8 <CJK>
+8FB2D9 5123 8FB2D9 <CJK>
+8FB2DA 5127 8FB2DA <CJK>
+8FB2DB 5128 8FB2DB <CJK>
+8FB2DC 512C 8FB2DC <CJK>
+8FB2DD 512D 8FB2DD <CJK>
+8FB2DE 512F 8FB2DE <CJK>
+8FB2DF 5131 8FB2DF <CJK>
+8FB2E0 5133 8FB2E0 <CJK>
+8FB2E1 5134 8FB2E1 <CJK>
+8FB2E2 5135 8FB2E2 <CJK>
+8FB2E3 5138 8FB2E3 <CJK>
+8FB2E4 5139 8FB2E4 <CJK>
+8FB2E5 5142 8FB2E5 <CJK>
+8FB2E6 514A 8FB2E6 <CJK>
+8FB2E7 514F 8FB2E7 <CJK>
+8FB2E8 5153 8FB2E8 <CJK>
+8FB2E9 5155 8FB2E9 <CJK>
+8FB2EA 5157 8FB2EA <CJK>
+8FB2EB 5158 8FB2EB <CJK>
+8FB2EC 515F 8FB2EC <CJK>
+8FB2ED 5164 8FB2ED <CJK>
+8FB2EE 5166 8FB2EE <CJK>
+8FB2EF 517E 8FB2EF <CJK>
+8FB2F0 5183 8FB2F0 <CJK>
+8FB2F1 5184 8FB2F1 <CJK>
+8FB2F2 518B 8FB2F2 <CJK>
+8FB2F3 518E 8FB2F3 <CJK>
+8FB2F4 5198 8FB2F4 <CJK>
+8FB2F5 519D 8FB2F5 <CJK>
+8FB2F6 51A1 8FB2F6 <CJK>
+8FB2F7 51A3 8FB2F7 <CJK>
+8FB2F8 51AD 8FB2F8 <CJK>
+8FB2F9 51B8 8FB2F9 <CJK>
+8FB2FA 51BA 8FB2FA <CJK>
+8FB2FB 51BC 8FB2FB <CJK>
+8FB2FC 51BE 8FB2FC <CJK>
+8FB2FD 51BF 8FB2FD <CJK>
+8FB2FE 51C2 8FB2FE <CJK>
+8FB3A1 51C8 8FB3A1 <CJK>
+8FB3A2 51CF 8FB3A2 <CJK>
+8FB3A3 51D1 8FB3A3 <CJK>
+8FB3A4 51D2 8FB3A4 <CJK>
+8FB3A5 51D3 8FB3A5 <CJK>
+8FB3A6 51D5 8FB3A6 <CJK>
+8FB3A7 51D8 8FB3A7 <CJK>
+8FB3A8 51DE 8FB3A8 <CJK>
+8FB3A9 51E2 8FB3A9 <CJK>
+8FB3AA 51E5 8FB3AA <CJK>
+8FB3AB 51EE 8FB3AB <CJK>
+8FB3AC 51F2 8FB3AC <CJK>
+8FB3AD 51F3 8FB3AD <CJK>
+8FB3AE 51F4 8FB3AE <CJK>
+8FB3AF 51F7 8FB3AF <CJK>
+8FB3B0 5201 8FB3B0 <CJK>
+8FB3B1 5202 8FB3B1 <CJK>
+8FB3B2 5205 8FB3B2 <CJK>
+8FB3B3 5212 8FB3B3 <CJK>
+8FB3B4 5213 8FB3B4 <CJK>
+8FB3B5 5215 8FB3B5 <CJK>
+8FB3B6 5216 8FB3B6 <CJK>
+8FB3B7 5218 8FB3B7 <CJK>
+8FB3B8 5222 8FB3B8 <CJK>
+8FB3B9 5228 8FB3B9 <CJK>
+8FB3BA 5231 8FB3BA <CJK>
+8FB3BB 5232 8FB3BB <CJK>
+8FB3BC 5235 8FB3BC <CJK>
+8FB3BD 523C 8FB3BD <CJK>
+8FB3BE 5245 8FB3BE <CJK>
+8FB3BF 5249 8FB3BF <CJK>
+8FB3C0 5255 8FB3C0 <CJK>
+8FB3C1 5257 8FB3C1 <CJK>
+8FB3C2 5258 8FB3C2 <CJK>
+8FB3C3 525A 8FB3C3 <CJK>
+8FB3C4 525C 8FB3C4 <CJK>
+8FB3C5 525F 8FB3C5 <CJK>
+8FB3C6 5260 8FB3C6 <CJK>
+8FB3C7 5261 8FB3C7 <CJK>
+8FB3C8 5266 8FB3C8 <CJK>
+8FB3C9 526E 8FB3C9 <CJK>
+8FB3CA 5277 8FB3CA <CJK>
+8FB3CB 5278 8FB3CB <CJK>
+8FB3CC 5279 8FB3CC <CJK>
+8FB3CD 5280 8FB3CD <CJK>
+8FB3CE 5282 8FB3CE <CJK>
+8FB3CF 5285 8FB3CF <CJK>
+8FB3D0 528A 8FB3D0 <CJK>
+8FB3D1 528C 8FB3D1 <CJK>
+8FB3D2 5293 8FB3D2 <CJK>
+8FB3D3 5295 8FB3D3 <CJK>
+8FB3D4 5296 8FB3D4 <CJK>
+8FB3D5 5297 8FB3D5 <CJK>
+8FB3D6 5298 8FB3D6 <CJK>
+8FB3D7 529A 8FB3D7 <CJK>
+8FB3D8 529C 8FB3D8 <CJK>
+8FB3D9 52A4 8FB3D9 <CJK>
+8FB3DA 52A5 8FB3DA <CJK>
+8FB3DB 52A6 8FB3DB <CJK>
+8FB3DC 52A7 8FB3DC <CJK>
+8FB3DD 52AF 8FB3DD <CJK>
+8FB3DE 52B0 8FB3DE <CJK>
+8FB3DF 52B6 8FB3DF <CJK>
+8FB3E0 52B7 8FB3E0 <CJK>
+8FB3E1 52B8 8FB3E1 <CJK>
+8FB3E2 52BA 8FB3E2 <CJK>
+8FB3E3 52BB 8FB3E3 <CJK>
+8FB3E4 52BD 8FB3E4 <CJK>
+8FB3E5 52C0 8FB3E5 <CJK>
+8FB3E6 52C4 8FB3E6 <CJK>
+8FB3E7 52C6 8FB3E7 <CJK>
+8FB3E8 52C8 8FB3E8 <CJK>
+8FB3E9 52CC 8FB3E9 <CJK>
+8FB3EA 52CF 8FB3EA <CJK>
+8FB3EB 52D1 8FB3EB <CJK>
+8FB3EC 52D4 8FB3EC <CJK>
+8FB3ED 52D6 8FB3ED <CJK>
+8FB3EE 52DB 8FB3EE <CJK>
+8FB3EF 52DC 8FB3EF <CJK>
+8FB3F0 52E1 8FB3F0 <CJK>
+8FB3F1 52E5 8FB3F1 <CJK>
+8FB3F2 52E8 8FB3F2 <CJK>
+8FB3F3 52E9 8FB3F3 <CJK>
+8FB3F4 52EA 8FB3F4 <CJK>
+8FB3F5 52EC 8FB3F5 <CJK>
+8FB3F6 52F0 8FB3F6 <CJK>
+8FB3F7 52F1 8FB3F7 <CJK>
+8FB3F8 52F4 8FB3F8 <CJK>
+8FB3F9 52F6 8FB3F9 <CJK>
+8FB3FA 52F7 8FB3FA <CJK>
+8FB3FB 5300 8FB3FB <CJK>
+8FB3FC 5303 8FB3FC <CJK>
+8FB3FD 530A 8FB3FD <CJK>
+8FB3FE 530B 8FB3FE <CJK>
+8FB4A1 530C 8FB4A1 <CJK>
+8FB4A2 5311 8FB4A2 <CJK>
+8FB4A3 5313 8FB4A3 <CJK>
+8FB4A4 5318 8FB4A4 <CJK>
+8FB4A5 531B 8FB4A5 <CJK>
+8FB4A6 531C 8FB4A6 <CJK>
+8FB4A7 531E 8FB4A7 <CJK>
+8FB4A8 531F 8FB4A8 <CJK>
+8FB4A9 5325 8FB4A9 <CJK>
+8FB4AA 5327 8FB4AA <CJK>
+8FB4AB 5328 8FB4AB <CJK>
+8FB4AC 5329 8FB4AC <CJK>
+8FB4AD 532B 8FB4AD <CJK>
+8FB4AE 532C 8FB4AE <CJK>
+8FB4AF 532D 8FB4AF <CJK>
+8FB4B0 5330 8FB4B0 <CJK>
+8FB4B1 5332 8FB4B1 <CJK>
+8FB4B2 5335 8FB4B2 <CJK>
+8FB4B3 533C 8FB4B3 <CJK>
+8FB4B4 533D 8FB4B4 <CJK>
+8FB4B5 533E 8FB4B5 <CJK>
+8FB4B6 5342 8FB4B6 <CJK>
+8FB4B7 534C 8FB4B7 <CJK>
+8FB4B8 534B 8FB4B8 <CJK>
+8FB4B9 5359 8FB4B9 <CJK>
+8FB4BA 535B 8FB4BA <CJK>
+8FB4BB 5361 8FB4BB <CJK>
+8FB4BC 5363 8FB4BC <CJK>
+8FB4BD 5365 8FB4BD <CJK>
+8FB4BE 536C 8FB4BE <CJK>
+8FB4BF 536D 8FB4BF <CJK>
+8FB4C0 5372 8FB4C0 <CJK>
+8FB4C1 5379 8FB4C1 <CJK>
+8FB4C2 537E 8FB4C2 <CJK>
+8FB4C3 5383 8FB4C3 <CJK>
+8FB4C4 5387 8FB4C4 <CJK>
+8FB4C5 5388 8FB4C5 <CJK>
+8FB4C6 538E 8FB4C6 <CJK>
+8FB4C7 5393 8FB4C7 <CJK>
+8FB4C8 5394 8FB4C8 <CJK>
+8FB4C9 5399 8FB4C9 <CJK>
+8FB4CA 539D 8FB4CA <CJK>
+8FB4CB 53A1 8FB4CB <CJK>
+8FB4CC 53A4 8FB4CC <CJK>
+8FB4CD 53AA 8FB4CD <CJK>
+8FB4CE 53AB 8FB4CE <CJK>
+8FB4CF 53AF 8FB4CF <CJK>
+8FB4D0 53B2 8FB4D0 <CJK>
+8FB4D1 53B4 8FB4D1 <CJK>
+8FB4D2 53B5 8FB4D2 <CJK>
+8FB4D3 53B7 8FB4D3 <CJK>
+8FB4D4 53B8 8FB4D4 <CJK>
+8FB4D5 53BA 8FB4D5 <CJK>
+8FB4D6 53BD 8FB4D6 <CJK>
+8FB4D7 53C0 8FB4D7 <CJK>
+8FB4D8 53C5 8FB4D8 <CJK>
+8FB4D9 53CF 8FB4D9 <CJK>
+8FB4DA 53D2 8FB4DA <CJK>
+8FB4DB 53D3 8FB4DB <CJK>
+8FB4DC 53D5 8FB4DC <CJK>
+8FB4DD 53DA 8FB4DD <CJK>
+8FB4DE 53DD 8FB4DE <CJK>
+8FB4DF 53DE 8FB4DF <CJK>
+8FB4E0 53E0 8FB4E0 <CJK>
+8FB4E1 53E6 8FB4E1 <CJK>
+8FB4E2 53E7 8FB4E2 <CJK>
+8FB4E3 53F5 8FB4E3 <CJK>
+8FB4E4 5402 8FB4E4 <CJK>
+8FB4E5 5413 8FB4E5 <CJK>
+8FB4E6 541A 8FB4E6 <CJK>
+8FB4E7 5421 8FB4E7 <CJK>
+8FB4E8 5427 8FB4E8 <CJK>
+8FB4E9 5428 8FB4E9 <CJK>
+8FB4EA 542A 8FB4EA <CJK>
+8FB4EB 542F 8FB4EB <CJK>
+8FB4EC 5431 8FB4EC <CJK>
+8FB4ED 5434 8FB4ED <CJK>
+8FB4EE 5435 8FB4EE <CJK>
+8FB4EF 5443 8FB4EF <CJK>
+8FB4F0 5444 8FB4F0 <CJK>
+8FB4F1 5447 8FB4F1 <CJK>
+8FB4F2 544D 8FB4F2 <CJK>
+8FB4F3 544F 8FB4F3 <CJK>
+8FB4F4 545E 8FB4F4 <CJK>
+8FB4F5 5462 8FB4F5 <CJK>
+8FB4F6 5464 8FB4F6 <CJK>
+8FB4F7 5466 8FB4F7 <CJK>
+8FB4F8 5467 8FB4F8 <CJK>
+8FB4F9 5469 8FB4F9 <CJK>
+8FB4FA 546B 8FB4FA <CJK>
+8FB4FB 546D 8FB4FB <CJK>
+8FB4FC 546E 8FB4FC <CJK>
+8FB4FD 5474 8FB4FD <CJK>
+8FB4FE 547F 8FB4FE <CJK>
+8FB5A1 5481 8FB5A1 <CJK>
+8FB5A2 5483 8FB5A2 <CJK>
+8FB5A3 5485 8FB5A3 <CJK>
+8FB5A4 5488 8FB5A4 <CJK>
+8FB5A5 5489 8FB5A5 <CJK>
+8FB5A6 548D 8FB5A6 <CJK>
+8FB5A7 5491 8FB5A7 <CJK>
+8FB5A8 5495 8FB5A8 <CJK>
+8FB5A9 5496 8FB5A9 <CJK>
+8FB5AA 549C 8FB5AA <CJK>
+8FB5AB 549F 8FB5AB <CJK>
+8FB5AC 54A1 8FB5AC <CJK>
+8FB5AD 54A6 8FB5AD <CJK>
+8FB5AE 54A7 8FB5AE <CJK>
+8FB5AF 54A9 8FB5AF <CJK>
+8FB5B0 54AA 8FB5B0 <CJK>
+8FB5B1 54AD 8FB5B1 <CJK>
+8FB5B2 54AE 8FB5B2 <CJK>
+8FB5B3 54B1 8FB5B3 <CJK>
+8FB5B4 54B7 8FB5B4 <CJK>
+8FB5B5 54B9 8FB5B5 <CJK>
+8FB5B6 54BA 8FB5B6 <CJK>
+8FB5B7 54BB 8FB5B7 <CJK>
+8FB5B8 54BF 8FB5B8 <CJK>
+8FB5B9 54C6 8FB5B9 <CJK>
+8FB5BA 54CA 8FB5BA <CJK>
+8FB5BB 54CD 8FB5BB <CJK>
+8FB5BC 54CE 8FB5BC <CJK>
+8FB5BD 54E0 8FB5BD <CJK>
+8FB5BE 54EA 8FB5BE <CJK>
+8FB5BF 54EC 8FB5BF <CJK>
+8FB5C0 54EF 8FB5C0 <CJK>
+8FB5C1 54F6 8FB5C1 <CJK>
+8FB5C2 54FC 8FB5C2 <CJK>
+8FB5C3 54FE 8FB5C3 <CJK>
+8FB5C4 54FF 8FB5C4 <CJK>
+8FB5C5 5500 8FB5C5 <CJK>
+8FB5C6 5501 8FB5C6 <CJK>
+8FB5C7 5505 8FB5C7 <CJK>
+8FB5C8 5508 8FB5C8 <CJK>
+8FB5C9 5509 8FB5C9 <CJK>
+8FB5CA 550C 8FB5CA <CJK>
+8FB5CB 550D 8FB5CB <CJK>
+8FB5CC 550E 8FB5CC <CJK>
+8FB5CD 5515 8FB5CD <CJK>
+8FB5CE 552A 8FB5CE <CJK>
+8FB5CF 552B 8FB5CF <CJK>
+8FB5D0 5532 8FB5D0 <CJK>
+8FB5D1 5535 8FB5D1 <CJK>
+8FB5D2 5536 8FB5D2 <CJK>
+8FB5D3 553B 8FB5D3 <CJK>
+8FB5D4 553C 8FB5D4 <CJK>
+8FB5D5 553D 8FB5D5 <CJK>
+8FB5D6 5541 8FB5D6 <CJK>
+8FB5D7 5547 8FB5D7 <CJK>
+8FB5D8 5549 8FB5D8 <CJK>
+8FB5D9 554A 8FB5D9 <CJK>
+8FB5DA 554D 8FB5DA <CJK>
+8FB5DB 5550 8FB5DB <CJK>
+8FB5DC 5551 8FB5DC <CJK>
+8FB5DD 5558 8FB5DD <CJK>
+8FB5DE 555A 8FB5DE <CJK>
+8FB5DF 555B 8FB5DF <CJK>
+8FB5E0 555E 8FB5E0 <CJK>
+8FB5E1 5560 8FB5E1 <CJK>
+8FB5E2 5561 8FB5E2 <CJK>
+8FB5E3 5564 8FB5E3 <CJK>
+8FB5E4 5566 8FB5E4 <CJK>
+8FB5E5 557F 8FB5E5 <CJK>
+8FB5E6 5581 8FB5E6 <CJK>
+8FB5E7 5582 8FB5E7 <CJK>
+8FB5E8 5586 8FB5E8 <CJK>
+8FB5E9 5588 8FB5E9 <CJK>
+8FB5EA 558E 8FB5EA <CJK>
+8FB5EB 558F 8FB5EB <CJK>
+8FB5EC 5591 8FB5EC <CJK>
+8FB5ED 5592 8FB5ED <CJK>
+8FB5EE 5593 8FB5EE <CJK>
+8FB5EF 5594 8FB5EF <CJK>
+8FB5F0 5597 8FB5F0 <CJK>
+8FB5F1 55A3 8FB5F1 <CJK>
+8FB5F2 55A4 8FB5F2 <CJK>
+8FB5F3 55AD 8FB5F3 <CJK>
+8FB5F4 55B2 8FB5F4 <CJK>
+8FB5F5 55BF 8FB5F5 <CJK>
+8FB5F6 55C1 8FB5F6 <CJK>
+8FB5F7 55C3 8FB5F7 <CJK>
+8FB5F8 55C6 8FB5F8 <CJK>
+8FB5F9 55C9 8FB5F9 <CJK>
+8FB5FA 55CB 8FB5FA <CJK>
+8FB5FB 55CC 8FB5FB <CJK>
+8FB5FC 55CE 8FB5FC <CJK>
+8FB5FD 55D1 8FB5FD <CJK>
+8FB5FE 55D2 8FB5FE <CJK>
+8FB6A1 55D3 8FB6A1 <CJK>
+8FB6A2 55D7 8FB6A2 <CJK>
+8FB6A3 55D8 8FB6A3 <CJK>
+8FB6A4 55DB 8FB6A4 <CJK>
+8FB6A5 55DE 8FB6A5 <CJK>
+8FB6A6 55E2 8FB6A6 <CJK>
+8FB6A7 55E9 8FB6A7 <CJK>
+8FB6A8 55F6 8FB6A8 <CJK>
+8FB6A9 55FF 8FB6A9 <CJK>
+8FB6AA 5605 8FB6AA <CJK>
+8FB6AB 5608 8FB6AB <CJK>
+8FB6AC 560A 8FB6AC <CJK>
+8FB6AD 560D 8FB6AD <CJK>
+8FB6AE 560E 8FB6AE <CJK>
+8FB6AF 560F 8FB6AF <CJK>
+8FB6B0 5610 8FB6B0 <CJK>
+8FB6B1 5611 8FB6B1 <CJK>
+8FB6B2 5612 8FB6B2 <CJK>
+8FB6B3 5619 8FB6B3 <CJK>
+8FB6B4 562C 8FB6B4 <CJK>
+8FB6B5 5630 8FB6B5 <CJK>
+8FB6B6 5633 8FB6B6 <CJK>
+8FB6B7 5635 8FB6B7 <CJK>
+8FB6B8 5637 8FB6B8 <CJK>
+8FB6B9 5639 8FB6B9 <CJK>
+8FB6BA 563B 8FB6BA <CJK>
+8FB6BB 563C 8FB6BB <CJK>
+8FB6BC 563D 8FB6BC <CJK>
+8FB6BD 563F 8FB6BD <CJK>
+8FB6BE 5640 8FB6BE <CJK>
+8FB6BF 5641 8FB6BF <CJK>
+8FB6C0 5643 8FB6C0 <CJK>
+8FB6C1 5644 8FB6C1 <CJK>
+8FB6C2 5646 8FB6C2 <CJK>
+8FB6C3 5649 8FB6C3 <CJK>
+8FB6C4 564B 8FB6C4 <CJK>
+8FB6C5 564D 8FB6C5 <CJK>
+8FB6C6 564F 8FB6C6 <CJK>
+8FB6C7 5654 8FB6C7 <CJK>
+8FB6C8 565E 8FB6C8 <CJK>
+8FB6C9 5660 8FB6C9 <CJK>
+8FB6CA 5661 8FB6CA <CJK>
+8FB6CB 5662 8FB6CB <CJK>
+8FB6CC 5663 8FB6CC <CJK>
+8FB6CD 5666 8FB6CD <CJK>
+8FB6CE 5669 8FB6CE <CJK>
+8FB6CF 566D 8FB6CF <CJK>
+8FB6D0 566F 8FB6D0 <CJK>
+8FB6D1 5671 8FB6D1 <CJK>
+8FB6D2 5672 8FB6D2 <CJK>
+8FB6D3 5675 8FB6D3 <CJK>
+8FB6D4 5684 8FB6D4 <CJK>
+8FB6D5 5685 8FB6D5 <CJK>
+8FB6D6 5688 8FB6D6 <CJK>
+8FB6D7 568B 8FB6D7 <CJK>
+8FB6D8 568C 8FB6D8 <CJK>
+8FB6D9 5695 8FB6D9 <CJK>
+8FB6DA 5699 8FB6DA <CJK>
+8FB6DB 569A 8FB6DB <CJK>
+8FB6DC 569D 8FB6DC <CJK>
+8FB6DD 569E 8FB6DD <CJK>
+8FB6DE 569F 8FB6DE <CJK>
+8FB6DF 56A6 8FB6DF <CJK>
+8FB6E0 56A7 8FB6E0 <CJK>
+8FB6E1 56A8 8FB6E1 <CJK>
+8FB6E2 56A9 8FB6E2 <CJK>
+8FB6E3 56AB 8FB6E3 <CJK>
+8FB6E4 56AC 8FB6E4 <CJK>
+8FB6E5 56AD 8FB6E5 <CJK>
+8FB6E6 56B1 8FB6E6 <CJK>
+8FB6E7 56B3 8FB6E7 <CJK>
+8FB6E8 56B7 8FB6E8 <CJK>
+8FB6E9 56BE 8FB6E9 <CJK>
+8FB6EA 56C5 8FB6EA <CJK>
+8FB6EB 56C9 8FB6EB <CJK>
+8FB6EC 56CA 8FB6EC <CJK>
+8FB6ED 56CB 8FB6ED <CJK>
+8FB6EE 56CF 8FB6EE <CJK>
+8FB6EF 56D0 8FB6EF <CJK>
+8FB6F0 56CC 8FB6F0 <CJK>
+8FB6F1 56CD 8FB6F1 <CJK>
+8FB6F2 56D9 8FB6F2 <CJK>
+8FB6F3 56DC 8FB6F3 <CJK>
+8FB6F4 56DD 8FB6F4 <CJK>
+8FB6F5 56DF 8FB6F5 <CJK>
+8FB6F6 56E1 8FB6F6 <CJK>
+8FB6F7 56E4 8FB6F7 <CJK>
+8FB6F8 56E5 8FB6F8 <CJK>
+8FB6F9 56E6 8FB6F9 <CJK>
+8FB6FA 56E7 8FB6FA <CJK>
+8FB6FB 56E8 8FB6FB <CJK>
+8FB6FC 56F1 8FB6FC <CJK>
+8FB6FD 56EB 8FB6FD <CJK>
+8FB6FE 56ED 8FB6FE <CJK>
+8FB7A1 56F6 8FB7A1 <CJK>
+8FB7A2 56F7 8FB7A2 <CJK>
+8FB7A3 5701 8FB7A3 <CJK>
+8FB7A4 5702 8FB7A4 <CJK>
+8FB7A5 5707 8FB7A5 <CJK>
+8FB7A6 570A 8FB7A6 <CJK>
+8FB7A7 570C 8FB7A7 <CJK>
+8FB7A8 5711 8FB7A8 <CJK>
+8FB7A9 5715 8FB7A9 <CJK>
+8FB7AA 571A 8FB7AA <CJK>
+8FB7AB 571B 8FB7AB <CJK>
+8FB7AC 571D 8FB7AC <CJK>
+8FB7AD 5720 8FB7AD <CJK>
+8FB7AE 5722 8FB7AE <CJK>
+8FB7AF 5723 8FB7AF <CJK>
+8FB7B0 5724 8FB7B0 <CJK>
+8FB7B1 5725 8FB7B1 <CJK>
+8FB7B2 5729 8FB7B2 <CJK>
+8FB7B3 572A 8FB7B3 <CJK>
+8FB7B4 572C 8FB7B4 <CJK>
+8FB7B5 572E 8FB7B5 <CJK>
+8FB7B6 572F 8FB7B6 <CJK>
+8FB7B7 5733 8FB7B7 <CJK>
+8FB7B8 5734 8FB7B8 <CJK>
+8FB7B9 573D 8FB7B9 <CJK>
+8FB7BA 573E 8FB7BA <CJK>
+8FB7BB 573F 8FB7BB <CJK>
+8FB7BC 5745 8FB7BC <CJK>
+8FB7BD 5746 8FB7BD <CJK>
+8FB7BE 574C 8FB7BE <CJK>
+8FB7BF 574D 8FB7BF <CJK>
+8FB7C0 5752 8FB7C0 <CJK>
+8FB7C1 5762 8FB7C1 <CJK>
+8FB7C2 5765 8FB7C2 <CJK>
+8FB7C3 5767 8FB7C3 <CJK>
+8FB7C4 5768 8FB7C4 <CJK>
+8FB7C5 576B 8FB7C5 <CJK>
+8FB7C6 576D 8FB7C6 <CJK>
+8FB7C7 576E 8FB7C7 <CJK>
+8FB7C8 576F 8FB7C8 <CJK>
+8FB7C9 5770 8FB7C9 <CJK>
+8FB7CA 5771 8FB7CA <CJK>
+8FB7CB 5773 8FB7CB <CJK>
+8FB7CC 5774 8FB7CC <CJK>
+8FB7CD 5775 8FB7CD <CJK>
+8FB7CE 5777 8FB7CE <CJK>
+8FB7CF 5779 8FB7CF <CJK>
+8FB7D0 577A 8FB7D0 <CJK>
+8FB7D1 577B 8FB7D1 <CJK>
+8FB7D2 577C 8FB7D2 <CJK>
+8FB7D3 577E 8FB7D3 <CJK>
+8FB7D4 5781 8FB7D4 <CJK>
+8FB7D5 5783 8FB7D5 <CJK>
+8FB7D6 578C 8FB7D6 <CJK>
+8FB7D7 5794 8FB7D7 <CJK>
+8FB7D8 5797 8FB7D8 <CJK>
+8FB7D9 5799 8FB7D9 <CJK>
+8FB7DA 579A 8FB7DA <CJK>
+8FB7DB 579C 8FB7DB <CJK>
+8FB7DC 579D 8FB7DC <CJK>
+8FB7DD 579E 8FB7DD <CJK>
+8FB7DE 579F 8FB7DE <CJK>
+8FB7DF 57A1 8FB7DF <CJK>
+8FB7E0 5795 8FB7E0 <CJK>
+8FB7E1 57A7 8FB7E1 <CJK>
+8FB7E2 57A8 8FB7E2 <CJK>
+8FB7E3 57A9 8FB7E3 <CJK>
+8FB7E4 57AC 8FB7E4 <CJK>
+8FB7E5 57B8 8FB7E5 <CJK>
+8FB7E6 57BD 8FB7E6 <CJK>
+8FB7E7 57C7 8FB7E7 <CJK>
+8FB7E8 57C8 8FB7E8 <CJK>
+8FB7E9 57CC 8FB7E9 <CJK>
+8FB7EA 57CF 8FB7EA <CJK>
+8FB7EB 57D5 8FB7EB <CJK>
+8FB7EC 57DD 8FB7EC <CJK>
+8FB7ED 57DE 8FB7ED <CJK>
+8FB7EE 57E4 8FB7EE <CJK>
+8FB7EF 57E6 8FB7EF <CJK>
+8FB7F0 57E7 8FB7F0 <CJK>
+8FB7F1 57E9 8FB7F1 <CJK>
+8FB7F2 57ED 8FB7F2 <CJK>
+8FB7F3 57F0 8FB7F3 <CJK>
+8FB7F4 57F5 8FB7F4 <CJK>
+8FB7F5 57F6 8FB7F5 <CJK>
+8FB7F6 57F8 8FB7F6 <CJK>
+8FB7F7 57FD 8FB7F7 <CJK>
+8FB7F8 57FE 8FB7F8 <CJK>
+8FB7F9 57FF 8FB7F9 <CJK>
+8FB7FA 5803 8FB7FA <CJK>
+8FB7FB 5804 8FB7FB <CJK>
+8FB7FC 5808 8FB7FC <CJK>
+8FB7FD 5809 8FB7FD <CJK>
+8FB7FE 57E1 8FB7FE <CJK>
+8FB8A1 580C 8FB8A1 <CJK>
+8FB8A2 580D 8FB8A2 <CJK>
+8FB8A3 581B 8FB8A3 <CJK>
+8FB8A4 581E 8FB8A4 <CJK>
+8FB8A5 581F 8FB8A5 <CJK>
+8FB8A6 5820 8FB8A6 <CJK>
+8FB8A7 5826 8FB8A7 <CJK>
+8FB8A8 5827 8FB8A8 <CJK>
+8FB8A9 582D 8FB8A9 <CJK>
+8FB8AA 5832 8FB8AA <CJK>
+8FB8AB 5839 8FB8AB <CJK>
+8FB8AC 583F 8FB8AC <CJK>
+8FB8AD 5849 8FB8AD <CJK>
+8FB8AE 584C 8FB8AE <CJK>
+8FB8AF 584D 8FB8AF <CJK>
+8FB8B0 584F 8FB8B0 <CJK>
+8FB8B1 5850 8FB8B1 <CJK>
+8FB8B2 5855 8FB8B2 <CJK>
+8FB8B3 585F 8FB8B3 <CJK>
+8FB8B4 5861 8FB8B4 <CJK>
+8FB8B5 5864 8FB8B5 <CJK>
+8FB8B6 5867 8FB8B6 <CJK>
+8FB8B7 5868 8FB8B7 <CJK>
+8FB8B8 5878 8FB8B8 <CJK>
+8FB8B9 587C 8FB8B9 <CJK>
+8FB8BA 587F 8FB8BA <CJK>
+8FB8BB 5880 8FB8BB <CJK>
+8FB8BC 5881 8FB8BC <CJK>
+8FB8BD 5887 8FB8BD <CJK>
+8FB8BE 5888 8FB8BE <CJK>
+8FB8BF 5889 8FB8BF <CJK>
+8FB8C0 588A 8FB8C0 <CJK>
+8FB8C1 588C 8FB8C1 <CJK>
+8FB8C2 588D 8FB8C2 <CJK>
+8FB8C3 588F 8FB8C3 <CJK>
+8FB8C4 5890 8FB8C4 <CJK>
+8FB8C5 5894 8FB8C5 <CJK>
+8FB8C6 5896 8FB8C6 <CJK>
+8FB8C7 589D 8FB8C7 <CJK>
+8FB8C8 58A0 8FB8C8 <CJK>
+8FB8C9 58A1 8FB8C9 <CJK>
+8FB8CA 58A2 8FB8CA <CJK>
+8FB8CB 58A6 8FB8CB <CJK>
+8FB8CC 58A9 8FB8CC <CJK>
+8FB8CD 58B1 8FB8CD <CJK>
+8FB8CE 58B2 8FB8CE <CJK>
+8FB8CF 58C4 8FB8CF <CJK>
+8FB8D0 58BC 8FB8D0 <CJK>
+8FB8D1 58C2 8FB8D1 <CJK>
+8FB8D2 58C8 8FB8D2 <CJK>
+8FB8D3 58CD 8FB8D3 <CJK>
+8FB8D4 58CE 8FB8D4 <CJK>
+8FB8D5 58D0 8FB8D5 <CJK>
+8FB8D6 58D2 8FB8D6 <CJK>
+8FB8D7 58D4 8FB8D7 <CJK>
+8FB8D8 58D6 8FB8D8 <CJK>
+8FB8D9 58DA 8FB8D9 <CJK>
+8FB8DA 58DD 8FB8DA <CJK>
+8FB8DB 58E1 8FB8DB <CJK>
+8FB8DC 58E2 8FB8DC <CJK>
+8FB8DD 58E9 8FB8DD <CJK>
+8FB8DE 58F3 8FB8DE <CJK>
+8FB8DF 5905 8FB8DF <CJK>
+8FB8E0 5906 8FB8E0 <CJK>
+8FB8E1 590B 8FB8E1 <CJK>
+8FB8E2 590C 8FB8E2 <CJK>
+8FB8E3 5912 8FB8E3 <CJK>
+8FB8E4 5913 8FB8E4 <CJK>
+8FB8E5 5914 8FB8E5 <CJK>
+8FB8E6 8641 8FB8E6 <CJK>
+8FB8E7 591D 8FB8E7 <CJK>
+8FB8E8 5921 8FB8E8 <CJK>
+8FB8E9 5923 8FB8E9 <CJK>
+8FB8EA 5924 8FB8EA <CJK>
+8FB8EB 5928 8FB8EB <CJK>
+8FB8EC 592F 8FB8EC <CJK>
+8FB8ED 5930 8FB8ED <CJK>
+8FB8EE 5933 8FB8EE <CJK>
+8FB8EF 5935 8FB8EF <CJK>
+8FB8F0 5936 8FB8F0 <CJK>
+8FB8F1 593F 8FB8F1 <CJK>
+8FB8F2 5943 8FB8F2 <CJK>
+8FB8F3 5946 8FB8F3 <CJK>
+8FB8F4 5952 8FB8F4 <CJK>
+8FB8F5 5953 8FB8F5 <CJK>
+8FB8F6 5959 8FB8F6 <CJK>
+8FB8F7 595B 8FB8F7 <CJK>
+8FB8F8 595D 8FB8F8 <CJK>
+8FB8F9 595E 8FB8F9 <CJK>
+8FB8FA 595F 8FB8FA <CJK>
+8FB8FB 5961 8FB8FB <CJK>
+8FB8FC 5963 8FB8FC <CJK>
+8FB8FD 596B 8FB8FD <CJK>
+8FB8FE 596D 8FB8FE <CJK>
+8FB9A1 596F 8FB9A1 <CJK>
+8FB9A2 5972 8FB9A2 <CJK>
+8FB9A3 5975 8FB9A3 <CJK>
+8FB9A4 5976 8FB9A4 <CJK>
+8FB9A5 5979 8FB9A5 <CJK>
+8FB9A6 597B 8FB9A6 <CJK>
+8FB9A7 597C 8FB9A7 <CJK>
+8FB9A8 598B 8FB9A8 <CJK>
+8FB9A9 598C 8FB9A9 <CJK>
+8FB9AA 598E 8FB9AA <CJK>
+8FB9AB 5992 8FB9AB <CJK>
+8FB9AC 5995 8FB9AC <CJK>
+8FB9AD 5997 8FB9AD <CJK>
+8FB9AE 599F 8FB9AE <CJK>
+8FB9AF 59A4 8FB9AF <CJK>
+8FB9B0 59A7 8FB9B0 <CJK>
+8FB9B1 59AD 8FB9B1 <CJK>
+8FB9B2 59AE 8FB9B2 <CJK>
+8FB9B3 59AF 8FB9B3 <CJK>
+8FB9B4 59B0 8FB9B4 <CJK>
+8FB9B5 59B3 8FB9B5 <CJK>
+8FB9B6 59B7 8FB9B6 <CJK>
+8FB9B7 59BA 8FB9B7 <CJK>
+8FB9B8 59BC 8FB9B8 <CJK>
+8FB9B9 59C1 8FB9B9 <CJK>
+8FB9BA 59C3 8FB9BA <CJK>
+8FB9BB 59C4 8FB9BB <CJK>
+8FB9BC 59C8 8FB9BC <CJK>
+8FB9BD 59CA 8FB9BD <CJK>
+8FB9BE 59CD 8FB9BE <CJK>
+8FB9BF 59D2 8FB9BF <CJK>
+8FB9C0 59DD 8FB9C0 <CJK>
+8FB9C1 59DE 8FB9C1 <CJK>
+8FB9C2 59DF 8FB9C2 <CJK>
+8FB9C3 59E3 8FB9C3 <CJK>
+8FB9C4 59E4 8FB9C4 <CJK>
+8FB9C5 59E7 8FB9C5 <CJK>
+8FB9C6 59EE 8FB9C6 <CJK>
+8FB9C7 59EF 8FB9C7 <CJK>
+8FB9C8 59F1 8FB9C8 <CJK>
+8FB9C9 59F2 8FB9C9 <CJK>
+8FB9CA 59F4 8FB9CA <CJK>
+8FB9CB 59F7 8FB9CB <CJK>
+8FB9CC 5A00 8FB9CC <CJK>
+8FB9CD 5A04 8FB9CD <CJK>
+8FB9CE 5A0C 8FB9CE <CJK>
+8FB9CF 5A0D 8FB9CF <CJK>
+8FB9D0 5A0E 8FB9D0 <CJK>
+8FB9D1 5A12 8FB9D1 <CJK>
+8FB9D2 5A13 8FB9D2 <CJK>
+8FB9D3 5A1E 8FB9D3 <CJK>
+8FB9D4 5A23 8FB9D4 <CJK>
+8FB9D5 5A24 8FB9D5 <CJK>
+8FB9D6 5A27 8FB9D6 <CJK>
+8FB9D7 5A28 8FB9D7 <CJK>
+8FB9D8 5A2A 8FB9D8 <CJK>
+8FB9D9 5A2D 8FB9D9 <CJK>
+8FB9DA 5A30 8FB9DA <CJK>
+8FB9DB 5A44 8FB9DB <CJK>
+8FB9DC 5A45 8FB9DC <CJK>
+8FB9DD 5A47 8FB9DD <CJK>
+8FB9DE 5A48 8FB9DE <CJK>
+8FB9DF 5A4C 8FB9DF <CJK>
+8FB9E0 5A50 8FB9E0 <CJK>
+8FB9E1 5A55 8FB9E1 <CJK>
+8FB9E2 5A5E 8FB9E2 <CJK>
+8FB9E3 5A63 8FB9E3 <CJK>
+8FB9E4 5A65 8FB9E4 <CJK>
+8FB9E5 5A67 8FB9E5 <CJK>
+8FB9E6 5A6D 8FB9E6 <CJK>
+8FB9E7 5A77 8FB9E7 <CJK>
+8FB9E8 5A7A 8FB9E8 <CJK>
+8FB9E9 5A7B 8FB9E9 <CJK>
+8FB9EA 5A7E 8FB9EA <CJK>
+8FB9EB 5A8B 8FB9EB <CJK>
+8FB9EC 5A90 8FB9EC <CJK>
+8FB9ED 5A93 8FB9ED <CJK>
+8FB9EE 5A96 8FB9EE <CJK>
+8FB9EF 5A99 8FB9EF <CJK>
+8FB9F0 5A9C 8FB9F0 <CJK>
+8FB9F1 5A9E 8FB9F1 <CJK>
+8FB9F2 5A9F 8FB9F2 <CJK>
+8FB9F3 5AA0 8FB9F3 <CJK>
+8FB9F4 5AA2 8FB9F4 <CJK>
+8FB9F5 5AA7 8FB9F5 <CJK>
+8FB9F6 5AAC 8FB9F6 <CJK>
+8FB9F7 5AB1 8FB9F7 <CJK>
+8FB9F8 5AB2 8FB9F8 <CJK>
+8FB9F9 5AB3 8FB9F9 <CJK>
+8FB9FA 5AB5 8FB9FA <CJK>
+8FB9FB 5AB8 8FB9FB <CJK>
+8FB9FC 5ABA 8FB9FC <CJK>
+8FB9FD 5ABB 8FB9FD <CJK>
+8FB9FE 5ABF 8FB9FE <CJK>
+8FBAA1 5AC4 8FBAA1 <CJK>
+8FBAA2 5AC6 8FBAA2 <CJK>
+8FBAA3 5AC8 8FBAA3 <CJK>
+8FBAA4 5ACF 8FBAA4 <CJK>
+8FBAA5 5ADA 8FBAA5 <CJK>
+8FBAA6 5ADC 8FBAA6 <CJK>
+8FBAA7 5AE0 8FBAA7 <CJK>
+8FBAA8 5AE5 8FBAA8 <CJK>
+8FBAA9 5AEA 8FBAA9 <CJK>
+8FBAAA 5AEE 8FBAAA <CJK>
+8FBAAB 5AF5 8FBAAB <CJK>
+8FBAAC 5AF6 8FBAAC <CJK>
+8FBAAD 5AFD 8FBAAD <CJK>
+8FBAAE 5B00 8FBAAE <CJK>
+8FBAAF 5B01 8FBAAF <CJK>
+8FBAB0 5B08 8FBAB0 <CJK>
+8FBAB1 5B17 8FBAB1 <CJK>
+8FBAB2 5B34 8FBAB2 <CJK>
+8FBAB3 5B19 8FBAB3 <CJK>
+8FBAB4 5B1B 8FBAB4 <CJK>
+8FBAB5 5B1D 8FBAB5 <CJK>
+8FBAB6 5B21 8FBAB6 <CJK>
+8FBAB7 5B25 8FBAB7 <CJK>
+8FBAB8 5B2D 8FBAB8 <CJK>
+8FBAB9 5B38 8FBAB9 <CJK>
+8FBABA 5B41 8FBABA <CJK>
+8FBABB 5B4B 8FBABB <CJK>
+8FBABC 5B4C 8FBABC <CJK>
+8FBABD 5B52 8FBABD <CJK>
+8FBABE 5B56 8FBABE <CJK>
+8FBABF 5B5E 8FBABF <CJK>
+8FBAC0 5B68 8FBAC0 <CJK>
+8FBAC1 5B6E 8FBAC1 <CJK>
+8FBAC2 5B6F 8FBAC2 <CJK>
+8FBAC3 5B7C 8FBAC3 <CJK>
+8FBAC4 5B7D 8FBAC4 <CJK>
+8FBAC5 5B7E 8FBAC5 <CJK>
+8FBAC6 5B7F 8FBAC6 <CJK>
+8FBAC7 5B81 8FBAC7 <CJK>
+8FBAC8 5B84 8FBAC8 <CJK>
+8FBAC9 5B86 8FBAC9 <CJK>
+8FBACA 5B8A 8FBACA <CJK>
+8FBACB 5B8E 8FBACB <CJK>
+8FBACC 5B90 8FBACC <CJK>
+8FBACD 5B91 8FBACD <CJK>
+8FBACE 5B93 8FBACE <CJK>
+8FBACF 5B94 8FBACF <CJK>
+8FBAD0 5B96 8FBAD0 <CJK>
+8FBAD1 5BA8 8FBAD1 <CJK>
+8FBAD2 5BA9 8FBAD2 <CJK>
+8FBAD3 5BAC 8FBAD3 <CJK>
+8FBAD4 5BAD 8FBAD4 <CJK>
+8FBAD5 5BAF 8FBAD5 <CJK>
+8FBAD6 5BB1 8FBAD6 <CJK>
+8FBAD7 5BB2 8FBAD7 <CJK>
+8FBAD8 5BB7 8FBAD8 <CJK>
+8FBAD9 5BBA 8FBAD9 <CJK>
+8FBADA 5BBC 8FBADA <CJK>
+8FBADB 5BC0 8FBADB <CJK>
+8FBADC 5BC1 8FBADC <CJK>
+8FBADD 5BCD 8FBADD <CJK>
+8FBADE 5BCF 8FBADE <CJK>
+8FBADF 5BD6 8FBADF <CJK>
+8FBAE0 5BD7 8FBAE0 <CJK>
+8FBAE1 5BD8 8FBAE1 <CJK>
+8FBAE2 5BD9 8FBAE2 <CJK>
+8FBAE3 5BDA 8FBAE3 <CJK>
+8FBAE4 5BE0 8FBAE4 <CJK>
+8FBAE5 5BEF 8FBAE5 <CJK>
+8FBAE6 5BF1 8FBAE6 <CJK>
+8FBAE7 5BF4 8FBAE7 <CJK>
+8FBAE8 5BFD 8FBAE8 <CJK>
+8FBAE9 5C0C 8FBAE9 <CJK>
+8FBAEA 5C17 8FBAEA <CJK>
+8FBAEB 5C1E 8FBAEB <CJK>
+8FBAEC 5C1F 8FBAEC <CJK>
+8FBAED 5C23 8FBAED <CJK>
+8FBAEE 5C26 8FBAEE <CJK>
+8FBAEF 5C29 8FBAEF <CJK>
+8FBAF0 5C2B 8FBAF0 <CJK>
+8FBAF1 5C2C 8FBAF1 <CJK>
+8FBAF2 5C2E 8FBAF2 <CJK>
+8FBAF3 5C30 8FBAF3 <CJK>
+8FBAF4 5C32 8FBAF4 <CJK>
+8FBAF5 5C35 8FBAF5 <CJK>
+8FBAF6 5C36 8FBAF6 <CJK>
+8FBAF7 5C59 8FBAF7 <CJK>
+8FBAF8 5C5A 8FBAF8 <CJK>
+8FBAF9 5C5C 8FBAF9 <CJK>
+8FBAFA 5C62 8FBAFA <CJK>
+8FBAFB 5C63 8FBAFB <CJK>
+8FBAFC 5C67 8FBAFC <CJK>
+8FBAFD 5C68 8FBAFD <CJK>
+8FBAFE 5C69 8FBAFE <CJK>
+8FBBA1 5C6D 8FBBA1 <CJK>
+8FBBA2 5C70 8FBBA2 <CJK>
+8FBBA3 5C74 8FBBA3 <CJK>
+8FBBA4 5C75 8FBBA4 <CJK>
+8FBBA5 5C7A 8FBBA5 <CJK>
+8FBBA6 5C7B 8FBBA6 <CJK>
+8FBBA7 5C7C 8FBBA7 <CJK>
+8FBBA8 5C7D 8FBBA8 <CJK>
+8FBBA9 5C87 8FBBA9 <CJK>
+8FBBAA 5C88 8FBBAA <CJK>
+8FBBAB 5C8A 8FBBAB <CJK>
+8FBBAC 5C8F 8FBBAC <CJK>
+8FBBAD 5C92 8FBBAD <CJK>
+8FBBAE 5C9D 8FBBAE <CJK>
+8FBBAF 5C9F 8FBBAF <CJK>
+8FBBB0 5CA0 8FBBB0 <CJK>
+8FBBB1 5CA2 8FBBB1 <CJK>
+8FBBB2 5CA3 8FBBB2 <CJK>
+8FBBB3 5CA6 8FBBB3 <CJK>
+8FBBB4 5CAA 8FBBB4 <CJK>
+8FBBB5 5CB2 8FBBB5 <CJK>
+8FBBB6 5CB4 8FBBB6 <CJK>
+8FBBB7 5CB5 8FBBB7 <CJK>
+8FBBB8 5CBA 8FBBB8 <CJK>
+8FBBB9 5CC9 8FBBB9 <CJK>
+8FBBBA 5CCB 8FBBBA <CJK>
+8FBBBB 5CD2 8FBBBB <CJK>
+8FBBBC 5CDD 8FBBBC <CJK>
+8FBBBD 5CD7 8FBBBD <CJK>
+8FBBBE 5CEE 8FBBBE <CJK>
+8FBBBF 5CF1 8FBBBF <CJK>
+8FBBC0 5CF2 8FBBC0 <CJK>
+8FBBC1 5CF4 8FBBC1 <CJK>
+8FBBC2 5D01 8FBBC2 <CJK>
+8FBBC3 5D06 8FBBC3 <CJK>
+8FBBC4 5D0D 8FBBC4 <CJK>
+8FBBC5 5D12 8FBBC5 <CJK>
+8FBBC6 5D2B 8FBBC6 <CJK>
+8FBBC7 5D23 8FBBC7 <CJK>
+8FBBC8 5D24 8FBBC8 <CJK>
+8FBBC9 5D26 8FBBC9 <CJK>
+8FBBCA 5D27 8FBBCA <CJK>
+8FBBCB 5D31 8FBBCB <CJK>
+8FBBCC 5D34 8FBBCC <CJK>
+8FBBCD 5D39 8FBBCD <CJK>
+8FBBCE 5D3D 8FBBCE <CJK>
+8FBBCF 5D3F 8FBBCF <CJK>
+8FBBD0 5D42 8FBBD0 <CJK>
+8FBBD1 5D43 8FBBD1 <CJK>
+8FBBD2 5D46 8FBBD2 <CJK>
+8FBBD3 5D48 8FBBD3 <CJK>
+8FBBD4 5D55 8FBBD4 <CJK>
+8FBBD5 5D51 8FBBD5 <CJK>
+8FBBD6 5D59 8FBBD6 <CJK>
+8FBBD7 5D4A 8FBBD7 <CJK>
+8FBBD8 5D5F 8FBBD8 <CJK>
+8FBBD9 5D60 8FBBD9 <CJK>
+8FBBDA 5D61 8FBBDA <CJK>
+8FBBDB 5D62 8FBBDB <CJK>
+8FBBDC 5D64 8FBBDC <CJK>
+8FBBDD 5D6A 8FBBDD <CJK>
+8FBBDE 5D6D 8FBBDE <CJK>
+8FBBDF 5D70 8FBBDF <CJK>
+8FBBE0 5D79 8FBBE0 <CJK>
+8FBBE1 5D7A 8FBBE1 <CJK>
+8FBBE2 5D7E 8FBBE2 <CJK>
+8FBBE3 5D7F 8FBBE3 <CJK>
+8FBBE4 5D81 8FBBE4 <CJK>
+8FBBE5 5D83 8FBBE5 <CJK>
+8FBBE6 5D88 8FBBE6 <CJK>
+8FBBE7 5D8A 8FBBE7 <CJK>
+8FBBE8 5D92 8FBBE8 <CJK>
+8FBBE9 5D93 8FBBE9 <CJK>
+8FBBEA 5D94 8FBBEA <CJK>
+8FBBEB 5D95 8FBBEB <CJK>
+8FBBEC 5D99 8FBBEC <CJK>
+8FBBED 5D9B 8FBBED <CJK>
+8FBBEE 5D9F 8FBBEE <CJK>
+8FBBEF 5DA0 8FBBEF <CJK>
+8FBBF0 5DA7 8FBBF0 <CJK>
+8FBBF1 5DAB 8FBBF1 <CJK>
+8FBBF2 5DB0 8FBBF2 <CJK>
+8FBBF3 5DB4 8FBBF3 <CJK>
+8FBBF4 5DB8 8FBBF4 <CJK>
+8FBBF5 5DB9 8FBBF5 <CJK>
+8FBBF6 5DC3 8FBBF6 <CJK>
+8FBBF7 5DC7 8FBBF7 <CJK>
+8FBBF8 5DCB 8FBBF8 <CJK>
+8FBBF9 5DD0 8FBBF9 <CJK>
+8FBBFA 5DCE 8FBBFA <CJK>
+8FBBFB 5DD8 8FBBFB <CJK>
+8FBBFC 5DD9 8FBBFC <CJK>
+8FBBFD 5DE0 8FBBFD <CJK>
+8FBBFE 5DE4 8FBBFE <CJK>
+8FBCA1 5DE9 8FBCA1 <CJK>
+8FBCA2 5DF8 8FBCA2 <CJK>
+8FBCA3 5DF9 8FBCA3 <CJK>
+8FBCA4 5E00 8FBCA4 <CJK>
+8FBCA5 5E07 8FBCA5 <CJK>
+8FBCA6 5E0D 8FBCA6 <CJK>
+8FBCA7 5E12 8FBCA7 <CJK>
+8FBCA8 5E14 8FBCA8 <CJK>
+8FBCA9 5E15 8FBCA9 <CJK>
+8FBCAA 5E18 8FBCAA <CJK>
+8FBCAB 5E1F 8FBCAB <CJK>
+8FBCAC 5E20 8FBCAC <CJK>
+8FBCAD 5E2E 8FBCAD <CJK>
+8FBCAE 5E28 8FBCAE <CJK>
+8FBCAF 5E32 8FBCAF <CJK>
+8FBCB0 5E35 8FBCB0 <CJK>
+8FBCB1 5E3E 8FBCB1 <CJK>
+8FBCB2 5E4B 8FBCB2 <CJK>
+8FBCB3 5E50 8FBCB3 <CJK>
+8FBCB4 5E49 8FBCB4 <CJK>
+8FBCB5 5E51 8FBCB5 <CJK>
+8FBCB6 5E56 8FBCB6 <CJK>
+8FBCB7 5E58 8FBCB7 <CJK>
+8FBCB8 5E5B 8FBCB8 <CJK>
+8FBCB9 5E5C 8FBCB9 <CJK>
+8FBCBA 5E5E 8FBCBA <CJK>
+8FBCBB 5E68 8FBCBB <CJK>
+8FBCBC 5E6A 8FBCBC <CJK>
+8FBCBD 5E6B 8FBCBD <CJK>
+8FBCBE 5E6C 8FBCBE <CJK>
+8FBCBF 5E6D 8FBCBF <CJK>
+8FBCC0 5E6E 8FBCC0 <CJK>
+8FBCC1 5E70 8FBCC1 <CJK>
+8FBCC2 5E80 8FBCC2 <CJK>
+8FBCC3 5E8B 8FBCC3 <CJK>
+8FBCC4 5E8E 8FBCC4 <CJK>
+8FBCC5 5EA2 8FBCC5 <CJK>
+8FBCC6 5EA4 8FBCC6 <CJK>
+8FBCC7 5EA5 8FBCC7 <CJK>
+8FBCC8 5EA8 8FBCC8 <CJK>
+8FBCC9 5EAA 8FBCC9 <CJK>
+8FBCCA 5EAC 8FBCCA <CJK>
+8FBCCB 5EB1 8FBCCB <CJK>
+8FBCCC 5EB3 8FBCCC <CJK>
+8FBCCD 5EBD 8FBCCD <CJK>
+8FBCCE 5EBE 8FBCCE <CJK>
+8FBCCF 5EBF 8FBCCF <CJK>
+8FBCD0 5EC6 8FBCD0 <CJK>
+8FBCD1 5ECC 8FBCD1 <CJK>
+8FBCD2 5ECB 8FBCD2 <CJK>
+8FBCD3 5ECE 8FBCD3 <CJK>
+8FBCD4 5ED1 8FBCD4 <CJK>
+8FBCD5 5ED2 8FBCD5 <CJK>
+8FBCD6 5ED4 8FBCD6 <CJK>
+8FBCD7 5ED5 8FBCD7 <CJK>
+8FBCD8 5EDC 8FBCD8 <CJK>
+8FBCD9 5EDE 8FBCD9 <CJK>
+8FBCDA 5EE5 8FBCDA <CJK>
+8FBCDB 5EEB 8FBCDB <CJK>
+8FBCDC 5F02 8FBCDC <CJK>
+8FBCDD 5F06 8FBCDD <CJK>
+8FBCDE 5F07 8FBCDE <CJK>
+8FBCDF 5F08 8FBCDF <CJK>
+8FBCE0 5F0E 8FBCE0 <CJK>
+8FBCE1 5F19 8FBCE1 <CJK>
+8FBCE2 5F1C 8FBCE2 <CJK>
+8FBCE3 5F1D 8FBCE3 <CJK>
+8FBCE4 5F21 8FBCE4 <CJK>
+8FBCE5 5F22 8FBCE5 <CJK>
+8FBCE6 5F23 8FBCE6 <CJK>
+8FBCE7 5F24 8FBCE7 <CJK>
+8FBCE8 5F28 8FBCE8 <CJK>
+8FBCE9 5F2B 8FBCE9 <CJK>
+8FBCEA 5F2C 8FBCEA <CJK>
+8FBCEB 5F2E 8FBCEB <CJK>
+8FBCEC 5F30 8FBCEC <CJK>
+8FBCED 5F34 8FBCED <CJK>
+8FBCEE 5F36 8FBCEE <CJK>
+8FBCEF 5F3B 8FBCEF <CJK>
+8FBCF0 5F3D 8FBCF0 <CJK>
+8FBCF1 5F3F 8FBCF1 <CJK>
+8FBCF2 5F40 8FBCF2 <CJK>
+8FBCF3 5F44 8FBCF3 <CJK>
+8FBCF4 5F45 8FBCF4 <CJK>
+8FBCF5 5F47 8FBCF5 <CJK>
+8FBCF6 5F4D 8FBCF6 <CJK>
+8FBCF7 5F50 8FBCF7 <CJK>
+8FBCF8 5F54 8FBCF8 <CJK>
+8FBCF9 5F58 8FBCF9 <CJK>
+8FBCFA 5F5B 8FBCFA <CJK>
+8FBCFB 5F60 8FBCFB <CJK>
+8FBCFC 5F63 8FBCFC <CJK>
+8FBCFD 5F64 8FBCFD <CJK>
+8FBCFE 5F67 8FBCFE <CJK>
+8FBDA1 5F6F 8FBDA1 <CJK>
+8FBDA2 5F72 8FBDA2 <CJK>
+8FBDA3 5F74 8FBDA3 <CJK>
+8FBDA4 5F75 8FBDA4 <CJK>
+8FBDA5 5F78 8FBDA5 <CJK>
+8FBDA6 5F7A 8FBDA6 <CJK>
+8FBDA7 5F7D 8FBDA7 <CJK>
+8FBDA8 5F7E 8FBDA8 <CJK>
+8FBDA9 5F89 8FBDA9 <CJK>
+8FBDAA 5F8D 8FBDAA <CJK>
+8FBDAB 5F8F 8FBDAB <CJK>
+8FBDAC 5F96 8FBDAC <CJK>
+8FBDAD 5F9C 8FBDAD <CJK>
+8FBDAE 5F9D 8FBDAE <CJK>
+8FBDAF 5FA2 8FBDAF <CJK>
+8FBDB0 5FA7 8FBDB0 <CJK>
+8FBDB1 5FAB 8FBDB1 <CJK>
+8FBDB2 5FA4 8FBDB2 <CJK>
+8FBDB3 5FAC 8FBDB3 <CJK>
+8FBDB4 5FAF 8FBDB4 <CJK>
+8FBDB5 5FB0 8FBDB5 <CJK>
+8FBDB6 5FB1 8FBDB6 <CJK>
+8FBDB7 5FB8 8FBDB7 <CJK>
+8FBDB8 5FC4 8FBDB8 <CJK>
+8FBDB9 5FC7 8FBDB9 <CJK>
+8FBDBA 5FC8 8FBDBA <CJK>
+8FBDBB 5FC9 8FBDBB <CJK>
+8FBDBC 5FCB 8FBDBC <CJK>
+8FBDBD 5FD0 8FBDBD <CJK>
+8FBDBE 5FD1 8FBDBE <CJK>
+8FBDBF 5FD2 8FBDBF <CJK>
+8FBDC0 5FD3 8FBDC0 <CJK>
+8FBDC1 5FD4 8FBDC1 <CJK>
+8FBDC2 5FDE 8FBDC2 <CJK>
+8FBDC3 5FE1 8FBDC3 <CJK>
+8FBDC4 5FE2 8FBDC4 <CJK>
+8FBDC5 5FE8 8FBDC5 <CJK>
+8FBDC6 5FE9 8FBDC6 <CJK>
+8FBDC7 5FEA 8FBDC7 <CJK>
+8FBDC8 5FEC 8FBDC8 <CJK>
+8FBDC9 5FED 8FBDC9 <CJK>
+8FBDCA 5FEE 8FBDCA <CJK>
+8FBDCB 5FEF 8FBDCB <CJK>
+8FBDCC 5FF2 8FBDCC <CJK>
+8FBDCD 5FF3 8FBDCD <CJK>
+8FBDCE 5FF6 8FBDCE <CJK>
+8FBDCF 5FFA 8FBDCF <CJK>
+8FBDD0 5FFC 8FBDD0 <CJK>
+8FBDD1 6007 8FBDD1 <CJK>
+8FBDD2 600A 8FBDD2 <CJK>
+8FBDD3 600D 8FBDD3 <CJK>
+8FBDD4 6013 8FBDD4 <CJK>
+8FBDD5 6014 8FBDD5 <CJK>
+8FBDD6 6017 8FBDD6 <CJK>
+8FBDD7 6018 8FBDD7 <CJK>
+8FBDD8 601A 8FBDD8 <CJK>
+8FBDD9 601F 8FBDD9 <CJK>
+8FBDDA 6024 8FBDDA <CJK>
+8FBDDB 602D 8FBDDB <CJK>
+8FBDDC 6033 8FBDDC <CJK>
+8FBDDD 6035 8FBDDD <CJK>
+8FBDDE 6040 8FBDDE <CJK>
+8FBDDF 6047 8FBDDF <CJK>
+8FBDE0 6048 8FBDE0 <CJK>
+8FBDE1 6049 8FBDE1 <CJK>
+8FBDE2 604C 8FBDE2 <CJK>
+8FBDE3 6051 8FBDE3 <CJK>
+8FBDE4 6054 8FBDE4 <CJK>
+8FBDE5 6056 8FBDE5 <CJK>
+8FBDE6 6057 8FBDE6 <CJK>
+8FBDE7 605D 8FBDE7 <CJK>
+8FBDE8 6061 8FBDE8 <CJK>
+8FBDE9 6067 8FBDE9 <CJK>
+8FBDEA 6071 8FBDEA <CJK>
+8FBDEB 607E 8FBDEB <CJK>
+8FBDEC 607F 8FBDEC <CJK>
+8FBDED 6082 8FBDED <CJK>
+8FBDEE 6086 8FBDEE <CJK>
+8FBDEF 6088 8FBDEF <CJK>
+8FBDF0 608A 8FBDF0 <CJK>
+8FBDF1 608E 8FBDF1 <CJK>
+8FBDF2 6091 8FBDF2 <CJK>
+8FBDF3 6093 8FBDF3 <CJK>
+8FBDF4 6095 8FBDF4 <CJK>
+8FBDF5 6098 8FBDF5 <CJK>
+8FBDF6 609D 8FBDF6 <CJK>
+8FBDF7 609E 8FBDF7 <CJK>
+8FBDF8 60A2 8FBDF8 <CJK>
+8FBDF9 60A4 8FBDF9 <CJK>
+8FBDFA 60A5 8FBDFA <CJK>
+8FBDFB 60A8 8FBDFB <CJK>
+8FBDFC 60B0 8FBDFC <CJK>
+8FBDFD 60B1 8FBDFD <CJK>
+8FBDFE 60B7 8FBDFE <CJK>
+8FBEA1 60BB 8FBEA1 <CJK>
+8FBEA2 60BE 8FBEA2 <CJK>
+8FBEA3 60C2 8FBEA3 <CJK>
+8FBEA4 60C4 8FBEA4 <CJK>
+8FBEA5 60C8 8FBEA5 <CJK>
+8FBEA6 60C9 8FBEA6 <CJK>
+8FBEA7 60CA 8FBEA7 <CJK>
+8FBEA8 60CB 8FBEA8 <CJK>
+8FBEA9 60CE 8FBEA9 <CJK>
+8FBEAA 60CF 8FBEAA <CJK>
+8FBEAB 60D4 8FBEAB <CJK>
+8FBEAC 60D5 8FBEAC <CJK>
+8FBEAD 60D9 8FBEAD <CJK>
+8FBEAE 60DB 8FBEAE <CJK>
+8FBEAF 60DD 8FBEAF <CJK>
+8FBEB0 60DE 8FBEB0 <CJK>
+8FBEB1 60E2 8FBEB1 <CJK>
+8FBEB2 60E5 8FBEB2 <CJK>
+8FBEB3 60F2 8FBEB3 <CJK>
+8FBEB4 60F5 8FBEB4 <CJK>
+8FBEB5 60F8 8FBEB5 <CJK>
+8FBEB6 60FC 8FBEB6 <CJK>
+8FBEB7 60FD 8FBEB7 <CJK>
+8FBEB8 6102 8FBEB8 <CJK>
+8FBEB9 6107 8FBEB9 <CJK>
+8FBEBA 610A 8FBEBA <CJK>
+8FBEBB 610C 8FBEBB <CJK>
+8FBEBC 6110 8FBEBC <CJK>
+8FBEBD 6111 8FBEBD <CJK>
+8FBEBE 6112 8FBEBE <CJK>
+8FBEBF 6113 8FBEBF <CJK>
+8FBEC0 6114 8FBEC0 <CJK>
+8FBEC1 6116 8FBEC1 <CJK>
+8FBEC2 6117 8FBEC2 <CJK>
+8FBEC3 6119 8FBEC3 <CJK>
+8FBEC4 611C 8FBEC4 <CJK>
+8FBEC5 611E 8FBEC5 <CJK>
+8FBEC6 6122 8FBEC6 <CJK>
+8FBEC7 612A 8FBEC7 <CJK>
+8FBEC8 612B 8FBEC8 <CJK>
+8FBEC9 6130 8FBEC9 <CJK>
+8FBECA 6131 8FBECA <CJK>
+8FBECB 6135 8FBECB <CJK>
+8FBECC 6136 8FBECC <CJK>
+8FBECD 6137 8FBECD <CJK>
+8FBECE 6139 8FBECE <CJK>
+8FBECF 6141 8FBECF <CJK>
+8FBED0 6145 8FBED0 <CJK>
+8FBED1 6146 8FBED1 <CJK>
+8FBED2 6149 8FBED2 <CJK>
+8FBED3 615E 8FBED3 <CJK>
+8FBED4 6160 8FBED4 <CJK>
+8FBED5 616C 8FBED5 <CJK>
+8FBED6 6172 8FBED6 <CJK>
+8FBED7 6178 8FBED7 <CJK>
+8FBED8 617B 8FBED8 <CJK>
+8FBED9 617C 8FBED9 <CJK>
+8FBEDA 617F 8FBEDA <CJK>
+8FBEDB 6180 8FBEDB <CJK>
+8FBEDC 6181 8FBEDC <CJK>
+8FBEDD 6183 8FBEDD <CJK>
+8FBEDE 6184 8FBEDE <CJK>
+8FBEDF 618B 8FBEDF <CJK>
+8FBEE0 618D 8FBEE0 <CJK>
+8FBEE1 6192 8FBEE1 <CJK>
+8FBEE2 6193 8FBEE2 <CJK>
+8FBEE3 6197 8FBEE3 <CJK>
+8FBEE4 6198 8FBEE4 <CJK>
+8FBEE5 619C 8FBEE5 <CJK>
+8FBEE6 619D 8FBEE6 <CJK>
+8FBEE7 619F 8FBEE7 <CJK>
+8FBEE8 61A0 8FBEE8 <CJK>
+8FBEE9 61A5 8FBEE9 <CJK>
+8FBEEA 61A8 8FBEEA <CJK>
+8FBEEB 61AA 8FBEEB <CJK>
+8FBEEC 61AD 8FBEEC <CJK>
+8FBEED 61B8 8FBEED <CJK>
+8FBEEE 61B9 8FBEEE <CJK>
+8FBEEF 61BC 8FBEEF <CJK>
+8FBEF0 61C0 8FBEF0 <CJK>
+8FBEF1 61C1 8FBEF1 <CJK>
+8FBEF2 61C2 8FBEF2 <CJK>
+8FBEF3 61CE 8FBEF3 <CJK>
+8FBEF4 61CF 8FBEF4 <CJK>
+8FBEF5 61D5 8FBEF5 <CJK>
+8FBEF6 61DC 8FBEF6 <CJK>
+8FBEF7 61DD 8FBEF7 <CJK>
+8FBEF8 61DE 8FBEF8 <CJK>
+8FBEF9 61DF 8FBEF9 <CJK>
+8FBEFA 61E1 8FBEFA <CJK>
+8FBEFB 61E2 8FBEFB <CJK>
+8FBEFC 61E7 8FBEFC <CJK>
+8FBEFD 61E9 8FBEFD <CJK>
+8FBEFE 61E5 8FBEFE <CJK>
+8FBFA1 61EC 8FBFA1 <CJK>
+8FBFA2 61ED 8FBFA2 <CJK>
+8FBFA3 61EF 8FBFA3 <CJK>
+8FBFA4 6201 8FBFA4 <CJK>
+8FBFA5 6203 8FBFA5 <CJK>
+8FBFA6 6204 8FBFA6 <CJK>
+8FBFA7 6207 8FBFA7 <CJK>
+8FBFA8 6213 8FBFA8 <CJK>
+8FBFA9 6215 8FBFA9 <CJK>
+8FBFAA 621C 8FBFAA <CJK>
+8FBFAB 6220 8FBFAB <CJK>
+8FBFAC 6222 8FBFAC <CJK>
+8FBFAD 6223 8FBFAD <CJK>
+8FBFAE 6227 8FBFAE <CJK>
+8FBFAF 6229 8FBFAF <CJK>
+8FBFB0 622B 8FBFB0 <CJK>
+8FBFB1 6239 8FBFB1 <CJK>
+8FBFB2 623D 8FBFB2 <CJK>
+8FBFB3 6242 8FBFB3 <CJK>
+8FBFB4 6243 8FBFB4 <CJK>
+8FBFB5 6244 8FBFB5 <CJK>
+8FBFB6 6246 8FBFB6 <CJK>
+8FBFB7 624C 8FBFB7 <CJK>
+8FBFB8 6250 8FBFB8 <CJK>
+8FBFB9 6251 8FBFB9 <CJK>
+8FBFBA 6252 8FBFBA <CJK>
+8FBFBB 6254 8FBFBB <CJK>
+8FBFBC 6256 8FBFBC <CJK>
+8FBFBD 625A 8FBFBD <CJK>
+8FBFBE 625C 8FBFBE <CJK>
+8FBFBF 6264 8FBFBF <CJK>
+8FBFC0 626D 8FBFC0 <CJK>
+8FBFC1 626F 8FBFC1 <CJK>
+8FBFC2 6273 8FBFC2 <CJK>
+8FBFC3 627A 8FBFC3 <CJK>
+8FBFC4 627D 8FBFC4 <CJK>
+8FBFC5 628D 8FBFC5 <CJK>
+8FBFC6 628E 8FBFC6 <CJK>
+8FBFC7 628F 8FBFC7 <CJK>
+8FBFC8 6290 8FBFC8 <CJK>
+8FBFC9 62A6 8FBFC9 <CJK>
+8FBFCA 62A8 8FBFCA <CJK>
+8FBFCB 62B3 8FBFCB <CJK>
+8FBFCC 62B6 8FBFCC <CJK>
+8FBFCD 62B7 8FBFCD <CJK>
+8FBFCE 62BA 8FBFCE <CJK>
+8FBFCF 62BE 8FBFCF <CJK>
+8FBFD0 62BF 8FBFD0 <CJK>
+8FBFD1 62C4 8FBFD1 <CJK>
+8FBFD2 62CE 8FBFD2 <CJK>
+8FBFD3 62D5 8FBFD3 <CJK>
+8FBFD4 62D6 8FBFD4 <CJK>
+8FBFD5 62DA 8FBFD5 <CJK>
+8FBFD6 62EA 8FBFD6 <CJK>
+8FBFD7 62F2 8FBFD7 <CJK>
+8FBFD8 62F4 8FBFD8 <CJK>
+8FBFD9 62FC 8FBFD9 <CJK>
+8FBFDA 62FD 8FBFDA <CJK>
+8FBFDB 6303 8FBFDB <CJK>
+8FBFDC 6304 8FBFDC <CJK>
+8FBFDD 630A 8FBFDD <CJK>
+8FBFDE 630B 8FBFDE <CJK>
+8FBFDF 630D 8FBFDF <CJK>
+8FBFE0 6310 8FBFE0 <CJK>
+8FBFE1 6313 8FBFE1 <CJK>
+8FBFE2 6316 8FBFE2 <CJK>
+8FBFE3 6318 8FBFE3 <CJK>
+8FBFE4 6329 8FBFE4 <CJK>
+8FBFE5 632A 8FBFE5 <CJK>
+8FBFE6 632D 8FBFE6 <CJK>
+8FBFE7 6335 8FBFE7 <CJK>
+8FBFE8 6336 8FBFE8 <CJK>
+8FBFE9 6339 8FBFE9 <CJK>
+8FBFEA 633C 8FBFEA <CJK>
+8FBFEB 6341 8FBFEB <CJK>
+8FBFEC 6342 8FBFEC <CJK>
+8FBFED 6343 8FBFED <CJK>
+8FBFEE 6344 8FBFEE <CJK>
+8FBFEF 6346 8FBFEF <CJK>
+8FBFF0 634A 8FBFF0 <CJK>
+8FBFF1 634B 8FBFF1 <CJK>
+8FBFF2 634E 8FBFF2 <CJK>
+8FBFF3 6352 8FBFF3 <CJK>
+8FBFF4 6353 8FBFF4 <CJK>
+8FBFF5 6354 8FBFF5 <CJK>
+8FBFF6 6358 8FBFF6 <CJK>
+8FBFF7 635B 8FBFF7 <CJK>
+8FBFF8 6365 8FBFF8 <CJK>
+8FBFF9 6366 8FBFF9 <CJK>
+8FBFFA 636C 8FBFFA <CJK>
+8FBFFB 636D 8FBFFB <CJK>
+8FBFFC 6371 8FBFFC <CJK>
+8FBFFD 6374 8FBFFD <CJK>
+8FBFFE 6375 8FBFFE <CJK>
+8FC0A1 6378 8FC0A1 <CJK>
+8FC0A2 637C 8FC0A2 <CJK>
+8FC0A3 637D 8FC0A3 <CJK>
+8FC0A4 637F 8FC0A4 <CJK>
+8FC0A5 6382 8FC0A5 <CJK>
+8FC0A6 6384 8FC0A6 <CJK>
+8FC0A7 6387 8FC0A7 <CJK>
+8FC0A8 638A 8FC0A8 <CJK>
+8FC0A9 6390 8FC0A9 <CJK>
+8FC0AA 6394 8FC0AA <CJK>
+8FC0AB 6395 8FC0AB <CJK>
+8FC0AC 6399 8FC0AC <CJK>
+8FC0AD 639A 8FC0AD <CJK>
+8FC0AE 639E 8FC0AE <CJK>
+8FC0AF 63A4 8FC0AF <CJK>
+8FC0B0 63A6 8FC0B0 <CJK>
+8FC0B1 63AD 8FC0B1 <CJK>
+8FC0B2 63AE 8FC0B2 <CJK>
+8FC0B3 63AF 8FC0B3 <CJK>
+8FC0B4 63BD 8FC0B4 <CJK>
+8FC0B5 63C1 8FC0B5 <CJK>
+8FC0B6 63C5 8FC0B6 <CJK>
+8FC0B7 63C8 8FC0B7 <CJK>
+8FC0B8 63CE 8FC0B8 <CJK>
+8FC0B9 63D1 8FC0B9 <CJK>
+8FC0BA 63D3 8FC0BA <CJK>
+8FC0BB 63D4 8FC0BB <CJK>
+8FC0BC 63D5 8FC0BC <CJK>
+8FC0BD 63DC 8FC0BD <CJK>
+8FC0BE 63E0 8FC0BE <CJK>
+8FC0BF 63E5 8FC0BF <CJK>
+8FC0C0 63EA 8FC0C0 <CJK>
+8FC0C1 63EC 8FC0C1 <CJK>
+8FC0C2 63F2 8FC0C2 <CJK>
+8FC0C3 63F3 8FC0C3 <CJK>
+8FC0C4 63F5 8FC0C4 <CJK>
+8FC0C5 63F8 8FC0C5 <CJK>
+8FC0C6 63F9 8FC0C6 <CJK>
+8FC0C7 6409 8FC0C7 <CJK>
+8FC0C8 640A 8FC0C8 <CJK>
+8FC0C9 6410 8FC0C9 <CJK>
+8FC0CA 6412 8FC0CA <CJK>
+8FC0CB 6414 8FC0CB <CJK>
+8FC0CC 6418 8FC0CC <CJK>
+8FC0CD 641E 8FC0CD <CJK>
+8FC0CE 6420 8FC0CE <CJK>
+8FC0CF 6422 8FC0CF <CJK>
+8FC0D0 6424 8FC0D0 <CJK>
+8FC0D1 6425 8FC0D1 <CJK>
+8FC0D2 6429 8FC0D2 <CJK>
+8FC0D3 642A 8FC0D3 <CJK>
+8FC0D4 642F 8FC0D4 <CJK>
+8FC0D5 6430 8FC0D5 <CJK>
+8FC0D6 6435 8FC0D6 <CJK>
+8FC0D7 643D 8FC0D7 <CJK>
+8FC0D8 643F 8FC0D8 <CJK>
+8FC0D9 644B 8FC0D9 <CJK>
+8FC0DA 644F 8FC0DA <CJK>
+8FC0DB 6451 8FC0DB <CJK>
+8FC0DC 6452 8FC0DC <CJK>
+8FC0DD 6453 8FC0DD <CJK>
+8FC0DE 6454 8FC0DE <CJK>
+8FC0DF 645A 8FC0DF <CJK>
+8FC0E0 645B 8FC0E0 <CJK>
+8FC0E1 645C 8FC0E1 <CJK>
+8FC0E2 645D 8FC0E2 <CJK>
+8FC0E3 645F 8FC0E3 <CJK>
+8FC0E4 6460 8FC0E4 <CJK>
+8FC0E5 6461 8FC0E5 <CJK>
+8FC0E6 6463 8FC0E6 <CJK>
+8FC0E7 646D 8FC0E7 <CJK>
+8FC0E8 6473 8FC0E8 <CJK>
+8FC0E9 6474 8FC0E9 <CJK>
+8FC0EA 647B 8FC0EA <CJK>
+8FC0EB 647D 8FC0EB <CJK>
+8FC0EC 6485 8FC0EC <CJK>
+8FC0ED 6487 8FC0ED <CJK>
+8FC0EE 648F 8FC0EE <CJK>
+8FC0EF 6490 8FC0EF <CJK>
+8FC0F0 6491 8FC0F0 <CJK>
+8FC0F1 6498 8FC0F1 <CJK>
+8FC0F2 6499 8FC0F2 <CJK>
+8FC0F3 649B 8FC0F3 <CJK>
+8FC0F4 649D 8FC0F4 <CJK>
+8FC0F5 649F 8FC0F5 <CJK>
+8FC0F6 64A1 8FC0F6 <CJK>
+8FC0F7 64A3 8FC0F7 <CJK>
+8FC0F8 64A6 8FC0F8 <CJK>
+8FC0F9 64A8 8FC0F9 <CJK>
+8FC0FA 64AC 8FC0FA <CJK>
+8FC0FB 64B3 8FC0FB <CJK>
+8FC0FC 64BD 8FC0FC <CJK>
+8FC0FD 64BE 8FC0FD <CJK>
+8FC0FE 64BF 8FC0FE <CJK>
+8FC1A1 64C4 8FC1A1 <CJK>
+8FC1A2 64C9 8FC1A2 <CJK>
+8FC1A3 64CA 8FC1A3 <CJK>
+8FC1A4 64CB 8FC1A4 <CJK>
+8FC1A5 64CC 8FC1A5 <CJK>
+8FC1A6 64CE 8FC1A6 <CJK>
+8FC1A7 64D0 8FC1A7 <CJK>
+8FC1A8 64D1 8FC1A8 <CJK>
+8FC1A9 64D5 8FC1A9 <CJK>
+8FC1AA 64D7 8FC1AA <CJK>
+8FC1AB 64E4 8FC1AB <CJK>
+8FC1AC 64E5 8FC1AC <CJK>
+8FC1AD 64E9 8FC1AD <CJK>
+8FC1AE 64EA 8FC1AE <CJK>
+8FC1AF 64ED 8FC1AF <CJK>
+8FC1B0 64F0 8FC1B0 <CJK>
+8FC1B1 64F5 8FC1B1 <CJK>
+8FC1B2 64F7 8FC1B2 <CJK>
+8FC1B3 64FB 8FC1B3 <CJK>
+8FC1B4 64FF 8FC1B4 <CJK>
+8FC1B5 6501 8FC1B5 <CJK>
+8FC1B6 6504 8FC1B6 <CJK>
+8FC1B7 6508 8FC1B7 <CJK>
+8FC1B8 6509 8FC1B8 <CJK>
+8FC1B9 650A 8FC1B9 <CJK>
+8FC1BA 650F 8FC1BA <CJK>
+8FC1BB 6513 8FC1BB <CJK>
+8FC1BC 6514 8FC1BC <CJK>
+8FC1BD 6516 8FC1BD <CJK>
+8FC1BE 6519 8FC1BE <CJK>
+8FC1BF 651B 8FC1BF <CJK>
+8FC1C0 651E 8FC1C0 <CJK>
+8FC1C1 651F 8FC1C1 <CJK>
+8FC1C2 6522 8FC1C2 <CJK>
+8FC1C3 6526 8FC1C3 <CJK>
+8FC1C4 6529 8FC1C4 <CJK>
+8FC1C5 652E 8FC1C5 <CJK>
+8FC1C6 6531 8FC1C6 <CJK>
+8FC1C7 653A 8FC1C7 <CJK>
+8FC1C8 653C 8FC1C8 <CJK>
+8FC1C9 653D 8FC1C9 <CJK>
+8FC1CA 6543 8FC1CA <CJK>
+8FC1CB 6547 8FC1CB <CJK>
+8FC1CC 6549 8FC1CC <CJK>
+8FC1CD 6550 8FC1CD <CJK>
+8FC1CE 6552 8FC1CE <CJK>
+8FC1CF 6554 8FC1CF <CJK>
+8FC1D0 655F 8FC1D0 <CJK>
+8FC1D1 6560 8FC1D1 <CJK>
+8FC1D2 6567 8FC1D2 <CJK>
+8FC1D3 656B 8FC1D3 <CJK>
+8FC1D4 657A 8FC1D4 <CJK>
+8FC1D5 657D 8FC1D5 <CJK>
+8FC1D6 6581 8FC1D6 <CJK>
+8FC1D7 6585 8FC1D7 <CJK>
+8FC1D8 658A 8FC1D8 <CJK>
+8FC1D9 6592 8FC1D9 <CJK>
+8FC1DA 6595 8FC1DA <CJK>
+8FC1DB 6598 8FC1DB <CJK>
+8FC1DC 659D 8FC1DC <CJK>
+8FC1DD 65A0 8FC1DD <CJK>
+8FC1DE 65A3 8FC1DE <CJK>
+8FC1DF 65A6 8FC1DF <CJK>
+8FC1E0 65AE 8FC1E0 <CJK>
+8FC1E1 65B2 8FC1E1 <CJK>
+8FC1E2 65B3 8FC1E2 <CJK>
+8FC1E3 65B4 8FC1E3 <CJK>
+8FC1E4 65BF 8FC1E4 <CJK>
+8FC1E5 65C2 8FC1E5 <CJK>
+8FC1E6 65C8 8FC1E6 <CJK>
+8FC1E7 65C9 8FC1E7 <CJK>
+8FC1E8 65CE 8FC1E8 <CJK>
+8FC1E9 65D0 8FC1E9 <CJK>
+8FC1EA 65D4 8FC1EA <CJK>
+8FC1EB 65D6 8FC1EB <CJK>
+8FC1EC 65D8 8FC1EC <CJK>
+8FC1ED 65DF 8FC1ED <CJK>
+8FC1EE 65F0 8FC1EE <CJK>
+8FC1EF 65F2 8FC1EF <CJK>
+8FC1F0 65F4 8FC1F0 <CJK>
+8FC1F1 65F5 8FC1F1 <CJK>
+8FC1F2 65F9 8FC1F2 <CJK>
+8FC1F3 65FE 8FC1F3 <CJK>
+8FC1F4 65FF 8FC1F4 <CJK>
+8FC1F5 6600 8FC1F5 <CJK>
+8FC1F6 6604 8FC1F6 <CJK>
+8FC1F7 6608 8FC1F7 <CJK>
+8FC1F8 6609 8FC1F8 <CJK>
+8FC1F9 660D 8FC1F9 <CJK>
+8FC1FA 6611 8FC1FA <CJK>
+8FC1FB 6612 8FC1FB <CJK>
+8FC1FC 6615 8FC1FC <CJK>
+8FC1FD 6616 8FC1FD <CJK>
+8FC1FE 661D 8FC1FE <CJK>
+8FC2A1 661E 8FC2A1 <CJK>
+8FC2A2 6621 8FC2A2 <CJK>
+8FC2A3 6622 8FC2A3 <CJK>
+8FC2A4 6623 8FC2A4 <CJK>
+8FC2A5 6624 8FC2A5 <CJK>
+8FC2A6 6626 8FC2A6 <CJK>
+8FC2A7 6629 8FC2A7 <CJK>
+8FC2A8 662A 8FC2A8 <CJK>
+8FC2A9 662B 8FC2A9 <CJK>
+8FC2AA 662C 8FC2AA <CJK>
+8FC2AB 662E 8FC2AB <CJK>
+8FC2AC 6630 8FC2AC <CJK>
+8FC2AD 6631 8FC2AD <CJK>
+8FC2AE 6633 8FC2AE <CJK>
+8FC2AF 6639 8FC2AF <CJK>
+8FC2B0 6637 8FC2B0 <CJK>
+8FC2B1 6640 8FC2B1 <CJK>
+8FC2B2 6645 8FC2B2 <CJK>
+8FC2B3 6646 8FC2B3 <CJK>
+8FC2B4 664A 8FC2B4 <CJK>
+8FC2B5 664C 8FC2B5 <CJK>
+8FC2B6 6651 8FC2B6 <CJK>
+8FC2B7 664E 8FC2B7 <CJK>
+8FC2B8 6657 8FC2B8 <CJK>
+8FC2B9 6658 8FC2B9 <CJK>
+8FC2BA 6659 8FC2BA <CJK>
+8FC2BB 665B 8FC2BB <CJK>
+8FC2BC 665C 8FC2BC <CJK>
+8FC2BD 6660 8FC2BD <CJK>
+8FC2BE 6661 8FC2BE <CJK>
+8FC2BF 66FB 8FC2BF <CJK>
+8FC2C0 666A 8FC2C0 <CJK>
+8FC2C1 666B 8FC2C1 <CJK>
+8FC2C2 666C 8FC2C2 <CJK>
+8FC2C3 667E 8FC2C3 <CJK>
+8FC2C4 6673 8FC2C4 <CJK>
+8FC2C5 6675 8FC2C5 <CJK>
+8FC2C6 667F 8FC2C6 <CJK>
+8FC2C7 6677 8FC2C7 <CJK>
+8FC2C8 6678 8FC2C8 <CJK>
+8FC2C9 6679 8FC2C9 <CJK>
+8FC2CA 667B 8FC2CA <CJK>
+8FC2CB 6680 8FC2CB <CJK>
+8FC2CC 667C 8FC2CC <CJK>
+8FC2CD 668B 8FC2CD <CJK>
+8FC2CE 668C 8FC2CE <CJK>
+8FC2CF 668D 8FC2CF <CJK>
+8FC2D0 6690 8FC2D0 <CJK>
+8FC2D1 6692 8FC2D1 <CJK>
+8FC2D2 6699 8FC2D2 <CJK>
+8FC2D3 669A 8FC2D3 <CJK>
+8FC2D4 669B 8FC2D4 <CJK>
+8FC2D5 669C 8FC2D5 <CJK>
+8FC2D6 669F 8FC2D6 <CJK>
+8FC2D7 66A0 8FC2D7 <CJK>
+8FC2D8 66A4 8FC2D8 <CJK>
+8FC2D9 66AD 8FC2D9 <CJK>
+8FC2DA 66B1 8FC2DA <CJK>
+8FC2DB 66B2 8FC2DB <CJK>
+8FC2DC 66B5 8FC2DC <CJK>
+8FC2DD 66BB 8FC2DD <CJK>
+8FC2DE 66BF 8FC2DE <CJK>
+8FC2DF 66C0 8FC2DF <CJK>
+8FC2E0 66C2 8FC2E0 <CJK>
+8FC2E1 66C3 8FC2E1 <CJK>
+8FC2E2 66C8 8FC2E2 <CJK>
+8FC2E3 66CC 8FC2E3 <CJK>
+8FC2E4 66CE 8FC2E4 <CJK>
+8FC2E5 66CF 8FC2E5 <CJK>
+8FC2E6 66D4 8FC2E6 <CJK>
+8FC2E7 66DB 8FC2E7 <CJK>
+8FC2E8 66DF 8FC2E8 <CJK>
+8FC2E9 66E8 8FC2E9 <CJK>
+8FC2EA 66EB 8FC2EA <CJK>
+8FC2EB 66EC 8FC2EB <CJK>
+8FC2EC 66EE 8FC2EC <CJK>
+8FC2ED 66FA 8FC2ED <CJK>
+8FC2EE 6705 8FC2EE <CJK>
+8FC2EF 6707 8FC2EF <CJK>
+8FC2F0 670E 8FC2F0 <CJK>
+8FC2F1 6713 8FC2F1 <CJK>
+8FC2F2 6719 8FC2F2 <CJK>
+8FC2F3 671C 8FC2F3 <CJK>
+8FC2F4 6720 8FC2F4 <CJK>
+8FC2F5 6722 8FC2F5 <CJK>
+8FC2F6 6733 8FC2F6 <CJK>
+8FC2F7 673E 8FC2F7 <CJK>
+8FC2F8 6745 8FC2F8 <CJK>
+8FC2F9 6747 8FC2F9 <CJK>
+8FC2FA 6748 8FC2FA <CJK>
+8FC2FB 674C 8FC2FB <CJK>
+8FC2FC 6754 8FC2FC <CJK>
+8FC2FD 6755 8FC2FD <CJK>
+8FC2FE 675D 8FC2FE <CJK>
+8FC3A1 6766 8FC3A1 <CJK>
+8FC3A2 676C 8FC3A2 <CJK>
+8FC3A3 676E 8FC3A3 <CJK>
+8FC3A4 6774 8FC3A4 <CJK>
+8FC3A5 6776 8FC3A5 <CJK>
+8FC3A6 677B 8FC3A6 <CJK>
+8FC3A7 6781 8FC3A7 <CJK>
+8FC3A8 6784 8FC3A8 <CJK>
+8FC3A9 678E 8FC3A9 <CJK>
+8FC3AA 678F 8FC3AA <CJK>
+8FC3AB 6791 8FC3AB <CJK>
+8FC3AC 6793 8FC3AC <CJK>
+8FC3AD 6796 8FC3AD <CJK>
+8FC3AE 6798 8FC3AE <CJK>
+8FC3AF 6799 8FC3AF <CJK>
+8FC3B0 679B 8FC3B0 <CJK>
+8FC3B1 67B0 8FC3B1 <CJK>
+8FC3B2 67B1 8FC3B2 <CJK>
+8FC3B3 67B2 8FC3B3 <CJK>
+8FC3B4 67B5 8FC3B4 <CJK>
+8FC3B5 67BB 8FC3B5 <CJK>
+8FC3B6 67BC 8FC3B6 <CJK>
+8FC3B7 67BD 8FC3B7 <CJK>
+8FC3B8 67F9 8FC3B8 <CJK>
+8FC3B9 67C0 8FC3B9 <CJK>
+8FC3BA 67C2 8FC3BA <CJK>
+8FC3BB 67C3 8FC3BB <CJK>
+8FC3BC 67C5 8FC3BC <CJK>
+8FC3BD 67C8 8FC3BD <CJK>
+8FC3BE 67C9 8FC3BE <CJK>
+8FC3BF 67D2 8FC3BF <CJK>
+8FC3C0 67D7 8FC3C0 <CJK>
+8FC3C1 67D9 8FC3C1 <CJK>
+8FC3C2 67DC 8FC3C2 <CJK>
+8FC3C3 67E1 8FC3C3 <CJK>
+8FC3C4 67E6 8FC3C4 <CJK>
+8FC3C5 67F0 8FC3C5 <CJK>
+8FC3C6 67F2 8FC3C6 <CJK>
+8FC3C7 67F6 8FC3C7 <CJK>
+8FC3C8 67F7 8FC3C8 <CJK>
+8FC3C9 6852 8FC3C9 <CJK>
+8FC3CA 6814 8FC3CA <CJK>
+8FC3CB 6819 8FC3CB <CJK>
+8FC3CC 681D 8FC3CC <CJK>
+8FC3CD 681F 8FC3CD <CJK>
+8FC3CE 6828 8FC3CE <CJK>
+8FC3CF 6827 8FC3CF <CJK>
+8FC3D0 682C 8FC3D0 <CJK>
+8FC3D1 682D 8FC3D1 <CJK>
+8FC3D2 682F 8FC3D2 <CJK>
+8FC3D3 6830 8FC3D3 <CJK>
+8FC3D4 6831 8FC3D4 <CJK>
+8FC3D5 6833 8FC3D5 <CJK>
+8FC3D6 683B 8FC3D6 <CJK>
+8FC3D7 683F 8FC3D7 <CJK>
+8FC3D8 6844 8FC3D8 <CJK>
+8FC3D9 6845 8FC3D9 <CJK>
+8FC3DA 684A 8FC3DA <CJK>
+8FC3DB 684C 8FC3DB <CJK>
+8FC3DC 6855 8FC3DC <CJK>
+8FC3DD 6857 8FC3DD <CJK>
+8FC3DE 6858 8FC3DE <CJK>
+8FC3DF 685B 8FC3DF <CJK>
+8FC3E0 686B 8FC3E0 <CJK>
+8FC3E1 686E 8FC3E1 <CJK>
+8FC3E2 686F 8FC3E2 <CJK>
+8FC3E3 6870 8FC3E3 <CJK>
+8FC3E4 6871 8FC3E4 <CJK>
+8FC3E5 6872 8FC3E5 <CJK>
+8FC3E6 6875 8FC3E6 <CJK>
+8FC3E7 6879 8FC3E7 <CJK>
+8FC3E8 687A 8FC3E8 <CJK>
+8FC3E9 687B 8FC3E9 <CJK>
+8FC3EA 687C 8FC3EA <CJK>
+8FC3EB 6882 8FC3EB <CJK>
+8FC3EC 6884 8FC3EC <CJK>
+8FC3ED 6886 8FC3ED <CJK>
+8FC3EE 6888 8FC3EE <CJK>
+8FC3EF 6896 8FC3EF <CJK>
+8FC3F0 6898 8FC3F0 <CJK>
+8FC3F1 689A 8FC3F1 <CJK>
+8FC3F2 689C 8FC3F2 <CJK>
+8FC3F3 68A1 8FC3F3 <CJK>
+8FC3F4 68A3 8FC3F4 <CJK>
+8FC3F5 68A5 8FC3F5 <CJK>
+8FC3F6 68A9 8FC3F6 <CJK>
+8FC3F7 68AA 8FC3F7 <CJK>
+8FC3F8 68AE 8FC3F8 <CJK>
+8FC3F9 68B2 8FC3F9 <CJK>
+8FC3FA 68BB 8FC3FA <CJK>
+8FC3FB 68C5 8FC3FB <CJK>
+8FC3FC 68C8 8FC3FC <CJK>
+8FC3FD 68CC 8FC3FD <CJK>
+8FC3FE 68CF 8FC3FE <CJK>
+8FC4A1 68D0 8FC4A1 <CJK>
+8FC4A2 68D1 8FC4A2 <CJK>
+8FC4A3 68D3 8FC4A3 <CJK>
+8FC4A4 68D6 8FC4A4 <CJK>
+8FC4A5 68D9 8FC4A5 <CJK>
+8FC4A6 68DC 8FC4A6 <CJK>
+8FC4A7 68DD 8FC4A7 <CJK>
+8FC4A8 68E5 8FC4A8 <CJK>
+8FC4A9 68E8 8FC4A9 <CJK>
+8FC4AA 68EA 8FC4AA <CJK>
+8FC4AB 68EB 8FC4AB <CJK>
+8FC4AC 68EC 8FC4AC <CJK>
+8FC4AD 68ED 8FC4AD <CJK>
+8FC4AE 68F0 8FC4AE <CJK>
+8FC4AF 68F1 8FC4AF <CJK>
+8FC4B0 68F5 8FC4B0 <CJK>
+8FC4B1 68F6 8FC4B1 <CJK>
+8FC4B2 68FB 8FC4B2 <CJK>
+8FC4B3 68FC 8FC4B3 <CJK>
+8FC4B4 68FD 8FC4B4 <CJK>
+8FC4B5 6906 8FC4B5 <CJK>
+8FC4B6 6909 8FC4B6 <CJK>
+8FC4B7 690A 8FC4B7 <CJK>
+8FC4B8 6910 8FC4B8 <CJK>
+8FC4B9 6911 8FC4B9 <CJK>
+8FC4BA 6913 8FC4BA <CJK>
+8FC4BB 6916 8FC4BB <CJK>
+8FC4BC 6917 8FC4BC <CJK>
+8FC4BD 6931 8FC4BD <CJK>
+8FC4BE 6933 8FC4BE <CJK>
+8FC4BF 6935 8FC4BF <CJK>
+8FC4C0 6938 8FC4C0 <CJK>
+8FC4C1 693B 8FC4C1 <CJK>
+8FC4C2 6942 8FC4C2 <CJK>
+8FC4C3 6945 8FC4C3 <CJK>
+8FC4C4 6949 8FC4C4 <CJK>
+8FC4C5 694E 8FC4C5 <CJK>
+8FC4C6 6957 8FC4C6 <CJK>
+8FC4C7 695B 8FC4C7 <CJK>
+8FC4C8 6963 8FC4C8 <CJK>
+8FC4C9 6964 8FC4C9 <CJK>
+8FC4CA 6965 8FC4CA <CJK>
+8FC4CB 6966 8FC4CB <CJK>
+8FC4CC 6968 8FC4CC <CJK>
+8FC4CD 6969 8FC4CD <CJK>
+8FC4CE 696C 8FC4CE <CJK>
+8FC4CF 6970 8FC4CF <CJK>
+8FC4D0 6971 8FC4D0 <CJK>
+8FC4D1 6972 8FC4D1 <CJK>
+8FC4D2 697A 8FC4D2 <CJK>
+8FC4D3 697B 8FC4D3 <CJK>
+8FC4D4 697F 8FC4D4 <CJK>
+8FC4D5 6980 8FC4D5 <CJK>
+8FC4D6 698D 8FC4D6 <CJK>
+8FC4D7 6992 8FC4D7 <CJK>
+8FC4D8 6996 8FC4D8 <CJK>
+8FC4D9 6998 8FC4D9 <CJK>
+8FC4DA 69A1 8FC4DA <CJK>
+8FC4DB 69A5 8FC4DB <CJK>
+8FC4DC 69A6 8FC4DC <CJK>
+8FC4DD 69A8 8FC4DD <CJK>
+8FC4DE 69AB 8FC4DE <CJK>
+8FC4DF 69AD 8FC4DF <CJK>
+8FC4E0 69AF 8FC4E0 <CJK>
+8FC4E1 69B7 8FC4E1 <CJK>
+8FC4E2 69B8 8FC4E2 <CJK>
+8FC4E3 69BA 8FC4E3 <CJK>
+8FC4E4 69BC 8FC4E4 <CJK>
+8FC4E5 69C5 8FC4E5 <CJK>
+8FC4E6 69C8 8FC4E6 <CJK>
+8FC4E7 69D1 8FC4E7 <CJK>
+8FC4E8 69D6 8FC4E8 <CJK>
+8FC4E9 69D7 8FC4E9 <CJK>
+8FC4EA 69E2 8FC4EA <CJK>
+8FC4EB 69E5 8FC4EB <CJK>
+8FC4EC 69EE 8FC4EC <CJK>
+8FC4ED 69EF 8FC4ED <CJK>
+8FC4EE 69F1 8FC4EE <CJK>
+8FC4EF 69F3 8FC4EF <CJK>
+8FC4F0 69F5 8FC4F0 <CJK>
+8FC4F1 69FE 8FC4F1 <CJK>
+8FC4F2 6A00 8FC4F2 <CJK>
+8FC4F3 6A01 8FC4F3 <CJK>
+8FC4F4 6A03 8FC4F4 <CJK>
+8FC4F5 6A0F 8FC4F5 <CJK>
+8FC4F6 6A11 8FC4F6 <CJK>
+8FC4F7 6A15 8FC4F7 <CJK>
+8FC4F8 6A1A 8FC4F8 <CJK>
+8FC4F9 6A1D 8FC4F9 <CJK>
+8FC4FA 6A20 8FC4FA <CJK>
+8FC4FB 6A24 8FC4FB <CJK>
+8FC4FC 6A28 8FC4FC <CJK>
+8FC4FD 6A30 8FC4FD <CJK>
+8FC4FE 6A32 8FC4FE <CJK>
+8FC5A1 6A34 8FC5A1 <CJK>
+8FC5A2 6A37 8FC5A2 <CJK>
+8FC5A3 6A3B 8FC5A3 <CJK>
+8FC5A4 6A3E 8FC5A4 <CJK>
+8FC5A5 6A3F 8FC5A5 <CJK>
+8FC5A6 6A45 8FC5A6 <CJK>
+8FC5A7 6A46 8FC5A7 <CJK>
+8FC5A8 6A49 8FC5A8 <CJK>
+8FC5A9 6A4A 8FC5A9 <CJK>
+8FC5AA 6A4E 8FC5AA <CJK>
+8FC5AB 6A50 8FC5AB <CJK>
+8FC5AC 6A51 8FC5AC <CJK>
+8FC5AD 6A52 8FC5AD <CJK>
+8FC5AE 6A55 8FC5AE <CJK>
+8FC5AF 6A56 8FC5AF <CJK>
+8FC5B0 6A5B 8FC5B0 <CJK>
+8FC5B1 6A64 8FC5B1 <CJK>
+8FC5B2 6A67 8FC5B2 <CJK>
+8FC5B3 6A6A 8FC5B3 <CJK>
+8FC5B4 6A71 8FC5B4 <CJK>
+8FC5B5 6A73 8FC5B5 <CJK>
+8FC5B6 6A7E 8FC5B6 <CJK>
+8FC5B7 6A81 8FC5B7 <CJK>
+8FC5B8 6A83 8FC5B8 <CJK>
+8FC5B9 6A86 8FC5B9 <CJK>
+8FC5BA 6A87 8FC5BA <CJK>
+8FC5BB 6A89 8FC5BB <CJK>
+8FC5BC 6A8B 8FC5BC <CJK>
+8FC5BD 6A91 8FC5BD <CJK>
+8FC5BE 6A9B 8FC5BE <CJK>
+8FC5BF 6A9D 8FC5BF <CJK>
+8FC5C0 6A9E 8FC5C0 <CJK>
+8FC5C1 6A9F 8FC5C1 <CJK>
+8FC5C2 6AA5 8FC5C2 <CJK>
+8FC5C3 6AAB 8FC5C3 <CJK>
+8FC5C4 6AAF 8FC5C4 <CJK>
+8FC5C5 6AB0 8FC5C5 <CJK>
+8FC5C6 6AB1 8FC5C6 <CJK>
+8FC5C7 6AB4 8FC5C7 <CJK>
+8FC5C8 6ABD 8FC5C8 <CJK>
+8FC5C9 6ABE 8FC5C9 <CJK>
+8FC5CA 6ABF 8FC5CA <CJK>
+8FC5CB 6AC6 8FC5CB <CJK>
+8FC5CC 6AC9 8FC5CC <CJK>
+8FC5CD 6AC8 8FC5CD <CJK>
+8FC5CE 6ACC 8FC5CE <CJK>
+8FC5CF 6AD0 8FC5CF <CJK>
+8FC5D0 6AD4 8FC5D0 <CJK>
+8FC5D1 6AD5 8FC5D1 <CJK>
+8FC5D2 6AD6 8FC5D2 <CJK>
+8FC5D3 6ADC 8FC5D3 <CJK>
+8FC5D4 6ADD 8FC5D4 <CJK>
+8FC5D5 6AE4 8FC5D5 <CJK>
+8FC5D6 6AE7 8FC5D6 <CJK>
+8FC5D7 6AEC 8FC5D7 <CJK>
+8FC5D8 6AF0 8FC5D8 <CJK>
+8FC5D9 6AF1 8FC5D9 <CJK>
+8FC5DA 6AF2 8FC5DA <CJK>
+8FC5DB 6AFC 8FC5DB <CJK>
+8FC5DC 6AFD 8FC5DC <CJK>
+8FC5DD 6B02 8FC5DD <CJK>
+8FC5DE 6B03 8FC5DE <CJK>
+8FC5DF 6B06 8FC5DF <CJK>
+8FC5E0 6B07 8FC5E0 <CJK>
+8FC5E1 6B09 8FC5E1 <CJK>
+8FC5E2 6B0F 8FC5E2 <CJK>
+8FC5E3 6B10 8FC5E3 <CJK>
+8FC5E4 6B11 8FC5E4 <CJK>
+8FC5E5 6B17 8FC5E5 <CJK>
+8FC5E6 6B1B 8FC5E6 <CJK>
+8FC5E7 6B1E 8FC5E7 <CJK>
+8FC5E8 6B24 8FC5E8 <CJK>
+8FC5E9 6B28 8FC5E9 <CJK>
+8FC5EA 6B2B 8FC5EA <CJK>
+8FC5EB 6B2C 8FC5EB <CJK>
+8FC5EC 6B2F 8FC5EC <CJK>
+8FC5ED 6B35 8FC5ED <CJK>
+8FC5EE 6B36 8FC5EE <CJK>
+8FC5EF 6B3B 8FC5EF <CJK>
+8FC5F0 6B3F 8FC5F0 <CJK>
+8FC5F1 6B46 8FC5F1 <CJK>
+8FC5F2 6B4A 8FC5F2 <CJK>
+8FC5F3 6B4D 8FC5F3 <CJK>
+8FC5F4 6B52 8FC5F4 <CJK>
+8FC5F5 6B56 8FC5F5 <CJK>
+8FC5F6 6B58 8FC5F6 <CJK>
+8FC5F7 6B5D 8FC5F7 <CJK>
+8FC5F8 6B60 8FC5F8 <CJK>
+8FC5F9 6B67 8FC5F9 <CJK>
+8FC5FA 6B6B 8FC5FA <CJK>
+8FC5FB 6B6E 8FC5FB <CJK>
+8FC5FC 6B70 8FC5FC <CJK>
+8FC5FD 6B75 8FC5FD <CJK>
+8FC5FE 6B7D 8FC5FE <CJK>
+8FC6A1 6B7E 8FC6A1 <CJK>
+8FC6A2 6B82 8FC6A2 <CJK>
+8FC6A3 6B85 8FC6A3 <CJK>
+8FC6A4 6B97 8FC6A4 <CJK>
+8FC6A5 6B9B 8FC6A5 <CJK>
+8FC6A6 6B9F 8FC6A6 <CJK>
+8FC6A7 6BA0 8FC6A7 <CJK>
+8FC6A8 6BA2 8FC6A8 <CJK>
+8FC6A9 6BA3 8FC6A9 <CJK>
+8FC6AA 6BA8 8FC6AA <CJK>
+8FC6AB 6BA9 8FC6AB <CJK>
+8FC6AC 6BAC 8FC6AC <CJK>
+8FC6AD 6BAD 8FC6AD <CJK>
+8FC6AE 6BAE 8FC6AE <CJK>
+8FC6AF 6BB0 8FC6AF <CJK>
+8FC6B0 6BB8 8FC6B0 <CJK>
+8FC6B1 6BB9 8FC6B1 <CJK>
+8FC6B2 6BBD 8FC6B2 <CJK>
+8FC6B3 6BBE 8FC6B3 <CJK>
+8FC6B4 6BC3 8FC6B4 <CJK>
+8FC6B5 6BC4 8FC6B5 <CJK>
+8FC6B6 6BC9 8FC6B6 <CJK>
+8FC6B7 6BCC 8FC6B7 <CJK>
+8FC6B8 6BD6 8FC6B8 <CJK>
+8FC6B9 6BDA 8FC6B9 <CJK>
+8FC6BA 6BE1 8FC6BA <CJK>
+8FC6BB 6BE3 8FC6BB <CJK>
+8FC6BC 6BE6 8FC6BC <CJK>
+8FC6BD 6BE7 8FC6BD <CJK>
+8FC6BE 6BEE 8FC6BE <CJK>
+8FC6BF 6BF1 8FC6BF <CJK>
+8FC6C0 6BF7 8FC6C0 <CJK>
+8FC6C1 6BF9 8FC6C1 <CJK>
+8FC6C2 6BFF 8FC6C2 <CJK>
+8FC6C3 6C02 8FC6C3 <CJK>
+8FC6C4 6C04 8FC6C4 <CJK>
+8FC6C5 6C05 8FC6C5 <CJK>
+8FC6C6 6C09 8FC6C6 <CJK>
+8FC6C7 6C0D 8FC6C7 <CJK>
+8FC6C8 6C0E 8FC6C8 <CJK>
+8FC6C9 6C10 8FC6C9 <CJK>
+8FC6CA 6C12 8FC6CA <CJK>
+8FC6CB 6C19 8FC6CB <CJK>
+8FC6CC 6C1F 8FC6CC <CJK>
+8FC6CD 6C26 8FC6CD <CJK>
+8FC6CE 6C27 8FC6CE <CJK>
+8FC6CF 6C28 8FC6CF <CJK>
+8FC6D0 6C2C 8FC6D0 <CJK>
+8FC6D1 6C2E 8FC6D1 <CJK>
+8FC6D2 6C33 8FC6D2 <CJK>
+8FC6D3 6C35 8FC6D3 <CJK>
+8FC6D4 6C36 8FC6D4 <CJK>
+8FC6D5 6C3A 8FC6D5 <CJK>
+8FC6D6 6C3B 8FC6D6 <CJK>
+8FC6D7 6C3F 8FC6D7 <CJK>
+8FC6D8 6C4A 8FC6D8 <CJK>
+8FC6D9 6C4B 8FC6D9 <CJK>
+8FC6DA 6C4D 8FC6DA <CJK>
+8FC6DB 6C4F 8FC6DB <CJK>
+8FC6DC 6C52 8FC6DC <CJK>
+8FC6DD 6C54 8FC6DD <CJK>
+8FC6DE 6C59 8FC6DE <CJK>
+8FC6DF 6C5B 8FC6DF <CJK>
+8FC6E0 6C5C 8FC6E0 <CJK>
+8FC6E1 6C6B 8FC6E1 <CJK>
+8FC6E2 6C6D 8FC6E2 <CJK>
+8FC6E3 6C6F 8FC6E3 <CJK>
+8FC6E4 6C74 8FC6E4 <CJK>
+8FC6E5 6C76 8FC6E5 <CJK>
+8FC6E6 6C78 8FC6E6 <CJK>
+8FC6E7 6C79 8FC6E7 <CJK>
+8FC6E8 6C7B 8FC6E8 <CJK>
+8FC6E9 6C85 8FC6E9 <CJK>
+8FC6EA 6C86 8FC6EA <CJK>
+8FC6EB 6C87 8FC6EB <CJK>
+8FC6EC 6C89 8FC6EC <CJK>
+8FC6ED 6C94 8FC6ED <CJK>
+8FC6EE 6C95 8FC6EE <CJK>
+8FC6EF 6C97 8FC6EF <CJK>
+8FC6F0 6C98 8FC6F0 <CJK>
+8FC6F1 6C9C 8FC6F1 <CJK>
+8FC6F2 6C9F 8FC6F2 <CJK>
+8FC6F3 6CB0 8FC6F3 <CJK>
+8FC6F4 6CB2 8FC6F4 <CJK>
+8FC6F5 6CB4 8FC6F5 <CJK>
+8FC6F6 6CC2 8FC6F6 <CJK>
+8FC6F7 6CC6 8FC6F7 <CJK>
+8FC6F8 6CCD 8FC6F8 <CJK>
+8FC6F9 6CCF 8FC6F9 <CJK>
+8FC6FA 6CD0 8FC6FA <CJK>
+8FC6FB 6CD1 8FC6FB <CJK>
+8FC6FC 6CD2 8FC6FC <CJK>
+8FC6FD 6CD4 8FC6FD <CJK>
+8FC6FE 6CD6 8FC6FE <CJK>
+8FC7A1 6CDA 8FC7A1 <CJK>
+8FC7A2 6CDC 8FC7A2 <CJK>
+8FC7A3 6CE0 8FC7A3 <CJK>
+8FC7A4 6CE7 8FC7A4 <CJK>
+8FC7A5 6CE9 8FC7A5 <CJK>
+8FC7A6 6CEB 8FC7A6 <CJK>
+8FC7A7 6CEC 8FC7A7 <CJK>
+8FC7A8 6CEE 8FC7A8 <CJK>
+8FC7A9 6CF2 8FC7A9 <CJK>
+8FC7AA 6CF4 8FC7AA <CJK>
+8FC7AB 6D04 8FC7AB <CJK>
+8FC7AC 6D07 8FC7AC <CJK>
+8FC7AD 6D0A 8FC7AD <CJK>
+8FC7AE 6D0E 8FC7AE <CJK>
+8FC7AF 6D0F 8FC7AF <CJK>
+8FC7B0 6D11 8FC7B0 <CJK>
+8FC7B1 6D13 8FC7B1 <CJK>
+8FC7B2 6D1A 8FC7B2 <CJK>
+8FC7B3 6D26 8FC7B3 <CJK>
+8FC7B4 6D27 8FC7B4 <CJK>
+8FC7B5 6D28 8FC7B5 <CJK>
+8FC7B6 6C67 8FC7B6 <CJK>
+8FC7B7 6D2E 8FC7B7 <CJK>
+8FC7B8 6D2F 8FC7B8 <CJK>
+8FC7B9 6D31 8FC7B9 <CJK>
+8FC7BA 6D39 8FC7BA <CJK>
+8FC7BB 6D3C 8FC7BB <CJK>
+8FC7BC 6D3F 8FC7BC <CJK>
+8FC7BD 6D57 8FC7BD <CJK>
+8FC7BE 6D5E 8FC7BE <CJK>
+8FC7BF 6D5F 8FC7BF <CJK>
+8FC7C0 6D61 8FC7C0 <CJK>
+8FC7C1 6D65 8FC7C1 <CJK>
+8FC7C2 6D67 8FC7C2 <CJK>
+8FC7C3 6D6F 8FC7C3 <CJK>
+8FC7C4 6D70 8FC7C4 <CJK>
+8FC7C5 6D7C 8FC7C5 <CJK>
+8FC7C6 6D82 8FC7C6 <CJK>
+8FC7C7 6D87 8FC7C7 <CJK>
+8FC7C8 6D91 8FC7C8 <CJK>
+8FC7C9 6D92 8FC7C9 <CJK>
+8FC7CA 6D94 8FC7CA <CJK>
+8FC7CB 6D96 8FC7CB <CJK>
+8FC7CC 6D97 8FC7CC <CJK>
+8FC7CD 6D98 8FC7CD <CJK>
+8FC7CE 6DAA 8FC7CE <CJK>
+8FC7CF 6DAC 8FC7CF <CJK>
+8FC7D0 6DB4 8FC7D0 <CJK>
+8FC7D1 6DB7 8FC7D1 <CJK>
+8FC7D2 6DB9 8FC7D2 <CJK>
+8FC7D3 6DBD 8FC7D3 <CJK>
+8FC7D4 6DBF 8FC7D4 <CJK>
+8FC7D5 6DC4 8FC7D5 <CJK>
+8FC7D6 6DC8 8FC7D6 <CJK>
+8FC7D7 6DCA 8FC7D7 <CJK>
+8FC7D8 6DCE 8FC7D8 <CJK>
+8FC7D9 6DCF 8FC7D9 <CJK>
+8FC7DA 6DD6 8FC7DA <CJK>
+8FC7DB 6DDB 8FC7DB <CJK>
+8FC7DC 6DDD 8FC7DC <CJK>
+8FC7DD 6DDF 8FC7DD <CJK>
+8FC7DE 6DE0 8FC7DE <CJK>
+8FC7DF 6DE2 8FC7DF <CJK>
+8FC7E0 6DE5 8FC7E0 <CJK>
+8FC7E1 6DE9 8FC7E1 <CJK>
+8FC7E2 6DEF 8FC7E2 <CJK>
+8FC7E3 6DF0 8FC7E3 <CJK>
+8FC7E4 6DF4 8FC7E4 <CJK>
+8FC7E5 6DF6 8FC7E5 <CJK>
+8FC7E6 6DFC 8FC7E6 <CJK>
+8FC7E7 6E00 8FC7E7 <CJK>
+8FC7E8 6E04 8FC7E8 <CJK>
+8FC7E9 6E1E 8FC7E9 <CJK>
+8FC7EA 6E22 8FC7EA <CJK>
+8FC7EB 6E27 8FC7EB <CJK>
+8FC7EC 6E32 8FC7EC <CJK>
+8FC7ED 6E36 8FC7ED <CJK>
+8FC7EE 6E39 8FC7EE <CJK>
+8FC7EF 6E3B 8FC7EF <CJK>
+8FC7F0 6E3C 8FC7F0 <CJK>
+8FC7F1 6E44 8FC7F1 <CJK>
+8FC7F2 6E45 8FC7F2 <CJK>
+8FC7F3 6E48 8FC7F3 <CJK>
+8FC7F4 6E49 8FC7F4 <CJK>
+8FC7F5 6E4B 8FC7F5 <CJK>
+8FC7F6 6E4F 8FC7F6 <CJK>
+8FC7F7 6E51 8FC7F7 <CJK>
+8FC7F8 6E52 8FC7F8 <CJK>
+8FC7F9 6E53 8FC7F9 <CJK>
+8FC7FA 6E54 8FC7FA <CJK>
+8FC7FB 6E57 8FC7FB <CJK>
+8FC7FC 6E5C 8FC7FC <CJK>
+8FC7FD 6E5D 8FC7FD <CJK>
+8FC7FE 6E5E 8FC7FE <CJK>
+8FC8A1 6E62 8FC8A1 <CJK>
+8FC8A2 6E63 8FC8A2 <CJK>
+8FC8A3 6E68 8FC8A3 <CJK>
+8FC8A4 6E73 8FC8A4 <CJK>
+8FC8A5 6E7B 8FC8A5 <CJK>
+8FC8A6 6E7D 8FC8A6 <CJK>
+8FC8A7 6E8D 8FC8A7 <CJK>
+8FC8A8 6E93 8FC8A8 <CJK>
+8FC8A9 6E99 8FC8A9 <CJK>
+8FC8AA 6EA0 8FC8AA <CJK>
+8FC8AB 6EA7 8FC8AB <CJK>
+8FC8AC 6EAD 8FC8AC <CJK>
+8FC8AD 6EAE 8FC8AD <CJK>
+8FC8AE 6EB1 8FC8AE <CJK>
+8FC8AF 6EB3 8FC8AF <CJK>
+8FC8B0 6EBB 8FC8B0 <CJK>
+8FC8B1 6EBF 8FC8B1 <CJK>
+8FC8B2 6EC0 8FC8B2 <CJK>
+8FC8B3 6EC1 8FC8B3 <CJK>
+8FC8B4 6EC3 8FC8B4 <CJK>
+8FC8B5 6EC7 8FC8B5 <CJK>
+8FC8B6 6EC8 8FC8B6 <CJK>
+8FC8B7 6ECA 8FC8B7 <CJK>
+8FC8B8 6ECD 8FC8B8 <CJK>
+8FC8B9 6ECE 8FC8B9 <CJK>
+8FC8BA 6ECF 8FC8BA <CJK>
+8FC8BB 6EEB 8FC8BB <CJK>
+8FC8BC 6EED 8FC8BC <CJK>
+8FC8BD 6EEE 8FC8BD <CJK>
+8FC8BE 6EF9 8FC8BE <CJK>
+8FC8BF 6EFB 8FC8BF <CJK>
+8FC8C0 6EFD 8FC8C0 <CJK>
+8FC8C1 6F04 8FC8C1 <CJK>
+8FC8C2 6F08 8FC8C2 <CJK>
+8FC8C3 6F0A 8FC8C3 <CJK>
+8FC8C4 6F0C 8FC8C4 <CJK>
+8FC8C5 6F0D 8FC8C5 <CJK>
+8FC8C6 6F16 8FC8C6 <CJK>
+8FC8C7 6F18 8FC8C7 <CJK>
+8FC8C8 6F1A 8FC8C8 <CJK>
+8FC8C9 6F1B 8FC8C9 <CJK>
+8FC8CA 6F26 8FC8CA <CJK>
+8FC8CB 6F29 8FC8CB <CJK>
+8FC8CC 6F2A 8FC8CC <CJK>
+8FC8CD 6F2F 8FC8CD <CJK>
+8FC8CE 6F30 8FC8CE <CJK>
+8FC8CF 6F33 8FC8CF <CJK>
+8FC8D0 6F36 8FC8D0 <CJK>
+8FC8D1 6F3B 8FC8D1 <CJK>
+8FC8D2 6F3C 8FC8D2 <CJK>
+8FC8D3 6F2D 8FC8D3 <CJK>
+8FC8D4 6F4F 8FC8D4 <CJK>
+8FC8D5 6F51 8FC8D5 <CJK>
+8FC8D6 6F52 8FC8D6 <CJK>
+8FC8D7 6F53 8FC8D7 <CJK>
+8FC8D8 6F57 8FC8D8 <CJK>
+8FC8D9 6F59 8FC8D9 <CJK>
+8FC8DA 6F5A 8FC8DA <CJK>
+8FC8DB 6F5D 8FC8DB <CJK>
+8FC8DC 6F5E 8FC8DC <CJK>
+8FC8DD 6F61 8FC8DD <CJK>
+8FC8DE 6F62 8FC8DE <CJK>
+8FC8DF 6F68 8FC8DF <CJK>
+8FC8E0 6F6C 8FC8E0 <CJK>
+8FC8E1 6F7D 8FC8E1 <CJK>
+8FC8E2 6F7E 8FC8E2 <CJK>
+8FC8E3 6F83 8FC8E3 <CJK>
+8FC8E4 6F87 8FC8E4 <CJK>
+8FC8E5 6F88 8FC8E5 <CJK>
+8FC8E6 6F8B 8FC8E6 <CJK>
+8FC8E7 6F8C 8FC8E7 <CJK>
+8FC8E8 6F8D 8FC8E8 <CJK>
+8FC8E9 6F90 8FC8E9 <CJK>
+8FC8EA 6F92 8FC8EA <CJK>
+8FC8EB 6F93 8FC8EB <CJK>
+8FC8EC 6F94 8FC8EC <CJK>
+8FC8ED 6F96 8FC8ED <CJK>
+8FC8EE 6F9A 8FC8EE <CJK>
+8FC8EF 6F9F 8FC8EF <CJK>
+8FC8F0 6FA0 8FC8F0 <CJK>
+8FC8F1 6FA5 8FC8F1 <CJK>
+8FC8F2 6FA6 8FC8F2 <CJK>
+8FC8F3 6FA7 8FC8F3 <CJK>
+8FC8F4 6FA8 8FC8F4 <CJK>
+8FC8F5 6FAE 8FC8F5 <CJK>
+8FC8F6 6FAF 8FC8F6 <CJK>
+8FC8F7 6FB0 8FC8F7 <CJK>
+8FC8F8 6FB5 8FC8F8 <CJK>
+8FC8F9 6FB6 8FC8F9 <CJK>
+8FC8FA 6FBC 8FC8FA <CJK>
+8FC8FB 6FC5 8FC8FB <CJK>
+8FC8FC 6FC7 8FC8FC <CJK>
+8FC8FD 6FC8 8FC8FD <CJK>
+8FC8FE 6FCA 8FC8FE <CJK>
+8FC9A1 6FDA 8FC9A1 <CJK>
+8FC9A2 6FDE 8FC9A2 <CJK>
+8FC9A3 6FE8 8FC9A3 <CJK>
+8FC9A4 6FE9 8FC9A4 <CJK>
+8FC9A5 6FF0 8FC9A5 <CJK>
+8FC9A6 6FF5 8FC9A6 <CJK>
+8FC9A7 6FF9 8FC9A7 <CJK>
+8FC9A8 6FFC 8FC9A8 <CJK>
+8FC9A9 6FFD 8FC9A9 <CJK>
+8FC9AA 7000 8FC9AA <CJK>
+8FC9AB 7005 8FC9AB <CJK>
+8FC9AC 7006 8FC9AC <CJK>
+8FC9AD 7007 8FC9AD <CJK>
+8FC9AE 700D 8FC9AE <CJK>
+8FC9AF 7017 8FC9AF <CJK>
+8FC9B0 7020 8FC9B0 <CJK>
+8FC9B1 7023 8FC9B1 <CJK>
+8FC9B2 702F 8FC9B2 <CJK>
+8FC9B3 7034 8FC9B3 <CJK>
+8FC9B4 7037 8FC9B4 <CJK>
+8FC9B5 7039 8FC9B5 <CJK>
+8FC9B6 703C 8FC9B6 <CJK>
+8FC9B7 7043 8FC9B7 <CJK>
+8FC9B8 7044 8FC9B8 <CJK>
+8FC9B9 7048 8FC9B9 <CJK>
+8FC9BA 7049 8FC9BA <CJK>
+8FC9BB 704A 8FC9BB <CJK>
+8FC9BC 704B 8FC9BC <CJK>
+8FC9BD 7054 8FC9BD <CJK>
+8FC9BE 7055 8FC9BE <CJK>
+8FC9BF 705D 8FC9BF <CJK>
+8FC9C0 705E 8FC9C0 <CJK>
+8FC9C1 704E 8FC9C1 <CJK>
+8FC9C2 7064 8FC9C2 <CJK>
+8FC9C3 7065 8FC9C3 <CJK>
+8FC9C4 706C 8FC9C4 <CJK>
+8FC9C5 706E 8FC9C5 <CJK>
+8FC9C6 7075 8FC9C6 <CJK>
+8FC9C7 7076 8FC9C7 <CJK>
+8FC9C8 707E 8FC9C8 <CJK>
+8FC9C9 7081 8FC9C9 <CJK>
+8FC9CA 7085 8FC9CA <CJK>
+8FC9CB 7086 8FC9CB <CJK>
+8FC9CC 7094 8FC9CC <CJK>
+8FC9CD 7095 8FC9CD <CJK>
+8FC9CE 7096 8FC9CE <CJK>
+8FC9CF 7097 8FC9CF <CJK>
+8FC9D0 7098 8FC9D0 <CJK>
+8FC9D1 709B 8FC9D1 <CJK>
+8FC9D2 70A4 8FC9D2 <CJK>
+8FC9D3 70AB 8FC9D3 <CJK>
+8FC9D4 70B0 8FC9D4 <CJK>
+8FC9D5 70B1 8FC9D5 <CJK>
+8FC9D6 70B4 8FC9D6 <CJK>
+8FC9D7 70B7 8FC9D7 <CJK>
+8FC9D8 70CA 8FC9D8 <CJK>
+8FC9D9 70D1 8FC9D9 <CJK>
+8FC9DA 70D3 8FC9DA <CJK>
+8FC9DB 70D4 8FC9DB <CJK>
+8FC9DC 70D5 8FC9DC <CJK>
+8FC9DD 70D6 8FC9DD <CJK>
+8FC9DE 70D8 8FC9DE <CJK>
+8FC9DF 70DC 8FC9DF <CJK>
+8FC9E0 70E4 8FC9E0 <CJK>
+8FC9E1 70FA 8FC9E1 <CJK>
+8FC9E2 7103 8FC9E2 <CJK>
+8FC9E3 7104 8FC9E3 <CJK>
+8FC9E4 7105 8FC9E4 <CJK>
+8FC9E5 7106 8FC9E5 <CJK>
+8FC9E6 7107 8FC9E6 <CJK>
+8FC9E7 710B 8FC9E7 <CJK>
+8FC9E8 710C 8FC9E8 <CJK>
+8FC9E9 710F 8FC9E9 <CJK>
+8FC9EA 711E 8FC9EA <CJK>
+8FC9EB 7120 8FC9EB <CJK>
+8FC9EC 712B 8FC9EC <CJK>
+8FC9ED 712D 8FC9ED <CJK>
+8FC9EE 712F 8FC9EE <CJK>
+8FC9EF 7130 8FC9EF <CJK>
+8FC9F0 7131 8FC9F0 <CJK>
+8FC9F1 7138 8FC9F1 <CJK>
+8FC9F2 7141 8FC9F2 <CJK>
+8FC9F3 7145 8FC9F3 <CJK>
+8FC9F4 7146 8FC9F4 <CJK>
+8FC9F5 7147 8FC9F5 <CJK>
+8FC9F6 714A 8FC9F6 <CJK>
+8FC9F7 714B 8FC9F7 <CJK>
+8FC9F8 7150 8FC9F8 <CJK>
+8FC9F9 7152 8FC9F9 <CJK>
+8FC9FA 7157 8FC9FA <CJK>
+8FC9FB 715A 8FC9FB <CJK>
+8FC9FC 715C 8FC9FC <CJK>
+8FC9FD 715E 8FC9FD <CJK>
+8FC9FE 7160 8FC9FE <CJK>
+8FCAA1 7168 8FCAA1 <CJK>
+8FCAA2 7179 8FCAA2 <CJK>
+8FCAA3 7180 8FCAA3 <CJK>
+8FCAA4 7185 8FCAA4 <CJK>
+8FCAA5 7187 8FCAA5 <CJK>
+8FCAA6 718C 8FCAA6 <CJK>
+8FCAA7 7192 8FCAA7 <CJK>
+8FCAA8 719A 8FCAA8 <CJK>
+8FCAA9 719B 8FCAA9 <CJK>
+8FCAAA 71A0 8FCAAA <CJK>
+8FCAAB 71A2 8FCAAB <CJK>
+8FCAAC 71AF 8FCAAC <CJK>
+8FCAAD 71B0 8FCAAD <CJK>
+8FCAAE 71B2 8FCAAE <CJK>
+8FCAAF 71B3 8FCAAF <CJK>
+8FCAB0 71BA 8FCAB0 <CJK>
+8FCAB1 71BF 8FCAB1 <CJK>
+8FCAB2 71C0 8FCAB2 <CJK>
+8FCAB3 71C1 8FCAB3 <CJK>
+8FCAB4 71C4 8FCAB4 <CJK>
+8FCAB5 71CB 8FCAB5 <CJK>
+8FCAB6 71CC 8FCAB6 <CJK>
+8FCAB7 71D3 8FCAB7 <CJK>
+8FCAB8 71D6 8FCAB8 <CJK>
+8FCAB9 71D9 8FCAB9 <CJK>
+8FCABA 71DA 8FCABA <CJK>
+8FCABB 71DC 8FCABB <CJK>
+8FCABC 71F8 8FCABC <CJK>
+8FCABD 71FE 8FCABD <CJK>
+8FCABE 7200 8FCABE <CJK>
+8FCABF 7207 8FCABF <CJK>
+8FCAC0 7208 8FCAC0 <CJK>
+8FCAC1 7209 8FCAC1 <CJK>
+8FCAC2 7213 8FCAC2 <CJK>
+8FCAC3 7217 8FCAC3 <CJK>
+8FCAC4 721A 8FCAC4 <CJK>
+8FCAC5 721D 8FCAC5 <CJK>
+8FCAC6 721F 8FCAC6 <CJK>
+8FCAC7 7224 8FCAC7 <CJK>
+8FCAC8 722B 8FCAC8 <CJK>
+8FCAC9 722F 8FCAC9 <CJK>
+8FCACA 7234 8FCACA <CJK>
+8FCACB 7238 8FCACB <CJK>
+8FCACC 7239 8FCACC <CJK>
+8FCACD 7241 8FCACD <CJK>
+8FCACE 7242 8FCACE <CJK>
+8FCACF 7243 8FCACF <CJK>
+8FCAD0 7245 8FCAD0 <CJK>
+8FCAD1 724E 8FCAD1 <CJK>
+8FCAD2 724F 8FCAD2 <CJK>
+8FCAD3 7250 8FCAD3 <CJK>
+8FCAD4 7253 8FCAD4 <CJK>
+8FCAD5 7255 8FCAD5 <CJK>
+8FCAD6 7256 8FCAD6 <CJK>
+8FCAD7 725A 8FCAD7 <CJK>
+8FCAD8 725C 8FCAD8 <CJK>
+8FCAD9 725E 8FCAD9 <CJK>
+8FCADA 7260 8FCADA <CJK>
+8FCADB 7263 8FCADB <CJK>
+8FCADC 7268 8FCADC <CJK>
+8FCADD 726B 8FCADD <CJK>
+8FCADE 726E 8FCADE <CJK>
+8FCADF 726F 8FCADF <CJK>
+8FCAE0 7271 8FCAE0 <CJK>
+8FCAE1 7277 8FCAE1 <CJK>
+8FCAE2 7278 8FCAE2 <CJK>
+8FCAE3 727B 8FCAE3 <CJK>
+8FCAE4 727C 8FCAE4 <CJK>
+8FCAE5 727F 8FCAE5 <CJK>
+8FCAE6 7284 8FCAE6 <CJK>
+8FCAE7 7289 8FCAE7 <CJK>
+8FCAE8 728D 8FCAE8 <CJK>
+8FCAE9 728E 8FCAE9 <CJK>
+8FCAEA 7293 8FCAEA <CJK>
+8FCAEB 729B 8FCAEB <CJK>
+8FCAEC 72A8 8FCAEC <CJK>
+8FCAED 72AD 8FCAED <CJK>
+8FCAEE 72AE 8FCAEE <CJK>
+8FCAEF 72B1 8FCAEF <CJK>
+8FCAF0 72B4 8FCAF0 <CJK>
+8FCAF1 72BE 8FCAF1 <CJK>
+8FCAF2 72C1 8FCAF2 <CJK>
+8FCAF3 72C7 8FCAF3 <CJK>
+8FCAF4 72C9 8FCAF4 <CJK>
+8FCAF5 72CC 8FCAF5 <CJK>
+8FCAF6 72D5 8FCAF6 <CJK>
+8FCAF7 72D6 8FCAF7 <CJK>
+8FCAF8 72D8 8FCAF8 <CJK>
+8FCAF9 72DF 8FCAF9 <CJK>
+8FCAFA 72E5 8FCAFA <CJK>
+8FCAFB 72F3 8FCAFB <CJK>
+8FCAFC 72F4 8FCAFC <CJK>
+8FCAFD 72FA 8FCAFD <CJK>
+8FCAFE 72FB 8FCAFE <CJK>
+8FCBA1 72FE 8FCBA1 <CJK>
+8FCBA2 7302 8FCBA2 <CJK>
+8FCBA3 7304 8FCBA3 <CJK>
+8FCBA4 7305 8FCBA4 <CJK>
+8FCBA5 7307 8FCBA5 <CJK>
+8FCBA6 730B 8FCBA6 <CJK>
+8FCBA7 730D 8FCBA7 <CJK>
+8FCBA8 7312 8FCBA8 <CJK>
+8FCBA9 7313 8FCBA9 <CJK>
+8FCBAA 7318 8FCBAA <CJK>
+8FCBAB 7319 8FCBAB <CJK>
+8FCBAC 731E 8FCBAC <CJK>
+8FCBAD 7322 8FCBAD <CJK>
+8FCBAE 7324 8FCBAE <CJK>
+8FCBAF 7327 8FCBAF <CJK>
+8FCBB0 7328 8FCBB0 <CJK>
+8FCBB1 732C 8FCBB1 <CJK>
+8FCBB2 7331 8FCBB2 <CJK>
+8FCBB3 7332 8FCBB3 <CJK>
+8FCBB4 7335 8FCBB4 <CJK>
+8FCBB5 733A 8FCBB5 <CJK>
+8FCBB6 733B 8FCBB6 <CJK>
+8FCBB7 733D 8FCBB7 <CJK>
+8FCBB8 7343 8FCBB8 <CJK>
+8FCBB9 734D 8FCBB9 <CJK>
+8FCBBA 7350 8FCBBA <CJK>
+8FCBBB 7352 8FCBBB <CJK>
+8FCBBC 7356 8FCBBC <CJK>
+8FCBBD 7358 8FCBBD <CJK>
+8FCBBE 735D 8FCBBE <CJK>
+8FCBBF 735E 8FCBBF <CJK>
+8FCBC0 735F 8FCBC0 <CJK>
+8FCBC1 7360 8FCBC1 <CJK>
+8FCBC2 7366 8FCBC2 <CJK>
+8FCBC3 7367 8FCBC3 <CJK>
+8FCBC4 7369 8FCBC4 <CJK>
+8FCBC5 736B 8FCBC5 <CJK>
+8FCBC6 736C 8FCBC6 <CJK>
+8FCBC7 736E 8FCBC7 <CJK>
+8FCBC8 736F 8FCBC8 <CJK>
+8FCBC9 7371 8FCBC9 <CJK>
+8FCBCA 7377 8FCBCA <CJK>
+8FCBCB 7379 8FCBCB <CJK>
+8FCBCC 737C 8FCBCC <CJK>
+8FCBCD 7380 8FCBCD <CJK>
+8FCBCE 7381 8FCBCE <CJK>
+8FCBCF 7383 8FCBCF <CJK>
+8FCBD0 7385 8FCBD0 <CJK>
+8FCBD1 7386 8FCBD1 <CJK>
+8FCBD2 738E 8FCBD2 <CJK>
+8FCBD3 7390 8FCBD3 <CJK>
+8FCBD4 7393 8FCBD4 <CJK>
+8FCBD5 7395 8FCBD5 <CJK>
+8FCBD6 7397 8FCBD6 <CJK>
+8FCBD7 7398 8FCBD7 <CJK>
+8FCBD8 739C 8FCBD8 <CJK>
+8FCBD9 739E 8FCBD9 <CJK>
+8FCBDA 739F 8FCBDA <CJK>
+8FCBDB 73A0 8FCBDB <CJK>
+8FCBDC 73A2 8FCBDC <CJK>
+8FCBDD 73A5 8FCBDD <CJK>
+8FCBDE 73A6 8FCBDE <CJK>
+8FCBDF 73AA 8FCBDF <CJK>
+8FCBE0 73AB 8FCBE0 <CJK>
+8FCBE1 73AD 8FCBE1 <CJK>
+8FCBE2 73B5 8FCBE2 <CJK>
+8FCBE3 73B7 8FCBE3 <CJK>
+8FCBE4 73B9 8FCBE4 <CJK>
+8FCBE5 73BC 8FCBE5 <CJK>
+8FCBE6 73BD 8FCBE6 <CJK>
+8FCBE7 73BF 8FCBE7 <CJK>
+8FCBE8 73C5 8FCBE8 <CJK>
+8FCBE9 73C6 8FCBE9 <CJK>
+8FCBEA 73C9 8FCBEA <CJK>
+8FCBEB 73CB 8FCBEB <CJK>
+8FCBEC 73CC 8FCBEC <CJK>
+8FCBED 73CF 8FCBED <CJK>
+8FCBEE 73D2 8FCBEE <CJK>
+8FCBEF 73D3 8FCBEF <CJK>
+8FCBF0 73D6 8FCBF0 <CJK>
+8FCBF1 73D9 8FCBF1 <CJK>
+8FCBF2 73DD 8FCBF2 <CJK>
+8FCBF3 73E1 8FCBF3 <CJK>
+8FCBF4 73E3 8FCBF4 <CJK>
+8FCBF5 73E6 8FCBF5 <CJK>
+8FCBF6 73E7 8FCBF6 <CJK>
+8FCBF7 73E9 8FCBF7 <CJK>
+8FCBF8 73F4 8FCBF8 <CJK>
+8FCBF9 73F5 8FCBF9 <CJK>
+8FCBFA 73F7 8FCBFA <CJK>
+8FCBFB 73F9 8FCBFB <CJK>
+8FCBFC 73FA 8FCBFC <CJK>
+8FCBFD 73FB 8FCBFD <CJK>
+8FCBFE 73FD 8FCBFE <CJK>
+8FCCA1 73FF 8FCCA1 <CJK>
+8FCCA2 7400 8FCCA2 <CJK>
+8FCCA3 7401 8FCCA3 <CJK>
+8FCCA4 7404 8FCCA4 <CJK>
+8FCCA5 7407 8FCCA5 <CJK>
+8FCCA6 740A 8FCCA6 <CJK>
+8FCCA7 7411 8FCCA7 <CJK>
+8FCCA8 741A 8FCCA8 <CJK>
+8FCCA9 741B 8FCCA9 <CJK>
+8FCCAA 7424 8FCCAA <CJK>
+8FCCAB 7426 8FCCAB <CJK>
+8FCCAC 7428 8FCCAC <CJK>
+8FCCAD 7429 8FCCAD <CJK>
+8FCCAE 742A 8FCCAE <CJK>
+8FCCAF 742B 8FCCAF <CJK>
+8FCCB0 742C 8FCCB0 <CJK>
+8FCCB1 742D 8FCCB1 <CJK>
+8FCCB2 742E 8FCCB2 <CJK>
+8FCCB3 742F 8FCCB3 <CJK>
+8FCCB4 7430 8FCCB4 <CJK>
+8FCCB5 7431 8FCCB5 <CJK>
+8FCCB6 7439 8FCCB6 <CJK>
+8FCCB7 7440 8FCCB7 <CJK>
+8FCCB8 7443 8FCCB8 <CJK>
+8FCCB9 7444 8FCCB9 <CJK>
+8FCCBA 7446 8FCCBA <CJK>
+8FCCBB 7447 8FCCBB <CJK>
+8FCCBC 744B 8FCCBC <CJK>
+8FCCBD 744D 8FCCBD <CJK>
+8FCCBE 7451 8FCCBE <CJK>
+8FCCBF 7452 8FCCBF <CJK>
+8FCCC0 7457 8FCCC0 <CJK>
+8FCCC1 745D 8FCCC1 <CJK>
+8FCCC2 7462 8FCCC2 <CJK>
+8FCCC3 7466 8FCCC3 <CJK>
+8FCCC4 7467 8FCCC4 <CJK>
+8FCCC5 7468 8FCCC5 <CJK>
+8FCCC6 746B 8FCCC6 <CJK>
+8FCCC7 746D 8FCCC7 <CJK>
+8FCCC8 746E 8FCCC8 <CJK>
+8FCCC9 7471 8FCCC9 <CJK>
+8FCCCA 7472 8FCCCA <CJK>
+8FCCCB 7480 8FCCCB <CJK>
+8FCCCC 7481 8FCCCC <CJK>
+8FCCCD 7485 8FCCCD <CJK>
+8FCCCE 7486 8FCCCE <CJK>
+8FCCCF 7487 8FCCCF <CJK>
+8FCCD0 7489 8FCCD0 <CJK>
+8FCCD1 748F 8FCCD1 <CJK>
+8FCCD2 7490 8FCCD2 <CJK>
+8FCCD3 7491 8FCCD3 <CJK>
+8FCCD4 7492 8FCCD4 <CJK>
+8FCCD5 7498 8FCCD5 <CJK>
+8FCCD6 7499 8FCCD6 <CJK>
+8FCCD7 749A 8FCCD7 <CJK>
+8FCCD8 749C 8FCCD8 <CJK>
+8FCCD9 749F 8FCCD9 <CJK>
+8FCCDA 74A0 8FCCDA <CJK>
+8FCCDB 74A1 8FCCDB <CJK>
+8FCCDC 74A3 8FCCDC <CJK>
+8FCCDD 74A6 8FCCDD <CJK>
+8FCCDE 74A8 8FCCDE <CJK>
+8FCCDF 74A9 8FCCDF <CJK>
+8FCCE0 74AA 8FCCE0 <CJK>
+8FCCE1 74AB 8FCCE1 <CJK>
+8FCCE2 74AE 8FCCE2 <CJK>
+8FCCE3 74AF 8FCCE3 <CJK>
+8FCCE4 74B1 8FCCE4 <CJK>
+8FCCE5 74B2 8FCCE5 <CJK>
+8FCCE6 74B5 8FCCE6 <CJK>
+8FCCE7 74B9 8FCCE7 <CJK>
+8FCCE8 74BB 8FCCE8 <CJK>
+8FCCE9 74BF 8FCCE9 <CJK>
+8FCCEA 74C8 8FCCEA <CJK>
+8FCCEB 74C9 8FCCEB <CJK>
+8FCCEC 74CC 8FCCEC <CJK>
+8FCCED 74D0 8FCCED <CJK>
+8FCCEE 74D3 8FCCEE <CJK>
+8FCCEF 74D8 8FCCEF <CJK>
+8FCCF0 74DA 8FCCF0 <CJK>
+8FCCF1 74DB 8FCCF1 <CJK>
+8FCCF2 74DE 8FCCF2 <CJK>
+8FCCF3 74DF 8FCCF3 <CJK>
+8FCCF4 74E4 8FCCF4 <CJK>
+8FCCF5 74E8 8FCCF5 <CJK>
+8FCCF6 74EA 8FCCF6 <CJK>
+8FCCF7 74EB 8FCCF7 <CJK>
+8FCCF8 74EF 8FCCF8 <CJK>
+8FCCF9 74F4 8FCCF9 <CJK>
+8FCCFA 74FA 8FCCFA <CJK>
+8FCCFB 74FB 8FCCFB <CJK>
+8FCCFC 74FC 8FCCFC <CJK>
+8FCCFD 74FF 8FCCFD <CJK>
+8FCCFE 7506 8FCCFE <CJK>
+8FCDA1 7512 8FCDA1 <CJK>
+8FCDA2 7516 8FCDA2 <CJK>
+8FCDA3 7517 8FCDA3 <CJK>
+8FCDA4 7520 8FCDA4 <CJK>
+8FCDA5 7521 8FCDA5 <CJK>
+8FCDA6 7524 8FCDA6 <CJK>
+8FCDA7 7527 8FCDA7 <CJK>
+8FCDA8 7529 8FCDA8 <CJK>
+8FCDA9 752A 8FCDA9 <CJK>
+8FCDAA 752F 8FCDAA <CJK>
+8FCDAB 7536 8FCDAB <CJK>
+8FCDAC 7539 8FCDAC <CJK>
+8FCDAD 753D 8FCDAD <CJK>
+8FCDAE 753E 8FCDAE <CJK>
+8FCDAF 753F 8FCDAF <CJK>
+8FCDB0 7540 8FCDB0 <CJK>
+8FCDB1 7543 8FCDB1 <CJK>
+8FCDB2 7547 8FCDB2 <CJK>
+8FCDB3 7548 8FCDB3 <CJK>
+8FCDB4 754E 8FCDB4 <CJK>
+8FCDB5 7550 8FCDB5 <CJK>
+8FCDB6 7552 8FCDB6 <CJK>
+8FCDB7 7557 8FCDB7 <CJK>
+8FCDB8 755E 8FCDB8 <CJK>
+8FCDB9 755F 8FCDB9 <CJK>
+8FCDBA 7561 8FCDBA <CJK>
+8FCDBB 756F 8FCDBB <CJK>
+8FCDBC 7571 8FCDBC <CJK>
+8FCDBD 7579 8FCDBD <CJK>
+8FCDBE 757A 8FCDBE <CJK>
+8FCDBF 757B 8FCDBF <CJK>
+8FCDC0 757C 8FCDC0 <CJK>
+8FCDC1 757D 8FCDC1 <CJK>
+8FCDC2 757E 8FCDC2 <CJK>
+8FCDC3 7581 8FCDC3 <CJK>
+8FCDC4 7585 8FCDC4 <CJK>
+8FCDC5 7590 8FCDC5 <CJK>
+8FCDC6 7592 8FCDC6 <CJK>
+8FCDC7 7593 8FCDC7 <CJK>
+8FCDC8 7595 8FCDC8 <CJK>
+8FCDC9 7599 8FCDC9 <CJK>
+8FCDCA 759C 8FCDCA <CJK>
+8FCDCB 75A2 8FCDCB <CJK>
+8FCDCC 75A4 8FCDCC <CJK>
+8FCDCD 75B4 8FCDCD <CJK>
+8FCDCE 75BA 8FCDCE <CJK>
+8FCDCF 75BF 8FCDCF <CJK>
+8FCDD0 75C0 8FCDD0 <CJK>
+8FCDD1 75C1 8FCDD1 <CJK>
+8FCDD2 75C4 8FCDD2 <CJK>
+8FCDD3 75C6 8FCDD3 <CJK>
+8FCDD4 75CC 8FCDD4 <CJK>
+8FCDD5 75CE 8FCDD5 <CJK>
+8FCDD6 75CF 8FCDD6 <CJK>
+8FCDD7 75D7 8FCDD7 <CJK>
+8FCDD8 75DC 8FCDD8 <CJK>
+8FCDD9 75DF 8FCDD9 <CJK>
+8FCDDA 75E0 8FCDDA <CJK>
+8FCDDB 75E1 8FCDDB <CJK>
+8FCDDC 75E4 8FCDDC <CJK>
+8FCDDD 75E7 8FCDDD <CJK>
+8FCDDE 75EC 8FCDDE <CJK>
+8FCDDF 75EE 8FCDDF <CJK>
+8FCDE0 75EF 8FCDE0 <CJK>
+8FCDE1 75F1 8FCDE1 <CJK>
+8FCDE2 75F9 8FCDE2 <CJK>
+8FCDE3 7600 8FCDE3 <CJK>
+8FCDE4 7602 8FCDE4 <CJK>
+8FCDE5 7603 8FCDE5 <CJK>
+8FCDE6 7604 8FCDE6 <CJK>
+8FCDE7 7607 8FCDE7 <CJK>
+8FCDE8 7608 8FCDE8 <CJK>
+8FCDE9 760A 8FCDE9 <CJK>
+8FCDEA 760C 8FCDEA <CJK>
+8FCDEB 760F 8FCDEB <CJK>
+8FCDEC 7612 8FCDEC <CJK>
+8FCDED 7613 8FCDED <CJK>
+8FCDEE 7615 8FCDEE <CJK>
+8FCDEF 7616 8FCDEF <CJK>
+8FCDF0 7619 8FCDF0 <CJK>
+8FCDF1 761B 8FCDF1 <CJK>
+8FCDF2 761C 8FCDF2 <CJK>
+8FCDF3 761D 8FCDF3 <CJK>
+8FCDF4 761E 8FCDF4 <CJK>
+8FCDF5 7623 8FCDF5 <CJK>
+8FCDF6 7625 8FCDF6 <CJK>
+8FCDF7 7626 8FCDF7 <CJK>
+8FCDF8 7629 8FCDF8 <CJK>
+8FCDF9 762D 8FCDF9 <CJK>
+8FCDFA 7632 8FCDFA <CJK>
+8FCDFB 7633 8FCDFB <CJK>
+8FCDFC 7635 8FCDFC <CJK>
+8FCDFD 7638 8FCDFD <CJK>
+8FCDFE 7639 8FCDFE <CJK>
+8FCEA1 763A 8FCEA1 <CJK>
+8FCEA2 763C 8FCEA2 <CJK>
+8FCEA3 764A 8FCEA3 <CJK>
+8FCEA4 7640 8FCEA4 <CJK>
+8FCEA5 7641 8FCEA5 <CJK>
+8FCEA6 7643 8FCEA6 <CJK>
+8FCEA7 7644 8FCEA7 <CJK>
+8FCEA8 7645 8FCEA8 <CJK>
+8FCEA9 7649 8FCEA9 <CJK>
+8FCEAA 764B 8FCEAA <CJK>
+8FCEAB 7655 8FCEAB <CJK>
+8FCEAC 7659 8FCEAC <CJK>
+8FCEAD 765F 8FCEAD <CJK>
+8FCEAE 7664 8FCEAE <CJK>
+8FCEAF 7665 8FCEAF <CJK>
+8FCEB0 766D 8FCEB0 <CJK>
+8FCEB1 766E 8FCEB1 <CJK>
+8FCEB2 766F 8FCEB2 <CJK>
+8FCEB3 7671 8FCEB3 <CJK>
+8FCEB4 7674 8FCEB4 <CJK>
+8FCEB5 7681 8FCEB5 <CJK>
+8FCEB6 7685 8FCEB6 <CJK>
+8FCEB7 768C 8FCEB7 <CJK>
+8FCEB8 768D 8FCEB8 <CJK>
+8FCEB9 7695 8FCEB9 <CJK>
+8FCEBA 769B 8FCEBA <CJK>
+8FCEBB 769C 8FCEBB <CJK>
+8FCEBC 769D 8FCEBC <CJK>
+8FCEBD 769F 8FCEBD <CJK>
+8FCEBE 76A0 8FCEBE <CJK>
+8FCEBF 76A2 8FCEBF <CJK>
+8FCEC0 76A3 8FCEC0 <CJK>
+8FCEC1 76A4 8FCEC1 <CJK>
+8FCEC2 76A5 8FCEC2 <CJK>
+8FCEC3 76A6 8FCEC3 <CJK>
+8FCEC4 76A7 8FCEC4 <CJK>
+8FCEC5 76A8 8FCEC5 <CJK>
+8FCEC6 76AA 8FCEC6 <CJK>
+8FCEC7 76AD 8FCEC7 <CJK>
+8FCEC8 76BD 8FCEC8 <CJK>
+8FCEC9 76C1 8FCEC9 <CJK>
+8FCECA 76C5 8FCECA <CJK>
+8FCECB 76C9 8FCECB <CJK>
+8FCECC 76CB 8FCECC <CJK>
+8FCECD 76CC 8FCECD <CJK>
+8FCECE 76CE 8FCECE <CJK>
+8FCECF 76D4 8FCECF <CJK>
+8FCED0 76D9 8FCED0 <CJK>
+8FCED1 76E0 8FCED1 <CJK>
+8FCED2 76E6 8FCED2 <CJK>
+8FCED3 76E8 8FCED3 <CJK>
+8FCED4 76EC 8FCED4 <CJK>
+8FCED5 76F0 8FCED5 <CJK>
+8FCED6 76F1 8FCED6 <CJK>
+8FCED7 76F6 8FCED7 <CJK>
+8FCED8 76F9 8FCED8 <CJK>
+8FCED9 76FC 8FCED9 <CJK>
+8FCEDA 7700 8FCEDA <CJK>
+8FCEDB 7706 8FCEDB <CJK>
+8FCEDC 770A 8FCEDC <CJK>
+8FCEDD 770E 8FCEDD <CJK>
+8FCEDE 7712 8FCEDE <CJK>
+8FCEDF 7714 8FCEDF <CJK>
+8FCEE0 7715 8FCEE0 <CJK>
+8FCEE1 7717 8FCEE1 <CJK>
+8FCEE2 7719 8FCEE2 <CJK>
+8FCEE3 771A 8FCEE3 <CJK>
+8FCEE4 771C 8FCEE4 <CJK>
+8FCEE5 7722 8FCEE5 <CJK>
+8FCEE6 7728 8FCEE6 <CJK>
+8FCEE7 772D 8FCEE7 <CJK>
+8FCEE8 772E 8FCEE8 <CJK>
+8FCEE9 772F 8FCEE9 <CJK>
+8FCEEA 7734 8FCEEA <CJK>
+8FCEEB 7735 8FCEEB <CJK>
+8FCEEC 7736 8FCEEC <CJK>
+8FCEED 7739 8FCEED <CJK>
+8FCEEE 773D 8FCEEE <CJK>
+8FCEEF 773E 8FCEEF <CJK>
+8FCEF0 7742 8FCEF0 <CJK>
+8FCEF1 7745 8FCEF1 <CJK>
+8FCEF2 7746 8FCEF2 <CJK>
+8FCEF3 774A 8FCEF3 <CJK>
+8FCEF4 774D 8FCEF4 <CJK>
+8FCEF5 774E 8FCEF5 <CJK>
+8FCEF6 774F 8FCEF6 <CJK>
+8FCEF7 7752 8FCEF7 <CJK>
+8FCEF8 7756 8FCEF8 <CJK>
+8FCEF9 7757 8FCEF9 <CJK>
+8FCEFA 775C 8FCEFA <CJK>
+8FCEFB 775E 8FCEFB <CJK>
+8FCEFC 775F 8FCEFC <CJK>
+8FCEFD 7760 8FCEFD <CJK>
+8FCEFE 7762 8FCEFE <CJK>
+8FCFA1 7764 8FCFA1 <CJK>
+8FCFA2 7767 8FCFA2 <CJK>
+8FCFA3 776A 8FCFA3 <CJK>
+8FCFA4 776C 8FCFA4 <CJK>
+8FCFA5 7770 8FCFA5 <CJK>
+8FCFA6 7772 8FCFA6 <CJK>
+8FCFA7 7773 8FCFA7 <CJK>
+8FCFA8 7774 8FCFA8 <CJK>
+8FCFA9 777A 8FCFA9 <CJK>
+8FCFAA 777D 8FCFAA <CJK>
+8FCFAB 7780 8FCFAB <CJK>
+8FCFAC 7784 8FCFAC <CJK>
+8FCFAD 778C 8FCFAD <CJK>
+8FCFAE 778D 8FCFAE <CJK>
+8FCFAF 7794 8FCFAF <CJK>
+8FCFB0 7795 8FCFB0 <CJK>
+8FCFB1 7796 8FCFB1 <CJK>
+8FCFB2 779A 8FCFB2 <CJK>
+8FCFB3 779F 8FCFB3 <CJK>
+8FCFB4 77A2 8FCFB4 <CJK>
+8FCFB5 77A7 8FCFB5 <CJK>
+8FCFB6 77AA 8FCFB6 <CJK>
+8FCFB7 77AE 8FCFB7 <CJK>
+8FCFB8 77AF 8FCFB8 <CJK>
+8FCFB9 77B1 8FCFB9 <CJK>
+8FCFBA 77B5 8FCFBA <CJK>
+8FCFBB 77BE 8FCFBB <CJK>
+8FCFBC 77C3 8FCFBC <CJK>
+8FCFBD 77C9 8FCFBD <CJK>
+8FCFBE 77D1 8FCFBE <CJK>
+8FCFBF 77D2 8FCFBF <CJK>
+8FCFC0 77D5 8FCFC0 <CJK>
+8FCFC1 77D9 8FCFC1 <CJK>
+8FCFC2 77DE 8FCFC2 <CJK>
+8FCFC3 77DF 8FCFC3 <CJK>
+8FCFC4 77E0 8FCFC4 <CJK>
+8FCFC5 77E4 8FCFC5 <CJK>
+8FCFC6 77E6 8FCFC6 <CJK>
+8FCFC7 77EA 8FCFC7 <CJK>
+8FCFC8 77EC 8FCFC8 <CJK>
+8FCFC9 77F0 8FCFC9 <CJK>
+8FCFCA 77F1 8FCFCA <CJK>
+8FCFCB 77F4 8FCFCB <CJK>
+8FCFCC 77F8 8FCFCC <CJK>
+8FCFCD 77FB 8FCFCD <CJK>
+8FCFCE 7805 8FCFCE <CJK>
+8FCFCF 7806 8FCFCF <CJK>
+8FCFD0 7809 8FCFD0 <CJK>
+8FCFD1 780D 8FCFD1 <CJK>
+8FCFD2 780E 8FCFD2 <CJK>
+8FCFD3 7811 8FCFD3 <CJK>
+8FCFD4 781D 8FCFD4 <CJK>
+8FCFD5 7821 8FCFD5 <CJK>
+8FCFD6 7822 8FCFD6 <CJK>
+8FCFD7 7823 8FCFD7 <CJK>
+8FCFD8 782D 8FCFD8 <CJK>
+8FCFD9 782E 8FCFD9 <CJK>
+8FCFDA 7830 8FCFDA <CJK>
+8FCFDB 7835 8FCFDB <CJK>
+8FCFDC 7837 8FCFDC <CJK>
+8FCFDD 7843 8FCFDD <CJK>
+8FCFDE 7844 8FCFDE <CJK>
+8FCFDF 7847 8FCFDF <CJK>
+8FCFE0 7848 8FCFE0 <CJK>
+8FCFE1 784C 8FCFE1 <CJK>
+8FCFE2 784E 8FCFE2 <CJK>
+8FCFE3 7852 8FCFE3 <CJK>
+8FCFE4 785C 8FCFE4 <CJK>
+8FCFE5 785E 8FCFE5 <CJK>
+8FCFE6 7860 8FCFE6 <CJK>
+8FCFE7 7861 8FCFE7 <CJK>
+8FCFE8 7863 8FCFE8 <CJK>
+8FCFE9 7864 8FCFE9 <CJK>
+8FCFEA 7868 8FCFEA <CJK>
+8FCFEB 786A 8FCFEB <CJK>
+8FCFEC 786E 8FCFEC <CJK>
+8FCFED 787A 8FCFED <CJK>
+8FCFEE 787E 8FCFEE <CJK>
+8FCFEF 788A 8FCFEF <CJK>
+8FCFF0 788F 8FCFF0 <CJK>
+8FCFF1 7894 8FCFF1 <CJK>
+8FCFF2 7898 8FCFF2 <CJK>
+8FCFF3 78A1 8FCFF3 <CJK>
+8FCFF4 789D 8FCFF4 <CJK>
+8FCFF5 789E 8FCFF5 <CJK>
+8FCFF6 789F 8FCFF6 <CJK>
+8FCFF7 78A4 8FCFF7 <CJK>
+8FCFF8 78A8 8FCFF8 <CJK>
+8FCFF9 78AC 8FCFF9 <CJK>
+8FCFFA 78AD 8FCFFA <CJK>
+8FCFFB 78B0 8FCFFB <CJK>
+8FCFFC 78B1 8FCFFC <CJK>
+8FCFFD 78B2 8FCFFD <CJK>
+8FCFFE 78B3 8FCFFE <CJK>
+8FD0A1 78BB 8FD0A1 <CJK>
+8FD0A2 78BD 8FD0A2 <CJK>
+8FD0A3 78BF 8FD0A3 <CJK>
+8FD0A4 78C7 8FD0A4 <CJK>
+8FD0A5 78C8 8FD0A5 <CJK>
+8FD0A6 78C9 8FD0A6 <CJK>
+8FD0A7 78CC 8FD0A7 <CJK>
+8FD0A8 78CE 8FD0A8 <CJK>
+8FD0A9 78D2 8FD0A9 <CJK>
+8FD0AA 78D3 8FD0AA <CJK>
+8FD0AB 78D5 8FD0AB <CJK>
+8FD0AC 78D6 8FD0AC <CJK>
+8FD0AD 78E4 8FD0AD <CJK>
+8FD0AE 78DB 8FD0AE <CJK>
+8FD0AF 78DF 8FD0AF <CJK>
+8FD0B0 78E0 8FD0B0 <CJK>
+8FD0B1 78E1 8FD0B1 <CJK>
+8FD0B2 78E6 8FD0B2 <CJK>
+8FD0B3 78EA 8FD0B3 <CJK>
+8FD0B4 78F2 8FD0B4 <CJK>
+8FD0B5 78F3 8FD0B5 <CJK>
+8FD0B6 7900 8FD0B6 <CJK>
+8FD0B7 78F6 8FD0B7 <CJK>
+8FD0B8 78F7 8FD0B8 <CJK>
+8FD0B9 78FA 8FD0B9 <CJK>
+8FD0BA 78FB 8FD0BA <CJK>
+8FD0BB 78FF 8FD0BB <CJK>
+8FD0BC 7906 8FD0BC <CJK>
+8FD0BD 790C 8FD0BD <CJK>
+8FD0BE 7910 8FD0BE <CJK>
+8FD0BF 791A 8FD0BF <CJK>
+8FD0C0 791C 8FD0C0 <CJK>
+8FD0C1 791E 8FD0C1 <CJK>
+8FD0C2 791F 8FD0C2 <CJK>
+8FD0C3 7920 8FD0C3 <CJK>
+8FD0C4 7925 8FD0C4 <CJK>
+8FD0C5 7927 8FD0C5 <CJK>
+8FD0C6 7929 8FD0C6 <CJK>
+8FD0C7 792D 8FD0C7 <CJK>
+8FD0C8 7931 8FD0C8 <CJK>
+8FD0C9 7934 8FD0C9 <CJK>
+8FD0CA 7935 8FD0CA <CJK>
+8FD0CB 793B 8FD0CB <CJK>
+8FD0CC 793D 8FD0CC <CJK>
+8FD0CD 793F 8FD0CD <CJK>
+8FD0CE 7944 8FD0CE <CJK>
+8FD0CF 7945 8FD0CF <CJK>
+8FD0D0 7946 8FD0D0 <CJK>
+8FD0D1 794A 8FD0D1 <CJK>
+8FD0D2 794B 8FD0D2 <CJK>
+8FD0D3 794F 8FD0D3 <CJK>
+8FD0D4 7951 8FD0D4 <CJK>
+8FD0D5 7954 8FD0D5 <CJK>
+8FD0D6 7958 8FD0D6 <CJK>
+8FD0D7 795B 8FD0D7 <CJK>
+8FD0D8 795C 8FD0D8 <CJK>
+8FD0D9 7967 8FD0D9 <CJK>
+8FD0DA 7969 8FD0DA <CJK>
+8FD0DB 796B 8FD0DB <CJK>
+8FD0DC 7972 8FD0DC <CJK>
+8FD0DD 7979 8FD0DD <CJK>
+8FD0DE 797B 8FD0DE <CJK>
+8FD0DF 797C 8FD0DF <CJK>
+8FD0E0 797E 8FD0E0 <CJK>
+8FD0E1 798B 8FD0E1 <CJK>
+8FD0E2 798C 8FD0E2 <CJK>
+8FD0E3 7991 8FD0E3 <CJK>
+8FD0E4 7993 8FD0E4 <CJK>
+8FD0E5 7994 8FD0E5 <CJK>
+8FD0E6 7995 8FD0E6 <CJK>
+8FD0E7 7996 8FD0E7 <CJK>
+8FD0E8 7998 8FD0E8 <CJK>
+8FD0E9 799B 8FD0E9 <CJK>
+8FD0EA 799C 8FD0EA <CJK>
+8FD0EB 79A1 8FD0EB <CJK>
+8FD0EC 79A8 8FD0EC <CJK>
+8FD0ED 79A9 8FD0ED <CJK>
+8FD0EE 79AB 8FD0EE <CJK>
+8FD0EF 79AF 8FD0EF <CJK>
+8FD0F0 79B1 8FD0F0 <CJK>
+8FD0F1 79B4 8FD0F1 <CJK>
+8FD0F2 79B8 8FD0F2 <CJK>
+8FD0F3 79BB 8FD0F3 <CJK>
+8FD0F4 79C2 8FD0F4 <CJK>
+8FD0F5 79C4 8FD0F5 <CJK>
+8FD0F6 79C7 8FD0F6 <CJK>
+8FD0F7 79C8 8FD0F7 <CJK>
+8FD0F8 79CA 8FD0F8 <CJK>
+8FD0F9 79CF 8FD0F9 <CJK>
+8FD0FA 79D4 8FD0FA <CJK>
+8FD0FB 79D6 8FD0FB <CJK>
+8FD0FC 79DA 8FD0FC <CJK>
+8FD0FD 79DD 8FD0FD <CJK>
+8FD0FE 79DE 8FD0FE <CJK>
+8FD1A1 79E0 8FD1A1 <CJK>
+8FD1A2 79E2 8FD1A2 <CJK>
+8FD1A3 79E5 8FD1A3 <CJK>
+8FD1A4 79EA 8FD1A4 <CJK>
+8FD1A5 79EB 8FD1A5 <CJK>
+8FD1A6 79ED 8FD1A6 <CJK>
+8FD1A7 79F1 8FD1A7 <CJK>
+8FD1A8 79F8 8FD1A8 <CJK>
+8FD1A9 79FC 8FD1A9 <CJK>
+8FD1AA 7A02 8FD1AA <CJK>
+8FD1AB 7A03 8FD1AB <CJK>
+8FD1AC 7A07 8FD1AC <CJK>
+8FD1AD 7A09 8FD1AD <CJK>
+8FD1AE 7A0A 8FD1AE <CJK>
+8FD1AF 7A0C 8FD1AF <CJK>
+8FD1B0 7A11 8FD1B0 <CJK>
+8FD1B1 7A15 8FD1B1 <CJK>
+8FD1B2 7A1B 8FD1B2 <CJK>
+8FD1B3 7A1E 8FD1B3 <CJK>
+8FD1B4 7A21 8FD1B4 <CJK>
+8FD1B5 7A27 8FD1B5 <CJK>
+8FD1B6 7A2B 8FD1B6 <CJK>
+8FD1B7 7A2D 8FD1B7 <CJK>
+8FD1B8 7A2F 8FD1B8 <CJK>
+8FD1B9 7A30 8FD1B9 <CJK>
+8FD1BA 7A34 8FD1BA <CJK>
+8FD1BB 7A35 8FD1BB <CJK>
+8FD1BC 7A38 8FD1BC <CJK>
+8FD1BD 7A39 8FD1BD <CJK>
+8FD1BE 7A3A 8FD1BE <CJK>
+8FD1BF 7A44 8FD1BF <CJK>
+8FD1C0 7A45 8FD1C0 <CJK>
+8FD1C1 7A47 8FD1C1 <CJK>
+8FD1C2 7A48 8FD1C2 <CJK>
+8FD1C3 7A4C 8FD1C3 <CJK>
+8FD1C4 7A55 8FD1C4 <CJK>
+8FD1C5 7A56 8FD1C5 <CJK>
+8FD1C6 7A59 8FD1C6 <CJK>
+8FD1C7 7A5C 8FD1C7 <CJK>
+8FD1C8 7A5D 8FD1C8 <CJK>
+8FD1C9 7A5F 8FD1C9 <CJK>
+8FD1CA 7A60 8FD1CA <CJK>
+8FD1CB 7A65 8FD1CB <CJK>
+8FD1CC 7A67 8FD1CC <CJK>
+8FD1CD 7A6A 8FD1CD <CJK>
+8FD1CE 7A6D 8FD1CE <CJK>
+8FD1CF 7A75 8FD1CF <CJK>
+8FD1D0 7A78 8FD1D0 <CJK>
+8FD1D1 7A7E 8FD1D1 <CJK>
+8FD1D2 7A80 8FD1D2 <CJK>
+8FD1D3 7A82 8FD1D3 <CJK>
+8FD1D4 7A85 8FD1D4 <CJK>
+8FD1D5 7A86 8FD1D5 <CJK>
+8FD1D6 7A8A 8FD1D6 <CJK>
+8FD1D7 7A8B 8FD1D7 <CJK>
+8FD1D8 7A90 8FD1D8 <CJK>
+8FD1D9 7A91 8FD1D9 <CJK>
+8FD1DA 7A94 8FD1DA <CJK>
+8FD1DB 7A9E 8FD1DB <CJK>
+8FD1DC 7AA0 8FD1DC <CJK>
+8FD1DD 7AA3 8FD1DD <CJK>
+8FD1DE 7AAC 8FD1DE <CJK>
+8FD1DF 7AB3 8FD1DF <CJK>
+8FD1E0 7AB5 8FD1E0 <CJK>
+8FD1E1 7AB9 8FD1E1 <CJK>
+8FD1E2 7ABB 8FD1E2 <CJK>
+8FD1E3 7ABC 8FD1E3 <CJK>
+8FD1E4 7AC6 8FD1E4 <CJK>
+8FD1E5 7AC9 8FD1E5 <CJK>
+8FD1E6 7ACC 8FD1E6 <CJK>
+8FD1E7 7ACE 8FD1E7 <CJK>
+8FD1E8 7AD1 8FD1E8 <CJK>
+8FD1E9 7ADB 8FD1E9 <CJK>
+8FD1EA 7AE8 8FD1EA <CJK>
+8FD1EB 7AE9 8FD1EB <CJK>
+8FD1EC 7AEB 8FD1EC <CJK>
+8FD1ED 7AEC 8FD1ED <CJK>
+8FD1EE 7AF1 8FD1EE <CJK>
+8FD1EF 7AF4 8FD1EF <CJK>
+8FD1F0 7AFB 8FD1F0 <CJK>
+8FD1F1 7AFD 8FD1F1 <CJK>
+8FD1F2 7AFE 8FD1F2 <CJK>
+8FD1F3 7B07 8FD1F3 <CJK>
+8FD1F4 7B14 8FD1F4 <CJK>
+8FD1F5 7B1F 8FD1F5 <CJK>
+8FD1F6 7B23 8FD1F6 <CJK>
+8FD1F7 7B27 8FD1F7 <CJK>
+8FD1F8 7B29 8FD1F8 <CJK>
+8FD1F9 7B2A 8FD1F9 <CJK>
+8FD1FA 7B2B 8FD1FA <CJK>
+8FD1FB 7B2D 8FD1FB <CJK>
+8FD1FC 7B2E 8FD1FC <CJK>
+8FD1FD 7B2F 8FD1FD <CJK>
+8FD1FE 7B30 8FD1FE <CJK>
+8FD2A1 7B31 8FD2A1 <CJK>
+8FD2A2 7B34 8FD2A2 <CJK>
+8FD2A3 7B3D 8FD2A3 <CJK>
+8FD2A4 7B3F 8FD2A4 <CJK>
+8FD2A5 7B40 8FD2A5 <CJK>
+8FD2A6 7B41 8FD2A6 <CJK>
+8FD2A7 7B47 8FD2A7 <CJK>
+8FD2A8 7B4E 8FD2A8 <CJK>
+8FD2A9 7B55 8FD2A9 <CJK>
+8FD2AA 7B60 8FD2AA <CJK>
+8FD2AB 7B64 8FD2AB <CJK>
+8FD2AC 7B66 8FD2AC <CJK>
+8FD2AD 7B69 8FD2AD <CJK>
+8FD2AE 7B6A 8FD2AE <CJK>
+8FD2AF 7B6D 8FD2AF <CJK>
+8FD2B0 7B6F 8FD2B0 <CJK>
+8FD2B1 7B72 8FD2B1 <CJK>
+8FD2B2 7B73 8FD2B2 <CJK>
+8FD2B3 7B77 8FD2B3 <CJK>
+8FD2B4 7B84 8FD2B4 <CJK>
+8FD2B5 7B89 8FD2B5 <CJK>
+8FD2B6 7B8E 8FD2B6 <CJK>
+8FD2B7 7B90 8FD2B7 <CJK>
+8FD2B8 7B91 8FD2B8 <CJK>
+8FD2B9 7B96 8FD2B9 <CJK>
+8FD2BA 7B9B 8FD2BA <CJK>
+8FD2BB 7B9E 8FD2BB <CJK>
+8FD2BC 7BA0 8FD2BC <CJK>
+8FD2BD 7BA5 8FD2BD <CJK>
+8FD2BE 7BAC 8FD2BE <CJK>
+8FD2BF 7BAF 8FD2BF <CJK>
+8FD2C0 7BB0 8FD2C0 <CJK>
+8FD2C1 7BB2 8FD2C1 <CJK>
+8FD2C2 7BB5 8FD2C2 <CJK>
+8FD2C3 7BB6 8FD2C3 <CJK>
+8FD2C4 7BBA 8FD2C4 <CJK>
+8FD2C5 7BBB 8FD2C5 <CJK>
+8FD2C6 7BBC 8FD2C6 <CJK>
+8FD2C7 7BBD 8FD2C7 <CJK>
+8FD2C8 7BC2 8FD2C8 <CJK>
+8FD2C9 7BC5 8FD2C9 <CJK>
+8FD2CA 7BC8 8FD2CA <CJK>
+8FD2CB 7BCA 8FD2CB <CJK>
+8FD2CC 7BD4 8FD2CC <CJK>
+8FD2CD 7BD6 8FD2CD <CJK>
+8FD2CE 7BD7 8FD2CE <CJK>
+8FD2CF 7BD9 8FD2CF <CJK>
+8FD2D0 7BDA 8FD2D0 <CJK>
+8FD2D1 7BDB 8FD2D1 <CJK>
+8FD2D2 7BE8 8FD2D2 <CJK>
+8FD2D3 7BEA 8FD2D3 <CJK>
+8FD2D4 7BF2 8FD2D4 <CJK>
+8FD2D5 7BF4 8FD2D5 <CJK>
+8FD2D6 7BF5 8FD2D6 <CJK>
+8FD2D7 7BF8 8FD2D7 <CJK>
+8FD2D8 7BF9 8FD2D8 <CJK>
+8FD2D9 7BFA 8FD2D9 <CJK>
+8FD2DA 7BFC 8FD2DA <CJK>
+8FD2DB 7BFE 8FD2DB <CJK>
+8FD2DC 7C01 8FD2DC <CJK>
+8FD2DD 7C02 8FD2DD <CJK>
+8FD2DE 7C03 8FD2DE <CJK>
+8FD2DF 7C04 8FD2DF <CJK>
+8FD2E0 7C06 8FD2E0 <CJK>
+8FD2E1 7C09 8FD2E1 <CJK>
+8FD2E2 7C0B 8FD2E2 <CJK>
+8FD2E3 7C0C 8FD2E3 <CJK>
+8FD2E4 7C0E 8FD2E4 <CJK>
+8FD2E5 7C0F 8FD2E5 <CJK>
+8FD2E6 7C19 8FD2E6 <CJK>
+8FD2E7 7C1B 8FD2E7 <CJK>
+8FD2E8 7C20 8FD2E8 <CJK>
+8FD2E9 7C25 8FD2E9 <CJK>
+8FD2EA 7C26 8FD2EA <CJK>
+8FD2EB 7C28 8FD2EB <CJK>
+8FD2EC 7C2C 8FD2EC <CJK>
+8FD2ED 7C31 8FD2ED <CJK>
+8FD2EE 7C33 8FD2EE <CJK>
+8FD2EF 7C34 8FD2EF <CJK>
+8FD2F0 7C36 8FD2F0 <CJK>
+8FD2F1 7C39 8FD2F1 <CJK>
+8FD2F2 7C3A 8FD2F2 <CJK>
+8FD2F3 7C46 8FD2F3 <CJK>
+8FD2F4 7C4A 8FD2F4 <CJK>
+8FD2F5 7C55 8FD2F5 <CJK>
+8FD2F6 7C51 8FD2F6 <CJK>
+8FD2F7 7C52 8FD2F7 <CJK>
+8FD2F8 7C53 8FD2F8 <CJK>
+8FD2F9 7C59 8FD2F9 <CJK>
+8FD2FA 7C5A 8FD2FA <CJK>
+8FD2FB 7C5B 8FD2FB <CJK>
+8FD2FC 7C5C 8FD2FC <CJK>
+8FD2FD 7C5D 8FD2FD <CJK>
+8FD2FE 7C5E 8FD2FE <CJK>
+8FD3A1 7C61 8FD3A1 <CJK>
+8FD3A2 7C63 8FD3A2 <CJK>
+8FD3A3 7C67 8FD3A3 <CJK>
+8FD3A4 7C69 8FD3A4 <CJK>
+8FD3A5 7C6D 8FD3A5 <CJK>
+8FD3A6 7C6E 8FD3A6 <CJK>
+8FD3A7 7C70 8FD3A7 <CJK>
+8FD3A8 7C72 8FD3A8 <CJK>
+8FD3A9 7C79 8FD3A9 <CJK>
+8FD3AA 7C7C 8FD3AA <CJK>
+8FD3AB 7C7D 8FD3AB <CJK>
+8FD3AC 7C86 8FD3AC <CJK>
+8FD3AD 7C87 8FD3AD <CJK>
+8FD3AE 7C8F 8FD3AE <CJK>
+8FD3AF 7C94 8FD3AF <CJK>
+8FD3B0 7C9E 8FD3B0 <CJK>
+8FD3B1 7CA0 8FD3B1 <CJK>
+8FD3B2 7CA6 8FD3B2 <CJK>
+8FD3B3 7CB0 8FD3B3 <CJK>
+8FD3B4 7CB6 8FD3B4 <CJK>
+8FD3B5 7CB7 8FD3B5 <CJK>
+8FD3B6 7CBA 8FD3B6 <CJK>
+8FD3B7 7CBB 8FD3B7 <CJK>
+8FD3B8 7CBC 8FD3B8 <CJK>
+8FD3B9 7CBF 8FD3B9 <CJK>
+8FD3BA 7CC4 8FD3BA <CJK>
+8FD3BB 7CC7 8FD3BB <CJK>
+8FD3BC 7CC8 8FD3BC <CJK>
+8FD3BD 7CC9 8FD3BD <CJK>
+8FD3BE 7CCD 8FD3BE <CJK>
+8FD3BF 7CCF 8FD3BF <CJK>
+8FD3C0 7CD3 8FD3C0 <CJK>
+8FD3C1 7CD4 8FD3C1 <CJK>
+8FD3C2 7CD5 8FD3C2 <CJK>
+8FD3C3 7CD7 8FD3C3 <CJK>
+8FD3C4 7CD9 8FD3C4 <CJK>
+8FD3C5 7CDA 8FD3C5 <CJK>
+8FD3C6 7CDD 8FD3C6 <CJK>
+8FD3C7 7CE6 8FD3C7 <CJK>
+8FD3C8 7CE9 8FD3C8 <CJK>
+8FD3C9 7CEB 8FD3C9 <CJK>
+8FD3CA 7CF5 8FD3CA <CJK>
+8FD3CB 7D03 8FD3CB <CJK>
+8FD3CC 7D07 8FD3CC <CJK>
+8FD3CD 7D08 8FD3CD <CJK>
+8FD3CE 7D09 8FD3CE <CJK>
+8FD3CF 7D0F 8FD3CF <CJK>
+8FD3D0 7D11 8FD3D0 <CJK>
+8FD3D1 7D12 8FD3D1 <CJK>
+8FD3D2 7D13 8FD3D2 <CJK>
+8FD3D3 7D16 8FD3D3 <CJK>
+8FD3D4 7D1D 8FD3D4 <CJK>
+8FD3D5 7D1E 8FD3D5 <CJK>
+8FD3D6 7D23 8FD3D6 <CJK>
+8FD3D7 7D26 8FD3D7 <CJK>
+8FD3D8 7D2A 8FD3D8 <CJK>
+8FD3D9 7D2D 8FD3D9 <CJK>
+8FD3DA 7D31 8FD3DA <CJK>
+8FD3DB 7D3C 8FD3DB <CJK>
+8FD3DC 7D3D 8FD3DC <CJK>
+8FD3DD 7D3E 8FD3DD <CJK>
+8FD3DE 7D40 8FD3DE <CJK>
+8FD3DF 7D41 8FD3DF <CJK>
+8FD3E0 7D47 8FD3E0 <CJK>
+8FD3E1 7D48 8FD3E1 <CJK>
+8FD3E2 7D4D 8FD3E2 <CJK>
+8FD3E3 7D51 8FD3E3 <CJK>
+8FD3E4 7D53 8FD3E4 <CJK>
+8FD3E5 7D57 8FD3E5 <CJK>
+8FD3E6 7D59 8FD3E6 <CJK>
+8FD3E7 7D5A 8FD3E7 <CJK>
+8FD3E8 7D5C 8FD3E8 <CJK>
+8FD3E9 7D5D 8FD3E9 <CJK>
+8FD3EA 7D65 8FD3EA <CJK>
+8FD3EB 7D67 8FD3EB <CJK>
+8FD3EC 7D6A 8FD3EC <CJK>
+8FD3ED 7D70 8FD3ED <CJK>
+8FD3EE 7D78 8FD3EE <CJK>
+8FD3EF 7D7A 8FD3EF <CJK>
+8FD3F0 7D7B 8FD3F0 <CJK>
+8FD3F1 7D7F 8FD3F1 <CJK>
+8FD3F2 7D81 8FD3F2 <CJK>
+8FD3F3 7D82 8FD3F3 <CJK>
+8FD3F4 7D83 8FD3F4 <CJK>
+8FD3F5 7D85 8FD3F5 <CJK>
+8FD3F6 7D86 8FD3F6 <CJK>
+8FD3F7 7D88 8FD3F7 <CJK>
+8FD3F8 7D8B 8FD3F8 <CJK>
+8FD3F9 7D8C 8FD3F9 <CJK>
+8FD3FA 7D8D 8FD3FA <CJK>
+8FD3FB 7D91 8FD3FB <CJK>
+8FD3FC 7D96 8FD3FC <CJK>
+8FD3FD 7D97 8FD3FD <CJK>
+8FD3FE 7D9D 8FD3FE <CJK>
+8FD4A1 7D9E 8FD4A1 <CJK>
+8FD4A2 7DA6 8FD4A2 <CJK>
+8FD4A3 7DA7 8FD4A3 <CJK>
+8FD4A4 7DAA 8FD4A4 <CJK>
+8FD4A5 7DB3 8FD4A5 <CJK>
+8FD4A6 7DB6 8FD4A6 <CJK>
+8FD4A7 7DB7 8FD4A7 <CJK>
+8FD4A8 7DB9 8FD4A8 <CJK>
+8FD4A9 7DC2 8FD4A9 <CJK>
+8FD4AA 7DC3 8FD4AA <CJK>
+8FD4AB 7DC4 8FD4AB <CJK>
+8FD4AC 7DC5 8FD4AC <CJK>
+8FD4AD 7DC6 8FD4AD <CJK>
+8FD4AE 7DCC 8FD4AE <CJK>
+8FD4AF 7DCD 8FD4AF <CJK>
+8FD4B0 7DCE 8FD4B0 <CJK>
+8FD4B1 7DD7 8FD4B1 <CJK>
+8FD4B2 7DD9 8FD4B2 <CJK>
+8FD4B3 7E00 8FD4B3 <CJK>
+8FD4B4 7DE2 8FD4B4 <CJK>
+8FD4B5 7DE5 8FD4B5 <CJK>
+8FD4B6 7DE6 8FD4B6 <CJK>
+8FD4B7 7DEA 8FD4B7 <CJK>
+8FD4B8 7DEB 8FD4B8 <CJK>
+8FD4B9 7DED 8FD4B9 <CJK>
+8FD4BA 7DF1 8FD4BA <CJK>
+8FD4BB 7DF5 8FD4BB <CJK>
+8FD4BC 7DF6 8FD4BC <CJK>
+8FD4BD 7DF9 8FD4BD <CJK>
+8FD4BE 7DFA 8FD4BE <CJK>
+8FD4BF 7E08 8FD4BF <CJK>
+8FD4C0 7E10 8FD4C0 <CJK>
+8FD4C1 7E11 8FD4C1 <CJK>
+8FD4C2 7E15 8FD4C2 <CJK>
+8FD4C3 7E17 8FD4C3 <CJK>
+8FD4C4 7E1C 8FD4C4 <CJK>
+8FD4C5 7E1D 8FD4C5 <CJK>
+8FD4C6 7E20 8FD4C6 <CJK>
+8FD4C7 7E27 8FD4C7 <CJK>
+8FD4C8 7E28 8FD4C8 <CJK>
+8FD4C9 7E2C 8FD4C9 <CJK>
+8FD4CA 7E2D 8FD4CA <CJK>
+8FD4CB 7E2F 8FD4CB <CJK>
+8FD4CC 7E33 8FD4CC <CJK>
+8FD4CD 7E36 8FD4CD <CJK>
+8FD4CE 7E3F 8FD4CE <CJK>
+8FD4CF 7E44 8FD4CF <CJK>
+8FD4D0 7E45 8FD4D0 <CJK>
+8FD4D1 7E47 8FD4D1 <CJK>
+8FD4D2 7E4E 8FD4D2 <CJK>
+8FD4D3 7E50 8FD4D3 <CJK>
+8FD4D4 7E52 8FD4D4 <CJK>
+8FD4D5 7E58 8FD4D5 <CJK>
+8FD4D6 7E5F 8FD4D6 <CJK>
+8FD4D7 7E61 8FD4D7 <CJK>
+8FD4D8 7E62 8FD4D8 <CJK>
+8FD4D9 7E65 8FD4D9 <CJK>
+8FD4DA 7E6B 8FD4DA <CJK>
+8FD4DB 7E6E 8FD4DB <CJK>
+8FD4DC 7E6F 8FD4DC <CJK>
+8FD4DD 7E73 8FD4DD <CJK>
+8FD4DE 7E78 8FD4DE <CJK>
+8FD4DF 7E7E 8FD4DF <CJK>
+8FD4E0 7E81 8FD4E0 <CJK>
+8FD4E1 7E86 8FD4E1 <CJK>
+8FD4E2 7E87 8FD4E2 <CJK>
+8FD4E3 7E8A 8FD4E3 <CJK>
+8FD4E4 7E8D 8FD4E4 <CJK>
+8FD4E5 7E91 8FD4E5 <CJK>
+8FD4E6 7E95 8FD4E6 <CJK>
+8FD4E7 7E98 8FD4E7 <CJK>
+8FD4E8 7E9A 8FD4E8 <CJK>
+8FD4E9 7E9D 8FD4E9 <CJK>
+8FD4EA 7E9E 8FD4EA <CJK>
+8FD4EB 7F3C 8FD4EB <CJK>
+8FD4EC 7F3B 8FD4EC <CJK>
+8FD4ED 7F3D 8FD4ED <CJK>
+8FD4EE 7F3E 8FD4EE <CJK>
+8FD4EF 7F3F 8FD4EF <CJK>
+8FD4F0 7F43 8FD4F0 <CJK>
+8FD4F1 7F44 8FD4F1 <CJK>
+8FD4F2 7F47 8FD4F2 <CJK>
+8FD4F3 7F4F 8FD4F3 <CJK>
+8FD4F4 7F52 8FD4F4 <CJK>
+8FD4F5 7F53 8FD4F5 <CJK>
+8FD4F6 7F5B 8FD4F6 <CJK>
+8FD4F7 7F5C 8FD4F7 <CJK>
+8FD4F8 7F5D 8FD4F8 <CJK>
+8FD4F9 7F61 8FD4F9 <CJK>
+8FD4FA 7F63 8FD4FA <CJK>
+8FD4FB 7F64 8FD4FB <CJK>
+8FD4FC 7F65 8FD4FC <CJK>
+8FD4FD 7F66 8FD4FD <CJK>
+8FD4FE 7F6D 8FD4FE <CJK>
+8FD5A1 7F71 8FD5A1 <CJK>
+8FD5A2 7F7D 8FD5A2 <CJK>
+8FD5A3 7F7E 8FD5A3 <CJK>
+8FD5A4 7F7F 8FD5A4 <CJK>
+8FD5A5 7F80 8FD5A5 <CJK>
+8FD5A6 7F8B 8FD5A6 <CJK>
+8FD5A7 7F8D 8FD5A7 <CJK>
+8FD5A8 7F8F 8FD5A8 <CJK>
+8FD5A9 7F90 8FD5A9 <CJK>
+8FD5AA 7F91 8FD5AA <CJK>
+8FD5AB 7F96 8FD5AB <CJK>
+8FD5AC 7F97 8FD5AC <CJK>
+8FD5AD 7F9C 8FD5AD <CJK>
+8FD5AE 7FA1 8FD5AE <CJK>
+8FD5AF 7FA2 8FD5AF <CJK>
+8FD5B0 7FA6 8FD5B0 <CJK>
+8FD5B1 7FAA 8FD5B1 <CJK>
+8FD5B2 7FAD 8FD5B2 <CJK>
+8FD5B3 7FB4 8FD5B3 <CJK>
+8FD5B4 7FBC 8FD5B4 <CJK>
+8FD5B5 7FBF 8FD5B5 <CJK>
+8FD5B6 7FC0 8FD5B6 <CJK>
+8FD5B7 7FC3 8FD5B7 <CJK>
+8FD5B8 7FC8 8FD5B8 <CJK>
+8FD5B9 7FCE 8FD5B9 <CJK>
+8FD5BA 7FCF 8FD5BA <CJK>
+8FD5BB 7FDB 8FD5BB <CJK>
+8FD5BC 7FDF 8FD5BC <CJK>
+8FD5BD 7FE3 8FD5BD <CJK>
+8FD5BE 7FE5 8FD5BE <CJK>
+8FD5BF 7FE8 8FD5BF <CJK>
+8FD5C0 7FEC 8FD5C0 <CJK>
+8FD5C1 7FEE 8FD5C1 <CJK>
+8FD5C2 7FEF 8FD5C2 <CJK>
+8FD5C3 7FF2 8FD5C3 <CJK>
+8FD5C4 7FFA 8FD5C4 <CJK>
+8FD5C5 7FFD 8FD5C5 <CJK>
+8FD5C6 7FFE 8FD5C6 <CJK>
+8FD5C7 7FFF 8FD5C7 <CJK>
+8FD5C8 8007 8FD5C8 <CJK>
+8FD5C9 8008 8FD5C9 <CJK>
+8FD5CA 800A 8FD5CA <CJK>
+8FD5CB 800D 8FD5CB <CJK>
+8FD5CC 800E 8FD5CC <CJK>
+8FD5CD 800F 8FD5CD <CJK>
+8FD5CE 8011 8FD5CE <CJK>
+8FD5CF 8013 8FD5CF <CJK>
+8FD5D0 8014 8FD5D0 <CJK>
+8FD5D1 8016 8FD5D1 <CJK>
+8FD5D2 801D 8FD5D2 <CJK>
+8FD5D3 801E 8FD5D3 <CJK>
+8FD5D4 801F 8FD5D4 <CJK>
+8FD5D5 8020 8FD5D5 <CJK>
+8FD5D6 8024 8FD5D6 <CJK>
+8FD5D7 8026 8FD5D7 <CJK>
+8FD5D8 802C 8FD5D8 <CJK>
+8FD5D9 802E 8FD5D9 <CJK>
+8FD5DA 8030 8FD5DA <CJK>
+8FD5DB 8034 8FD5DB <CJK>
+8FD5DC 8035 8FD5DC <CJK>
+8FD5DD 8037 8FD5DD <CJK>
+8FD5DE 8039 8FD5DE <CJK>
+8FD5DF 803A 8FD5DF <CJK>
+8FD5E0 803C 8FD5E0 <CJK>
+8FD5E1 803E 8FD5E1 <CJK>
+8FD5E2 8040 8FD5E2 <CJK>
+8FD5E3 8044 8FD5E3 <CJK>
+8FD5E4 8060 8FD5E4 <CJK>
+8FD5E5 8064 8FD5E5 <CJK>
+8FD5E6 8066 8FD5E6 <CJK>
+8FD5E7 806D 8FD5E7 <CJK>
+8FD5E8 8071 8FD5E8 <CJK>
+8FD5E9 8075 8FD5E9 <CJK>
+8FD5EA 8081 8FD5EA <CJK>
+8FD5EB 8088 8FD5EB <CJK>
+8FD5EC 808E 8FD5EC <CJK>
+8FD5ED 809C 8FD5ED <CJK>
+8FD5EE 809E 8FD5EE <CJK>
+8FD5EF 80A6 8FD5EF <CJK>
+8FD5F0 80A7 8FD5F0 <CJK>
+8FD5F1 80AB 8FD5F1 <CJK>
+8FD5F2 80B8 8FD5F2 <CJK>
+8FD5F3 80B9 8FD5F3 <CJK>
+8FD5F4 80C8 8FD5F4 <CJK>
+8FD5F5 80CD 8FD5F5 <CJK>
+8FD5F6 80CF 8FD5F6 <CJK>
+8FD5F7 80D2 8FD5F7 <CJK>
+8FD5F8 80D4 8FD5F8 <CJK>
+8FD5F9 80D5 8FD5F9 <CJK>
+8FD5FA 80D7 8FD5FA <CJK>
+8FD5FB 80D8 8FD5FB <CJK>
+8FD5FC 80E0 8FD5FC <CJK>
+8FD5FD 80ED 8FD5FD <CJK>
+8FD5FE 80EE 8FD5FE <CJK>
+8FD6A1 80F0 8FD6A1 <CJK>
+8FD6A2 80F2 8FD6A2 <CJK>
+8FD6A3 80F3 8FD6A3 <CJK>
+8FD6A4 80F6 8FD6A4 <CJK>
+8FD6A5 80F9 8FD6A5 <CJK>
+8FD6A6 80FA 8FD6A6 <CJK>
+8FD6A7 80FE 8FD6A7 <CJK>
+8FD6A8 8103 8FD6A8 <CJK>
+8FD6A9 810B 8FD6A9 <CJK>
+8FD6AA 8116 8FD6AA <CJK>
+8FD6AB 8117 8FD6AB <CJK>
+8FD6AC 8118 8FD6AC <CJK>
+8FD6AD 811C 8FD6AD <CJK>
+8FD6AE 811E 8FD6AE <CJK>
+8FD6AF 8120 8FD6AF <CJK>
+8FD6B0 8124 8FD6B0 <CJK>
+8FD6B1 8127 8FD6B1 <CJK>
+8FD6B2 812C 8FD6B2 <CJK>
+8FD6B3 8130 8FD6B3 <CJK>
+8FD6B4 8135 8FD6B4 <CJK>
+8FD6B5 813A 8FD6B5 <CJK>
+8FD6B6 813C 8FD6B6 <CJK>
+8FD6B7 8145 8FD6B7 <CJK>
+8FD6B8 8147 8FD6B8 <CJK>
+8FD6B9 814A 8FD6B9 <CJK>
+8FD6BA 814C 8FD6BA <CJK>
+8FD6BB 8152 8FD6BB <CJK>
+8FD6BC 8157 8FD6BC <CJK>
+8FD6BD 8160 8FD6BD <CJK>
+8FD6BE 8161 8FD6BE <CJK>
+8FD6BF 8167 8FD6BF <CJK>
+8FD6C0 8168 8FD6C0 <CJK>
+8FD6C1 8169 8FD6C1 <CJK>
+8FD6C2 816D 8FD6C2 <CJK>
+8FD6C3 816F 8FD6C3 <CJK>
+8FD6C4 8177 8FD6C4 <CJK>
+8FD6C5 8181 8FD6C5 <CJK>
+8FD6C6 8190 8FD6C6 <CJK>
+8FD6C7 8184 8FD6C7 <CJK>
+8FD6C8 8185 8FD6C8 <CJK>
+8FD6C9 8186 8FD6C9 <CJK>
+8FD6CA 818B 8FD6CA <CJK>
+8FD6CB 818E 8FD6CB <CJK>
+8FD6CC 8196 8FD6CC <CJK>
+8FD6CD 8198 8FD6CD <CJK>
+8FD6CE 819B 8FD6CE <CJK>
+8FD6CF 819E 8FD6CF <CJK>
+8FD6D0 81A2 8FD6D0 <CJK>
+8FD6D1 81AE 8FD6D1 <CJK>
+8FD6D2 81B2 8FD6D2 <CJK>
+8FD6D3 81B4 8FD6D3 <CJK>
+8FD6D4 81BB 8FD6D4 <CJK>
+8FD6D5 81CB 8FD6D5 <CJK>
+8FD6D6 81C3 8FD6D6 <CJK>
+8FD6D7 81C5 8FD6D7 <CJK>
+8FD6D8 81CA 8FD6D8 <CJK>
+8FD6D9 81CE 8FD6D9 <CJK>
+8FD6DA 81CF 8FD6DA <CJK>
+8FD6DB 81D5 8FD6DB <CJK>
+8FD6DC 81D7 8FD6DC <CJK>
+8FD6DD 81DB 8FD6DD <CJK>
+8FD6DE 81DD 8FD6DE <CJK>
+8FD6DF 81DE 8FD6DF <CJK>
+8FD6E0 81E1 8FD6E0 <CJK>
+8FD6E1 81E4 8FD6E1 <CJK>
+8FD6E2 81EB 8FD6E2 <CJK>
+8FD6E3 81EC 8FD6E3 <CJK>
+8FD6E4 81F0 8FD6E4 <CJK>
+8FD6E5 81F1 8FD6E5 <CJK>
+8FD6E6 81F2 8FD6E6 <CJK>
+8FD6E7 81F5 8FD6E7 <CJK>
+8FD6E8 81F6 8FD6E8 <CJK>
+8FD6E9 81F8 8FD6E9 <CJK>
+8FD6EA 81F9 8FD6EA <CJK>
+8FD6EB 81FD 8FD6EB <CJK>
+8FD6EC 81FF 8FD6EC <CJK>
+8FD6ED 8200 8FD6ED <CJK>
+8FD6EE 8203 8FD6EE <CJK>
+8FD6EF 820F 8FD6EF <CJK>
+8FD6F0 8213 8FD6F0 <CJK>
+8FD6F1 8214 8FD6F1 <CJK>
+8FD6F2 8219 8FD6F2 <CJK>
+8FD6F3 821A 8FD6F3 <CJK>
+8FD6F4 821D 8FD6F4 <CJK>
+8FD6F5 8221 8FD6F5 <CJK>
+8FD6F6 8222 8FD6F6 <CJK>
+8FD6F7 8228 8FD6F7 <CJK>
+8FD6F8 8232 8FD6F8 <CJK>
+8FD6F9 8234 8FD6F9 <CJK>
+8FD6FA 823A 8FD6FA <CJK>
+8FD6FB 8243 8FD6FB <CJK>
+8FD6FC 8244 8FD6FC <CJK>
+8FD6FD 8245 8FD6FD <CJK>
+8FD6FE 8246 8FD6FE <CJK>
+8FD7A1 824B 8FD7A1 <CJK>
+8FD7A2 824E 8FD7A2 <CJK>
+8FD7A3 824F 8FD7A3 <CJK>
+8FD7A4 8251 8FD7A4 <CJK>
+8FD7A5 8256 8FD7A5 <CJK>
+8FD7A6 825C 8FD7A6 <CJK>
+8FD7A7 8260 8FD7A7 <CJK>
+8FD7A8 8263 8FD7A8 <CJK>
+8FD7A9 8267 8FD7A9 <CJK>
+8FD7AA 826D 8FD7AA <CJK>
+8FD7AB 8274 8FD7AB <CJK>
+8FD7AC 827B 8FD7AC <CJK>
+8FD7AD 827D 8FD7AD <CJK>
+8FD7AE 827F 8FD7AE <CJK>
+8FD7AF 8280 8FD7AF <CJK>
+8FD7B0 8281 8FD7B0 <CJK>
+8FD7B1 8283 8FD7B1 <CJK>
+8FD7B2 8284 8FD7B2 <CJK>
+8FD7B3 8287 8FD7B3 <CJK>
+8FD7B4 8289 8FD7B4 <CJK>
+8FD7B5 828A 8FD7B5 <CJK>
+8FD7B6 828E 8FD7B6 <CJK>
+8FD7B7 8291 8FD7B7 <CJK>
+8FD7B8 8294 8FD7B8 <CJK>
+8FD7B9 8296 8FD7B9 <CJK>
+8FD7BA 8298 8FD7BA <CJK>
+8FD7BB 829A 8FD7BB <CJK>
+8FD7BC 829B 8FD7BC <CJK>
+8FD7BD 82A0 8FD7BD <CJK>
+8FD7BE 82A1 8FD7BE <CJK>
+8FD7BF 82A3 8FD7BF <CJK>
+8FD7C0 82A4 8FD7C0 <CJK>
+8FD7C1 82A7 8FD7C1 <CJK>
+8FD7C2 82A8 8FD7C2 <CJK>
+8FD7C3 82A9 8FD7C3 <CJK>
+8FD7C4 82AA 8FD7C4 <CJK>
+8FD7C5 82AE 8FD7C5 <CJK>
+8FD7C6 82B0 8FD7C6 <CJK>
+8FD7C7 82B2 8FD7C7 <CJK>
+8FD7C8 82B4 8FD7C8 <CJK>
+8FD7C9 82B7 8FD7C9 <CJK>
+8FD7CA 82BA 8FD7CA <CJK>
+8FD7CB 82BC 8FD7CB <CJK>
+8FD7CC 82BE 8FD7CC <CJK>
+8FD7CD 82BF 8FD7CD <CJK>
+8FD7CE 82C6 8FD7CE <CJK>
+8FD7CF 82D0 8FD7CF <CJK>
+8FD7D0 82D5 8FD7D0 <CJK>
+8FD7D1 82DA 8FD7D1 <CJK>
+8FD7D2 82E0 8FD7D2 <CJK>
+8FD7D3 82E2 8FD7D3 <CJK>
+8FD7D4 82E4 8FD7D4 <CJK>
+8FD7D5 82E8 8FD7D5 <CJK>
+8FD7D6 82EA 8FD7D6 <CJK>
+8FD7D7 82ED 8FD7D7 <CJK>
+8FD7D8 82EF 8FD7D8 <CJK>
+8FD7D9 82F6 8FD7D9 <CJK>
+8FD7DA 82F7 8FD7DA <CJK>
+8FD7DB 82FD 8FD7DB <CJK>
+8FD7DC 82FE 8FD7DC <CJK>
+8FD7DD 8300 8FD7DD <CJK>
+8FD7DE 8301 8FD7DE <CJK>
+8FD7DF 8307 8FD7DF <CJK>
+8FD7E0 8308 8FD7E0 <CJK>
+8FD7E1 830A 8FD7E1 <CJK>
+8FD7E2 830B 8FD7E2 <CJK>
+8FD7E3 8354 8FD7E3 <CJK>
+8FD7E4 831B 8FD7E4 <CJK>
+8FD7E5 831D 8FD7E5 <CJK>
+8FD7E6 831E 8FD7E6 <CJK>
+8FD7E7 831F 8FD7E7 <CJK>
+8FD7E8 8321 8FD7E8 <CJK>
+8FD7E9 8322 8FD7E9 <CJK>
+8FD7EA 832C 8FD7EA <CJK>
+8FD7EB 832D 8FD7EB <CJK>
+8FD7EC 832E 8FD7EC <CJK>
+8FD7ED 8330 8FD7ED <CJK>
+8FD7EE 8333 8FD7EE <CJK>
+8FD7EF 8337 8FD7EF <CJK>
+8FD7F0 833A 8FD7F0 <CJK>
+8FD7F1 833C 8FD7F1 <CJK>
+8FD7F2 833D 8FD7F2 <CJK>
+8FD7F3 8342 8FD7F3 <CJK>
+8FD7F4 8343 8FD7F4 <CJK>
+8FD7F5 8344 8FD7F5 <CJK>
+8FD7F6 8347 8FD7F6 <CJK>
+8FD7F7 834D 8FD7F7 <CJK>
+8FD7F8 834E 8FD7F8 <CJK>
+8FD7F9 8351 8FD7F9 <CJK>
+8FD7FA 8355 8FD7FA <CJK>
+8FD7FB 8356 8FD7FB <CJK>
+8FD7FC 8357 8FD7FC <CJK>
+8FD7FD 8370 8FD7FD <CJK>
+8FD7FE 8378 8FD7FE <CJK>
+8FD8A1 837D 8FD8A1 <CJK>
+8FD8A2 837F 8FD8A2 <CJK>
+8FD8A3 8380 8FD8A3 <CJK>
+8FD8A4 8382 8FD8A4 <CJK>
+8FD8A5 8384 8FD8A5 <CJK>
+8FD8A6 8386 8FD8A6 <CJK>
+8FD8A7 838D 8FD8A7 <CJK>
+8FD8A8 8392 8FD8A8 <CJK>
+8FD8A9 8394 8FD8A9 <CJK>
+8FD8AA 8395 8FD8AA <CJK>
+8FD8AB 8398 8FD8AB <CJK>
+8FD8AC 8399 8FD8AC <CJK>
+8FD8AD 839B 8FD8AD <CJK>
+8FD8AE 839C 8FD8AE <CJK>
+8FD8AF 839D 8FD8AF <CJK>
+8FD8B0 83A6 8FD8B0 <CJK>
+8FD8B1 83A7 8FD8B1 <CJK>
+8FD8B2 83A9 8FD8B2 <CJK>
+8FD8B3 83AC 8FD8B3 <CJK>
+8FD8B4 83BE 8FD8B4 <CJK>
+8FD8B5 83BF 8FD8B5 <CJK>
+8FD8B6 83C0 8FD8B6 <CJK>
+8FD8B7 83C7 8FD8B7 <CJK>
+8FD8B8 83C9 8FD8B8 <CJK>
+8FD8B9 83CF 8FD8B9 <CJK>
+8FD8BA 83D0 8FD8BA <CJK>
+8FD8BB 83D1 8FD8BB <CJK>
+8FD8BC 83D4 8FD8BC <CJK>
+8FD8BD 83DD 8FD8BD <CJK>
+8FD8BE 8353 8FD8BE <CJK>
+8FD8BF 83E8 8FD8BF <CJK>
+8FD8C0 83EA 8FD8C0 <CJK>
+8FD8C1 83F6 8FD8C1 <CJK>
+8FD8C2 83F8 8FD8C2 <CJK>
+8FD8C3 83F9 8FD8C3 <CJK>
+8FD8C4 83FC 8FD8C4 <CJK>
+8FD8C5 8401 8FD8C5 <CJK>
+8FD8C6 8406 8FD8C6 <CJK>
+8FD8C7 840A 8FD8C7 <CJK>
+8FD8C8 840F 8FD8C8 <CJK>
+8FD8C9 8411 8FD8C9 <CJK>
+8FD8CA 8415 8FD8CA <CJK>
+8FD8CB 8419 8FD8CB <CJK>
+8FD8CC 83AD 8FD8CC <CJK>
+8FD8CD 842F 8FD8CD <CJK>
+8FD8CE 8439 8FD8CE <CJK>
+8FD8CF 8445 8FD8CF <CJK>
+8FD8D0 8447 8FD8D0 <CJK>
+8FD8D1 8448 8FD8D1 <CJK>
+8FD8D2 844A 8FD8D2 <CJK>
+8FD8D3 844D 8FD8D3 <CJK>
+8FD8D4 844F 8FD8D4 <CJK>
+8FD8D5 8451 8FD8D5 <CJK>
+8FD8D6 8452 8FD8D6 <CJK>
+8FD8D7 8456 8FD8D7 <CJK>
+8FD8D8 8458 8FD8D8 <CJK>
+8FD8D9 8459 8FD8D9 <CJK>
+8FD8DA 845A 8FD8DA <CJK>
+8FD8DB 845C 8FD8DB <CJK>
+8FD8DC 8460 8FD8DC <CJK>
+8FD8DD 8464 8FD8DD <CJK>
+8FD8DE 8465 8FD8DE <CJK>
+8FD8DF 8467 8FD8DF <CJK>
+8FD8E0 846A 8FD8E0 <CJK>
+8FD8E1 8470 8FD8E1 <CJK>
+8FD8E2 8473 8FD8E2 <CJK>
+8FD8E3 8474 8FD8E3 <CJK>
+8FD8E4 8476 8FD8E4 <CJK>
+8FD8E5 8478 8FD8E5 <CJK>
+8FD8E6 847C 8FD8E6 <CJK>
+8FD8E7 847D 8FD8E7 <CJK>
+8FD8E8 8481 8FD8E8 <CJK>
+8FD8E9 8485 8FD8E9 <CJK>
+8FD8EA 8492 8FD8EA <CJK>
+8FD8EB 8493 8FD8EB <CJK>
+8FD8EC 8495 8FD8EC <CJK>
+8FD8ED 849E 8FD8ED <CJK>
+8FD8EE 84A6 8FD8EE <CJK>
+8FD8EF 84A8 8FD8EF <CJK>
+8FD8F0 84A9 8FD8F0 <CJK>
+8FD8F1 84AA 8FD8F1 <CJK>
+8FD8F2 84AF 8FD8F2 <CJK>
+8FD8F3 84B1 8FD8F3 <CJK>
+8FD8F4 84B4 8FD8F4 <CJK>
+8FD8F5 84BA 8FD8F5 <CJK>
+8FD8F6 84BD 8FD8F6 <CJK>
+8FD8F7 84BE 8FD8F7 <CJK>
+8FD8F8 84C0 8FD8F8 <CJK>
+8FD8F9 84C2 8FD8F9 <CJK>
+8FD8FA 84C7 8FD8FA <CJK>
+8FD8FB 84C8 8FD8FB <CJK>
+8FD8FC 84CC 8FD8FC <CJK>
+8FD8FD 84CF 8FD8FD <CJK>
+8FD8FE 84D3 8FD8FE <CJK>
+8FD9A1 84DC 8FD9A1 <CJK>
+8FD9A2 84E7 8FD9A2 <CJK>
+8FD9A3 84EA 8FD9A3 <CJK>
+8FD9A4 84EF 8FD9A4 <CJK>
+8FD9A5 84F0 8FD9A5 <CJK>
+8FD9A6 84F1 8FD9A6 <CJK>
+8FD9A7 84F2 8FD9A7 <CJK>
+8FD9A8 84F7 8FD9A8 <CJK>
+8FD9A9 8532 8FD9A9 <CJK>
+8FD9AA 84FA 8FD9AA <CJK>
+8FD9AB 84FB 8FD9AB <CJK>
+8FD9AC 84FD 8FD9AC <CJK>
+8FD9AD 8502 8FD9AD <CJK>
+8FD9AE 8503 8FD9AE <CJK>
+8FD9AF 8507 8FD9AF <CJK>
+8FD9B0 850C 8FD9B0 <CJK>
+8FD9B1 850E 8FD9B1 <CJK>
+8FD9B2 8510 8FD9B2 <CJK>
+8FD9B3 851C 8FD9B3 <CJK>
+8FD9B4 851E 8FD9B4 <CJK>
+8FD9B5 8522 8FD9B5 <CJK>
+8FD9B6 8523 8FD9B6 <CJK>
+8FD9B7 8524 8FD9B7 <CJK>
+8FD9B8 8525 8FD9B8 <CJK>
+8FD9B9 8527 8FD9B9 <CJK>
+8FD9BA 852A 8FD9BA <CJK>
+8FD9BB 852B 8FD9BB <CJK>
+8FD9BC 852F 8FD9BC <CJK>
+8FD9BD 8533 8FD9BD <CJK>
+8FD9BE 8534 8FD9BE <CJK>
+8FD9BF 8536 8FD9BF <CJK>
+8FD9C0 853F 8FD9C0 <CJK>
+8FD9C1 8546 8FD9C1 <CJK>
+8FD9C2 854F 8FD9C2 <CJK>
+8FD9C3 8550 8FD9C3 <CJK>
+8FD9C4 8551 8FD9C4 <CJK>
+8FD9C5 8552 8FD9C5 <CJK>
+8FD9C6 8553 8FD9C6 <CJK>
+8FD9C7 8556 8FD9C7 <CJK>
+8FD9C8 8559 8FD9C8 <CJK>
+8FD9C9 855C 8FD9C9 <CJK>
+8FD9CA 855D 8FD9CA <CJK>
+8FD9CB 855E 8FD9CB <CJK>
+8FD9CC 855F 8FD9CC <CJK>
+8FD9CD 8560 8FD9CD <CJK>
+8FD9CE 8561 8FD9CE <CJK>
+8FD9CF 8562 8FD9CF <CJK>
+8FD9D0 8564 8FD9D0 <CJK>
+8FD9D1 856B 8FD9D1 <CJK>
+8FD9D2 856F 8FD9D2 <CJK>
+8FD9D3 8579 8FD9D3 <CJK>
+8FD9D4 857A 8FD9D4 <CJK>
+8FD9D5 857B 8FD9D5 <CJK>
+8FD9D6 857D 8FD9D6 <CJK>
+8FD9D7 857F 8FD9D7 <CJK>
+8FD9D8 8581 8FD9D8 <CJK>
+8FD9D9 8585 8FD9D9 <CJK>
+8FD9DA 8586 8FD9DA <CJK>
+8FD9DB 8589 8FD9DB <CJK>
+8FD9DC 858B 8FD9DC <CJK>
+8FD9DD 858C 8FD9DD <CJK>
+8FD9DE 858F 8FD9DE <CJK>
+8FD9DF 8593 8FD9DF <CJK>
+8FD9E0 8598 8FD9E0 <CJK>
+8FD9E1 859D 8FD9E1 <CJK>
+8FD9E2 859F 8FD9E2 <CJK>
+8FD9E3 85A0 8FD9E3 <CJK>
+8FD9E4 85A2 8FD9E4 <CJK>
+8FD9E5 85A5 8FD9E5 <CJK>
+8FD9E6 85A7 8FD9E6 <CJK>
+8FD9E7 85B4 8FD9E7 <CJK>
+8FD9E8 85B6 8FD9E8 <CJK>
+8FD9E9 85B7 8FD9E9 <CJK>
+8FD9EA 85B8 8FD9EA <CJK>
+8FD9EB 85BC 8FD9EB <CJK>
+8FD9EC 85BD 8FD9EC <CJK>
+8FD9ED 85BE 8FD9ED <CJK>
+8FD9EE 85BF 8FD9EE <CJK>
+8FD9EF 85C2 8FD9EF <CJK>
+8FD9F0 85C7 8FD9F0 <CJK>
+8FD9F1 85CA 8FD9F1 <CJK>
+8FD9F2 85CB 8FD9F2 <CJK>
+8FD9F3 85CE 8FD9F3 <CJK>
+8FD9F4 85AD 8FD9F4 <CJK>
+8FD9F5 85D8 8FD9F5 <CJK>
+8FD9F6 85DA 8FD9F6 <CJK>
+8FD9F7 85DF 8FD9F7 <CJK>
+8FD9F8 85E0 8FD9F8 <CJK>
+8FD9F9 85E6 8FD9F9 <CJK>
+8FD9FA 85E8 8FD9FA <CJK>
+8FD9FB 85ED 8FD9FB <CJK>
+8FD9FC 85F3 8FD9FC <CJK>
+8FD9FD 85F6 8FD9FD <CJK>
+8FD9FE 85FC 8FD9FE <CJK>
+8FDAA1 85FF 8FDAA1 <CJK>
+8FDAA2 8600 8FDAA2 <CJK>
+8FDAA3 8604 8FDAA3 <CJK>
+8FDAA4 8605 8FDAA4 <CJK>
+8FDAA5 860D 8FDAA5 <CJK>
+8FDAA6 860E 8FDAA6 <CJK>
+8FDAA7 8610 8FDAA7 <CJK>
+8FDAA8 8611 8FDAA8 <CJK>
+8FDAA9 8612 8FDAA9 <CJK>
+8FDAAA 8618 8FDAAA <CJK>
+8FDAAB 8619 8FDAAB <CJK>
+8FDAAC 861B 8FDAAC <CJK>
+8FDAAD 861E 8FDAAD <CJK>
+8FDAAE 8621 8FDAAE <CJK>
+8FDAAF 8627 8FDAAF <CJK>
+8FDAB0 8629 8FDAB0 <CJK>
+8FDAB1 8636 8FDAB1 <CJK>
+8FDAB2 8638 8FDAB2 <CJK>
+8FDAB3 863A 8FDAB3 <CJK>
+8FDAB4 863C 8FDAB4 <CJK>
+8FDAB5 863D 8FDAB5 <CJK>
+8FDAB6 8640 8FDAB6 <CJK>
+8FDAB7 8642 8FDAB7 <CJK>
+8FDAB8 8646 8FDAB8 <CJK>
+8FDAB9 8652 8FDAB9 <CJK>
+8FDABA 8653 8FDABA <CJK>
+8FDABB 8656 8FDABB <CJK>
+8FDABC 8657 8FDABC <CJK>
+8FDABD 8658 8FDABD <CJK>
+8FDABE 8659 8FDABE <CJK>
+8FDABF 865D 8FDABF <CJK>
+8FDAC0 8660 8FDAC0 <CJK>
+8FDAC1 8661 8FDAC1 <CJK>
+8FDAC2 8662 8FDAC2 <CJK>
+8FDAC3 8663 8FDAC3 <CJK>
+8FDAC4 8664 8FDAC4 <CJK>
+8FDAC5 8669 8FDAC5 <CJK>
+8FDAC6 866C 8FDAC6 <CJK>
+8FDAC7 866F 8FDAC7 <CJK>
+8FDAC8 8675 8FDAC8 <CJK>
+8FDAC9 8676 8FDAC9 <CJK>
+8FDACA 8677 8FDACA <CJK>
+8FDACB 867A 8FDACB <CJK>
+8FDACC 868D 8FDACC <CJK>
+8FDACD 8691 8FDACD <CJK>
+8FDACE 8696 8FDACE <CJK>
+8FDACF 8698 8FDACF <CJK>
+8FDAD0 869A 8FDAD0 <CJK>
+8FDAD1 869C 8FDAD1 <CJK>
+8FDAD2 86A1 8FDAD2 <CJK>
+8FDAD3 86A6 8FDAD3 <CJK>
+8FDAD4 86A7 8FDAD4 <CJK>
+8FDAD5 86A8 8FDAD5 <CJK>
+8FDAD6 86AD 8FDAD6 <CJK>
+8FDAD7 86B1 8FDAD7 <CJK>
+8FDAD8 86B3 8FDAD8 <CJK>
+8FDAD9 86B4 8FDAD9 <CJK>
+8FDADA 86B5 8FDADA <CJK>
+8FDADB 86B7 8FDADB <CJK>
+8FDADC 86B8 8FDADC <CJK>
+8FDADD 86B9 8FDADD <CJK>
+8FDADE 86BF 8FDADE <CJK>
+8FDADF 86C0 8FDADF <CJK>
+8FDAE0 86C1 8FDAE0 <CJK>
+8FDAE1 86C3 8FDAE1 <CJK>
+8FDAE2 86C5 8FDAE2 <CJK>
+8FDAE3 86D1 8FDAE3 <CJK>
+8FDAE4 86D2 8FDAE4 <CJK>
+8FDAE5 86D5 8FDAE5 <CJK>
+8FDAE6 86D7 8FDAE6 <CJK>
+8FDAE7 86DA 8FDAE7 <CJK>
+8FDAE8 86DC 8FDAE8 <CJK>
+8FDAE9 86E0 8FDAE9 <CJK>
+8FDAEA 86E3 8FDAEA <CJK>
+8FDAEB 86E5 8FDAEB <CJK>
+8FDAEC 86E7 8FDAEC <CJK>
+8FDAED 8688 8FDAED <CJK>
+8FDAEE 86FA 8FDAEE <CJK>
+8FDAEF 86FC 8FDAEF <CJK>
+8FDAF0 86FD 8FDAF0 <CJK>
+8FDAF1 8704 8FDAF1 <CJK>
+8FDAF2 8705 8FDAF2 <CJK>
+8FDAF3 8707 8FDAF3 <CJK>
+8FDAF4 870B 8FDAF4 <CJK>
+8FDAF5 870E 8FDAF5 <CJK>
+8FDAF6 870F 8FDAF6 <CJK>
+8FDAF7 8710 8FDAF7 <CJK>
+8FDAF8 8713 8FDAF8 <CJK>
+8FDAF9 8714 8FDAF9 <CJK>
+8FDAFA 8719 8FDAFA <CJK>
+8FDAFB 871E 8FDAFB <CJK>
+8FDAFC 871F 8FDAFC <CJK>
+8FDAFD 8721 8FDAFD <CJK>
+8FDAFE 8723 8FDAFE <CJK>
+8FDBA1 8728 8FDBA1 <CJK>
+8FDBA2 872E 8FDBA2 <CJK>
+8FDBA3 872F 8FDBA3 <CJK>
+8FDBA4 8731 8FDBA4 <CJK>
+8FDBA5 8732 8FDBA5 <CJK>
+8FDBA6 8739 8FDBA6 <CJK>
+8FDBA7 873A 8FDBA7 <CJK>
+8FDBA8 873C 8FDBA8 <CJK>
+8FDBA9 873D 8FDBA9 <CJK>
+8FDBAA 873E 8FDBAA <CJK>
+8FDBAB 8740 8FDBAB <CJK>
+8FDBAC 8743 8FDBAC <CJK>
+8FDBAD 8745 8FDBAD <CJK>
+8FDBAE 874D 8FDBAE <CJK>
+8FDBAF 8758 8FDBAF <CJK>
+8FDBB0 875D 8FDBB0 <CJK>
+8FDBB1 8761 8FDBB1 <CJK>
+8FDBB2 8764 8FDBB2 <CJK>
+8FDBB3 8765 8FDBB3 <CJK>
+8FDBB4 876F 8FDBB4 <CJK>
+8FDBB5 8771 8FDBB5 <CJK>
+8FDBB6 8772 8FDBB6 <CJK>
+8FDBB7 877B 8FDBB7 <CJK>
+8FDBB8 8783 8FDBB8 <CJK>
+8FDBB9 8784 8FDBB9 <CJK>
+8FDBBA 8785 8FDBBA <CJK>
+8FDBBB 8786 8FDBBB <CJK>
+8FDBBC 8787 8FDBBC <CJK>
+8FDBBD 8788 8FDBBD <CJK>
+8FDBBE 8789 8FDBBE <CJK>
+8FDBBF 878B 8FDBBF <CJK>
+8FDBC0 878C 8FDBC0 <CJK>
+8FDBC1 8790 8FDBC1 <CJK>
+8FDBC2 8793 8FDBC2 <CJK>
+8FDBC3 8795 8FDBC3 <CJK>
+8FDBC4 8797 8FDBC4 <CJK>
+8FDBC5 8798 8FDBC5 <CJK>
+8FDBC6 8799 8FDBC6 <CJK>
+8FDBC7 879E 8FDBC7 <CJK>
+8FDBC8 87A0 8FDBC8 <CJK>
+8FDBC9 87A3 8FDBC9 <CJK>
+8FDBCA 87A7 8FDBCA <CJK>
+8FDBCB 87AC 8FDBCB <CJK>
+8FDBCC 87AD 8FDBCC <CJK>
+8FDBCD 87AE 8FDBCD <CJK>
+8FDBCE 87B1 8FDBCE <CJK>
+8FDBCF 87B5 8FDBCF <CJK>
+8FDBD0 87BE 8FDBD0 <CJK>
+8FDBD1 87BF 8FDBD1 <CJK>
+8FDBD2 87C1 8FDBD2 <CJK>
+8FDBD3 87C8 8FDBD3 <CJK>
+8FDBD4 87C9 8FDBD4 <CJK>
+8FDBD5 87CA 8FDBD5 <CJK>
+8FDBD6 87CE 8FDBD6 <CJK>
+8FDBD7 87D5 8FDBD7 <CJK>
+8FDBD8 87D6 8FDBD8 <CJK>
+8FDBD9 87D9 8FDBD9 <CJK>
+8FDBDA 87DA 8FDBDA <CJK>
+8FDBDB 87DC 8FDBDB <CJK>
+8FDBDC 87DF 8FDBDC <CJK>
+8FDBDD 87E2 8FDBDD <CJK>
+8FDBDE 87E3 8FDBDE <CJK>
+8FDBDF 87E4 8FDBDF <CJK>
+8FDBE0 87EA 8FDBE0 <CJK>
+8FDBE1 87EB 8FDBE1 <CJK>
+8FDBE2 87ED 8FDBE2 <CJK>
+8FDBE3 87F1 8FDBE3 <CJK>
+8FDBE4 87F3 8FDBE4 <CJK>
+8FDBE5 87F8 8FDBE5 <CJK>
+8FDBE6 87FA 8FDBE6 <CJK>
+8FDBE7 87FF 8FDBE7 <CJK>
+8FDBE8 8801 8FDBE8 <CJK>
+8FDBE9 8803 8FDBE9 <CJK>
+8FDBEA 8806 8FDBEA <CJK>
+8FDBEB 8809 8FDBEB <CJK>
+8FDBEC 880A 8FDBEC <CJK>
+8FDBED 880B 8FDBED <CJK>
+8FDBEE 8810 8FDBEE <CJK>
+8FDBEF 8819 8FDBEF <CJK>
+8FDBF0 8812 8FDBF0 <CJK>
+8FDBF1 8813 8FDBF1 <CJK>
+8FDBF2 8814 8FDBF2 <CJK>
+8FDBF3 8818 8FDBF3 <CJK>
+8FDBF4 881A 8FDBF4 <CJK>
+8FDBF5 881B 8FDBF5 <CJK>
+8FDBF6 881C 8FDBF6 <CJK>
+8FDBF7 881E 8FDBF7 <CJK>
+8FDBF8 881F 8FDBF8 <CJK>
+8FDBF9 8828 8FDBF9 <CJK>
+8FDBFA 882D 8FDBFA <CJK>
+8FDBFB 882E 8FDBFB <CJK>
+8FDBFC 8830 8FDBFC <CJK>
+8FDBFD 8832 8FDBFD <CJK>
+8FDBFE 8835 8FDBFE <CJK>
+8FDCA1 883A 8FDCA1 <CJK>
+8FDCA2 883C 8FDCA2 <CJK>
+8FDCA3 8841 8FDCA3 <CJK>
+8FDCA4 8843 8FDCA4 <CJK>
+8FDCA5 8845 8FDCA5 <CJK>
+8FDCA6 8848 8FDCA6 <CJK>
+8FDCA7 8849 8FDCA7 <CJK>
+8FDCA8 884A 8FDCA8 <CJK>
+8FDCA9 884B 8FDCA9 <CJK>
+8FDCAA 884E 8FDCAA <CJK>
+8FDCAB 8851 8FDCAB <CJK>
+8FDCAC 8855 8FDCAC <CJK>
+8FDCAD 8856 8FDCAD <CJK>
+8FDCAE 8858 8FDCAE <CJK>
+8FDCAF 885A 8FDCAF <CJK>
+8FDCB0 885C 8FDCB0 <CJK>
+8FDCB1 885F 8FDCB1 <CJK>
+8FDCB2 8860 8FDCB2 <CJK>
+8FDCB3 8864 8FDCB3 <CJK>
+8FDCB4 8869 8FDCB4 <CJK>
+8FDCB5 8871 8FDCB5 <CJK>
+8FDCB6 8879 8FDCB6 <CJK>
+8FDCB7 887B 8FDCB7 <CJK>
+8FDCB8 8880 8FDCB8 <CJK>
+8FDCB9 8898 8FDCB9 <CJK>
+8FDCBA 889A 8FDCBA <CJK>
+8FDCBB 889B 8FDCBB <CJK>
+8FDCBC 889C 8FDCBC <CJK>
+8FDCBD 889F 8FDCBD <CJK>
+8FDCBE 88A0 8FDCBE <CJK>
+8FDCBF 88A8 8FDCBF <CJK>
+8FDCC0 88AA 8FDCC0 <CJK>
+8FDCC1 88BA 8FDCC1 <CJK>
+8FDCC2 88BD 8FDCC2 <CJK>
+8FDCC3 88BE 8FDCC3 <CJK>
+8FDCC4 88C0 8FDCC4 <CJK>
+8FDCC5 88CA 8FDCC5 <CJK>
+8FDCC6 88CB 8FDCC6 <CJK>
+8FDCC7 88CC 8FDCC7 <CJK>
+8FDCC8 88CD 8FDCC8 <CJK>
+8FDCC9 88CE 8FDCC9 <CJK>
+8FDCCA 88D1 8FDCCA <CJK>
+8FDCCB 88D2 8FDCCB <CJK>
+8FDCCC 88D3 8FDCCC <CJK>
+8FDCCD 88DB 8FDCCD <CJK>
+8FDCCE 88DE 8FDCCE <CJK>
+8FDCCF 88E7 8FDCCF <CJK>
+8FDCD0 88EF 8FDCD0 <CJK>
+8FDCD1 88F0 8FDCD1 <CJK>
+8FDCD2 88F1 8FDCD2 <CJK>
+8FDCD3 88F5 8FDCD3 <CJK>
+8FDCD4 88F7 8FDCD4 <CJK>
+8FDCD5 8901 8FDCD5 <CJK>
+8FDCD6 8906 8FDCD6 <CJK>
+8FDCD7 890D 8FDCD7 <CJK>
+8FDCD8 890E 8FDCD8 <CJK>
+8FDCD9 890F 8FDCD9 <CJK>
+8FDCDA 8915 8FDCDA <CJK>
+8FDCDB 8916 8FDCDB <CJK>
+8FDCDC 8918 8FDCDC <CJK>
+8FDCDD 8919 8FDCDD <CJK>
+8FDCDE 891A 8FDCDE <CJK>
+8FDCDF 891C 8FDCDF <CJK>
+8FDCE0 8920 8FDCE0 <CJK>
+8FDCE1 8926 8FDCE1 <CJK>
+8FDCE2 8927 8FDCE2 <CJK>
+8FDCE3 8928 8FDCE3 <CJK>
+8FDCE4 8930 8FDCE4 <CJK>
+8FDCE5 8931 8FDCE5 <CJK>
+8FDCE6 8932 8FDCE6 <CJK>
+8FDCE7 8935 8FDCE7 <CJK>
+8FDCE8 8939 8FDCE8 <CJK>
+8FDCE9 893A 8FDCE9 <CJK>
+8FDCEA 893E 8FDCEA <CJK>
+8FDCEB 8940 8FDCEB <CJK>
+8FDCEC 8942 8FDCEC <CJK>
+8FDCED 8945 8FDCED <CJK>
+8FDCEE 8946 8FDCEE <CJK>
+8FDCEF 8949 8FDCEF <CJK>
+8FDCF0 894F 8FDCF0 <CJK>
+8FDCF1 8952 8FDCF1 <CJK>
+8FDCF2 8957 8FDCF2 <CJK>
+8FDCF3 895A 8FDCF3 <CJK>
+8FDCF4 895B 8FDCF4 <CJK>
+8FDCF5 895C 8FDCF5 <CJK>
+8FDCF6 8961 8FDCF6 <CJK>
+8FDCF7 8962 8FDCF7 <CJK>
+8FDCF8 8963 8FDCF8 <CJK>
+8FDCF9 896B 8FDCF9 <CJK>
+8FDCFA 896E 8FDCFA <CJK>
+8FDCFB 8970 8FDCFB <CJK>
+8FDCFC 8973 8FDCFC <CJK>
+8FDCFD 8975 8FDCFD <CJK>
+8FDCFE 897A 8FDCFE <CJK>
+8FDDA1 897B 8FDDA1 <CJK>
+8FDDA2 897C 8FDDA2 <CJK>
+8FDDA3 897D 8FDDA3 <CJK>
+8FDDA4 8989 8FDDA4 <CJK>
+8FDDA5 898D 8FDDA5 <CJK>
+8FDDA6 8990 8FDDA6 <CJK>
+8FDDA7 8994 8FDDA7 <CJK>
+8FDDA8 8995 8FDDA8 <CJK>
+8FDDA9 899B 8FDDA9 <CJK>
+8FDDAA 899C 8FDDAA <CJK>
+8FDDAB 899F 8FDDAB <CJK>
+8FDDAC 89A0 8FDDAC <CJK>
+8FDDAD 89A5 8FDDAD <CJK>
+8FDDAE 89B0 8FDDAE <CJK>
+8FDDAF 89B4 8FDDAF <CJK>
+8FDDB0 89B5 8FDDB0 <CJK>
+8FDDB1 89B6 8FDDB1 <CJK>
+8FDDB2 89B7 8FDDB2 <CJK>
+8FDDB3 89BC 8FDDB3 <CJK>
+8FDDB4 89D4 8FDDB4 <CJK>
+8FDDB5 89D5 8FDDB5 <CJK>
+8FDDB6 89D6 8FDDB6 <CJK>
+8FDDB7 89D7 8FDDB7 <CJK>
+8FDDB8 89D8 8FDDB8 <CJK>
+8FDDB9 89E5 8FDDB9 <CJK>
+8FDDBA 89E9 8FDDBA <CJK>
+8FDDBB 89EB 8FDDBB <CJK>
+8FDDBC 89ED 8FDDBC <CJK>
+8FDDBD 89F1 8FDDBD <CJK>
+8FDDBE 89F3 8FDDBE <CJK>
+8FDDBF 89F6 8FDDBF <CJK>
+8FDDC0 89F9 8FDDC0 <CJK>
+8FDDC1 89FD 8FDDC1 <CJK>
+8FDDC2 89FF 8FDDC2 <CJK>
+8FDDC3 8A04 8FDDC3 <CJK>
+8FDDC4 8A05 8FDDC4 <CJK>
+8FDDC5 8A07 8FDDC5 <CJK>
+8FDDC6 8A0F 8FDDC6 <CJK>
+8FDDC7 8A11 8FDDC7 <CJK>
+8FDDC8 8A12 8FDDC8 <CJK>
+8FDDC9 8A14 8FDDC9 <CJK>
+8FDDCA 8A15 8FDDCA <CJK>
+8FDDCB 8A1E 8FDDCB <CJK>
+8FDDCC 8A20 8FDDCC <CJK>
+8FDDCD 8A22 8FDDCD <CJK>
+8FDDCE 8A24 8FDDCE <CJK>
+8FDDCF 8A26 8FDDCF <CJK>
+8FDDD0 8A2B 8FDDD0 <CJK>
+8FDDD1 8A2C 8FDDD1 <CJK>
+8FDDD2 8A2F 8FDDD2 <CJK>
+8FDDD3 8A35 8FDDD3 <CJK>
+8FDDD4 8A37 8FDDD4 <CJK>
+8FDDD5 8A3D 8FDDD5 <CJK>
+8FDDD6 8A3E 8FDDD6 <CJK>
+8FDDD7 8A40 8FDDD7 <CJK>
+8FDDD8 8A43 8FDDD8 <CJK>
+8FDDD9 8A45 8FDDD9 <CJK>
+8FDDDA 8A47 8FDDDA <CJK>
+8FDDDB 8A49 8FDDDB <CJK>
+8FDDDC 8A4D 8FDDDC <CJK>
+8FDDDD 8A4E 8FDDDD <CJK>
+8FDDDE 8A53 8FDDDE <CJK>
+8FDDDF 8A56 8FDDDF <CJK>
+8FDDE0 8A57 8FDDE0 <CJK>
+8FDDE1 8A58 8FDDE1 <CJK>
+8FDDE2 8A5C 8FDDE2 <CJK>
+8FDDE3 8A5D 8FDDE3 <CJK>
+8FDDE4 8A61 8FDDE4 <CJK>
+8FDDE5 8A65 8FDDE5 <CJK>
+8FDDE6 8A67 8FDDE6 <CJK>
+8FDDE7 8A75 8FDDE7 <CJK>
+8FDDE8 8A76 8FDDE8 <CJK>
+8FDDE9 8A77 8FDDE9 <CJK>
+8FDDEA 8A79 8FDDEA <CJK>
+8FDDEB 8A7A 8FDDEB <CJK>
+8FDDEC 8A7B 8FDDEC <CJK>
+8FDDED 8A7E 8FDDED <CJK>
+8FDDEE 8A7F 8FDDEE <CJK>
+8FDDEF 8A80 8FDDEF <CJK>
+8FDDF0 8A83 8FDDF0 <CJK>
+8FDDF1 8A86 8FDDF1 <CJK>
+8FDDF2 8A8B 8FDDF2 <CJK>
+8FDDF3 8A8F 8FDDF3 <CJK>
+8FDDF4 8A90 8FDDF4 <CJK>
+8FDDF5 8A92 8FDDF5 <CJK>
+8FDDF6 8A96 8FDDF6 <CJK>
+8FDDF7 8A97 8FDDF7 <CJK>
+8FDDF8 8A99 8FDDF8 <CJK>
+8FDDF9 8A9F 8FDDF9 <CJK>
+8FDDFA 8AA7 8FDDFA <CJK>
+8FDDFB 8AA9 8FDDFB <CJK>
+8FDDFC 8AAE 8FDDFC <CJK>
+8FDDFD 8AAF 8FDDFD <CJK>
+8FDDFE 8AB3 8FDDFE <CJK>
+8FDEA1 8AB6 8FDEA1 <CJK>
+8FDEA2 8AB7 8FDEA2 <CJK>
+8FDEA3 8ABB 8FDEA3 <CJK>
+8FDEA4 8ABE 8FDEA4 <CJK>
+8FDEA5 8AC3 8FDEA5 <CJK>
+8FDEA6 8AC6 8FDEA6 <CJK>
+8FDEA7 8AC8 8FDEA7 <CJK>
+8FDEA8 8AC9 8FDEA8 <CJK>
+8FDEA9 8ACA 8FDEA9 <CJK>
+8FDEAA 8AD1 8FDEAA <CJK>
+8FDEAB 8AD3 8FDEAB <CJK>
+8FDEAC 8AD4 8FDEAC <CJK>
+8FDEAD 8AD5 8FDEAD <CJK>
+8FDEAE 8AD7 8FDEAE <CJK>
+8FDEAF 8ADD 8FDEAF <CJK>
+8FDEB0 8ADF 8FDEB0 <CJK>
+8FDEB1 8AEC 8FDEB1 <CJK>
+8FDEB2 8AF0 8FDEB2 <CJK>
+8FDEB3 8AF4 8FDEB3 <CJK>
+8FDEB4 8AF5 8FDEB4 <CJK>
+8FDEB5 8AF6 8FDEB5 <CJK>
+8FDEB6 8AFC 8FDEB6 <CJK>
+8FDEB7 8AFF 8FDEB7 <CJK>
+8FDEB8 8B05 8FDEB8 <CJK>
+8FDEB9 8B06 8FDEB9 <CJK>
+8FDEBA 8B0B 8FDEBA <CJK>
+8FDEBB 8B11 8FDEBB <CJK>
+8FDEBC 8B1C 8FDEBC <CJK>
+8FDEBD 8B1E 8FDEBD <CJK>
+8FDEBE 8B1F 8FDEBE <CJK>
+8FDEBF 8B0A 8FDEBF <CJK>
+8FDEC0 8B2D 8FDEC0 <CJK>
+8FDEC1 8B30 8FDEC1 <CJK>
+8FDEC2 8B37 8FDEC2 <CJK>
+8FDEC3 8B3C 8FDEC3 <CJK>
+8FDEC4 8B42 8FDEC4 <CJK>
+8FDEC5 8B43 8FDEC5 <CJK>
+8FDEC6 8B44 8FDEC6 <CJK>
+8FDEC7 8B45 8FDEC7 <CJK>
+8FDEC8 8B46 8FDEC8 <CJK>
+8FDEC9 8B48 8FDEC9 <CJK>
+8FDECA 8B52 8FDECA <CJK>
+8FDECB 8B53 8FDECB <CJK>
+8FDECC 8B54 8FDECC <CJK>
+8FDECD 8B59 8FDECD <CJK>
+8FDECE 8B4D 8FDECE <CJK>
+8FDECF 8B5E 8FDECF <CJK>
+8FDED0 8B63 8FDED0 <CJK>
+8FDED1 8B6D 8FDED1 <CJK>
+8FDED2 8B76 8FDED2 <CJK>
+8FDED3 8B78 8FDED3 <CJK>
+8FDED4 8B79 8FDED4 <CJK>
+8FDED5 8B7C 8FDED5 <CJK>
+8FDED6 8B7E 8FDED6 <CJK>
+8FDED7 8B81 8FDED7 <CJK>
+8FDED8 8B84 8FDED8 <CJK>
+8FDED9 8B85 8FDED9 <CJK>
+8FDEDA 8B8B 8FDEDA <CJK>
+8FDEDB 8B8D 8FDEDB <CJK>
+8FDEDC 8B8F 8FDEDC <CJK>
+8FDEDD 8B94 8FDEDD <CJK>
+8FDEDE 8B95 8FDEDE <CJK>
+8FDEDF 8B9C 8FDEDF <CJK>
+8FDEE0 8B9E 8FDEE0 <CJK>
+8FDEE1 8B9F 8FDEE1 <CJK>
+8FDEE2 8C38 8FDEE2 <CJK>
+8FDEE3 8C39 8FDEE3 <CJK>
+8FDEE4 8C3D 8FDEE4 <CJK>
+8FDEE5 8C3E 8FDEE5 <CJK>
+8FDEE6 8C45 8FDEE6 <CJK>
+8FDEE7 8C47 8FDEE7 <CJK>
+8FDEE8 8C49 8FDEE8 <CJK>
+8FDEE9 8C4B 8FDEE9 <CJK>
+8FDEEA 8C4F 8FDEEA <CJK>
+8FDEEB 8C51 8FDEEB <CJK>
+8FDEEC 8C53 8FDEEC <CJK>
+8FDEED 8C54 8FDEED <CJK>
+8FDEEE 8C57 8FDEEE <CJK>
+8FDEEF 8C58 8FDEEF <CJK>
+8FDEF0 8C5B 8FDEF0 <CJK>
+8FDEF1 8C5D 8FDEF1 <CJK>
+8FDEF2 8C59 8FDEF2 <CJK>
+8FDEF3 8C63 8FDEF3 <CJK>
+8FDEF4 8C64 8FDEF4 <CJK>
+8FDEF5 8C66 8FDEF5 <CJK>
+8FDEF6 8C68 8FDEF6 <CJK>
+8FDEF7 8C69 8FDEF7 <CJK>
+8FDEF8 8C6D 8FDEF8 <CJK>
+8FDEF9 8C73 8FDEF9 <CJK>
+8FDEFA 8C75 8FDEFA <CJK>
+8FDEFB 8C76 8FDEFB <CJK>
+8FDEFC 8C7B 8FDEFC <CJK>
+8FDEFD 8C7E 8FDEFD <CJK>
+8FDEFE 8C86 8FDEFE <CJK>
+8FDFA1 8C87 8FDFA1 <CJK>
+8FDFA2 8C8B 8FDFA2 <CJK>
+8FDFA3 8C90 8FDFA3 <CJK>
+8FDFA4 8C92 8FDFA4 <CJK>
+8FDFA5 8C93 8FDFA5 <CJK>
+8FDFA6 8C99 8FDFA6 <CJK>
+8FDFA7 8C9B 8FDFA7 <CJK>
+8FDFA8 8C9C 8FDFA8 <CJK>
+8FDFA9 8CA4 8FDFA9 <CJK>
+8FDFAA 8CB9 8FDFAA <CJK>
+8FDFAB 8CBA 8FDFAB <CJK>
+8FDFAC 8CC5 8FDFAC <CJK>
+8FDFAD 8CC6 8FDFAD <CJK>
+8FDFAE 8CC9 8FDFAE <CJK>
+8FDFAF 8CCB 8FDFAF <CJK>
+8FDFB0 8CCF 8FDFB0 <CJK>
+8FDFB1 8CD6 8FDFB1 <CJK>
+8FDFB2 8CD5 8FDFB2 <CJK>
+8FDFB3 8CD9 8FDFB3 <CJK>
+8FDFB4 8CDD 8FDFB4 <CJK>
+8FDFB5 8CE1 8FDFB5 <CJK>
+8FDFB6 8CE8 8FDFB6 <CJK>
+8FDFB7 8CEC 8FDFB7 <CJK>
+8FDFB8 8CEF 8FDFB8 <CJK>
+8FDFB9 8CF0 8FDFB9 <CJK>
+8FDFBA 8CF2 8FDFBA <CJK>
+8FDFBB 8CF5 8FDFBB <CJK>
+8FDFBC 8CF7 8FDFBC <CJK>
+8FDFBD 8CF8 8FDFBD <CJK>
+8FDFBE 8CFE 8FDFBE <CJK>
+8FDFBF 8CFF 8FDFBF <CJK>
+8FDFC0 8D01 8FDFC0 <CJK>
+8FDFC1 8D03 8FDFC1 <CJK>
+8FDFC2 8D09 8FDFC2 <CJK>
+8FDFC3 8D12 8FDFC3 <CJK>
+8FDFC4 8D17 8FDFC4 <CJK>
+8FDFC5 8D1B 8FDFC5 <CJK>
+8FDFC6 8D65 8FDFC6 <CJK>
+8FDFC7 8D69 8FDFC7 <CJK>
+8FDFC8 8D6C 8FDFC8 <CJK>
+8FDFC9 8D6E 8FDFC9 <CJK>
+8FDFCA 8D7F 8FDFCA <CJK>
+8FDFCB 8D82 8FDFCB <CJK>
+8FDFCC 8D84 8FDFCC <CJK>
+8FDFCD 8D88 8FDFCD <CJK>
+8FDFCE 8D8D 8FDFCE <CJK>
+8FDFCF 8D90 8FDFCF <CJK>
+8FDFD0 8D91 8FDFD0 <CJK>
+8FDFD1 8D95 8FDFD1 <CJK>
+8FDFD2 8D9E 8FDFD2 <CJK>
+8FDFD3 8D9F 8FDFD3 <CJK>
+8FDFD4 8DA0 8FDFD4 <CJK>
+8FDFD5 8DA6 8FDFD5 <CJK>
+8FDFD6 8DAB 8FDFD6 <CJK>
+8FDFD7 8DAC 8FDFD7 <CJK>
+8FDFD8 8DAF 8FDFD8 <CJK>
+8FDFD9 8DB2 8FDFD9 <CJK>
+8FDFDA 8DB5 8FDFDA <CJK>
+8FDFDB 8DB7 8FDFDB <CJK>
+8FDFDC 8DB9 8FDFDC <CJK>
+8FDFDD 8DBB 8FDFDD <CJK>
+8FDFDE 8DC0 8FDFDE <CJK>
+8FDFDF 8DC5 8FDFDF <CJK>
+8FDFE0 8DC6 8FDFE0 <CJK>
+8FDFE1 8DC7 8FDFE1 <CJK>
+8FDFE2 8DC8 8FDFE2 <CJK>
+8FDFE3 8DCA 8FDFE3 <CJK>
+8FDFE4 8DCE 8FDFE4 <CJK>
+8FDFE5 8DD1 8FDFE5 <CJK>
+8FDFE6 8DD4 8FDFE6 <CJK>
+8FDFE7 8DD5 8FDFE7 <CJK>
+8FDFE8 8DD7 8FDFE8 <CJK>
+8FDFE9 8DD9 8FDFE9 <CJK>
+8FDFEA 8DE4 8FDFEA <CJK>
+8FDFEB 8DE5 8FDFEB <CJK>
+8FDFEC 8DE7 8FDFEC <CJK>
+8FDFED 8DEC 8FDFED <CJK>
+8FDFEE 8DF0 8FDFEE <CJK>
+8FDFEF 8DBC 8FDFEF <CJK>
+8FDFF0 8DF1 8FDFF0 <CJK>
+8FDFF1 8DF2 8FDFF1 <CJK>
+8FDFF2 8DF4 8FDFF2 <CJK>
+8FDFF3 8DFD 8FDFF3 <CJK>
+8FDFF4 8E01 8FDFF4 <CJK>
+8FDFF5 8E04 8FDFF5 <CJK>
+8FDFF6 8E05 8FDFF6 <CJK>
+8FDFF7 8E06 8FDFF7 <CJK>
+8FDFF8 8E0B 8FDFF8 <CJK>
+8FDFF9 8E11 8FDFF9 <CJK>
+8FDFFA 8E14 8FDFFA <CJK>
+8FDFFB 8E16 8FDFFB <CJK>
+8FDFFC 8E20 8FDFFC <CJK>
+8FDFFD 8E21 8FDFFD <CJK>
+8FDFFE 8E22 8FDFFE <CJK>
+8FE0A1 8E23 8FE0A1 <CJK>
+8FE0A2 8E26 8FE0A2 <CJK>
+8FE0A3 8E27 8FE0A3 <CJK>
+8FE0A4 8E31 8FE0A4 <CJK>
+8FE0A5 8E33 8FE0A5 <CJK>
+8FE0A6 8E36 8FE0A6 <CJK>
+8FE0A7 8E37 8FE0A7 <CJK>
+8FE0A8 8E38 8FE0A8 <CJK>
+8FE0A9 8E39 8FE0A9 <CJK>
+8FE0AA 8E3D 8FE0AA <CJK>
+8FE0AB 8E40 8FE0AB <CJK>
+8FE0AC 8E41 8FE0AC <CJK>
+8FE0AD 8E4B 8FE0AD <CJK>
+8FE0AE 8E4D 8FE0AE <CJK>
+8FE0AF 8E4E 8FE0AF <CJK>
+8FE0B0 8E4F 8FE0B0 <CJK>
+8FE0B1 8E54 8FE0B1 <CJK>
+8FE0B2 8E5B 8FE0B2 <CJK>
+8FE0B3 8E5C 8FE0B3 <CJK>
+8FE0B4 8E5D 8FE0B4 <CJK>
+8FE0B5 8E5E 8FE0B5 <CJK>
+8FE0B6 8E61 8FE0B6 <CJK>
+8FE0B7 8E62 8FE0B7 <CJK>
+8FE0B8 8E69 8FE0B8 <CJK>
+8FE0B9 8E6C 8FE0B9 <CJK>
+8FE0BA 8E6D 8FE0BA <CJK>
+8FE0BB 8E6F 8FE0BB <CJK>
+8FE0BC 8E70 8FE0BC <CJK>
+8FE0BD 8E71 8FE0BD <CJK>
+8FE0BE 8E79 8FE0BE <CJK>
+8FE0BF 8E7A 8FE0BF <CJK>
+8FE0C0 8E7B 8FE0C0 <CJK>
+8FE0C1 8E82 8FE0C1 <CJK>
+8FE0C2 8E83 8FE0C2 <CJK>
+8FE0C3 8E89 8FE0C3 <CJK>
+8FE0C4 8E90 8FE0C4 <CJK>
+8FE0C5 8E92 8FE0C5 <CJK>
+8FE0C6 8E95 8FE0C6 <CJK>
+8FE0C7 8E9A 8FE0C7 <CJK>
+8FE0C8 8E9B 8FE0C8 <CJK>
+8FE0C9 8E9D 8FE0C9 <CJK>
+8FE0CA 8E9E 8FE0CA <CJK>
+8FE0CB 8EA2 8FE0CB <CJK>
+8FE0CC 8EA7 8FE0CC <CJK>
+8FE0CD 8EA9 8FE0CD <CJK>
+8FE0CE 8EAD 8FE0CE <CJK>
+8FE0CF 8EAE 8FE0CF <CJK>
+8FE0D0 8EB3 8FE0D0 <CJK>
+8FE0D1 8EB5 8FE0D1 <CJK>
+8FE0D2 8EBA 8FE0D2 <CJK>
+8FE0D3 8EBB 8FE0D3 <CJK>
+8FE0D4 8EC0 8FE0D4 <CJK>
+8FE0D5 8EC1 8FE0D5 <CJK>
+8FE0D6 8EC3 8FE0D6 <CJK>
+8FE0D7 8EC4 8FE0D7 <CJK>
+8FE0D8 8EC7 8FE0D8 <CJK>
+8FE0D9 8ECF 8FE0D9 <CJK>
+8FE0DA 8ED1 8FE0DA <CJK>
+8FE0DB 8ED4 8FE0DB <CJK>
+8FE0DC 8EDC 8FE0DC <CJK>
+8FE0DD 8EE8 8FE0DD <CJK>
+8FE0DE 8EEE 8FE0DE <CJK>
+8FE0DF 8EF0 8FE0DF <CJK>
+8FE0E0 8EF1 8FE0E0 <CJK>
+8FE0E1 8EF7 8FE0E1 <CJK>
+8FE0E2 8EF9 8FE0E2 <CJK>
+8FE0E3 8EFA 8FE0E3 <CJK>
+8FE0E4 8EED 8FE0E4 <CJK>
+8FE0E5 8F00 8FE0E5 <CJK>
+8FE0E6 8F02 8FE0E6 <CJK>
+8FE0E7 8F07 8FE0E7 <CJK>
+8FE0E8 8F08 8FE0E8 <CJK>
+8FE0E9 8F0F 8FE0E9 <CJK>
+8FE0EA 8F10 8FE0EA <CJK>
+8FE0EB 8F16 8FE0EB <CJK>
+8FE0EC 8F17 8FE0EC <CJK>
+8FE0ED 8F18 8FE0ED <CJK>
+8FE0EE 8F1E 8FE0EE <CJK>
+8FE0EF 8F20 8FE0EF <CJK>
+8FE0F0 8F21 8FE0F0 <CJK>
+8FE0F1 8F23 8FE0F1 <CJK>
+8FE0F2 8F25 8FE0F2 <CJK>
+8FE0F3 8F27 8FE0F3 <CJK>
+8FE0F4 8F28 8FE0F4 <CJK>
+8FE0F5 8F2C 8FE0F5 <CJK>
+8FE0F6 8F2D 8FE0F6 <CJK>
+8FE0F7 8F2E 8FE0F7 <CJK>
+8FE0F8 8F34 8FE0F8 <CJK>
+8FE0F9 8F35 8FE0F9 <CJK>
+8FE0FA 8F36 8FE0FA <CJK>
+8FE0FB 8F37 8FE0FB <CJK>
+8FE0FC 8F3A 8FE0FC <CJK>
+8FE0FD 8F40 8FE0FD <CJK>
+8FE0FE 8F41 8FE0FE <CJK>
+8FE1A1 8F43 8FE1A1 <CJK>
+8FE1A2 8F47 8FE1A2 <CJK>
+8FE1A3 8F4F 8FE1A3 <CJK>
+8FE1A4 8F51 8FE1A4 <CJK>
+8FE1A5 8F52 8FE1A5 <CJK>
+8FE1A6 8F53 8FE1A6 <CJK>
+8FE1A7 8F54 8FE1A7 <CJK>
+8FE1A8 8F55 8FE1A8 <CJK>
+8FE1A9 8F58 8FE1A9 <CJK>
+8FE1AA 8F5D 8FE1AA <CJK>
+8FE1AB 8F5E 8FE1AB <CJK>
+8FE1AC 8F65 8FE1AC <CJK>
+8FE1AD 8F9D 8FE1AD <CJK>
+8FE1AE 8FA0 8FE1AE <CJK>
+8FE1AF 8FA1 8FE1AF <CJK>
+8FE1B0 8FA4 8FE1B0 <CJK>
+8FE1B1 8FA5 8FE1B1 <CJK>
+8FE1B2 8FA6 8FE1B2 <CJK>
+8FE1B3 8FB5 8FE1B3 <CJK>
+8FE1B4 8FB6 8FE1B4 <CJK>
+8FE1B5 8FB8 8FE1B5 <CJK>
+8FE1B6 8FBE 8FE1B6 <CJK>
+8FE1B7 8FC0 8FE1B7 <CJK>
+8FE1B8 8FC1 8FE1B8 <CJK>
+8FE1B9 8FC6 8FE1B9 <CJK>
+8FE1BA 8FCA 8FE1BA <CJK>
+8FE1BB 8FCB 8FE1BB <CJK>
+8FE1BC 8FCD 8FE1BC <CJK>
+8FE1BD 8FD0 8FE1BD <CJK>
+8FE1BE 8FD2 8FE1BE <CJK>
+8FE1BF 8FD3 8FE1BF <CJK>
+8FE1C0 8FD5 8FE1C0 <CJK>
+8FE1C1 8FE0 8FE1C1 <CJK>
+8FE1C2 8FE3 8FE1C2 <CJK>
+8FE1C3 8FE4 8FE1C3 <CJK>
+8FE1C4 8FE8 8FE1C4 <CJK>
+8FE1C5 8FEE 8FE1C5 <CJK>
+8FE1C6 8FF1 8FE1C6 <CJK>
+8FE1C7 8FF5 8FE1C7 <CJK>
+8FE1C8 8FF6 8FE1C8 <CJK>
+8FE1C9 8FFB 8FE1C9 <CJK>
+8FE1CA 8FFE 8FE1CA <CJK>
+8FE1CB 9002 8FE1CB <CJK>
+8FE1CC 9004 8FE1CC <CJK>
+8FE1CD 9008 8FE1CD <CJK>
+8FE1CE 900C 8FE1CE <CJK>
+8FE1CF 9018 8FE1CF <CJK>
+8FE1D0 901B 8FE1D0 <CJK>
+8FE1D1 9028 8FE1D1 <CJK>
+8FE1D2 9029 8FE1D2 <CJK>
+8FE1D3 902F 8FE1D3 <CJK>
+8FE1D4 902A 8FE1D4 <CJK>
+8FE1D5 902C 8FE1D5 <CJK>
+8FE1D6 902D 8FE1D6 <CJK>
+8FE1D7 9033 8FE1D7 <CJK>
+8FE1D8 9034 8FE1D8 <CJK>
+8FE1D9 9037 8FE1D9 <CJK>
+8FE1DA 903F 8FE1DA <CJK>
+8FE1DB 9043 8FE1DB <CJK>
+8FE1DC 9044 8FE1DC <CJK>
+8FE1DD 904C 8FE1DD <CJK>
+8FE1DE 905B 8FE1DE <CJK>
+8FE1DF 905D 8FE1DF <CJK>
+8FE1E0 9062 8FE1E0 <CJK>
+8FE1E1 9066 8FE1E1 <CJK>
+8FE1E2 9067 8FE1E2 <CJK>
+8FE1E3 906C 8FE1E3 <CJK>
+8FE1E4 9070 8FE1E4 <CJK>
+8FE1E5 9074 8FE1E5 <CJK>
+8FE1E6 9079 8FE1E6 <CJK>
+8FE1E7 9085 8FE1E7 <CJK>
+8FE1E8 9088 8FE1E8 <CJK>
+8FE1E9 908B 8FE1E9 <CJK>
+8FE1EA 908C 8FE1EA <CJK>
+8FE1EB 908E 8FE1EB <CJK>
+8FE1EC 9090 8FE1EC <CJK>
+8FE1ED 9095 8FE1ED <CJK>
+8FE1EE 9097 8FE1EE <CJK>
+8FE1EF 9098 8FE1EF <CJK>
+8FE1F0 9099 8FE1F0 <CJK>
+8FE1F1 909B 8FE1F1 <CJK>
+8FE1F2 90A0 8FE1F2 <CJK>
+8FE1F3 90A1 8FE1F3 <CJK>
+8FE1F4 90A2 8FE1F4 <CJK>
+8FE1F5 90A5 8FE1F5 <CJK>
+8FE1F6 90B0 8FE1F6 <CJK>
+8FE1F7 90B2 8FE1F7 <CJK>
+8FE1F8 90B3 8FE1F8 <CJK>
+8FE1F9 90B4 8FE1F9 <CJK>
+8FE1FA 90B6 8FE1FA <CJK>
+8FE1FB 90BD 8FE1FB <CJK>
+8FE1FC 90CC 8FE1FC <CJK>
+8FE1FD 90BE 8FE1FD <CJK>
+8FE1FE 90C3 8FE1FE <CJK>
+8FE2A1 90C4 8FE2A1 <CJK>
+8FE2A2 90C5 8FE2A2 <CJK>
+8FE2A3 90C7 8FE2A3 <CJK>
+8FE2A4 90C8 8FE2A4 <CJK>
+8FE2A5 90D5 8FE2A5 <CJK>
+8FE2A6 90D7 8FE2A6 <CJK>
+8FE2A7 90D8 8FE2A7 <CJK>
+8FE2A8 90D9 8FE2A8 <CJK>
+8FE2A9 90DC 8FE2A9 <CJK>
+8FE2AA 90DD 8FE2AA <CJK>
+8FE2AB 90DF 8FE2AB <CJK>
+8FE2AC 90E5 8FE2AC <CJK>
+8FE2AD 90D2 8FE2AD <CJK>
+8FE2AE 90F6 8FE2AE <CJK>
+8FE2AF 90EB 8FE2AF <CJK>
+8FE2B0 90EF 8FE2B0 <CJK>
+8FE2B1 90F0 8FE2B1 <CJK>
+8FE2B2 90F4 8FE2B2 <CJK>
+8FE2B3 90FE 8FE2B3 <CJK>
+8FE2B4 90FF 8FE2B4 <CJK>
+8FE2B5 9100 8FE2B5 <CJK>
+8FE2B6 9104 8FE2B6 <CJK>
+8FE2B7 9105 8FE2B7 <CJK>
+8FE2B8 9106 8FE2B8 <CJK>
+8FE2B9 9108 8FE2B9 <CJK>
+8FE2BA 910D 8FE2BA <CJK>
+8FE2BB 9110 8FE2BB <CJK>
+8FE2BC 9114 8FE2BC <CJK>
+8FE2BD 9116 8FE2BD <CJK>
+8FE2BE 9117 8FE2BE <CJK>
+8FE2BF 9118 8FE2BF <CJK>
+8FE2C0 911A 8FE2C0 <CJK>
+8FE2C1 911C 8FE2C1 <CJK>
+8FE2C2 911E 8FE2C2 <CJK>
+8FE2C3 9120 8FE2C3 <CJK>
+8FE2C4 9125 8FE2C4 <CJK>
+8FE2C5 9122 8FE2C5 <CJK>
+8FE2C6 9123 8FE2C6 <CJK>
+8FE2C7 9127 8FE2C7 <CJK>
+8FE2C8 9129 8FE2C8 <CJK>
+8FE2C9 912E 8FE2C9 <CJK>
+8FE2CA 912F 8FE2CA <CJK>
+8FE2CB 9131 8FE2CB <CJK>
+8FE2CC 9134 8FE2CC <CJK>
+8FE2CD 9136 8FE2CD <CJK>
+8FE2CE 9137 8FE2CE <CJK>
+8FE2CF 9139 8FE2CF <CJK>
+8FE2D0 913A 8FE2D0 <CJK>
+8FE2D1 913C 8FE2D1 <CJK>
+8FE2D2 913D 8FE2D2 <CJK>
+8FE2D3 9143 8FE2D3 <CJK>
+8FE2D4 9147 8FE2D4 <CJK>
+8FE2D5 9148 8FE2D5 <CJK>
+8FE2D6 914F 8FE2D6 <CJK>
+8FE2D7 9153 8FE2D7 <CJK>
+8FE2D8 9157 8FE2D8 <CJK>
+8FE2D9 9159 8FE2D9 <CJK>
+8FE2DA 915A 8FE2DA <CJK>
+8FE2DB 915B 8FE2DB <CJK>
+8FE2DC 9161 8FE2DC <CJK>
+8FE2DD 9164 8FE2DD <CJK>
+8FE2DE 9167 8FE2DE <CJK>
+8FE2DF 916D 8FE2DF <CJK>
+8FE2E0 9174 8FE2E0 <CJK>
+8FE2E1 9179 8FE2E1 <CJK>
+8FE2E2 917A 8FE2E2 <CJK>
+8FE2E3 917B 8FE2E3 <CJK>
+8FE2E4 9181 8FE2E4 <CJK>
+8FE2E5 9183 8FE2E5 <CJK>
+8FE2E6 9185 8FE2E6 <CJK>
+8FE2E7 9186 8FE2E7 <CJK>
+8FE2E8 918A 8FE2E8 <CJK>
+8FE2E9 918E 8FE2E9 <CJK>
+8FE2EA 9191 8FE2EA <CJK>
+8FE2EB 9193 8FE2EB <CJK>
+8FE2EC 9194 8FE2EC <CJK>
+8FE2ED 9195 8FE2ED <CJK>
+8FE2EE 9198 8FE2EE <CJK>
+8FE2EF 919E 8FE2EF <CJK>
+8FE2F0 91A1 8FE2F0 <CJK>
+8FE2F1 91A6 8FE2F1 <CJK>
+8FE2F2 91A8 8FE2F2 <CJK>
+8FE2F3 91AC 8FE2F3 <CJK>
+8FE2F4 91AD 8FE2F4 <CJK>
+8FE2F5 91AE 8FE2F5 <CJK>
+8FE2F6 91B0 8FE2F6 <CJK>
+8FE2F7 91B1 8FE2F7 <CJK>
+8FE2F8 91B2 8FE2F8 <CJK>
+8FE2F9 91B3 8FE2F9 <CJK>
+8FE2FA 91B6 8FE2FA <CJK>
+8FE2FB 91BB 8FE2FB <CJK>
+8FE2FC 91BC 8FE2FC <CJK>
+8FE2FD 91BD 8FE2FD <CJK>
+8FE2FE 91BF 8FE2FE <CJK>
+8FE3A1 91C2 8FE3A1 <CJK>
+8FE3A2 91C3 8FE3A2 <CJK>
+8FE3A3 91C5 8FE3A3 <CJK>
+8FE3A4 91D3 8FE3A4 <CJK>
+8FE3A5 91D4 8FE3A5 <CJK>
+8FE3A6 91D7 8FE3A6 <CJK>
+8FE3A7 91D9 8FE3A7 <CJK>
+8FE3A8 91DA 8FE3A8 <CJK>
+8FE3A9 91DE 8FE3A9 <CJK>
+8FE3AA 91E4 8FE3AA <CJK>
+8FE3AB 91E5 8FE3AB <CJK>
+8FE3AC 91E9 8FE3AC <CJK>
+8FE3AD 91EA 8FE3AD <CJK>
+8FE3AE 91EC 8FE3AE <CJK>
+8FE3AF 91ED 8FE3AF <CJK>
+8FE3B0 91EE 8FE3B0 <CJK>
+8FE3B1 91EF 8FE3B1 <CJK>
+8FE3B2 91F0 8FE3B2 <CJK>
+8FE3B3 91F1 8FE3B3 <CJK>
+8FE3B4 91F7 8FE3B4 <CJK>
+8FE3B5 91F9 8FE3B5 <CJK>
+8FE3B6 91FB 8FE3B6 <CJK>
+8FE3B7 91FD 8FE3B7 <CJK>
+8FE3B8 9200 8FE3B8 <CJK>
+8FE3B9 9201 8FE3B9 <CJK>
+8FE3BA 9204 8FE3BA <CJK>
+8FE3BB 9205 8FE3BB <CJK>
+8FE3BC 9206 8FE3BC <CJK>
+8FE3BD 9207 8FE3BD <CJK>
+8FE3BE 9209 8FE3BE <CJK>
+8FE3BF 920A 8FE3BF <CJK>
+8FE3C0 920C 8FE3C0 <CJK>
+8FE3C1 9210 8FE3C1 <CJK>
+8FE3C2 9212 8FE3C2 <CJK>
+8FE3C3 9213 8FE3C3 <CJK>
+8FE3C4 9216 8FE3C4 <CJK>
+8FE3C5 9218 8FE3C5 <CJK>
+8FE3C6 921C 8FE3C6 <CJK>
+8FE3C7 921D 8FE3C7 <CJK>
+8FE3C8 9223 8FE3C8 <CJK>
+8FE3C9 9224 8FE3C9 <CJK>
+8FE3CA 9225 8FE3CA <CJK>
+8FE3CB 9226 8FE3CB <CJK>
+8FE3CC 9228 8FE3CC <CJK>
+8FE3CD 922E 8FE3CD <CJK>
+8FE3CE 922F 8FE3CE <CJK>
+8FE3CF 9230 8FE3CF <CJK>
+8FE3D0 9233 8FE3D0 <CJK>
+8FE3D1 9235 8FE3D1 <CJK>
+8FE3D2 9236 8FE3D2 <CJK>
+8FE3D3 9238 8FE3D3 <CJK>
+8FE3D4 9239 8FE3D4 <CJK>
+8FE3D5 923A 8FE3D5 <CJK>
+8FE3D6 923C 8FE3D6 <CJK>
+8FE3D7 923E 8FE3D7 <CJK>
+8FE3D8 9240 8FE3D8 <CJK>
+8FE3D9 9242 8FE3D9 <CJK>
+8FE3DA 9243 8FE3DA <CJK>
+8FE3DB 9246 8FE3DB <CJK>
+8FE3DC 9247 8FE3DC <CJK>
+8FE3DD 924A 8FE3DD <CJK>
+8FE3DE 924D 8FE3DE <CJK>
+8FE3DF 924E 8FE3DF <CJK>
+8FE3E0 924F 8FE3E0 <CJK>
+8FE3E1 9251 8FE3E1 <CJK>
+8FE3E2 9258 8FE3E2 <CJK>
+8FE3E3 9259 8FE3E3 <CJK>
+8FE3E4 925C 8FE3E4 <CJK>
+8FE3E5 925D 8FE3E5 <CJK>
+8FE3E6 9260 8FE3E6 <CJK>
+8FE3E7 9261 8FE3E7 <CJK>
+8FE3E8 9265 8FE3E8 <CJK>
+8FE3E9 9267 8FE3E9 <CJK>
+8FE3EA 9268 8FE3EA <CJK>
+8FE3EB 9269 8FE3EB <CJK>
+8FE3EC 926E 8FE3EC <CJK>
+8FE3ED 926F 8FE3ED <CJK>
+8FE3EE 9270 8FE3EE <CJK>
+8FE3EF 9275 8FE3EF <CJK>
+8FE3F0 9276 8FE3F0 <CJK>
+8FE3F1 9277 8FE3F1 <CJK>
+8FE3F2 9278 8FE3F2 <CJK>
+8FE3F3 9279 8FE3F3 <CJK>
+8FE3F4 927B 8FE3F4 <CJK>
+8FE3F5 927C 8FE3F5 <CJK>
+8FE3F6 927D 8FE3F6 <CJK>
+8FE3F7 927F 8FE3F7 <CJK>
+8FE3F8 9288 8FE3F8 <CJK>
+8FE3F9 9289 8FE3F9 <CJK>
+8FE3FA 928A 8FE3FA <CJK>
+8FE3FB 928D 8FE3FB <CJK>
+8FE3FC 928E 8FE3FC <CJK>
+8FE3FD 9292 8FE3FD <CJK>
+8FE3FE 9297 8FE3FE <CJK>
+8FE4A1 9299 8FE4A1 <CJK>
+8FE4A2 929F 8FE4A2 <CJK>
+8FE4A3 92A0 8FE4A3 <CJK>
+8FE4A4 92A4 8FE4A4 <CJK>
+8FE4A5 92A5 8FE4A5 <CJK>
+8FE4A6 92A7 8FE4A6 <CJK>
+8FE4A7 92A8 8FE4A7 <CJK>
+8FE4A8 92AB 8FE4A8 <CJK>
+8FE4A9 92AF 8FE4A9 <CJK>
+8FE4AA 92B2 8FE4AA <CJK>
+8FE4AB 92B6 8FE4AB <CJK>
+8FE4AC 92B8 8FE4AC <CJK>
+8FE4AD 92BA 8FE4AD <CJK>
+8FE4AE 92BB 8FE4AE <CJK>
+8FE4AF 92BC 8FE4AF <CJK>
+8FE4B0 92BD 8FE4B0 <CJK>
+8FE4B1 92BF 8FE4B1 <CJK>
+8FE4B2 92C0 8FE4B2 <CJK>
+8FE4B3 92C1 8FE4B3 <CJK>
+8FE4B4 92C2 8FE4B4 <CJK>
+8FE4B5 92C3 8FE4B5 <CJK>
+8FE4B6 92C5 8FE4B6 <CJK>
+8FE4B7 92C6 8FE4B7 <CJK>
+8FE4B8 92C7 8FE4B8 <CJK>
+8FE4B9 92C8 8FE4B9 <CJK>
+8FE4BA 92CB 8FE4BA <CJK>
+8FE4BB 92CC 8FE4BB <CJK>
+8FE4BC 92CD 8FE4BC <CJK>
+8FE4BD 92CE 8FE4BD <CJK>
+8FE4BE 92D0 8FE4BE <CJK>
+8FE4BF 92D3 8FE4BF <CJK>
+8FE4C0 92D5 8FE4C0 <CJK>
+8FE4C1 92D7 8FE4C1 <CJK>
+8FE4C2 92D8 8FE4C2 <CJK>
+8FE4C3 92D9 8FE4C3 <CJK>
+8FE4C4 92DC 8FE4C4 <CJK>
+8FE4C5 92DD 8FE4C5 <CJK>
+8FE4C6 92DF 8FE4C6 <CJK>
+8FE4C7 92E0 8FE4C7 <CJK>
+8FE4C8 92E1 8FE4C8 <CJK>
+8FE4C9 92E3 8FE4C9 <CJK>
+8FE4CA 92E5 8FE4CA <CJK>
+8FE4CB 92E7 8FE4CB <CJK>
+8FE4CC 92E8 8FE4CC <CJK>
+8FE4CD 92EC 8FE4CD <CJK>
+8FE4CE 92EE 8FE4CE <CJK>
+8FE4CF 92F0 8FE4CF <CJK>
+8FE4D0 92F9 8FE4D0 <CJK>
+8FE4D1 92FB 8FE4D1 <CJK>
+8FE4D2 92FF 8FE4D2 <CJK>
+8FE4D3 9300 8FE4D3 <CJK>
+8FE4D4 9302 8FE4D4 <CJK>
+8FE4D5 9308 8FE4D5 <CJK>
+8FE4D6 930D 8FE4D6 <CJK>
+8FE4D7 9311 8FE4D7 <CJK>
+8FE4D8 9314 8FE4D8 <CJK>
+8FE4D9 9315 8FE4D9 <CJK>
+8FE4DA 931C 8FE4DA <CJK>
+8FE4DB 931D 8FE4DB <CJK>
+8FE4DC 931E 8FE4DC <CJK>
+8FE4DD 931F 8FE4DD <CJK>
+8FE4DE 9321 8FE4DE <CJK>
+8FE4DF 9324 8FE4DF <CJK>
+8FE4E0 9325 8FE4E0 <CJK>
+8FE4E1 9327 8FE4E1 <CJK>
+8FE4E2 9329 8FE4E2 <CJK>
+8FE4E3 932A 8FE4E3 <CJK>
+8FE4E4 9333 8FE4E4 <CJK>
+8FE4E5 9334 8FE4E5 <CJK>
+8FE4E6 9336 8FE4E6 <CJK>
+8FE4E7 9337 8FE4E7 <CJK>
+8FE4E8 9347 8FE4E8 <CJK>
+8FE4E9 9348 8FE4E9 <CJK>
+8FE4EA 9349 8FE4EA <CJK>
+8FE4EB 9350 8FE4EB <CJK>
+8FE4EC 9351 8FE4EC <CJK>
+8FE4ED 9352 8FE4ED <CJK>
+8FE4EE 9355 8FE4EE <CJK>
+8FE4EF 9357 8FE4EF <CJK>
+8FE4F0 9358 8FE4F0 <CJK>
+8FE4F1 935A 8FE4F1 <CJK>
+8FE4F2 935E 8FE4F2 <CJK>
+8FE4F3 9364 8FE4F3 <CJK>
+8FE4F4 9365 8FE4F4 <CJK>
+8FE4F5 9367 8FE4F5 <CJK>
+8FE4F6 9369 8FE4F6 <CJK>
+8FE4F7 936A 8FE4F7 <CJK>
+8FE4F8 936D 8FE4F8 <CJK>
+8FE4F9 936F 8FE4F9 <CJK>
+8FE4FA 9370 8FE4FA <CJK>
+8FE4FB 9371 8FE4FB <CJK>
+8FE4FC 9373 8FE4FC <CJK>
+8FE4FD 9374 8FE4FD <CJK>
+8FE4FE 9376 8FE4FE <CJK>
+8FE5A1 937A 8FE5A1 <CJK>
+8FE5A2 937D 8FE5A2 <CJK>
+8FE5A3 937F 8FE5A3 <CJK>
+8FE5A4 9380 8FE5A4 <CJK>
+8FE5A5 9381 8FE5A5 <CJK>
+8FE5A6 9382 8FE5A6 <CJK>
+8FE5A7 9388 8FE5A7 <CJK>
+8FE5A8 938A 8FE5A8 <CJK>
+8FE5A9 938B 8FE5A9 <CJK>
+8FE5AA 938D 8FE5AA <CJK>
+8FE5AB 938F 8FE5AB <CJK>
+8FE5AC 9392 8FE5AC <CJK>
+8FE5AD 9395 8FE5AD <CJK>
+8FE5AE 9398 8FE5AE <CJK>
+8FE5AF 939B 8FE5AF <CJK>
+8FE5B0 939E 8FE5B0 <CJK>
+8FE5B1 93A1 8FE5B1 <CJK>
+8FE5B2 93A3 8FE5B2 <CJK>
+8FE5B3 93A4 8FE5B3 <CJK>
+8FE5B4 93A6 8FE5B4 <CJK>
+8FE5B5 93A8 8FE5B5 <CJK>
+8FE5B6 93AB 8FE5B6 <CJK>
+8FE5B7 93B4 8FE5B7 <CJK>
+8FE5B8 93B5 8FE5B8 <CJK>
+8FE5B9 93B6 8FE5B9 <CJK>
+8FE5BA 93BA 8FE5BA <CJK>
+8FE5BB 93A9 8FE5BB <CJK>
+8FE5BC 93C1 8FE5BC <CJK>
+8FE5BD 93C4 8FE5BD <CJK>
+8FE5BE 93C5 8FE5BE <CJK>
+8FE5BF 93C6 8FE5BF <CJK>
+8FE5C0 93C7 8FE5C0 <CJK>
+8FE5C1 93C9 8FE5C1 <CJK>
+8FE5C2 93CA 8FE5C2 <CJK>
+8FE5C3 93CB 8FE5C3 <CJK>
+8FE5C4 93CC 8FE5C4 <CJK>
+8FE5C5 93CD 8FE5C5 <CJK>
+8FE5C6 93D3 8FE5C6 <CJK>
+8FE5C7 93D9 8FE5C7 <CJK>
+8FE5C8 93DC 8FE5C8 <CJK>
+8FE5C9 93DE 8FE5C9 <CJK>
+8FE5CA 93DF 8FE5CA <CJK>
+8FE5CB 93E2 8FE5CB <CJK>
+8FE5CC 93E6 8FE5CC <CJK>
+8FE5CD 93E7 8FE5CD <CJK>
+8FE5CE 93F9 8FE5CE <CJK>
+8FE5CF 93F7 8FE5CF <CJK>
+8FE5D0 93F8 8FE5D0 <CJK>
+8FE5D1 93FA 8FE5D1 <CJK>
+8FE5D2 93FB 8FE5D2 <CJK>
+8FE5D3 93FD 8FE5D3 <CJK>
+8FE5D4 9401 8FE5D4 <CJK>
+8FE5D5 9402 8FE5D5 <CJK>
+8FE5D6 9404 8FE5D6 <CJK>
+8FE5D7 9408 8FE5D7 <CJK>
+8FE5D8 9409 8FE5D8 <CJK>
+8FE5D9 940D 8FE5D9 <CJK>
+8FE5DA 940E 8FE5DA <CJK>
+8FE5DB 940F 8FE5DB <CJK>
+8FE5DC 9415 8FE5DC <CJK>
+8FE5DD 9416 8FE5DD <CJK>
+8FE5DE 9417 8FE5DE <CJK>
+8FE5DF 941F 8FE5DF <CJK>
+8FE5E0 942E 8FE5E0 <CJK>
+8FE5E1 942F 8FE5E1 <CJK>
+8FE5E2 9431 8FE5E2 <CJK>
+8FE5E3 9432 8FE5E3 <CJK>
+8FE5E4 9433 8FE5E4 <CJK>
+8FE5E5 9434 8FE5E5 <CJK>
+8FE5E6 943B 8FE5E6 <CJK>
+8FE5E7 943F 8FE5E7 <CJK>
+8FE5E8 943D 8FE5E8 <CJK>
+8FE5E9 9443 8FE5E9 <CJK>
+8FE5EA 9445 8FE5EA <CJK>
+8FE5EB 9448 8FE5EB <CJK>
+8FE5EC 944A 8FE5EC <CJK>
+8FE5ED 944C 8FE5ED <CJK>
+8FE5EE 9455 8FE5EE <CJK>
+8FE5EF 9459 8FE5EF <CJK>
+8FE5F0 945C 8FE5F0 <CJK>
+8FE5F1 945F 8FE5F1 <CJK>
+8FE5F2 9461 8FE5F2 <CJK>
+8FE5F3 9463 8FE5F3 <CJK>
+8FE5F4 9468 8FE5F4 <CJK>
+8FE5F5 946B 8FE5F5 <CJK>
+8FE5F6 946D 8FE5F6 <CJK>
+8FE5F7 946E 8FE5F7 <CJK>
+8FE5F8 946F 8FE5F8 <CJK>
+8FE5F9 9471 8FE5F9 <CJK>
+8FE5FA 9472 8FE5FA <CJK>
+8FE5FB 9484 8FE5FB <CJK>
+8FE5FC 9483 8FE5FC <CJK>
+8FE5FD 9578 8FE5FD <CJK>
+8FE5FE 9579 8FE5FE <CJK>
+8FE6A1 957E 8FE6A1 <CJK>
+8FE6A2 9584 8FE6A2 <CJK>
+8FE6A3 9588 8FE6A3 <CJK>
+8FE6A4 958C 8FE6A4 <CJK>
+8FE6A5 958D 8FE6A5 <CJK>
+8FE6A6 958E 8FE6A6 <CJK>
+8FE6A7 959D 8FE6A7 <CJK>
+8FE6A8 959E 8FE6A8 <CJK>
+8FE6A9 959F 8FE6A9 <CJK>
+8FE6AA 95A1 8FE6AA <CJK>
+8FE6AB 95A6 8FE6AB <CJK>
+8FE6AC 95A9 8FE6AC <CJK>
+8FE6AD 95AB 8FE6AD <CJK>
+8FE6AE 95AC 8FE6AE <CJK>
+8FE6AF 95B4 8FE6AF <CJK>
+8FE6B0 95B6 8FE6B0 <CJK>
+8FE6B1 95BA 8FE6B1 <CJK>
+8FE6B2 95BD 8FE6B2 <CJK>
+8FE6B3 95BF 8FE6B3 <CJK>
+8FE6B4 95C6 8FE6B4 <CJK>
+8FE6B5 95C8 8FE6B5 <CJK>
+8FE6B6 95C9 8FE6B6 <CJK>
+8FE6B7 95CB 8FE6B7 <CJK>
+8FE6B8 95D0 8FE6B8 <CJK>
+8FE6B9 95D1 8FE6B9 <CJK>
+8FE6BA 95D2 8FE6BA <CJK>
+8FE6BB 95D3 8FE6BB <CJK>
+8FE6BC 95D9 8FE6BC <CJK>
+8FE6BD 95DA 8FE6BD <CJK>
+8FE6BE 95DD 8FE6BE <CJK>
+8FE6BF 95DE 8FE6BF <CJK>
+8FE6C0 95DF 8FE6C0 <CJK>
+8FE6C1 95E0 8FE6C1 <CJK>
+8FE6C2 95E4 8FE6C2 <CJK>
+8FE6C3 95E6 8FE6C3 <CJK>
+8FE6C4 961D 8FE6C4 <CJK>
+8FE6C5 961E 8FE6C5 <CJK>
+8FE6C6 9622 8FE6C6 <CJK>
+8FE6C7 9624 8FE6C7 <CJK>
+8FE6C8 9625 8FE6C8 <CJK>
+8FE6C9 9626 8FE6C9 <CJK>
+8FE6CA 962C 8FE6CA <CJK>
+8FE6CB 9631 8FE6CB <CJK>
+8FE6CC 9633 8FE6CC <CJK>
+8FE6CD 9637 8FE6CD <CJK>
+8FE6CE 9638 8FE6CE <CJK>
+8FE6CF 9639 8FE6CF <CJK>
+8FE6D0 963A 8FE6D0 <CJK>
+8FE6D1 963C 8FE6D1 <CJK>
+8FE6D2 963D 8FE6D2 <CJK>
+8FE6D3 9641 8FE6D3 <CJK>
+8FE6D4 9652 8FE6D4 <CJK>
+8FE6D5 9654 8FE6D5 <CJK>
+8FE6D6 9656 8FE6D6 <CJK>
+8FE6D7 9657 8FE6D7 <CJK>
+8FE6D8 9658 8FE6D8 <CJK>
+8FE6D9 9661 8FE6D9 <CJK>
+8FE6DA 966E 8FE6DA <CJK>
+8FE6DB 9674 8FE6DB <CJK>
+8FE6DC 967B 8FE6DC <CJK>
+8FE6DD 967C 8FE6DD <CJK>
+8FE6DE 967E 8FE6DE <CJK>
+8FE6DF 967F 8FE6DF <CJK>
+8FE6E0 9681 8FE6E0 <CJK>
+8FE6E1 9682 8FE6E1 <CJK>
+8FE6E2 9683 8FE6E2 <CJK>
+8FE6E3 9684 8FE6E3 <CJK>
+8FE6E4 9689 8FE6E4 <CJK>
+8FE6E5 9691 8FE6E5 <CJK>
+8FE6E6 9696 8FE6E6 <CJK>
+8FE6E7 969A 8FE6E7 <CJK>
+8FE6E8 969D 8FE6E8 <CJK>
+8FE6E9 969F 8FE6E9 <CJK>
+8FE6EA 96A4 8FE6EA <CJK>
+8FE6EB 96A5 8FE6EB <CJK>
+8FE6EC 96A6 8FE6EC <CJK>
+8FE6ED 96A9 8FE6ED <CJK>
+8FE6EE 96AE 8FE6EE <CJK>
+8FE6EF 96AF 8FE6EF <CJK>
+8FE6F0 96B3 8FE6F0 <CJK>
+8FE6F1 96BA 8FE6F1 <CJK>
+8FE6F2 96CA 8FE6F2 <CJK>
+8FE6F3 96D2 8FE6F3 <CJK>
+8FE6F4 5DB2 8FE6F4 <CJK>
+8FE6F5 96D8 8FE6F5 <CJK>
+8FE6F6 96DA 8FE6F6 <CJK>
+8FE6F7 96DD 8FE6F7 <CJK>
+8FE6F8 96DE 8FE6F8 <CJK>
+8FE6F9 96DF 8FE6F9 <CJK>
+8FE6FA 96E9 8FE6FA <CJK>
+8FE6FB 96EF 8FE6FB <CJK>
+8FE6FC 96F1 8FE6FC <CJK>
+8FE6FD 96FA 8FE6FD <CJK>
+8FE6FE 9702 8FE6FE <CJK>
+8FE7A1 9703 8FE7A1 <CJK>
+8FE7A2 9705 8FE7A2 <CJK>
+8FE7A3 9709 8FE7A3 <CJK>
+8FE7A4 971A 8FE7A4 <CJK>
+8FE7A5 971B 8FE7A5 <CJK>
+8FE7A6 971D 8FE7A6 <CJK>
+8FE7A7 9721 8FE7A7 <CJK>
+8FE7A8 9722 8FE7A8 <CJK>
+8FE7A9 9723 8FE7A9 <CJK>
+8FE7AA 9728 8FE7AA <CJK>
+8FE7AB 9731 8FE7AB <CJK>
+8FE7AC 9733 8FE7AC <CJK>
+8FE7AD 9741 8FE7AD <CJK>
+8FE7AE 9743 8FE7AE <CJK>
+8FE7AF 974A 8FE7AF <CJK>
+8FE7B0 974E 8FE7B0 <CJK>
+8FE7B1 974F 8FE7B1 <CJK>
+8FE7B2 9755 8FE7B2 <CJK>
+8FE7B3 9757 8FE7B3 <CJK>
+8FE7B4 9758 8FE7B4 <CJK>
+8FE7B5 975A 8FE7B5 <CJK>
+8FE7B6 975B 8FE7B6 <CJK>
+8FE7B7 9763 8FE7B7 <CJK>
+8FE7B8 9767 8FE7B8 <CJK>
+8FE7B9 976A 8FE7B9 <CJK>
+8FE7BA 976E 8FE7BA <CJK>
+8FE7BB 9773 8FE7BB <CJK>
+8FE7BC 9776 8FE7BC <CJK>
+8FE7BD 9777 8FE7BD <CJK>
+8FE7BE 9778 8FE7BE <CJK>
+8FE7BF 977B 8FE7BF <CJK>
+8FE7C0 977D 8FE7C0 <CJK>
+8FE7C1 977F 8FE7C1 <CJK>
+8FE7C2 9780 8FE7C2 <CJK>
+8FE7C3 9789 8FE7C3 <CJK>
+8FE7C4 9795 8FE7C4 <CJK>
+8FE7C5 9796 8FE7C5 <CJK>
+8FE7C6 9797 8FE7C6 <CJK>
+8FE7C7 9799 8FE7C7 <CJK>
+8FE7C8 979A 8FE7C8 <CJK>
+8FE7C9 979E 8FE7C9 <CJK>
+8FE7CA 979F 8FE7CA <CJK>
+8FE7CB 97A2 8FE7CB <CJK>
+8FE7CC 97AC 8FE7CC <CJK>
+8FE7CD 97AE 8FE7CD <CJK>
+8FE7CE 97B1 8FE7CE <CJK>
+8FE7CF 97B2 8FE7CF <CJK>
+8FE7D0 97B5 8FE7D0 <CJK>
+8FE7D1 97B6 8FE7D1 <CJK>
+8FE7D2 97B8 8FE7D2 <CJK>
+8FE7D3 97B9 8FE7D3 <CJK>
+8FE7D4 97BA 8FE7D4 <CJK>
+8FE7D5 97BC 8FE7D5 <CJK>
+8FE7D6 97BE 8FE7D6 <CJK>
+8FE7D7 97BF 8FE7D7 <CJK>
+8FE7D8 97C1 8FE7D8 <CJK>
+8FE7D9 97C4 8FE7D9 <CJK>
+8FE7DA 97C5 8FE7DA <CJK>
+8FE7DB 97C7 8FE7DB <CJK>
+8FE7DC 97C9 8FE7DC <CJK>
+8FE7DD 97CA 8FE7DD <CJK>
+8FE7DE 97CC 8FE7DE <CJK>
+8FE7DF 97CD 8FE7DF <CJK>
+8FE7E0 97CE 8FE7E0 <CJK>
+8FE7E1 97D0 8FE7E1 <CJK>
+8FE7E2 97D1 8FE7E2 <CJK>
+8FE7E3 97D4 8FE7E3 <CJK>
+8FE7E4 97D7 8FE7E4 <CJK>
+8FE7E5 97D8 8FE7E5 <CJK>
+8FE7E6 97D9 8FE7E6 <CJK>
+8FE7E7 97DD 8FE7E7 <CJK>
+8FE7E8 97DE 8FE7E8 <CJK>
+8FE7E9 97E0 8FE7E9 <CJK>
+8FE7EA 97DB 8FE7EA <CJK>
+8FE7EB 97E1 8FE7EB <CJK>
+8FE7EC 97E4 8FE7EC <CJK>
+8FE7ED 97EF 8FE7ED <CJK>
+8FE7EE 97F1 8FE7EE <CJK>
+8FE7EF 97F4 8FE7EF <CJK>
+8FE7F0 97F7 8FE7F0 <CJK>
+8FE7F1 97F8 8FE7F1 <CJK>
+8FE7F2 97FA 8FE7F2 <CJK>
+8FE7F3 9807 8FE7F3 <CJK>
+8FE7F4 980A 8FE7F4 <CJK>
+8FE7F5 9819 8FE7F5 <CJK>
+8FE7F6 980D 8FE7F6 <CJK>
+8FE7F7 980E 8FE7F7 <CJK>
+8FE7F8 9814 8FE7F8 <CJK>
+8FE7F9 9816 8FE7F9 <CJK>
+8FE7FA 981C 8FE7FA <CJK>
+8FE7FB 981E 8FE7FB <CJK>
+8FE7FC 9820 8FE7FC <CJK>
+8FE7FD 9823 8FE7FD <CJK>
+8FE7FE 9826 8FE7FE <CJK>
+8FE8A1 982B 8FE8A1 <CJK>
+8FE8A2 982E 8FE8A2 <CJK>
+8FE8A3 982F 8FE8A3 <CJK>
+8FE8A4 9830 8FE8A4 <CJK>
+8FE8A5 9832 8FE8A5 <CJK>
+8FE8A6 9833 8FE8A6 <CJK>
+8FE8A7 9835 8FE8A7 <CJK>
+8FE8A8 9825 8FE8A8 <CJK>
+8FE8A9 983E 8FE8A9 <CJK>
+8FE8AA 9844 8FE8AA <CJK>
+8FE8AB 9847 8FE8AB <CJK>
+8FE8AC 984A 8FE8AC <CJK>
+8FE8AD 9851 8FE8AD <CJK>
+8FE8AE 9852 8FE8AE <CJK>
+8FE8AF 9853 8FE8AF <CJK>
+8FE8B0 9856 8FE8B0 <CJK>
+8FE8B1 9857 8FE8B1 <CJK>
+8FE8B2 9859 8FE8B2 <CJK>
+8FE8B3 985A 8FE8B3 <CJK>
+8FE8B4 9862 8FE8B4 <CJK>
+8FE8B5 9863 8FE8B5 <CJK>
+8FE8B6 9865 8FE8B6 <CJK>
+8FE8B7 9866 8FE8B7 <CJK>
+8FE8B8 986A 8FE8B8 <CJK>
+8FE8B9 986C 8FE8B9 <CJK>
+8FE8BA 98AB 8FE8BA <CJK>
+8FE8BB 98AD 8FE8BB <CJK>
+8FE8BC 98AE 8FE8BC <CJK>
+8FE8BD 98B0 8FE8BD <CJK>
+8FE8BE 98B4 8FE8BE <CJK>
+8FE8BF 98B7 8FE8BF <CJK>
+8FE8C0 98B8 8FE8C0 <CJK>
+8FE8C1 98BA 8FE8C1 <CJK>
+8FE8C2 98BB 8FE8C2 <CJK>
+8FE8C3 98BF 8FE8C3 <CJK>
+8FE8C4 98C2 8FE8C4 <CJK>
+8FE8C5 98C5 8FE8C5 <CJK>
+8FE8C6 98C8 8FE8C6 <CJK>
+8FE8C7 98CC 8FE8C7 <CJK>
+8FE8C8 98E1 8FE8C8 <CJK>
+8FE8C9 98E3 8FE8C9 <CJK>
+8FE8CA 98E5 8FE8CA <CJK>
+8FE8CB 98E6 8FE8CB <CJK>
+8FE8CC 98E7 8FE8CC <CJK>
+8FE8CD 98EA 8FE8CD <CJK>
+8FE8CE 98F3 8FE8CE <CJK>
+8FE8CF 98F6 8FE8CF <CJK>
+8FE8D0 9902 8FE8D0 <CJK>
+8FE8D1 9907 8FE8D1 <CJK>
+8FE8D2 9908 8FE8D2 <CJK>
+8FE8D3 9911 8FE8D3 <CJK>
+8FE8D4 9915 8FE8D4 <CJK>
+8FE8D5 9916 8FE8D5 <CJK>
+8FE8D6 9917 8FE8D6 <CJK>
+8FE8D7 991A 8FE8D7 <CJK>
+8FE8D8 991B 8FE8D8 <CJK>
+8FE8D9 991C 8FE8D9 <CJK>
+8FE8DA 991F 8FE8DA <CJK>
+8FE8DB 9922 8FE8DB <CJK>
+8FE8DC 9926 8FE8DC <CJK>
+8FE8DD 9927 8FE8DD <CJK>
+8FE8DE 992B 8FE8DE <CJK>
+8FE8DF 9931 8FE8DF <CJK>
+8FE8E0 9932 8FE8E0 <CJK>
+8FE8E1 9933 8FE8E1 <CJK>
+8FE8E2 9934 8FE8E2 <CJK>
+8FE8E3 9935 8FE8E3 <CJK>
+8FE8E4 9939 8FE8E4 <CJK>
+8FE8E5 993A 8FE8E5 <CJK>
+8FE8E6 993B 8FE8E6 <CJK>
+8FE8E7 993C 8FE8E7 <CJK>
+8FE8E8 9940 8FE8E8 <CJK>
+8FE8E9 9941 8FE8E9 <CJK>
+8FE8EA 9946 8FE8EA <CJK>
+8FE8EB 9947 8FE8EB <CJK>
+8FE8EC 9948 8FE8EC <CJK>
+8FE8ED 994D 8FE8ED <CJK>
+8FE8EE 994E 8FE8EE <CJK>
+8FE8EF 9954 8FE8EF <CJK>
+8FE8F0 9958 8FE8F0 <CJK>
+8FE8F1 9959 8FE8F1 <CJK>
+8FE8F2 995B 8FE8F2 <CJK>
+8FE8F3 995C 8FE8F3 <CJK>
+8FE8F4 995E 8FE8F4 <CJK>
+8FE8F5 995F 8FE8F5 <CJK>
+8FE8F6 9960 8FE8F6 <CJK>
+8FE8F7 999B 8FE8F7 <CJK>
+8FE8F8 999D 8FE8F8 <CJK>
+8FE8F9 999F 8FE8F9 <CJK>
+8FE8FA 99A6 8FE8FA <CJK>
+8FE8FB 99B0 8FE8FB <CJK>
+8FE8FC 99B1 8FE8FC <CJK>
+8FE8FD 99B2 8FE8FD <CJK>
+8FE8FE 99B5 8FE8FE <CJK>
+8FE9A1 99B9 8FE9A1 <CJK>
+8FE9A2 99BA 8FE9A2 <CJK>
+8FE9A3 99BD 8FE9A3 <CJK>
+8FE9A4 99BF 8FE9A4 <CJK>
+8FE9A5 99C3 8FE9A5 <CJK>
+8FE9A6 99C9 8FE9A6 <CJK>
+8FE9A7 99D3 8FE9A7 <CJK>
+8FE9A8 99D4 8FE9A8 <CJK>
+8FE9A9 99D9 8FE9A9 <CJK>
+8FE9AA 99DA 8FE9AA <CJK>
+8FE9AB 99DC 8FE9AB <CJK>
+8FE9AC 99DE 8FE9AC <CJK>
+8FE9AD 99E7 8FE9AD <CJK>
+8FE9AE 99EA 8FE9AE <CJK>
+8FE9AF 99EB 8FE9AF <CJK>
+8FE9B0 99EC 8FE9B0 <CJK>
+8FE9B1 99F0 8FE9B1 <CJK>
+8FE9B2 99F4 8FE9B2 <CJK>
+8FE9B3 99F5 8FE9B3 <CJK>
+8FE9B4 99F9 8FE9B4 <CJK>
+8FE9B5 99FD 8FE9B5 <CJK>
+8FE9B6 99FE 8FE9B6 <CJK>
+8FE9B7 9A02 8FE9B7 <CJK>
+8FE9B8 9A03 8FE9B8 <CJK>
+8FE9B9 9A04 8FE9B9 <CJK>
+8FE9BA 9A0B 8FE9BA <CJK>
+8FE9BB 9A0C 8FE9BB <CJK>
+8FE9BC 9A10 8FE9BC <CJK>
+8FE9BD 9A11 8FE9BD <CJK>
+8FE9BE 9A16 8FE9BE <CJK>
+8FE9BF 9A1E 8FE9BF <CJK>
+8FE9C0 9A20 8FE9C0 <CJK>
+8FE9C1 9A22 8FE9C1 <CJK>
+8FE9C2 9A23 8FE9C2 <CJK>
+8FE9C3 9A24 8FE9C3 <CJK>
+8FE9C4 9A27 8FE9C4 <CJK>
+8FE9C5 9A2D 8FE9C5 <CJK>
+8FE9C6 9A2E 8FE9C6 <CJK>
+8FE9C7 9A33 8FE9C7 <CJK>
+8FE9C8 9A35 8FE9C8 <CJK>
+8FE9C9 9A36 8FE9C9 <CJK>
+8FE9CA 9A38 8FE9CA <CJK>
+8FE9CB 9A47 8FE9CB <CJK>
+8FE9CC 9A41 8FE9CC <CJK>
+8FE9CD 9A44 8FE9CD <CJK>
+8FE9CE 9A4A 8FE9CE <CJK>
+8FE9CF 9A4B 8FE9CF <CJK>
+8FE9D0 9A4C 8FE9D0 <CJK>
+8FE9D1 9A4E 8FE9D1 <CJK>
+8FE9D2 9A51 8FE9D2 <CJK>
+8FE9D3 9A54 8FE9D3 <CJK>
+8FE9D4 9A56 8FE9D4 <CJK>
+8FE9D5 9A5D 8FE9D5 <CJK>
+8FE9D6 9AAA 8FE9D6 <CJK>
+8FE9D7 9AAC 8FE9D7 <CJK>
+8FE9D8 9AAE 8FE9D8 <CJK>
+8FE9D9 9AAF 8FE9D9 <CJK>
+8FE9DA 9AB2 8FE9DA <CJK>
+8FE9DB 9AB4 8FE9DB <CJK>
+8FE9DC 9AB5 8FE9DC <CJK>
+8FE9DD 9AB6 8FE9DD <CJK>
+8FE9DE 9AB9 8FE9DE <CJK>
+8FE9DF 9ABB 8FE9DF <CJK>
+8FE9E0 9ABE 8FE9E0 <CJK>
+8FE9E1 9ABF 8FE9E1 <CJK>
+8FE9E2 9AC1 8FE9E2 <CJK>
+8FE9E3 9AC3 8FE9E3 <CJK>
+8FE9E4 9AC6 8FE9E4 <CJK>
+8FE9E5 9AC8 8FE9E5 <CJK>
+8FE9E6 9ACE 8FE9E6 <CJK>
+8FE9E7 9AD0 8FE9E7 <CJK>
+8FE9E8 9AD2 8FE9E8 <CJK>
+8FE9E9 9AD5 8FE9E9 <CJK>
+8FE9EA 9AD6 8FE9EA <CJK>
+8FE9EB 9AD7 8FE9EB <CJK>
+8FE9EC 9ADB 8FE9EC <CJK>
+8FE9ED 9ADC 8FE9ED <CJK>
+8FE9EE 9AE0 8FE9EE <CJK>
+8FE9EF 9AE4 8FE9EF <CJK>
+8FE9F0 9AE5 8FE9F0 <CJK>
+8FE9F1 9AE7 8FE9F1 <CJK>
+8FE9F2 9AE9 8FE9F2 <CJK>
+8FE9F3 9AEC 8FE9F3 <CJK>
+8FE9F4 9AF2 8FE9F4 <CJK>
+8FE9F5 9AF3 8FE9F5 <CJK>
+8FE9F6 9AF5 8FE9F6 <CJK>
+8FE9F7 9AF9 8FE9F7 <CJK>
+8FE9F8 9AFA 8FE9F8 <CJK>
+8FE9F9 9AFD 8FE9F9 <CJK>
+8FE9FA 9AFF 8FE9FA <CJK>
+8FE9FB 9B00 8FE9FB <CJK>
+8FE9FC 9B01 8FE9FC <CJK>
+8FE9FD 9B02 8FE9FD <CJK>
+8FE9FE 9B03 8FE9FE <CJK>
+8FEAA1 9B04 8FEAA1 <CJK>
+8FEAA2 9B05 8FEAA2 <CJK>
+8FEAA3 9B08 8FEAA3 <CJK>
+8FEAA4 9B09 8FEAA4 <CJK>
+8FEAA5 9B0B 8FEAA5 <CJK>
+8FEAA6 9B0C 8FEAA6 <CJK>
+8FEAA7 9B0D 8FEAA7 <CJK>
+8FEAA8 9B0E 8FEAA8 <CJK>
+8FEAA9 9B10 8FEAA9 <CJK>
+8FEAAA 9B12 8FEAAA <CJK>
+8FEAAB 9B16 8FEAAB <CJK>
+8FEAAC 9B19 8FEAAC <CJK>
+8FEAAD 9B1B 8FEAAD <CJK>
+8FEAAE 9B1C 8FEAAE <CJK>
+8FEAAF 9B20 8FEAAF <CJK>
+8FEAB0 9B26 8FEAB0 <CJK>
+8FEAB1 9B2B 8FEAB1 <CJK>
+8FEAB2 9B2D 8FEAB2 <CJK>
+8FEAB3 9B33 8FEAB3 <CJK>
+8FEAB4 9B34 8FEAB4 <CJK>
+8FEAB5 9B35 8FEAB5 <CJK>
+8FEAB6 9B37 8FEAB6 <CJK>
+8FEAB7 9B39 8FEAB7 <CJK>
+8FEAB8 9B3A 8FEAB8 <CJK>
+8FEAB9 9B3D 8FEAB9 <CJK>
+8FEABA 9B48 8FEABA <CJK>
+8FEABB 9B4B 8FEABB <CJK>
+8FEABC 9B4C 8FEABC <CJK>
+8FEABD 9B55 8FEABD <CJK>
+8FEABE 9B56 8FEABE <CJK>
+8FEABF 9B57 8FEABF <CJK>
+8FEAC0 9B5B 8FEAC0 <CJK>
+8FEAC1 9B5E 8FEAC1 <CJK>
+8FEAC2 9B61 8FEAC2 <CJK>
+8FEAC3 9B63 8FEAC3 <CJK>
+8FEAC4 9B65 8FEAC4 <CJK>
+8FEAC5 9B66 8FEAC5 <CJK>
+8FEAC6 9B68 8FEAC6 <CJK>
+8FEAC7 9B6A 8FEAC7 <CJK>
+8FEAC8 9B6B 8FEAC8 <CJK>
+8FEAC9 9B6C 8FEAC9 <CJK>
+8FEACA 9B6D 8FEACA <CJK>
+8FEACB 9B6E 8FEACB <CJK>
+8FEACC 9B73 8FEACC <CJK>
+8FEACD 9B75 8FEACD <CJK>
+8FEACE 9B77 8FEACE <CJK>
+8FEACF 9B78 8FEACF <CJK>
+8FEAD0 9B79 8FEAD0 <CJK>
+8FEAD1 9B7F 8FEAD1 <CJK>
+8FEAD2 9B80 8FEAD2 <CJK>
+8FEAD3 9B84 8FEAD3 <CJK>
+8FEAD4 9B85 8FEAD4 <CJK>
+8FEAD5 9B86 8FEAD5 <CJK>
+8FEAD6 9B87 8FEAD6 <CJK>
+8FEAD7 9B89 8FEAD7 <CJK>
+8FEAD8 9B8A 8FEAD8 <CJK>
+8FEAD9 9B8B 8FEAD9 <CJK>
+8FEADA 9B8D 8FEADA <CJK>
+8FEADB 9B8F 8FEADB <CJK>
+8FEADC 9B90 8FEADC <CJK>
+8FEADD 9B94 8FEADD <CJK>
+8FEADE 9B9A 8FEADE <CJK>
+8FEADF 9B9D 8FEADF <CJK>
+8FEAE0 9B9E 8FEAE0 <CJK>
+8FEAE1 9BA6 8FEAE1 <CJK>
+8FEAE2 9BA7 8FEAE2 <CJK>
+8FEAE3 9BA9 8FEAE3 <CJK>
+8FEAE4 9BAC 8FEAE4 <CJK>
+8FEAE5 9BB0 8FEAE5 <CJK>
+8FEAE6 9BB1 8FEAE6 <CJK>
+8FEAE7 9BB2 8FEAE7 <CJK>
+8FEAE8 9BB7 8FEAE8 <CJK>
+8FEAE9 9BB8 8FEAE9 <CJK>
+8FEAEA 9BBB 8FEAEA <CJK>
+8FEAEB 9BBC 8FEAEB <CJK>
+8FEAEC 9BBE 8FEAEC <CJK>
+8FEAED 9BBF 8FEAED <CJK>
+8FEAEE 9BC1 8FEAEE <CJK>
+8FEAEF 9BC7 8FEAEF <CJK>
+8FEAF0 9BC8 8FEAF0 <CJK>
+8FEAF1 9BCE 8FEAF1 <CJK>
+8FEAF2 9BD0 8FEAF2 <CJK>
+8FEAF3 9BD7 8FEAF3 <CJK>
+8FEAF4 9BD8 8FEAF4 <CJK>
+8FEAF5 9BDD 8FEAF5 <CJK>
+8FEAF6 9BDF 8FEAF6 <CJK>
+8FEAF7 9BE5 8FEAF7 <CJK>
+8FEAF8 9BE7 8FEAF8 <CJK>
+8FEAF9 9BEA 8FEAF9 <CJK>
+8FEAFA 9BEB 8FEAFA <CJK>
+8FEAFB 9BEF 8FEAFB <CJK>
+8FEAFC 9BF3 8FEAFC <CJK>
+8FEAFD 9BF7 8FEAFD <CJK>
+8FEAFE 9BF8 8FEAFE <CJK>
+8FEBA1 9BF9 8FEBA1 <CJK>
+8FEBA2 9BFA 8FEBA2 <CJK>
+8FEBA3 9BFD 8FEBA3 <CJK>
+8FEBA4 9BFF 8FEBA4 <CJK>
+8FEBA5 9C00 8FEBA5 <CJK>
+8FEBA6 9C02 8FEBA6 <CJK>
+8FEBA7 9C0B 8FEBA7 <CJK>
+8FEBA8 9C0F 8FEBA8 <CJK>
+8FEBA9 9C11 8FEBA9 <CJK>
+8FEBAA 9C16 8FEBAA <CJK>
+8FEBAB 9C18 8FEBAB <CJK>
+8FEBAC 9C19 8FEBAC <CJK>
+8FEBAD 9C1A 8FEBAD <CJK>
+8FEBAE 9C1C 8FEBAE <CJK>
+8FEBAF 9C1E 8FEBAF <CJK>
+8FEBB0 9C22 8FEBB0 <CJK>
+8FEBB1 9C23 8FEBB1 <CJK>
+8FEBB2 9C26 8FEBB2 <CJK>
+8FEBB3 9C27 8FEBB3 <CJK>
+8FEBB4 9C28 8FEBB4 <CJK>
+8FEBB5 9C29 8FEBB5 <CJK>
+8FEBB6 9C2A 8FEBB6 <CJK>
+8FEBB7 9C31 8FEBB7 <CJK>
+8FEBB8 9C35 8FEBB8 <CJK>
+8FEBB9 9C36 8FEBB9 <CJK>
+8FEBBA 9C37 8FEBBA <CJK>
+8FEBBB 9C3D 8FEBBB <CJK>
+8FEBBC 9C41 8FEBBC <CJK>
+8FEBBD 9C43 8FEBBD <CJK>
+8FEBBE 9C44 8FEBBE <CJK>
+8FEBBF 9C45 8FEBBF <CJK>
+8FEBC0 9C49 8FEBC0 <CJK>
+8FEBC1 9C4A 8FEBC1 <CJK>
+8FEBC2 9C4E 8FEBC2 <CJK>
+8FEBC3 9C4F 8FEBC3 <CJK>
+8FEBC4 9C50 8FEBC4 <CJK>
+8FEBC5 9C53 8FEBC5 <CJK>
+8FEBC6 9C54 8FEBC6 <CJK>
+8FEBC7 9C56 8FEBC7 <CJK>
+8FEBC8 9C58 8FEBC8 <CJK>
+8FEBC9 9C5B 8FEBC9 <CJK>
+8FEBCA 9C5D 8FEBCA <CJK>
+8FEBCB 9C5E 8FEBCB <CJK>
+8FEBCC 9C5F 8FEBCC <CJK>
+8FEBCD 9C63 8FEBCD <CJK>
+8FEBCE 9C69 8FEBCE <CJK>
+8FEBCF 9C6A 8FEBCF <CJK>
+8FEBD0 9C5C 8FEBD0 <CJK>
+8FEBD1 9C6B 8FEBD1 <CJK>
+8FEBD2 9C68 8FEBD2 <CJK>
+8FEBD3 9C6E 8FEBD3 <CJK>
+8FEBD4 9C70 8FEBD4 <CJK>
+8FEBD5 9C72 8FEBD5 <CJK>
+8FEBD6 9C75 8FEBD6 <CJK>
+8FEBD7 9C77 8FEBD7 <CJK>
+8FEBD8 9C7B 8FEBD8 <CJK>
+8FEBD9 9CE6 8FEBD9 <CJK>
+8FEBDA 9CF2 8FEBDA <CJK>
+8FEBDB 9CF7 8FEBDB <CJK>
+8FEBDC 9CF9 8FEBDC <CJK>
+8FEBDD 9D0B 8FEBDD <CJK>
+8FEBDE 9D02 8FEBDE <CJK>
+8FEBDF 9D11 8FEBDF <CJK>
+8FEBE0 9D17 8FEBE0 <CJK>
+8FEBE1 9D18 8FEBE1 <CJK>
+8FEBE2 9D1C 8FEBE2 <CJK>
+8FEBE3 9D1D 8FEBE3 <CJK>
+8FEBE4 9D1E 8FEBE4 <CJK>
+8FEBE5 9D2F 8FEBE5 <CJK>
+8FEBE6 9D30 8FEBE6 <CJK>
+8FEBE7 9D32 8FEBE7 <CJK>
+8FEBE8 9D33 8FEBE8 <CJK>
+8FEBE9 9D34 8FEBE9 <CJK>
+8FEBEA 9D3A 8FEBEA <CJK>
+8FEBEB 9D3C 8FEBEB <CJK>
+8FEBEC 9D45 8FEBEC <CJK>
+8FEBED 9D3D 8FEBED <CJK>
+8FEBEE 9D42 8FEBEE <CJK>
+8FEBEF 9D43 8FEBEF <CJK>
+8FEBF0 9D47 8FEBF0 <CJK>
+8FEBF1 9D4A 8FEBF1 <CJK>
+8FEBF2 9D53 8FEBF2 <CJK>
+8FEBF3 9D54 8FEBF3 <CJK>
+8FEBF4 9D5F 8FEBF4 <CJK>
+8FEBF5 9D63 8FEBF5 <CJK>
+8FEBF6 9D62 8FEBF6 <CJK>
+8FEBF7 9D65 8FEBF7 <CJK>
+8FEBF8 9D69 8FEBF8 <CJK>
+8FEBF9 9D6A 8FEBF9 <CJK>
+8FEBFA 9D6B 8FEBFA <CJK>
+8FEBFB 9D70 8FEBFB <CJK>
+8FEBFC 9D76 8FEBFC <CJK>
+8FEBFD 9D77 8FEBFD <CJK>
+8FEBFE 9D7B 8FEBFE <CJK>
+8FECA1 9D7C 8FECA1 <CJK>
+8FECA2 9D7E 8FECA2 <CJK>
+8FECA3 9D83 8FECA3 <CJK>
+8FECA4 9D84 8FECA4 <CJK>
+8FECA5 9D86 8FECA5 <CJK>
+8FECA6 9D8A 8FECA6 <CJK>
+8FECA7 9D8D 8FECA7 <CJK>
+8FECA8 9D8E 8FECA8 <CJK>
+8FECA9 9D92 8FECA9 <CJK>
+8FECAA 9D93 8FECAA <CJK>
+8FECAB 9D95 8FECAB <CJK>
+8FECAC 9D96 8FECAC <CJK>
+8FECAD 9D97 8FECAD <CJK>
+8FECAE 9D98 8FECAE <CJK>
+8FECAF 9DA1 8FECAF <CJK>
+8FECB0 9DAA 8FECB0 <CJK>
+8FECB1 9DAC 8FECB1 <CJK>
+8FECB2 9DAE 8FECB2 <CJK>
+8FECB3 9DB1 8FECB3 <CJK>
+8FECB4 9DB5 8FECB4 <CJK>
+8FECB5 9DB9 8FECB5 <CJK>
+8FECB6 9DBC 8FECB6 <CJK>
+8FECB7 9DBF 8FECB7 <CJK>
+8FECB8 9DC3 8FECB8 <CJK>
+8FECB9 9DC7 8FECB9 <CJK>
+8FECBA 9DC9 8FECBA <CJK>
+8FECBB 9DCA 8FECBB <CJK>
+8FECBC 9DD4 8FECBC <CJK>
+8FECBD 9DD5 8FECBD <CJK>
+8FECBE 9DD6 8FECBE <CJK>
+8FECBF 9DD7 8FECBF <CJK>
+8FECC0 9DDA 8FECC0 <CJK>
+8FECC1 9DDE 8FECC1 <CJK>
+8FECC2 9DDF 8FECC2 <CJK>
+8FECC3 9DE0 8FECC3 <CJK>
+8FECC4 9DE5 8FECC4 <CJK>
+8FECC5 9DE7 8FECC5 <CJK>
+8FECC6 9DE9 8FECC6 <CJK>
+8FECC7 9DEB 8FECC7 <CJK>
+8FECC8 9DEE 8FECC8 <CJK>
+8FECC9 9DF0 8FECC9 <CJK>
+8FECCA 9DF3 8FECCA <CJK>
+8FECCB 9DF4 8FECCB <CJK>
+8FECCC 9DFE 8FECCC <CJK>
+8FECCD 9E0A 8FECCD <CJK>
+8FECCE 9E02 8FECCE <CJK>
+8FECCF 9E07 8FECCF <CJK>
+8FECD0 9E0E 8FECD0 <CJK>
+8FECD1 9E10 8FECD1 <CJK>
+8FECD2 9E11 8FECD2 <CJK>
+8FECD3 9E12 8FECD3 <CJK>
+8FECD4 9E15 8FECD4 <CJK>
+8FECD5 9E16 8FECD5 <CJK>
+8FECD6 9E19 8FECD6 <CJK>
+8FECD7 9E1C 8FECD7 <CJK>
+8FECD8 9E1D 8FECD8 <CJK>
+8FECD9 9E7A 8FECD9 <CJK>
+8FECDA 9E7B 8FECDA <CJK>
+8FECDB 9E7C 8FECDB <CJK>
+8FECDC 9E80 8FECDC <CJK>
+8FECDD 9E82 8FECDD <CJK>
+8FECDE 9E83 8FECDE <CJK>
+8FECDF 9E84 8FECDF <CJK>
+8FECE0 9E85 8FECE0 <CJK>
+8FECE1 9E87 8FECE1 <CJK>
+8FECE2 9E8E 8FECE2 <CJK>
+8FECE3 9E8F 8FECE3 <CJK>
+8FECE4 9E96 8FECE4 <CJK>
+8FECE5 9E98 8FECE5 <CJK>
+8FECE6 9E9B 8FECE6 <CJK>
+8FECE7 9E9E 8FECE7 <CJK>
+8FECE8 9EA4 8FECE8 <CJK>
+8FECE9 9EA8 8FECE9 <CJK>
+8FECEA 9EAC 8FECEA <CJK>
+8FECEB 9EAE 8FECEB <CJK>
+8FECEC 9EAF 8FECEC <CJK>
+8FECED 9EB0 8FECED <CJK>
+8FECEE 9EB3 8FECEE <CJK>
+8FECEF 9EB4 8FECEF <CJK>
+8FECF0 9EB5 8FECF0 <CJK>
+8FECF1 9EC6 8FECF1 <CJK>
+8FECF2 9EC8 8FECF2 <CJK>
+8FECF3 9ECB 8FECF3 <CJK>
+8FECF4 9ED5 8FECF4 <CJK>
+8FECF5 9EDF 8FECF5 <CJK>
+8FECF6 9EE4 8FECF6 <CJK>
+8FECF7 9EE7 8FECF7 <CJK>
+8FECF8 9EEC 8FECF8 <CJK>
+8FECF9 9EED 8FECF9 <CJK>
+8FECFA 9EEE 8FECFA <CJK>
+8FECFB 9EF0 8FECFB <CJK>
+8FECFC 9EF1 8FECFC <CJK>
+8FECFD 9EF2 8FECFD <CJK>
+8FECFE 9EF5 8FECFE <CJK>
+8FEDA1 9EF8 8FEDA1 U+9EF8 <CJK>
+8FEDA2 9EFF 8FEDA2 U+9EFF <CJK>
+8FEDA3 9F02 8FEDA3 U+9F02 <CJK>
+8FEDA4 9F03 8FEDA4 U+9F03 <CJK>
+8FEDA5 9F09 8FEDA5 U+9F09 <CJK>
+8FEDA6 9F0F 8FEDA6 U+9F0F <CJK>
+8FEDA7 9F10 8FEDA7 U+9F10 <CJK>
+8FEDA8 9F11 8FEDA8 U+9F11 <CJK>
+8FEDA9 9F12 8FEDA9 U+9F12 <CJK>
+8FEDAA 9F14 8FEDAA U+9F14 <CJK>
+8FEDAB 9F16 8FEDAB U+9F16 <CJK>
+8FEDAC 9F17 8FEDAC U+9F17 <CJK>
+8FEDAD 9F19 8FEDAD U+9F19 <CJK>
+8FEDAE 9F1A 8FEDAE U+9F1A <CJK>
+8FEDAF 9F1B 8FEDAF U+9F1B <CJK>
+8FEDB0 9F1F 8FEDB0 U+9F1F <CJK>
+8FEDB1 9F22 8FEDB1 U+9F22 <CJK>
+8FEDB2 9F26 8FEDB2 U+9F26 <CJK>
+8FEDB3 9F2A 8FEDB3 U+9F2A <CJK>
+8FEDB4 9F2B 8FEDB4 U+9F2B <CJK>
+8FEDB5 9F2F 8FEDB5 U+9F2F <CJK>
+8FEDB6 9F31 8FEDB6 U+9F31 <CJK>
+8FEDB7 9F32 8FEDB7 U+9F32 <CJK>
+8FEDB8 9F34 8FEDB8 U+9F34 <CJK>
+8FEDB9 9F37 8FEDB9 U+9F37 <CJK>
+8FEDBA 9F39 8FEDBA U+9F39 <CJK>
+8FEDBB 9F3A 8FEDBB U+9F3A <CJK>
+8FEDBC 9F3C 8FEDBC U+9F3C <CJK>
+8FEDBD 9F3D 8FEDBD U+9F3D <CJK>
+8FEDBE 9F3F 8FEDBE U+9F3F <CJK>
+8FEDBF 9F41 8FEDBF U+9F41 <CJK>
+8FEDC0 9F43 8FEDC0 U+9F43 <CJK>
+8FEDC1 9F44 8FEDC1 U+9F44 <CJK>
+8FEDC2 9F45 8FEDC2 U+9F45 <CJK>
+8FEDC3 9F46 8FEDC3 U+9F46 <CJK>
+8FEDC4 9F47 8FEDC4 U+9F47 <CJK>
+8FEDC5 9F53 8FEDC5 U+9F53 <CJK>
+8FEDC6 9F55 8FEDC6 U+9F55 <CJK>
+8FEDC7 9F56 8FEDC7 U+9F56 <CJK>
+8FEDC8 9F57 8FEDC8 U+9F57 <CJK>
+8FEDC9 9F58 8FEDC9 U+9F58 <CJK>
+8FEDCA 9F5A 8FEDCA U+9F5A <CJK>
+8FEDCB 9F5D 8FEDCB U+9F5D <CJK>
+8FEDCC 9F5E 8FEDCC U+9F5E <CJK>
+8FEDCD 9F68 8FEDCD U+9F68 <CJK>
+8FEDCE 9F69 8FEDCE U+9F69 <CJK>
+8FEDCF 9F6D 8FEDCF U+9F6D <CJK>
+8FEDD0 9F6E 8FEDD0 U+9F6E <CJK>
+8FEDD1 9F6F 8FEDD1 U+9F6F <CJK>
+8FEDD2 9F70 8FEDD2 U+9F70 <CJK>
+8FEDD3 9F71 8FEDD3 U+9F71 <CJK>
+8FEDD4 9F73 8FEDD4 U+9F73 <CJK>
+8FEDD5 9F75 8FEDD5 U+9F75 <CJK>
+8FEDD6 9F7A 8FEDD6 U+9F7A <CJK>
+8FEDD7 9F7D 8FEDD7 U+9F7D <CJK>
+8FEDD8 9F8F 8FEDD8 U+9F8F <CJK>
+8FEDD9 9F90 8FEDD9 U+9F90 <CJK>
+8FEDDA 9F91 8FEDDA U+9F91 <CJK>
+8FEDDB 9F92 8FEDDB U+9F92 <CJK>
+8FEDDC 9F94 8FEDDC U+9F94 <CJK>
+8FEDDD 9F96 8FEDDD U+9F96 <CJK>
+8FEDDE 9F97 8FEDDE U+9F97 <CJK>
+8FEDDF 9F9E 8FEDDF U+9F9E <CJK>
+8FEDE0 9FA1 8FEDE0 U+9FA1 <CJK>
+8FEDE1 9FA2 8FEDE1 U+9FA2 <CJK>
+8FEDE2 9FA3 8FEDE2 U+9FA3 <CJK>
+8FEDE3 9FA5 8FEDE3 U+9FA5 <CJK>
+8FF5A1 E3AC 8FF5A1 User defined range #2
+8FF5A2 E3AD 8FF5A2 User defined range #2
+8FF5A3 E3AE 8FF5A3 User defined range #2
+8FF5A4 E3AF 8FF5A4 User defined range #2
+8FF5A5 E3B0 8FF5A5 User defined range #2
+8FF5A6 E3B1 8FF5A6 User defined range #2
+8FF5A7 E3B2 8FF5A7 User defined range #2
+8FF5A8 E3B3 8FF5A8 User defined range #2
+8FF5A9 E3B4 8FF5A9 User defined range #2
+8FF5AA E3B5 8FF5AA User defined range #2
+8FF5AB E3B6 8FF5AB User defined range #2
+8FF5AC E3B7 8FF5AC User defined range #2
+8FF5AD E3B8 8FF5AD User defined range #2
+8FF5AE E3B9 8FF5AE User defined range #2
+8FF5AF E3BA 8FF5AF User defined range #2
+8FF5B0 E3BB 8FF5B0 User defined range #2
+8FF5B1 E3BC 8FF5B1 User defined range #2
+8FF5B2 E3BD 8FF5B2 User defined range #2
+8FF5B3 E3BE 8FF5B3 User defined range #2
+8FF5B4 E3BF 8FF5B4 User defined range #2
+8FF5B5 E3C0 8FF5B5 User defined range #2
+8FF5B6 E3C1 8FF5B6 User defined range #2
+8FF5B7 E3C2 8FF5B7 User defined range #2
+8FF5B8 E3C3 8FF5B8 User defined range #2
+8FF5B9 E3C4 8FF5B9 User defined range #2
+8FF5BA E3C5 8FF5BA User defined range #2
+8FF5BB E3C6 8FF5BB User defined range #2
+8FF5BC E3C7 8FF5BC User defined range #2
+8FF5BD E3C8 8FF5BD User defined range #2
+8FF5BE E3C9 8FF5BE User defined range #2
+8FF5BF E3CA 8FF5BF User defined range #2
+8FF5C0 E3CB 8FF5C0 User defined range #2
+8FF5C1 E3CC 8FF5C1 User defined range #2
+8FF5C2 E3CD 8FF5C2 User defined range #2
+8FF5C3 E3CE 8FF5C3 User defined range #2
+8FF5C4 E3CF 8FF5C4 User defined range #2
+8FF5C5 E3D0 8FF5C5 User defined range #2
+8FF5C6 E3D1 8FF5C6 User defined range #2
+8FF5C7 E3D2 8FF5C7 User defined range #2
+8FF5C8 E3D3 8FF5C8 User defined range #2
+8FF5C9 E3D4 8FF5C9 User defined range #2
+8FF5CA E3D5 8FF5CA User defined range #2
+8FF5CB E3D6 8FF5CB User defined range #2
+8FF5CC E3D7 8FF5CC User defined range #2
+8FF5CD E3D8 8FF5CD User defined range #2
+8FF5CE E3D9 8FF5CE User defined range #2
+8FF5CF E3DA 8FF5CF User defined range #2
+8FF5D0 E3DB 8FF5D0 User defined range #2
+8FF5D1 E3DC 8FF5D1 User defined range #2
+8FF5D2 E3DD 8FF5D2 User defined range #2
+8FF5D3 E3DE 8FF5D3 User defined range #2
+8FF5D4 E3DF 8FF5D4 User defined range #2
+8FF5D5 E3E0 8FF5D5 User defined range #2
+8FF5D6 E3E1 8FF5D6 User defined range #2
+8FF5D7 E3E2 8FF5D7 User defined range #2
+8FF5D8 E3E3 8FF5D8 User defined range #2
+8FF5D9 E3E4 8FF5D9 User defined range #2
+8FF5DA E3E5 8FF5DA User defined range #2
+8FF5DB E3E6 8FF5DB User defined range #2
+8FF5DC E3E7 8FF5DC User defined range #2
+8FF5DD E3E8 8FF5DD User defined range #2
+8FF5DE E3E9 8FF5DE User defined range #2
+8FF5DF E3EA 8FF5DF User defined range #2
+8FF5E0 E3EB 8FF5E0 User defined range #2
+8FF5E1 E3EC 8FF5E1 User defined range #2
+8FF5E2 E3ED 8FF5E2 User defined range #2
+8FF5E3 E3EE 8FF5E3 User defined range #2
+8FF5E4 E3EF 8FF5E4 User defined range #2
+8FF5E5 E3F0 8FF5E5 User defined range #2
+8FF5E6 E3F1 8FF5E6 User defined range #2
+8FF5E7 E3F2 8FF5E7 User defined range #2
+8FF5E8 E3F3 8FF5E8 User defined range #2
+8FF5E9 E3F4 8FF5E9 User defined range #2
+8FF5EA E3F5 8FF5EA User defined range #2
+8FF5EB E3F6 8FF5EB User defined range #2
+8FF5EC E3F7 8FF5EC User defined range #2
+8FF5ED E3F8 8FF5ED User defined range #2
+8FF5EE E3F9 8FF5EE User defined range #2
+8FF5EF E3FA 8FF5EF User defined range #2
+8FF5F0 E3FB 8FF5F0 User defined range #2
+8FF5F1 E3FC 8FF5F1 User defined range #2
+8FF5F2 E3FD 8FF5F2 User defined range #2
+8FF5F3 E3FE 8FF5F3 User defined range #2
+8FF5F4 E3FF 8FF5F4 User defined range #2
+8FF5F5 E400 8FF5F5 User defined range #2
+8FF5F6 E401 8FF5F6 User defined range #2
+8FF5F7 E402 8FF5F7 User defined range #2
+8FF5F8 E403 8FF5F8 User defined range #2
+8FF5F9 E404 8FF5F9 User defined range #2
+8FF5FA E405 8FF5FA User defined range #2
+8FF5FB E406 8FF5FB User defined range #2
+8FF5FC E407 8FF5FC User defined range #2
+8FF5FD E408 8FF5FD User defined range #2
+8FF5FE E409 8FF5FE User defined range #2
+8FF6A1 E40A 8FF6A1 User defined range #2
+8FF6A2 E40B 8FF6A2 User defined range #2
+8FF6A3 E40C 8FF6A3 User defined range #2
+8FF6A4 E40D 8FF6A4 User defined range #2
+8FF6A5 E40E 8FF6A5 User defined range #2
+8FF6A6 E40F 8FF6A6 User defined range #2
+8FF6A7 E410 8FF6A7 User defined range #2
+8FF6A8 E411 8FF6A8 User defined range #2
+8FF6A9 E412 8FF6A9 User defined range #2
+8FF6AA E413 8FF6AA User defined range #2
+8FF6AB E414 8FF6AB User defined range #2
+8FF6AC E415 8FF6AC User defined range #2
+8FF6AD E416 8FF6AD User defined range #2
+8FF6AE E417 8FF6AE User defined range #2
+8FF6AF E418 8FF6AF User defined range #2
+8FF6B0 E419 8FF6B0 User defined range #2
+8FF6B1 E41A 8FF6B1 User defined range #2
+8FF6B2 E41B 8FF6B2 User defined range #2
+8FF6B3 E41C 8FF6B3 User defined range #2
+8FF6B4 E41D 8FF6B4 User defined range #2
+8FF6B5 E41E 8FF6B5 User defined range #2
+8FF6B6 E41F 8FF6B6 User defined range #2
+8FF6B7 E420 8FF6B7 User defined range #2
+8FF6B8 E421 8FF6B8 User defined range #2
+8FF6B9 E422 8FF6B9 User defined range #2
+8FF6BA E423 8FF6BA User defined range #2
+8FF6BB E424 8FF6BB User defined range #2
+8FF6BC E425 8FF6BC User defined range #2
+8FF6BD E426 8FF6BD User defined range #2
+8FF6BE E427 8FF6BE User defined range #2
+8FF6BF E428 8FF6BF User defined range #2
+8FF6C0 E429 8FF6C0 User defined range #2
+8FF6C1 E42A 8FF6C1 User defined range #2
+8FF6C2 E42B 8FF6C2 User defined range #2
+8FF6C3 E42C 8FF6C3 User defined range #2
+8FF6C4 E42D 8FF6C4 User defined range #2
+8FF6C5 E42E 8FF6C5 User defined range #2
+8FF6C6 E42F 8FF6C6 User defined range #2
+8FF6C7 E430 8FF6C7 User defined range #2
+8FF6C8 E431 8FF6C8 User defined range #2
+8FF6C9 E432 8FF6C9 User defined range #2
+8FF6CA E433 8FF6CA User defined range #2
+8FF6CB E434 8FF6CB User defined range #2
+8FF6CC E435 8FF6CC User defined range #2
+8FF6CD E436 8FF6CD User defined range #2
+8FF6CE E437 8FF6CE User defined range #2
+8FF6CF E438 8FF6CF User defined range #2
+8FF6D0 E439 8FF6D0 User defined range #2
+8FF6D1 E43A 8FF6D1 User defined range #2
+8FF6D2 E43B 8FF6D2 User defined range #2
+8FF6D3 E43C 8FF6D3 User defined range #2
+8FF6D4 E43D 8FF6D4 User defined range #2
+8FF6D5 E43E 8FF6D5 User defined range #2
+8FF6D6 E43F 8FF6D6 User defined range #2
+8FF6D7 E440 8FF6D7 User defined range #2
+8FF6D8 E441 8FF6D8 User defined range #2
+8FF6D9 E442 8FF6D9 User defined range #2
+8FF6DA E443 8FF6DA User defined range #2
+8FF6DB E444 8FF6DB User defined range #2
+8FF6DC E445 8FF6DC User defined range #2
+8FF6DD E446 8FF6DD User defined range #2
+8FF6DE E447 8FF6DE User defined range #2
+8FF6DF E448 8FF6DF User defined range #2
+8FF6E0 E449 8FF6E0 User defined range #2
+8FF6E1 E44A 8FF6E1 User defined range #2
+8FF6E2 E44B 8FF6E2 User defined range #2
+8FF6E3 E44C 8FF6E3 User defined range #2
+8FF6E4 E44D 8FF6E4 User defined range #2
+8FF6E5 E44E 8FF6E5 User defined range #2
+8FF6E6 E44F 8FF6E6 User defined range #2
+8FF6E7 E450 8FF6E7 User defined range #2
+8FF6E8 E451 8FF6E8 User defined range #2
+8FF6E9 E452 8FF6E9 User defined range #2
+8FF6EA E453 8FF6EA User defined range #2
+8FF6EB E454 8FF6EB User defined range #2
+8FF6EC E455 8FF6EC User defined range #2
+8FF6ED E456 8FF6ED User defined range #2
+8FF6EE E457 8FF6EE User defined range #2
+8FF6EF E458 8FF6EF User defined range #2
+8FF6F0 E459 8FF6F0 User defined range #2
+8FF6F1 E45A 8FF6F1 User defined range #2
+8FF6F2 E45B 8FF6F2 User defined range #2
+8FF6F3 E45C 8FF6F3 User defined range #2
+8FF6F4 E45D 8FF6F4 User defined range #2
+8FF6F5 E45E 8FF6F5 User defined range #2
+8FF6F6 E45F 8FF6F6 User defined range #2
+8FF6F7 E460 8FF6F7 User defined range #2
+8FF6F8 E461 8FF6F8 User defined range #2
+8FF6F9 E462 8FF6F9 User defined range #2
+8FF6FA E463 8FF6FA User defined range #2
+8FF6FB E464 8FF6FB User defined range #2
+8FF6FC E465 8FF6FC User defined range #2
+8FF6FD E466 8FF6FD User defined range #2
+8FF6FE E467 8FF6FE User defined range #2
+8FF7A1 E468 8FF7A1 User defined range #2
+8FF7A2 E469 8FF7A2 User defined range #2
+8FF7A3 E46A 8FF7A3 User defined range #2
+8FF7A4 E46B 8FF7A4 User defined range #2
+8FF7A5 E46C 8FF7A5 User defined range #2
+8FF7A6 E46D 8FF7A6 User defined range #2
+8FF7A7 E46E 8FF7A7 User defined range #2
+8FF7A8 E46F 8FF7A8 User defined range #2
+8FF7A9 E470 8FF7A9 User defined range #2
+8FF7AA E471 8FF7AA User defined range #2
+8FF7AB E472 8FF7AB User defined range #2
+8FF7AC E473 8FF7AC User defined range #2
+8FF7AD E474 8FF7AD User defined range #2
+8FF7AE E475 8FF7AE User defined range #2
+8FF7AF E476 8FF7AF User defined range #2
+8FF7B0 E477 8FF7B0 User defined range #2
+8FF7B1 E478 8FF7B1 User defined range #2
+8FF7B2 E479 8FF7B2 User defined range #2
+8FF7B3 E47A 8FF7B3 User defined range #2
+8FF7B4 E47B 8FF7B4 User defined range #2
+8FF7B5 E47C 8FF7B5 User defined range #2
+8FF7B6 E47D 8FF7B6 User defined range #2
+8FF7B7 E47E 8FF7B7 User defined range #2
+8FF7B8 E47F 8FF7B8 User defined range #2
+8FF7B9 E480 8FF7B9 User defined range #2
+8FF7BA E481 8FF7BA User defined range #2
+8FF7BB E482 8FF7BB User defined range #2
+8FF7BC E483 8FF7BC User defined range #2
+8FF7BD E484 8FF7BD User defined range #2
+8FF7BE E485 8FF7BE User defined range #2
+8FF7BF E486 8FF7BF User defined range #2
+8FF7C0 E487 8FF7C0 User defined range #2
+8FF7C1 E488 8FF7C1 User defined range #2
+8FF7C2 E489 8FF7C2 User defined range #2
+8FF7C3 E48A 8FF7C3 User defined range #2
+8FF7C4 E48B 8FF7C4 User defined range #2
+8FF7C5 E48C 8FF7C5 User defined range #2
+8FF7C6 E48D 8FF7C6 User defined range #2
+8FF7C7 E48E 8FF7C7 User defined range #2
+8FF7C8 E48F 8FF7C8 User defined range #2
+8FF7C9 E490 8FF7C9 User defined range #2
+8FF7CA E491 8FF7CA User defined range #2
+8FF7CB E492 8FF7CB User defined range #2
+8FF7CC E493 8FF7CC User defined range #2
+8FF7CD E494 8FF7CD User defined range #2
+8FF7CE E495 8FF7CE User defined range #2
+8FF7CF E496 8FF7CF User defined range #2
+8FF7D0 E497 8FF7D0 User defined range #2
+8FF7D1 E498 8FF7D1 User defined range #2
+8FF7D2 E499 8FF7D2 User defined range #2
+8FF7D3 E49A 8FF7D3 User defined range #2
+8FF7D4 E49B 8FF7D4 User defined range #2
+8FF7D5 E49C 8FF7D5 User defined range #2
+8FF7D6 E49D 8FF7D6 User defined range #2
+8FF7D7 E49E 8FF7D7 User defined range #2
+8FF7D8 E49F 8FF7D8 User defined range #2
+8FF7D9 E4A0 8FF7D9 User defined range #2
+8FF7DA E4A1 8FF7DA User defined range #2
+8FF7DB E4A2 8FF7DB User defined range #2
+8FF7DC E4A3 8FF7DC User defined range #2
+8FF7DD E4A4 8FF7DD User defined range #2
+8FF7DE E4A5 8FF7DE User defined range #2
+8FF7DF E4A6 8FF7DF User defined range #2
+8FF7E0 E4A7 8FF7E0 User defined range #2
+8FF7E1 E4A8 8FF7E1 User defined range #2
+8FF7E2 E4A9 8FF7E2 User defined range #2
+8FF7E3 E4AA 8FF7E3 User defined range #2
+8FF7E4 E4AB 8FF7E4 User defined range #2
+8FF7E5 E4AC 8FF7E5 User defined range #2
+8FF7E6 E4AD 8FF7E6 User defined range #2
+8FF7E7 E4AE 8FF7E7 User defined range #2
+8FF7E8 E4AF 8FF7E8 User defined range #2
+8FF7E9 E4B0 8FF7E9 User defined range #2
+8FF7EA E4B1 8FF7EA User defined range #2
+8FF7EB E4B2 8FF7EB User defined range #2
+8FF7EC E4B3 8FF7EC User defined range #2
+8FF7ED E4B4 8FF7ED User defined range #2
+8FF7EE E4B5 8FF7EE User defined range #2
+8FF7EF E4B6 8FF7EF User defined range #2
+8FF7F0 E4B7 8FF7F0 User defined range #2
+8FF7F1 E4B8 8FF7F1 User defined range #2
+8FF7F2 E4B9 8FF7F2 User defined range #2
+8FF7F3 E4BA 8FF7F3 User defined range #2
+8FF7F4 E4BB 8FF7F4 User defined range #2
+8FF7F5 E4BC 8FF7F5 User defined range #2
+8FF7F6 E4BD 8FF7F6 User defined range #2
+8FF7F7 E4BE 8FF7F7 User defined range #2
+8FF7F8 E4BF 8FF7F8 User defined range #2
+8FF7F9 E4C0 8FF7F9 User defined range #2
+8FF7FA E4C1 8FF7FA User defined range #2
+8FF7FB E4C2 8FF7FB User defined range #2
+8FF7FC E4C3 8FF7FC User defined range #2
+8FF7FD E4C4 8FF7FD User defined range #2
+8FF7FE E4C5 8FF7FE User defined range #2
+8FF8A1 E4C6 8FF8A1 User defined range #2
+8FF8A2 E4C7 8FF8A2 User defined range #2
+8FF8A3 E4C8 8FF8A3 User defined range #2
+8FF8A4 E4C9 8FF8A4 User defined range #2
+8FF8A5 E4CA 8FF8A5 User defined range #2
+8FF8A6 E4CB 8FF8A6 User defined range #2
+8FF8A7 E4CC 8FF8A7 User defined range #2
+8FF8A8 E4CD 8FF8A8 User defined range #2
+8FF8A9 E4CE 8FF8A9 User defined range #2
+8FF8AA E4CF 8FF8AA User defined range #2
+8FF8AB E4D0 8FF8AB User defined range #2
+8FF8AC E4D1 8FF8AC User defined range #2
+8FF8AD E4D2 8FF8AD User defined range #2
+8FF8AE E4D3 8FF8AE User defined range #2
+8FF8AF E4D4 8FF8AF User defined range #2
+8FF8B0 E4D5 8FF8B0 User defined range #2
+8FF8B1 E4D6 8FF8B1 User defined range #2
+8FF8B2 E4D7 8FF8B2 User defined range #2
+8FF8B3 E4D8 8FF8B3 User defined range #2
+8FF8B4 E4D9 8FF8B4 User defined range #2
+8FF8B5 E4DA 8FF8B5 User defined range #2
+8FF8B6 E4DB 8FF8B6 User defined range #2
+8FF8B7 E4DC 8FF8B7 User defined range #2
+8FF8B8 E4DD 8FF8B8 User defined range #2
+8FF8B9 E4DE 8FF8B9 User defined range #2
+8FF8BA E4DF 8FF8BA User defined range #2
+8FF8BB E4E0 8FF8BB User defined range #2
+8FF8BC E4E1 8FF8BC User defined range #2
+8FF8BD E4E2 8FF8BD User defined range #2
+8FF8BE E4E3 8FF8BE User defined range #2
+8FF8BF E4E4 8FF8BF User defined range #2
+8FF8C0 E4E5 8FF8C0 User defined range #2
+8FF8C1 E4E6 8FF8C1 User defined range #2
+8FF8C2 E4E7 8FF8C2 User defined range #2
+8FF8C3 E4E8 8FF8C3 User defined range #2
+8FF8C4 E4E9 8FF8C4 User defined range #2
+8FF8C5 E4EA 8FF8C5 User defined range #2
+8FF8C6 E4EB 8FF8C6 User defined range #2
+8FF8C7 E4EC 8FF8C7 User defined range #2
+8FF8C8 E4ED 8FF8C8 User defined range #2
+8FF8C9 E4EE 8FF8C9 User defined range #2
+8FF8CA E4EF 8FF8CA User defined range #2
+8FF8CB E4F0 8FF8CB User defined range #2
+8FF8CC E4F1 8FF8CC User defined range #2
+8FF8CD E4F2 8FF8CD User defined range #2
+8FF8CE E4F3 8FF8CE User defined range #2
+8FF8CF E4F4 8FF8CF User defined range #2
+8FF8D0 E4F5 8FF8D0 User defined range #2
+8FF8D1 E4F6 8FF8D1 User defined range #2
+8FF8D2 E4F7 8FF8D2 User defined range #2
+8FF8D3 E4F8 8FF8D3 User defined range #2
+8FF8D4 E4F9 8FF8D4 User defined range #2
+8FF8D5 E4FA 8FF8D5 User defined range #2
+8FF8D6 E4FB 8FF8D6 User defined range #2
+8FF8D7 E4FC 8FF8D7 User defined range #2
+8FF8D8 E4FD 8FF8D8 User defined range #2
+8FF8D9 E4FE 8FF8D9 User defined range #2
+8FF8DA E4FF 8FF8DA User defined range #2
+8FF8DB E500 8FF8DB User defined range #2
+8FF8DC E501 8FF8DC User defined range #2
+8FF8DD E502 8FF8DD User defined range #2
+8FF8DE E503 8FF8DE User defined range #2
+8FF8DF E504 8FF8DF User defined range #2
+8FF8E0 E505 8FF8E0 User defined range #2
+8FF8E1 E506 8FF8E1 User defined range #2
+8FF8E2 E507 8FF8E2 User defined range #2
+8FF8E3 E508 8FF8E3 User defined range #2
+8FF8E4 E509 8FF8E4 User defined range #2
+8FF8E5 E50A 8FF8E5 User defined range #2
+8FF8E6 E50B 8FF8E6 User defined range #2
+8FF8E7 E50C 8FF8E7 User defined range #2
+8FF8E8 E50D 8FF8E8 User defined range #2
+8FF8E9 E50E 8FF8E9 User defined range #2
+8FF8EA E50F 8FF8EA User defined range #2
+8FF8EB E510 8FF8EB User defined range #2
+8FF8EC E511 8FF8EC User defined range #2
+8FF8ED E512 8FF8ED User defined range #2
+8FF8EE E513 8FF8EE User defined range #2
+8FF8EF E514 8FF8EF User defined range #2
+8FF8F0 E515 8FF8F0 User defined range #2
+8FF8F1 E516 8FF8F1 User defined range #2
+8FF8F2 E517 8FF8F2 User defined range #2
+8FF8F3 E518 8FF8F3 User defined range #2
+8FF8F4 E519 8FF8F4 User defined range #2
+8FF8F5 E51A 8FF8F5 User defined range #2
+8FF8F6 E51B 8FF8F6 User defined range #2
+8FF8F7 E51C 8FF8F7 User defined range #2
+8FF8F8 E51D 8FF8F8 User defined range #2
+8FF8F9 E51E 8FF8F9 User defined range #2
+8FF8FA E51F 8FF8FA User defined range #2
+8FF8FB E520 8FF8FB User defined range #2
+8FF8FC E521 8FF8FC User defined range #2
+8FF8FD E522 8FF8FD User defined range #2
+8FF8FE E523 8FF8FE User defined range #2
+8FF9A1 E524 8FF9A1 User defined range #2
+8FF9A2 E525 8FF9A2 User defined range #2
+8FF9A3 E526 8FF9A3 User defined range #2
+8FF9A4 E527 8FF9A4 User defined range #2
+8FF9A5 E528 8FF9A5 User defined range #2
+8FF9A6 E529 8FF9A6 User defined range #2
+8FF9A7 E52A 8FF9A7 User defined range #2
+8FF9A8 E52B 8FF9A8 User defined range #2
+8FF9A9 E52C 8FF9A9 User defined range #2
+8FF9AA E52D 8FF9AA User defined range #2
+8FF9AB E52E 8FF9AB User defined range #2
+8FF9AC E52F 8FF9AC User defined range #2
+8FF9AD E530 8FF9AD User defined range #2
+8FF9AE E531 8FF9AE User defined range #2
+8FF9AF E532 8FF9AF User defined range #2
+8FF9B0 E533 8FF9B0 User defined range #2
+8FF9B1 E534 8FF9B1 User defined range #2
+8FF9B2 E535 8FF9B2 User defined range #2
+8FF9B3 E536 8FF9B3 User defined range #2
+8FF9B4 E537 8FF9B4 User defined range #2
+8FF9B5 E538 8FF9B5 User defined range #2
+8FF9B6 E539 8FF9B6 User defined range #2
+8FF9B7 E53A 8FF9B7 User defined range #2
+8FF9B8 E53B 8FF9B8 User defined range #2
+8FF9B9 E53C 8FF9B9 User defined range #2
+8FF9BA E53D 8FF9BA User defined range #2
+8FF9BB E53E 8FF9BB User defined range #2
+8FF9BC E53F 8FF9BC User defined range #2
+8FF9BD E540 8FF9BD User defined range #2
+8FF9BE E541 8FF9BE User defined range #2
+8FF9BF E542 8FF9BF User defined range #2
+8FF9C0 E543 8FF9C0 User defined range #2
+8FF9C1 E544 8FF9C1 User defined range #2
+8FF9C2 E545 8FF9C2 User defined range #2
+8FF9C3 E546 8FF9C3 User defined range #2
+8FF9C4 E547 8FF9C4 User defined range #2
+8FF9C5 E548 8FF9C5 User defined range #2
+8FF9C6 E549 8FF9C6 User defined range #2
+8FF9C7 E54A 8FF9C7 User defined range #2
+8FF9C8 E54B 8FF9C8 User defined range #2
+8FF9C9 E54C 8FF9C9 User defined range #2
+8FF9CA E54D 8FF9CA User defined range #2
+8FF9CB E54E 8FF9CB User defined range #2
+8FF9CC E54F 8FF9CC User defined range #2
+8FF9CD E550 8FF9CD User defined range #2
+8FF9CE E551 8FF9CE User defined range #2
+8FF9CF E552 8FF9CF User defined range #2
+8FF9D0 E553 8FF9D0 User defined range #2
+8FF9D1 E554 8FF9D1 User defined range #2
+8FF9D2 E555 8FF9D2 User defined range #2
+8FF9D3 E556 8FF9D3 User defined range #2
+8FF9D4 E557 8FF9D4 User defined range #2
+8FF9D5 E558 8FF9D5 User defined range #2
+8FF9D6 E559 8FF9D6 User defined range #2
+8FF9D7 E55A 8FF9D7 User defined range #2
+8FF9D8 E55B 8FF9D8 User defined range #2
+8FF9D9 E55C 8FF9D9 User defined range #2
+8FF9DA E55D 8FF9DA User defined range #2
+8FF9DB E55E 8FF9DB User defined range #2
+8FF9DC E55F 8FF9DC User defined range #2
+8FF9DD E560 8FF9DD User defined range #2
+8FF9DE E561 8FF9DE User defined range #2
+8FF9DF E562 8FF9DF User defined range #2
+8FF9E0 E563 8FF9E0 User defined range #2
+8FF9E1 E564 8FF9E1 User defined range #2
+8FF9E2 E565 8FF9E2 User defined range #2
+8FF9E3 E566 8FF9E3 User defined range #2
+8FF9E4 E567 8FF9E4 User defined range #2
+8FF9E5 E568 8FF9E5 User defined range #2
+8FF9E6 E569 8FF9E6 User defined range #2
+8FF9E7 E56A 8FF9E7 User defined range #2
+8FF9E8 E56B 8FF9E8 User defined range #2
+8FF9E9 E56C 8FF9E9 User defined range #2
+8FF9EA E56D 8FF9EA User defined range #2
+8FF9EB E56E 8FF9EB User defined range #2
+8FF9EC E56F 8FF9EC User defined range #2
+8FF9ED E570 8FF9ED User defined range #2
+8FF9EE E571 8FF9EE User defined range #2
+8FF9EF E572 8FF9EF User defined range #2
+8FF9F0 E573 8FF9F0 User defined range #2
+8FF9F1 E574 8FF9F1 User defined range #2
+8FF9F2 E575 8FF9F2 User defined range #2
+8FF9F3 E576 8FF9F3 User defined range #2
+8FF9F4 E577 8FF9F4 User defined range #2
+8FF9F5 E578 8FF9F5 User defined range #2
+8FF9F6 E579 8FF9F6 User defined range #2
+8FF9F7 E57A 8FF9F7 User defined range #2
+8FF9F8 E57B 8FF9F8 User defined range #2
+8FF9F9 E57C 8FF9F9 User defined range #2
+8FF9FA E57D 8FF9FA User defined range #2
+8FF9FB E57E 8FF9FB User defined range #2
+8FF9FC E57F 8FF9FC User defined range #2
+8FF9FD E580 8FF9FD User defined range #2
+8FF9FE E581 8FF9FE User defined range #2
+8FFAA1 E582 8FFAA1 User defined range #2
+8FFAA2 E583 8FFAA2 User defined range #2
+8FFAA3 E584 8FFAA3 User defined range #2
+8FFAA4 E585 8FFAA4 User defined range #2
+8FFAA5 E586 8FFAA5 User defined range #2
+8FFAA6 E587 8FFAA6 User defined range #2
+8FFAA7 E588 8FFAA7 User defined range #2
+8FFAA8 E589 8FFAA8 User defined range #2
+8FFAA9 E58A 8FFAA9 User defined range #2
+8FFAAA E58B 8FFAAA User defined range #2
+8FFAAB E58C 8FFAAB User defined range #2
+8FFAAC E58D 8FFAAC User defined range #2
+8FFAAD E58E 8FFAAD User defined range #2
+8FFAAE E58F 8FFAAE User defined range #2
+8FFAAF E590 8FFAAF User defined range #2
+8FFAB0 E591 8FFAB0 User defined range #2
+8FFAB1 E592 8FFAB1 User defined range #2
+8FFAB2 E593 8FFAB2 User defined range #2
+8FFAB3 E594 8FFAB3 User defined range #2
+8FFAB4 E595 8FFAB4 User defined range #2
+8FFAB5 E596 8FFAB5 User defined range #2
+8FFAB6 E597 8FFAB6 User defined range #2
+8FFAB7 E598 8FFAB7 User defined range #2
+8FFAB8 E599 8FFAB8 User defined range #2
+8FFAB9 E59A 8FFAB9 User defined range #2
+8FFABA E59B 8FFABA User defined range #2
+8FFABB E59C 8FFABB User defined range #2
+8FFABC E59D 8FFABC User defined range #2
+8FFABD E59E 8FFABD User defined range #2
+8FFABE E59F 8FFABE User defined range #2
+8FFABF E5A0 8FFABF User defined range #2
+8FFAC0 E5A1 8FFAC0 User defined range #2
+8FFAC1 E5A2 8FFAC1 User defined range #2
+8FFAC2 E5A3 8FFAC2 User defined range #2
+8FFAC3 E5A4 8FFAC3 User defined range #2
+8FFAC4 E5A5 8FFAC4 User defined range #2
+8FFAC5 E5A6 8FFAC5 User defined range #2
+8FFAC6 E5A7 8FFAC6 User defined range #2
+8FFAC7 E5A8 8FFAC7 User defined range #2
+8FFAC8 E5A9 8FFAC8 User defined range #2
+8FFAC9 E5AA 8FFAC9 User defined range #2
+8FFACA E5AB 8FFACA User defined range #2
+8FFACB E5AC 8FFACB User defined range #2
+8FFACC E5AD 8FFACC User defined range #2
+8FFACD E5AE 8FFACD User defined range #2
+8FFACE E5AF 8FFACE User defined range #2
+8FFACF E5B0 8FFACF User defined range #2
+8FFAD0 E5B1 8FFAD0 User defined range #2
+8FFAD1 E5B2 8FFAD1 User defined range #2
+8FFAD2 E5B3 8FFAD2 User defined range #2
+8FFAD3 E5B4 8FFAD3 User defined range #2
+8FFAD4 E5B5 8FFAD4 User defined range #2
+8FFAD5 E5B6 8FFAD5 User defined range #2
+8FFAD6 E5B7 8FFAD6 User defined range #2
+8FFAD7 E5B8 8FFAD7 User defined range #2
+8FFAD8 E5B9 8FFAD8 User defined range #2
+8FFAD9 E5BA 8FFAD9 User defined range #2
+8FFADA E5BB 8FFADA User defined range #2
+8FFADB E5BC 8FFADB User defined range #2
+8FFADC E5BD 8FFADC User defined range #2
+8FFADD E5BE 8FFADD User defined range #2
+8FFADE E5BF 8FFADE User defined range #2
+8FFADF E5C0 8FFADF User defined range #2
+8FFAE0 E5C1 8FFAE0 User defined range #2
+8FFAE1 E5C2 8FFAE1 User defined range #2
+8FFAE2 E5C3 8FFAE2 User defined range #2
+8FFAE3 E5C4 8FFAE3 User defined range #2
+8FFAE4 E5C5 8FFAE4 User defined range #2
+8FFAE5 E5C6 8FFAE5 User defined range #2
+8FFAE6 E5C7 8FFAE6 User defined range #2
+8FFAE7 E5C8 8FFAE7 User defined range #2
+8FFAE8 E5C9 8FFAE8 User defined range #2
+8FFAE9 E5CA 8FFAE9 User defined range #2
+8FFAEA E5CB 8FFAEA User defined range #2
+8FFAEB E5CC 8FFAEB User defined range #2
+8FFAEC E5CD 8FFAEC User defined range #2
+8FFAED E5CE 8FFAED User defined range #2
+8FFAEE E5CF 8FFAEE User defined range #2
+8FFAEF E5D0 8FFAEF User defined range #2
+8FFAF0 E5D1 8FFAF0 User defined range #2
+8FFAF1 E5D2 8FFAF1 User defined range #2
+8FFAF2 E5D3 8FFAF2 User defined range #2
+8FFAF3 E5D4 8FFAF3 User defined range #2
+8FFAF4 E5D5 8FFAF4 User defined range #2
+8FFAF5 E5D6 8FFAF5 User defined range #2
+8FFAF6 E5D7 8FFAF6 User defined range #2
+8FFAF7 E5D8 8FFAF7 User defined range #2
+8FFAF8 E5D9 8FFAF8 User defined range #2
+8FFAF9 E5DA 8FFAF9 User defined range #2
+8FFAFA E5DB 8FFAFA User defined range #2
+8FFAFB E5DC 8FFAFB User defined range #2
+8FFAFC E5DD 8FFAFC User defined range #2
+8FFAFD E5DE 8FFAFD User defined range #2
+8FFAFE E5DF 8FFAFE User defined range #2
+8FFBA1 E5E0 8FFBA1 User defined range #2
+8FFBA2 E5E1 8FFBA2 User defined range #2
+8FFBA3 E5E2 8FFBA3 User defined range #2
+8FFBA4 E5E3 8FFBA4 User defined range #2
+8FFBA5 E5E4 8FFBA5 User defined range #2
+8FFBA6 E5E5 8FFBA6 User defined range #2
+8FFBA7 E5E6 8FFBA7 User defined range #2
+8FFBA8 E5E7 8FFBA8 User defined range #2
+8FFBA9 E5E8 8FFBA9 User defined range #2
+8FFBAA E5E9 8FFBAA User defined range #2
+8FFBAB E5EA 8FFBAB User defined range #2
+8FFBAC E5EB 8FFBAC User defined range #2
+8FFBAD E5EC 8FFBAD User defined range #2
+8FFBAE E5ED 8FFBAE User defined range #2
+8FFBAF E5EE 8FFBAF User defined range #2
+8FFBB0 E5EF 8FFBB0 User defined range #2
+8FFBB1 E5F0 8FFBB1 User defined range #2
+8FFBB2 E5F1 8FFBB2 User defined range #2
+8FFBB3 E5F2 8FFBB3 User defined range #2
+8FFBB4 E5F3 8FFBB4 User defined range #2
+8FFBB5 E5F4 8FFBB5 User defined range #2
+8FFBB6 E5F5 8FFBB6 User defined range #2
+8FFBB7 E5F6 8FFBB7 User defined range #2
+8FFBB8 E5F7 8FFBB8 User defined range #2
+8FFBB9 E5F8 8FFBB9 User defined range #2
+8FFBBA E5F9 8FFBBA User defined range #2
+8FFBBB E5FA 8FFBBB User defined range #2
+8FFBBC E5FB 8FFBBC User defined range #2
+8FFBBD E5FC 8FFBBD User defined range #2
+8FFBBE E5FD 8FFBBE User defined range #2
+8FFBBF E5FE 8FFBBF User defined range #2
+8FFBC0 E5FF 8FFBC0 User defined range #2
+8FFBC1 E600 8FFBC1 User defined range #2
+8FFBC2 E601 8FFBC2 User defined range #2
+8FFBC3 E602 8FFBC3 User defined range #2
+8FFBC4 E603 8FFBC4 User defined range #2
+8FFBC5 E604 8FFBC5 User defined range #2
+8FFBC6 E605 8FFBC6 User defined range #2
+8FFBC7 E606 8FFBC7 User defined range #2
+8FFBC8 E607 8FFBC8 User defined range #2
+8FFBC9 E608 8FFBC9 User defined range #2
+8FFBCA E609 8FFBCA User defined range #2
+8FFBCB E60A 8FFBCB User defined range #2
+8FFBCC E60B 8FFBCC User defined range #2
+8FFBCD E60C 8FFBCD User defined range #2
+8FFBCE E60D 8FFBCE User defined range #2
+8FFBCF E60E 8FFBCF User defined range #2
+8FFBD0 E60F 8FFBD0 User defined range #2
+8FFBD1 E610 8FFBD1 User defined range #2
+8FFBD2 E611 8FFBD2 User defined range #2
+8FFBD3 E612 8FFBD3 User defined range #2
+8FFBD4 E613 8FFBD4 User defined range #2
+8FFBD5 E614 8FFBD5 User defined range #2
+8FFBD6 E615 8FFBD6 User defined range #2
+8FFBD7 E616 8FFBD7 User defined range #2
+8FFBD8 E617 8FFBD8 User defined range #2
+8FFBD9 E618 8FFBD9 User defined range #2
+8FFBDA E619 8FFBDA User defined range #2
+8FFBDB E61A 8FFBDB User defined range #2
+8FFBDC E61B 8FFBDC User defined range #2
+8FFBDD E61C 8FFBDD User defined range #2
+8FFBDE E61D 8FFBDE User defined range #2
+8FFBDF E61E 8FFBDF User defined range #2
+8FFBE0 E61F 8FFBE0 User defined range #2
+8FFBE1 E620 8FFBE1 User defined range #2
+8FFBE2 E621 8FFBE2 User defined range #2
+8FFBE3 E622 8FFBE3 User defined range #2
+8FFBE4 E623 8FFBE4 User defined range #2
+8FFBE5 E624 8FFBE5 User defined range #2
+8FFBE6 E625 8FFBE6 User defined range #2
+8FFBE7 E626 8FFBE7 User defined range #2
+8FFBE8 E627 8FFBE8 User defined range #2
+8FFBE9 E628 8FFBE9 User defined range #2
+8FFBEA E629 8FFBEA User defined range #2
+8FFBEB E62A 8FFBEB User defined range #2
+8FFBEC E62B 8FFBEC User defined range #2
+8FFBED E62C 8FFBED User defined range #2
+8FFBEE E62D 8FFBEE User defined range #2
+8FFBEF E62E 8FFBEF User defined range #2
+8FFBF0 E62F 8FFBF0 User defined range #2
+8FFBF1 E630 8FFBF1 User defined range #2
+8FFBF2 E631 8FFBF2 User defined range #2
+8FFBF3 E632 8FFBF3 User defined range #2
+8FFBF4 E633 8FFBF4 User defined range #2
+8FFBF5 E634 8FFBF5 User defined range #2
+8FFBF6 E635 8FFBF6 User defined range #2
+8FFBF7 E636 8FFBF7 User defined range #2
+8FFBF8 E637 8FFBF8 User defined range #2
+8FFBF9 E638 8FFBF9 User defined range #2
+8FFBFA E639 8FFBFA User defined range #2
+8FFBFB E63A 8FFBFB User defined range #2
+8FFBFC E63B 8FFBFC User defined range #2
+8FFBFD E63C 8FFBFD User defined range #2
+8FFBFE E63D 8FFBFE User defined range #2
+8FFCA1 E63E 8FFCA1 User defined range #2
+8FFCA2 E63F 8FFCA2 User defined range #2
+8FFCA3 E640 8FFCA3 User defined range #2
+8FFCA4 E641 8FFCA4 User defined range #2
+8FFCA5 E642 8FFCA5 User defined range #2
+8FFCA6 E643 8FFCA6 User defined range #2
+8FFCA7 E644 8FFCA7 User defined range #2
+8FFCA8 E645 8FFCA8 User defined range #2
+8FFCA9 E646 8FFCA9 User defined range #2
+8FFCAA E647 8FFCAA User defined range #2
+8FFCAB E648 8FFCAB User defined range #2
+8FFCAC E649 8FFCAC User defined range #2
+8FFCAD E64A 8FFCAD User defined range #2
+8FFCAE E64B 8FFCAE User defined range #2
+8FFCAF E64C 8FFCAF User defined range #2
+8FFCB0 E64D 8FFCB0 User defined range #2
+8FFCB1 E64E 8FFCB1 User defined range #2
+8FFCB2 E64F 8FFCB2 User defined range #2
+8FFCB3 E650 8FFCB3 User defined range #2
+8FFCB4 E651 8FFCB4 User defined range #2
+8FFCB5 E652 8FFCB5 User defined range #2
+8FFCB6 E653 8FFCB6 User defined range #2
+8FFCB7 E654 8FFCB7 User defined range #2
+8FFCB8 E655 8FFCB8 User defined range #2
+8FFCB9 E656 8FFCB9 User defined range #2
+8FFCBA E657 8FFCBA User defined range #2
+8FFCBB E658 8FFCBB User defined range #2
+8FFCBC E659 8FFCBC User defined range #2
+8FFCBD E65A 8FFCBD User defined range #2
+8FFCBE E65B 8FFCBE User defined range #2
+8FFCBF E65C 8FFCBF User defined range #2
+8FFCC0 E65D 8FFCC0 User defined range #2
+8FFCC1 E65E 8FFCC1 User defined range #2
+8FFCC2 E65F 8FFCC2 User defined range #2
+8FFCC3 E660 8FFCC3 User defined range #2
+8FFCC4 E661 8FFCC4 User defined range #2
+8FFCC5 E662 8FFCC5 User defined range #2
+8FFCC6 E663 8FFCC6 User defined range #2
+8FFCC7 E664 8FFCC7 User defined range #2
+8FFCC8 E665 8FFCC8 User defined range #2
+8FFCC9 E666 8FFCC9 User defined range #2
+8FFCCA E667 8FFCCA User defined range #2
+8FFCCB E668 8FFCCB User defined range #2
+8FFCCC E669 8FFCCC User defined range #2
+8FFCCD E66A 8FFCCD User defined range #2
+8FFCCE E66B 8FFCCE User defined range #2
+8FFCCF E66C 8FFCCF User defined range #2
+8FFCD0 E66D 8FFCD0 User defined range #2
+8FFCD1 E66E 8FFCD1 User defined range #2
+8FFCD2 E66F 8FFCD2 User defined range #2
+8FFCD3 E670 8FFCD3 User defined range #2
+8FFCD4 E671 8FFCD4 User defined range #2
+8FFCD5 E672 8FFCD5 User defined range #2
+8FFCD6 E673 8FFCD6 User defined range #2
+8FFCD7 E674 8FFCD7 User defined range #2
+8FFCD8 E675 8FFCD8 User defined range #2
+8FFCD9 E676 8FFCD9 User defined range #2
+8FFCDA E677 8FFCDA User defined range #2
+8FFCDB E678 8FFCDB User defined range #2
+8FFCDC E679 8FFCDC User defined range #2
+8FFCDD E67A 8FFCDD User defined range #2
+8FFCDE E67B 8FFCDE User defined range #2
+8FFCDF E67C 8FFCDF User defined range #2
+8FFCE0 E67D 8FFCE0 User defined range #2
+8FFCE1 E67E 8FFCE1 User defined range #2
+8FFCE2 E67F 8FFCE2 User defined range #2
+8FFCE3 E680 8FFCE3 User defined range #2
+8FFCE4 E681 8FFCE4 User defined range #2
+8FFCE5 E682 8FFCE5 User defined range #2
+8FFCE6 E683 8FFCE6 User defined range #2
+8FFCE7 E684 8FFCE7 User defined range #2
+8FFCE8 E685 8FFCE8 User defined range #2
+8FFCE9 E686 8FFCE9 User defined range #2
+8FFCEA E687 8FFCEA User defined range #2
+8FFCEB E688 8FFCEB User defined range #2
+8FFCEC E689 8FFCEC User defined range #2
+8FFCED E68A 8FFCED User defined range #2
+8FFCEE E68B 8FFCEE User defined range #2
+8FFCEF E68C 8FFCEF User defined range #2
+8FFCF0 E68D 8FFCF0 User defined range #2
+8FFCF1 E68E 8FFCF1 User defined range #2
+8FFCF2 E68F 8FFCF2 User defined range #2
+8FFCF3 E690 8FFCF3 User defined range #2
+8FFCF4 E691 8FFCF4 User defined range #2
+8FFCF5 E692 8FFCF5 User defined range #2
+8FFCF6 E693 8FFCF6 User defined range #2
+8FFCF7 E694 8FFCF7 User defined range #2
+8FFCF8 E695 8FFCF8 User defined range #2
+8FFCF9 E696 8FFCF9 User defined range #2
+8FFCFA E697 8FFCFA User defined range #2
+8FFCFB E698 8FFCFB User defined range #2
+8FFCFC E699 8FFCFC User defined range #2
+8FFCFD E69A 8FFCFD User defined range #2
+8FFCFE E69B 8FFCFE User defined range #2
+8FFDA1 E69C 8FFDA1 User defined range #2
+8FFDA2 E69D 8FFDA2 User defined range #2
+8FFDA3 E69E 8FFDA3 User defined range #2
+8FFDA4 E69F 8FFDA4 User defined range #2
+8FFDA5 E6A0 8FFDA5 User defined range #2
+8FFDA6 E6A1 8FFDA6 User defined range #2
+8FFDA7 E6A2 8FFDA7 User defined range #2
+8FFDA8 E6A3 8FFDA8 User defined range #2
+8FFDA9 E6A4 8FFDA9 User defined range #2
+8FFDAA E6A5 8FFDAA User defined range #2
+8FFDAB E6A6 8FFDAB User defined range #2
+8FFDAC E6A7 8FFDAC User defined range #2
+8FFDAD E6A8 8FFDAD User defined range #2
+8FFDAE E6A9 8FFDAE User defined range #2
+8FFDAF E6AA 8FFDAF User defined range #2
+8FFDB0 E6AB 8FFDB0 User defined range #2
+8FFDB1 E6AC 8FFDB1 User defined range #2
+8FFDB2 E6AD 8FFDB2 User defined range #2
+8FFDB3 E6AE 8FFDB3 User defined range #2
+8FFDB4 E6AF 8FFDB4 User defined range #2
+8FFDB5 E6B0 8FFDB5 User defined range #2
+8FFDB6 E6B1 8FFDB6 User defined range #2
+8FFDB7 E6B2 8FFDB7 User defined range #2
+8FFDB8 E6B3 8FFDB8 User defined range #2
+8FFDB9 E6B4 8FFDB9 User defined range #2
+8FFDBA E6B5 8FFDBA User defined range #2
+8FFDBB E6B6 8FFDBB User defined range #2
+8FFDBC E6B7 8FFDBC User defined range #2
+8FFDBD E6B8 8FFDBD User defined range #2
+8FFDBE E6B9 8FFDBE User defined range #2
+8FFDBF E6BA 8FFDBF User defined range #2
+8FFDC0 E6BB 8FFDC0 User defined range #2
+8FFDC1 E6BC 8FFDC1 User defined range #2
+8FFDC2 E6BD 8FFDC2 User defined range #2
+8FFDC3 E6BE 8FFDC3 User defined range #2
+8FFDC4 E6BF 8FFDC4 User defined range #2
+8FFDC5 E6C0 8FFDC5 User defined range #2
+8FFDC6 E6C1 8FFDC6 User defined range #2
+8FFDC7 E6C2 8FFDC7 User defined range #2
+8FFDC8 E6C3 8FFDC8 User defined range #2
+8FFDC9 E6C4 8FFDC9 User defined range #2
+8FFDCA E6C5 8FFDCA User defined range #2
+8FFDCB E6C6 8FFDCB User defined range #2
+8FFDCC E6C7 8FFDCC User defined range #2
+8FFDCD E6C8 8FFDCD User defined range #2
+8FFDCE E6C9 8FFDCE User defined range #2
+8FFDCF E6CA 8FFDCF User defined range #2
+8FFDD0 E6CB 8FFDD0 User defined range #2
+8FFDD1 E6CC 8FFDD1 User defined range #2
+8FFDD2 E6CD 8FFDD2 User defined range #2
+8FFDD3 E6CE 8FFDD3 User defined range #2
+8FFDD4 E6CF 8FFDD4 User defined range #2
+8FFDD5 E6D0 8FFDD5 User defined range #2
+8FFDD6 E6D1 8FFDD6 User defined range #2
+8FFDD7 E6D2 8FFDD7 User defined range #2
+8FFDD8 E6D3 8FFDD8 User defined range #2
+8FFDD9 E6D4 8FFDD9 User defined range #2
+8FFDDA E6D5 8FFDDA User defined range #2
+8FFDDB E6D6 8FFDDB User defined range #2
+8FFDDC E6D7 8FFDDC User defined range #2
+8FFDDD E6D8 8FFDDD User defined range #2
+8FFDDE E6D9 8FFDDE User defined range #2
+8FFDDF E6DA 8FFDDF User defined range #2
+8FFDE0 E6DB 8FFDE0 User defined range #2
+8FFDE1 E6DC 8FFDE1 User defined range #2
+8FFDE2 E6DD 8FFDE2 User defined range #2
+8FFDE3 E6DE 8FFDE3 User defined range #2
+8FFDE4 E6DF 8FFDE4 User defined range #2
+8FFDE5 E6E0 8FFDE5 User defined range #2
+8FFDE6 E6E1 8FFDE6 User defined range #2
+8FFDE7 E6E2 8FFDE7 User defined range #2
+8FFDE8 E6E3 8FFDE8 User defined range #2
+8FFDE9 E6E4 8FFDE9 User defined range #2
+8FFDEA E6E5 8FFDEA User defined range #2
+8FFDEB E6E6 8FFDEB User defined range #2
+8FFDEC E6E7 8FFDEC User defined range #2
+8FFDED E6E8 8FFDED User defined range #2
+8FFDEE E6E9 8FFDEE User defined range #2
+8FFDEF E6EA 8FFDEF User defined range #2
+8FFDF0 E6EB 8FFDF0 User defined range #2
+8FFDF1 E6EC 8FFDF1 User defined range #2
+8FFDF2 E6ED 8FFDF2 User defined range #2
+8FFDF3 E6EE 8FFDF3 User defined range #2
+8FFDF4 E6EF 8FFDF4 User defined range #2
+8FFDF5 E6F0 8FFDF5 User defined range #2
+8FFDF6 E6F1 8FFDF6 User defined range #2
+8FFDF7 E6F2 8FFDF7 User defined range #2
+8FFDF8 E6F3 8FFDF8 User defined range #2
+8FFDF9 E6F4 8FFDF9 User defined range #2
+8FFDFA E6F5 8FFDFA User defined range #2
+8FFDFB E6F6 8FFDFB User defined range #2
+8FFDFC E6F7 8FFDFC User defined range #2
+8FFDFD E6F8 8FFDFD User defined range #2
+8FFDFE E6F9 8FFDFE User defined range #2
+8FFEA1 E6FA 8FFEA1 User defined range #2
+8FFEA2 E6FB 8FFEA2 User defined range #2
+8FFEA3 E6FC 8FFEA3 User defined range #2
+8FFEA4 E6FD 8FFEA4 User defined range #2
+8FFEA5 E6FE 8FFEA5 User defined range #2
+8FFEA6 E6FF 8FFEA6 User defined range #2
+8FFEA7 E700 8FFEA7 User defined range #2
+8FFEA8 E701 8FFEA8 User defined range #2
+8FFEA9 E702 8FFEA9 User defined range #2
+8FFEAA E703 8FFEAA User defined range #2
+8FFEAB E704 8FFEAB User defined range #2
+8FFEAC E705 8FFEAC User defined range #2
+8FFEAD E706 8FFEAD User defined range #2
+8FFEAE E707 8FFEAE User defined range #2
+8FFEAF E708 8FFEAF User defined range #2
+8FFEB0 E709 8FFEB0 User defined range #2
+8FFEB1 E70A 8FFEB1 User defined range #2
+8FFEB2 E70B 8FFEB2 User defined range #2
+8FFEB3 E70C 8FFEB3 User defined range #2
+8FFEB4 E70D 8FFEB4 User defined range #2
+8FFEB5 E70E 8FFEB5 User defined range #2
+8FFEB6 E70F 8FFEB6 User defined range #2
+8FFEB7 E710 8FFEB7 User defined range #2
+8FFEB8 E711 8FFEB8 User defined range #2
+8FFEB9 E712 8FFEB9 User defined range #2
+8FFEBA E713 8FFEBA User defined range #2
+8FFEBB E714 8FFEBB User defined range #2
+8FFEBC E715 8FFEBC User defined range #2
+8FFEBD E716 8FFEBD User defined range #2
+8FFEBE E717 8FFEBE User defined range #2
+8FFEBF E718 8FFEBF User defined range #2
+8FFEC0 E719 8FFEC0 User defined range #2
+8FFEC1 E71A 8FFEC1 User defined range #2
+8FFEC2 E71B 8FFEC2 User defined range #2
+8FFEC3 E71C 8FFEC3 User defined range #2
+8FFEC4 E71D 8FFEC4 User defined range #2
+8FFEC5 E71E 8FFEC5 User defined range #2
+8FFEC6 E71F 8FFEC6 User defined range #2
+8FFEC7 E720 8FFEC7 User defined range #2
+8FFEC8 E721 8FFEC8 User defined range #2
+8FFEC9 E722 8FFEC9 User defined range #2
+8FFECA E723 8FFECA User defined range #2
+8FFECB E724 8FFECB User defined range #2
+8FFECC E725 8FFECC User defined range #2
+8FFECD E726 8FFECD User defined range #2
+8FFECE E727 8FFECE User defined range #2
+8FFECF E728 8FFECF User defined range #2
+8FFED0 E729 8FFED0 User defined range #2
+8FFED1 E72A 8FFED1 User defined range #2
+8FFED2 E72B 8FFED2 User defined range #2
+8FFED3 E72C 8FFED3 User defined range #2
+8FFED4 E72D 8FFED4 User defined range #2
+8FFED5 E72E 8FFED5 User defined range #2
+8FFED6 E72F 8FFED6 User defined range #2
+8FFED7 E730 8FFED7 User defined range #2
+8FFED8 E731 8FFED8 User defined range #2
+8FFED9 E732 8FFED9 User defined range #2
+8FFEDA E733 8FFEDA User defined range #2
+8FFEDB E734 8FFEDB User defined range #2
+8FFEDC E735 8FFEDC User defined range #2
+8FFEDD E736 8FFEDD User defined range #2
+8FFEDE E737 8FFEDE User defined range #2
+8FFEDF E738 8FFEDF User defined range #2
+8FFEE0 E739 8FFEE0 User defined range #2
+8FFEE1 E73A 8FFEE1 User defined range #2
+8FFEE2 E73B 8FFEE2 User defined range #2
+8FFEE3 E73C 8FFEE3 User defined range #2
+8FFEE4 E73D 8FFEE4 User defined range #2
+8FFEE5 E73E 8FFEE5 User defined range #2
+8FFEE6 E73F 8FFEE6 User defined range #2
+8FFEE7 E740 8FFEE7 User defined range #2
+8FFEE8 E741 8FFEE8 User defined range #2
+8FFEE9 E742 8FFEE9 User defined range #2
+8FFEEA E743 8FFEEA User defined range #2
+8FFEEB E744 8FFEEB User defined range #2
+8FFEEC E745 8FFEEC User defined range #2
+8FFEED E746 8FFEED User defined range #2
+8FFEEE E747 8FFEEE User defined range #2
+8FFEEF E748 8FFEEF User defined range #2
+8FFEF0 E749 8FFEF0 User defined range #2
+8FFEF1 E74A 8FFEF1 User defined range #2
+8FFEF2 E74B 8FFEF2 User defined range #2
+8FFEF3 E74C 8FFEF3 User defined range #2
+8FFEF4 E74D 8FFEF4 User defined range #2
+8FFEF5 E74E 8FFEF5 User defined range #2
+8FFEF6 E74F 8FFEF6 User defined range #2
+8FFEF7 E750 8FFEF7 User defined range #2
+8FFEF8 E751 8FFEF8 User defined range #2
+8FFEF9 E752 8FFEF9 User defined range #2
+8FFEFA E753 8FFEFA User defined range #2
+8FFEFB E754 8FFEFB User defined range #2
+8FFEFC E755 8FFEFC User defined range #2
+8FFEFD E756 8FFEFD User defined range #2
+8FFEFE E757 8FFEFE User defined range #2
+A1A1 3000 A1A1 U+3000 IDEOGRAPHIC SPACE
+A1A2 3001 A1A2 U+3001 IDEOGRAPHIC COMMA
+A1A3 3002 A1A3 U+3002 IDEOGRAPHIC FULL STOP
+A1A4 FF0C A1A4 U+FF0C FULLWIDTH COMMA
+A1A5 FF0E A1A5 U+FF0E FULLWIDTH FULL STOP
+A1A6 30FB A1A6 U+30FB KATAKANA MIDDLE DOT
+A1A7 FF1A A1A7 U+FF1A FULLWIDTH COLON
+A1A8 FF1B A1A8 U+FF1B FULLWIDTH SEMICOLON
+A1A9 FF1F A1A9 U+FF1F FULLWIDTH QUESTION MARK
+A1AA FF01 A1AA U+FF01 FULLWIDTH EXCLAMATION MARK
+A1AB 309B A1AB U+309B KATAKANA-HIRAGANA VOICED SOUND MARK
+A1AC 309C A1AC U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+A1AD 00B4 A1AD U+00B4 ACUTE ACCENT
+A1AE FF40 A1AE U+FF40 FULLWIDTH GRAVE ACCENT
+A1AF 00A8 A1AF U+00A8 DIAERESIS
+A1B0 FF3E A1B0 U+FF3E FULLWIDTH CIRCUMFLEX ACCENT
+A1B1 FFE3 A1B1 U+FFE3 FULLWIDTH MACRON
+A1B2 FF3F A1B2 U+FF3F FULLWIDTH LOW LINE
+A1B3 30FD A1B3 U+30FD KATAKANA ITERATION MARK
+A1B4 30FE A1B4 U+30FE KATAKANA VOICED ITERATION MARK
+A1B5 309D A1B5 U+309D HIRAGANA ITERATION MARK
+A1B6 309E A1B6 U+309E HIRAGANA VOICED ITERATION MARK
+A1B7 3003 A1B7 U+3003 DITTO MARK
+A1B8 4EDD A1B8 U+4EDD <CJK>
+A1B9 3005 A1B9 U+3005 IDEOGRAPHIC ITERATION MARK
+A1BA 3006 A1BA U+3006 IDEOGRAPHIC CLOSING MARK
+A1BB 3007 A1BB U+3007 IDEOGRAPHIC NUMBER ZERO
+A1BC 30FC A1BC U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+A1BD 2015 A1BD U+2015 HORIZONTAL BAR
+A1BE 2010 A1BE U+2010 HYPHEN
+A1BF FF0F A1BF U+FF0F FULLWIDTH SOLIDUS
+A1C1 301C A1C1 U+301C WAVE DASH
+A1C2 2016 A1C2 U+2016 DOUBLE VERTICAL LINE
+A1C3 FF5C A1C3 U+FF5C FULLWIDTH VERTICAL LINE
+A1C4 2026 A1C4 U+2026 HORIZONTAL ELLIPSIS
+A1C5 2025 A1C5 U+2025 TWO DOT LEADER
+A1C6 2018 A1C6 U+2018 LEFT SINGLE QUOTATION MARK
+A1C7 2019 A1C7 U+2019 RIGHT SINGLE QUOTATION MARK
+A1C8 201C A1C8 U+201C LEFT DOUBLE QUOTATION MARK
+A1C9 201D A1C9 U+201D RIGHT DOUBLE QUOTATION MARK
+A1CA FF08 A1CA U+FF08 FULLWIDTH LEFT PARENTHESIS
+A1CB FF09 A1CB U+FF09 FULLWIDTH RIGHT PARENTHESIS
+A1CC 3014 A1CC U+3014 LEFT TORTOISE SHELL BRACKET
+A1CD 3015 A1CD U+3015 RIGHT TORTOISE SHELL BRACKET
+A1CE FF3B A1CE U+FF3B FULLWIDTH LEFT SQUARE BRACKET
+A1CF FF3D A1CF U+FF3D FULLWIDTH RIGHT SQUARE BRACKET
+A1D0 FF5B A1D0 U+FF5B FULLWIDTH LEFT CURLY BRACKET
+A1D1 FF5D A1D1 U+FF5D FULLWIDTH RIGHT CURLY BRACKET
+A1D2 3008 A1D2 U+3008 LEFT ANGLE BRACKET
+A1D3 3009 A1D3 U+3009 RIGHT ANGLE BRACKET
+A1D4 300A A1D4 U+300A LEFT DOUBLE ANGLE BRACKET
+A1D5 300B A1D5 U+300B RIGHT DOUBLE ANGLE BRACKET
+A1D6 300C A1D6 U+300C LEFT CORNER BRACKET
+A1D7 300D A1D7 U+300D RIGHT CORNER BRACKET
+A1D8 300E A1D8 U+300E LEFT WHITE CORNER BRACKET
+A1D9 300F A1D9 U+300F RIGHT WHITE CORNER BRACKET
+A1DA 3010 A1DA U+3010 LEFT BLACK LENTICULAR BRACKET
+A1DB 3011 A1DB U+3011 RIGHT BLACK LENTICULAR BRACKET
+A1DC FF0B A1DC U+FF0B FULLWIDTH PLUS SIGN
+A1DD 2212 A1DD U+2212 MINUS SIGN
+A1DE 00B1 A1DE U+00B1 PLUS-MINUS SIGN
+A1DF 00D7 A1DF U+00D7 MULTIPLICATION SIGN
+A1E0 00F7 A1E0 U+00F7 DIVISION SIGN
+A1E1 FF1D A1E1 U+FF1D FULLWIDTH EQUALS SIGN
+A1E2 2260 A1E2 U+2260 NOT EQUAL TO
+A1E3 FF1C A1E3 U+FF1C FULLWIDTH LESS-THAN SIGN
+A1E4 FF1E A1E4 U+FF1E FULLWIDTH GREATER-THAN SIGN
+A1E5 2266 A1E5 U+2266 LESS-THAN OVER EQUAL TO
+A1E6 2267 A1E6 U+2267 GREATER-THAN OVER EQUAL TO
+A1E7 221E A1E7 U+221E INFINITY
+A1E8 2234 A1E8 U+2234 THEREFORE
+A1E9 2642 A1E9 U+2642 MALE SIGN
+A1EA 2640 A1EA U+2640 FEMALE SIGN
+A1EB 00B0 A1EB U+00B0 DEGREE SIGN
+A1EC 2032 A1EC U+2032 PRIME
+A1ED 2033 A1ED U+2033 DOUBLE PRIME
+A1EE 2103 A1EE U+2103 DEGREE CELSIUS
+A1EF FFE5 A1EF U+FFE5 FULLWIDTH YEN SIGN
+A1F0 FF04 A1F0 U+FF04 FULLWIDTH DOLLAR SIGN
+A1F1 00A2 A1F1 U+00A2 CENT SIGN
+A1F2 00A3 A1F2 U+00A3 POUND SIGN
+A1F3 FF05 A1F3 U+FF05 FULLWIDTH PERCENT SIGN
+A1F4 FF03 A1F4 U+FF03 FULLWIDTH NUMBER SIGN
+A1F5 FF06 A1F5 U+FF06 FULLWIDTH AMPERSAND
+A1F6 FF0A A1F6 U+FF0A FULLWIDTH ASTERISK
+A1F7 FF20 A1F7 U+FF20 FULLWIDTH COMMERCIAL AT
+A1F8 00A7 A1F8 U+00A7 SECTION SIGN
+A1F9 2606 A1F9 U+2606 WHITE STAR
+A1FA 2605 A1FA U+2605 BLACK STAR
+A1FB 25CB A1FB U+25CB WHITE CIRCLE
+A1FC 25CF A1FC U+25CF BLACK CIRCLE
+A1FD 25CE A1FD U+25CE BULLSEYE
+A1FE 25C7 A1FE U+25C7 WHITE DIAMOND
+A2A1 25C6 A2A1 U+25C6 BLACK DIAMOND
+A2A2 25A1 A2A2 U+25A1 WHITE SQUARE
+A2A3 25A0 A2A3 U+25A0 BLACK SQUARE
+A2A4 25B3 A2A4 U+25B3 WHITE UP-POINTING TRIANGLE
+A2A5 25B2 A2A5 U+25B2 BLACK UP-POINTING TRIANGLE
+A2A6 25BD A2A6 U+25BD WHITE DOWN-POINTING TRIANGLE
+A2A7 25BC A2A7 U+25BC BLACK DOWN-POINTING TRIANGLE
+A2A8 203B A2A8 U+203B REFERENCE MARK
+A2A9 3012 A2A9 U+3012 POSTAL MARK
+A2AA 2192 A2AA U+2192 RIGHTWARDS ARROW
+A2AB 2190 A2AB U+2190 LEFTWARDS ARROW
+A2AC 2191 A2AC U+2191 UPWARDS ARROW
+A2AD 2193 A2AD U+2193 DOWNWARDS ARROW
+A2AE 3013 A2AE U+3013 GETA MARK
+A2BA 2208 A2BA U+2208 ELEMENT OF
+A2BB 220B A2BB U+220B CONTAINS AS MEMBER
+A2BC 2286 A2BC U+2286 SUBset OF OR EQUAL TO
+A2BD 2287 A2BD U+2287 SUPERset OF OR EQUAL TO
+A2BE 2282 A2BE U+2282 SUBset OF
+A2BF 2283 A2BF U+2283 SUPERset OF
+A2C0 222A A2C0 U+222A UNION
+A2C1 2229 A2C1 U+2229 INTERSECTION
+A2CA 2227 A2CA U+2227 LOGICAL AND
+A2CB 2228 A2CB U+2228 LOGICAL OR
+A2CC 00AC A2CC U+00AC NOT SIGN
+A2CD 21D2 A2CD U+21D2 RIGHTWARDS DOUBLE ARROW
+A2CE 21D4 A2CE U+21D4 LEFT RIGHT DOUBLE ARROW
+A2CF 2200 A2CF U+2200 FOR ALL
+A2D0 2203 A2D0 U+2203 THERE EXISTS
+A2DC 2220 A2DC U+2220 ANGLE
+A2DD 22A5 A2DD U+22A5 UP TACK
+A2DE 2312 A2DE U+2312 ARC
+A2DF 2202 A2DF U+2202 PARTIAL DIFFERENTIAL
+A2E0 2207 A2E0 U+2207 NABLA
+A2E1 2261 A2E1 U+2261 IDENTICAL TO
+A2E2 2252 A2E2 U+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
+A2E3 226A A2E3 U+226A MUCH LESS-THAN
+A2E4 226B A2E4 U+226B MUCH GREATER-THAN
+A2E5 221A A2E5 U+221A SQUARE ROOT
+A2E6 223D A2E6 U+223D REVERSED TILDE
+A2E7 221D A2E7 U+221D PROPORTIONAL TO
+A2E8 2235 A2E8 U+2235 BECAUSE
+A2E9 222B A2E9 U+222B INTEGRAL
+A2EA 222C A2EA U+222C DOUBLE INTEGRAL
+A2F2 212B A2F2 U+212B ANGSTROM SIGN
+A2F3 2030 A2F3 U+2030 PER MILLE SIGN
+A2F4 266F A2F4 U+266F MUSIC SHARP SIGN
+A2F5 266D A2F5 U+266D MUSIC FLAT SIGN
+A2F6 266A A2F6 U+266A EIGHTH NOTE
+A2F7 2020 A2F7 U+2020 DAGGER
+A2F8 2021 A2F8 U+2021 DOUBLE DAGGER
+A2F9 00B6 A2F9 U+00B6 PILCROW SIGN
+A2FE 25EF A2FE U+25EF LARGE CIRCLE
+A3B0 FF10 A3B0 U+FF10 FULLWIDTH DIGIT ZERO
+A3B1 FF11 A3B1 U+FF11 FULLWIDTH DIGIT ONE
+A3B2 FF12 A3B2 U+FF12 FULLWIDTH DIGIT TWO
+A3B3 FF13 A3B3 U+FF13 FULLWIDTH DIGIT THREE
+A3B4 FF14 A3B4 U+FF14 FULLWIDTH DIGIT FOUR
+A3B5 FF15 A3B5 U+FF15 FULLWIDTH DIGIT FIVE
+A3B6 FF16 A3B6 U+FF16 FULLWIDTH DIGIT SIX
+A3B7 FF17 A3B7 U+FF17 FULLWIDTH DIGIT SEVEN
+A3B8 FF18 A3B8 U+FF18 FULLWIDTH DIGIT EIGHT
+A3B9 FF19 A3B9 U+FF19 FULLWIDTH DIGIT NINE
+A3C1 FF21 A3C1 U+FF21 FULLWIDTH LATIN CAPITAL LETTER A
+A3C2 FF22 A3C2 U+FF22 FULLWIDTH LATIN CAPITAL LETTER B
+A3C3 FF23 A3C3 U+FF23 FULLWIDTH LATIN CAPITAL LETTER C
+A3C4 FF24 A3C4 U+FF24 FULLWIDTH LATIN CAPITAL LETTER D
+A3C5 FF25 A3C5 U+FF25 FULLWIDTH LATIN CAPITAL LETTER E
+A3C6 FF26 A3C6 U+FF26 FULLWIDTH LATIN CAPITAL LETTER F
+A3C7 FF27 A3C7 U+FF27 FULLWIDTH LATIN CAPITAL LETTER G
+A3C8 FF28 A3C8 U+FF28 FULLWIDTH LATIN CAPITAL LETTER H
+A3C9 FF29 A3C9 U+FF29 FULLWIDTH LATIN CAPITAL LETTER I
+A3CA FF2A A3CA U+FF2A FULLWIDTH LATIN CAPITAL LETTER J
+A3CB FF2B A3CB U+FF2B FULLWIDTH LATIN CAPITAL LETTER K
+A3CC FF2C A3CC U+FF2C FULLWIDTH LATIN CAPITAL LETTER L
+A3CD FF2D A3CD U+FF2D FULLWIDTH LATIN CAPITAL LETTER M
+A3CE FF2E A3CE U+FF2E FULLWIDTH LATIN CAPITAL LETTER N
+A3CF FF2F A3CF U+FF2F FULLWIDTH LATIN CAPITAL LETTER O
+A3D0 FF30 A3D0 U+FF30 FULLWIDTH LATIN CAPITAL LETTER P
+A3D1 FF31 A3D1 U+FF31 FULLWIDTH LATIN CAPITAL LETTER Q
+A3D2 FF32 A3D2 U+FF32 FULLWIDTH LATIN CAPITAL LETTER R
+A3D3 FF33 A3D3 U+FF33 FULLWIDTH LATIN CAPITAL LETTER S
+A3D4 FF34 A3D4 U+FF34 FULLWIDTH LATIN CAPITAL LETTER T
+A3D5 FF35 A3D5 U+FF35 FULLWIDTH LATIN CAPITAL LETTER U
+A3D6 FF36 A3D6 U+FF36 FULLWIDTH LATIN CAPITAL LETTER V
+A3D7 FF37 A3D7 U+FF37 FULLWIDTH LATIN CAPITAL LETTER W
+A3D8 FF38 A3D8 U+FF38 FULLWIDTH LATIN CAPITAL LETTER X
+A3D9 FF39 A3D9 U+FF39 FULLWIDTH LATIN CAPITAL LETTER Y
+A3DA FF3A A3DA U+FF3A FULLWIDTH LATIN CAPITAL LETTER Z
+A3E1 FF41 A3E1 U+FF41 FULLWIDTH LATIN SMALL LETTER A
+A3E2 FF42 A3E2 U+FF42 FULLWIDTH LATIN SMALL LETTER B
+A3E3 FF43 A3E3 U+FF43 FULLWIDTH LATIN SMALL LETTER C
+A3E4 FF44 A3E4 U+FF44 FULLWIDTH LATIN SMALL LETTER D
+A3E5 FF45 A3E5 U+FF45 FULLWIDTH LATIN SMALL LETTER E
+A3E6 FF46 A3E6 U+FF46 FULLWIDTH LATIN SMALL LETTER F
+A3E7 FF47 A3E7 U+FF47 FULLWIDTH LATIN SMALL LETTER G
+A3E8 FF48 A3E8 U+FF48 FULLWIDTH LATIN SMALL LETTER H
+A3E9 FF49 A3E9 U+FF49 FULLWIDTH LATIN SMALL LETTER I
+A3EA FF4A A3EA U+FF4A FULLWIDTH LATIN SMALL LETTER J
+A3EB FF4B A3EB U+FF4B FULLWIDTH LATIN SMALL LETTER K
+A3EC FF4C A3EC U+FF4C FULLWIDTH LATIN SMALL LETTER L
+A3ED FF4D A3ED U+FF4D FULLWIDTH LATIN SMALL LETTER M
+A3EE FF4E A3EE U+FF4E FULLWIDTH LATIN SMALL LETTER N
+A3EF FF4F A3EF U+FF4F FULLWIDTH LATIN SMALL LETTER O
+A3F0 FF50 A3F0 U+FF50 FULLWIDTH LATIN SMALL LETTER P
+A3F1 FF51 A3F1 U+FF51 FULLWIDTH LATIN SMALL LETTER Q
+A3F2 FF52 A3F2 U+FF52 FULLWIDTH LATIN SMALL LETTER R
+A3F3 FF53 A3F3 U+FF53 FULLWIDTH LATIN SMALL LETTER S
+A3F4 FF54 A3F4 U+FF54 FULLWIDTH LATIN SMALL LETTER T
+A3F5 FF55 A3F5 U+FF55 FULLWIDTH LATIN SMALL LETTER U
+A3F6 FF56 A3F6 U+FF56 FULLWIDTH LATIN SMALL LETTER V
+A3F7 FF57 A3F7 U+FF57 FULLWIDTH LATIN SMALL LETTER W
+A3F8 FF58 A3F8 U+FF58 FULLWIDTH LATIN SMALL LETTER X
+A3F9 FF59 A3F9 U+FF59 FULLWIDTH LATIN SMALL LETTER Y
+A3FA FF5A A3FA U+FF5A FULLWIDTH LATIN SMALL LETTER Z
+A4A1 3041 A4A1 U+3041 HIRAGANA LETTER SMALL A
+A4A2 3042 A4A2 U+3042 HIRAGANA LETTER A
+A4A3 3043 A4A3 U+3043 HIRAGANA LETTER SMALL I
+A4A4 3044 A4A4 U+3044 HIRAGANA LETTER I
+A4A5 3045 A4A5 U+3045 HIRAGANA LETTER SMALL U
+A4A6 3046 A4A6 U+3046 HIRAGANA LETTER U
+A4A7 3047 A4A7 U+3047 HIRAGANA LETTER SMALL E
+A4A8 3048 A4A8 U+3048 HIRAGANA LETTER E
+A4A9 3049 A4A9 U+3049 HIRAGANA LETTER SMALL O
+A4AA 304A A4AA U+304A HIRAGANA LETTER O
+A4AB 304B A4AB U+304B HIRAGANA LETTER KA
+A4AC 304C A4AC U+304C HIRAGANA LETTER GA
+A4AD 304D A4AD U+304D HIRAGANA LETTER KI
+A4AE 304E A4AE U+304E HIRAGANA LETTER GI
+A4AF 304F A4AF U+304F HIRAGANA LETTER KU
+A4B0 3050 A4B0 U+3050 HIRAGANA LETTER GU
+A4B1 3051 A4B1 U+3051 HIRAGANA LETTER KE
+A4B2 3052 A4B2 U+3052 HIRAGANA LETTER GE
+A4B3 3053 A4B3 U+3053 HIRAGANA LETTER KO
+A4B4 3054 A4B4 U+3054 HIRAGANA LETTER GO
+A4B5 3055 A4B5 U+3055 HIRAGANA LETTER SA
+A4B6 3056 A4B6 U+3056 HIRAGANA LETTER ZA
+A4B7 3057 A4B7 U+3057 HIRAGANA LETTER SI
+A4B8 3058 A4B8 U+3058 HIRAGANA LETTER ZI
+A4B9 3059 A4B9 U+3059 HIRAGANA LETTER SU
+A4BA 305A A4BA U+305A HIRAGANA LETTER ZU
+A4BB 305B A4BB U+305B HIRAGANA LETTER SE
+A4BC 305C A4BC U+305C HIRAGANA LETTER ZE
+A4BD 305D A4BD U+305D HIRAGANA LETTER SO
+A4BE 305E A4BE U+305E HIRAGANA LETTER ZO
+A4BF 305F A4BF U+305F HIRAGANA LETTER TA
+A4C0 3060 A4C0 U+3060 HIRAGANA LETTER DA
+A4C1 3061 A4C1 U+3061 HIRAGANA LETTER TI
+A4C2 3062 A4C2 U+3062 HIRAGANA LETTER DI
+A4C3 3063 A4C3 U+3063 HIRAGANA LETTER SMALL TU
+A4C4 3064 A4C4 U+3064 HIRAGANA LETTER TU
+A4C5 3065 A4C5 U+3065 HIRAGANA LETTER DU
+A4C6 3066 A4C6 U+3066 HIRAGANA LETTER TE
+A4C7 3067 A4C7 U+3067 HIRAGANA LETTER DE
+A4C8 3068 A4C8 U+3068 HIRAGANA LETTER TO
+A4C9 3069 A4C9 U+3069 HIRAGANA LETTER DO
+A4CA 306A A4CA U+306A HIRAGANA LETTER NA
+A4CB 306B A4CB U+306B HIRAGANA LETTER NI
+A4CC 306C A4CC U+306C HIRAGANA LETTER NU
+A4CD 306D A4CD U+306D HIRAGANA LETTER NE
+A4CE 306E A4CE U+306E HIRAGANA LETTER NO
+A4CF 306F A4CF U+306F HIRAGANA LETTER HA
+A4D0 3070 A4D0 U+3070 HIRAGANA LETTER BA
+A4D1 3071 A4D1 U+3071 HIRAGANA LETTER PA
+A4D2 3072 A4D2 U+3072 HIRAGANA LETTER HI
+A4D3 3073 A4D3 U+3073 HIRAGANA LETTER BI
+A4D4 3074 A4D4 U+3074 HIRAGANA LETTER PI
+A4D5 3075 A4D5 U+3075 HIRAGANA LETTER HU
+A4D6 3076 A4D6 U+3076 HIRAGANA LETTER BU
+A4D7 3077 A4D7 U+3077 HIRAGANA LETTER PU
+A4D8 3078 A4D8 U+3078 HIRAGANA LETTER HE
+A4D9 3079 A4D9 U+3079 HIRAGANA LETTER BE
+A4DA 307A A4DA U+307A HIRAGANA LETTER PE
+A4DB 307B A4DB U+307B HIRAGANA LETTER HO
+A4DC 307C A4DC U+307C HIRAGANA LETTER BO
+A4DD 307D A4DD U+307D HIRAGANA LETTER PO
+A4DE 307E A4DE U+307E HIRAGANA LETTER MA
+A4DF 307F A4DF U+307F HIRAGANA LETTER MI
+A4E0 3080 A4E0 U+3080 HIRAGANA LETTER MU
+A4E1 3081 A4E1 U+3081 HIRAGANA LETTER ME
+A4E2 3082 A4E2 U+3082 HIRAGANA LETTER MO
+A4E3 3083 A4E3 U+3083 HIRAGANA LETTER SMALL YA
+A4E4 3084 A4E4 U+3084 HIRAGANA LETTER YA
+A4E5 3085 A4E5 U+3085 HIRAGANA LETTER SMALL YU
+A4E6 3086 A4E6 U+3086 HIRAGANA LETTER YU
+A4E7 3087 A4E7 U+3087 HIRAGANA LETTER SMALL YO
+A4E8 3088 A4E8 U+3088 HIRAGANA LETTER YO
+A4E9 3089 A4E9 U+3089 HIRAGANA LETTER RA
+A4EA 308A A4EA U+308A HIRAGANA LETTER RI
+A4EB 308B A4EB U+308B HIRAGANA LETTER RU
+A4EC 308C A4EC U+308C HIRAGANA LETTER RE
+A4ED 308D A4ED U+308D HIRAGANA LETTER RO
+A4EE 308E A4EE U+308E HIRAGANA LETTER SMALL WA
+A4EF 308F A4EF U+308F HIRAGANA LETTER WA
+A4F0 3090 A4F0 U+3090 HIRAGANA LETTER WI
+A4F1 3091 A4F1 U+3091 HIRAGANA LETTER WE
+A4F2 3092 A4F2 U+3092 HIRAGANA LETTER WO
+A4F3 3093 A4F3 U+3093 HIRAGANA LETTER N
+A5A1 30A1 A5A1 U+30A1 KATAKANA LETTER SMALL A
+A5A2 30A2 A5A2 U+30A2 KATAKANA LETTER A
+A5A3 30A3 A5A3 U+30A3 KATAKANA LETTER SMALL I
+A5A4 30A4 A5A4 U+30A4 KATAKANA LETTER I
+A5A5 30A5 A5A5 U+30A5 KATAKANA LETTER SMALL U
+A5A6 30A6 A5A6 U+30A6 KATAKANA LETTER U
+A5A7 30A7 A5A7 U+30A7 KATAKANA LETTER SMALL E
+A5A8 30A8 A5A8 U+30A8 KATAKANA LETTER E
+A5A9 30A9 A5A9 U+30A9 KATAKANA LETTER SMALL O
+A5AA 30AA A5AA U+30AA KATAKANA LETTER O
+A5AB 30AB A5AB U+30AB KATAKANA LETTER KA
+A5AC 30AC A5AC U+30AC KATAKANA LETTER GA
+A5AD 30AD A5AD U+30AD KATAKANA LETTER KI
+A5AE 30AE A5AE U+30AE KATAKANA LETTER GI
+A5AF 30AF A5AF U+30AF KATAKANA LETTER KU
+A5B0 30B0 A5B0 U+30B0 KATAKANA LETTER GU
+A5B1 30B1 A5B1 U+30B1 KATAKANA LETTER KE
+A5B2 30B2 A5B2 U+30B2 KATAKANA LETTER GE
+A5B3 30B3 A5B3 U+30B3 KATAKANA LETTER KO
+A5B4 30B4 A5B4 U+30B4 KATAKANA LETTER GO
+A5B5 30B5 A5B5 U+30B5 KATAKANA LETTER SA
+A5B6 30B6 A5B6 U+30B6 KATAKANA LETTER ZA
+A5B7 30B7 A5B7 U+30B7 KATAKANA LETTER SI
+A5B8 30B8 A5B8 U+30B8 KATAKANA LETTER ZI
+A5B9 30B9 A5B9 U+30B9 KATAKANA LETTER SU
+A5BA 30BA A5BA U+30BA KATAKANA LETTER ZU
+A5BB 30BB A5BB U+30BB KATAKANA LETTER SE
+A5BC 30BC A5BC U+30BC KATAKANA LETTER ZE
+A5BD 30BD A5BD U+30BD KATAKANA LETTER SO
+A5BE 30BE A5BE U+30BE KATAKANA LETTER ZO
+A5BF 30BF A5BF U+30BF KATAKANA LETTER TA
+A5C0 30C0 A5C0 U+30C0 KATAKANA LETTER DA
+A5C1 30C1 A5C1 U+30C1 KATAKANA LETTER TI
+A5C2 30C2 A5C2 U+30C2 KATAKANA LETTER DI
+A5C3 30C3 A5C3 U+30C3 KATAKANA LETTER SMALL TU
+A5C4 30C4 A5C4 U+30C4 KATAKANA LETTER TU
+A5C5 30C5 A5C5 U+30C5 KATAKANA LETTER DU
+A5C6 30C6 A5C6 U+30C6 KATAKANA LETTER TE
+A5C7 30C7 A5C7 U+30C7 KATAKANA LETTER DE
+A5C8 30C8 A5C8 U+30C8 KATAKANA LETTER TO
+A5C9 30C9 A5C9 U+30C9 KATAKANA LETTER DO
+A5CA 30CA A5CA U+30CA KATAKANA LETTER NA
+A5CB 30CB A5CB U+30CB KATAKANA LETTER NI
+A5CC 30CC A5CC U+30CC KATAKANA LETTER NU
+A5CD 30CD A5CD U+30CD KATAKANA LETTER NE
+A5CE 30CE A5CE U+30CE KATAKANA LETTER NO
+A5CF 30CF A5CF U+30CF KATAKANA LETTER HA
+A5D0 30D0 A5D0 U+30D0 KATAKANA LETTER BA
+A5D1 30D1 A5D1 U+30D1 KATAKANA LETTER PA
+A5D2 30D2 A5D2 U+30D2 KATAKANA LETTER HI
+A5D3 30D3 A5D3 U+30D3 KATAKANA LETTER BI
+A5D4 30D4 A5D4 U+30D4 KATAKANA LETTER PI
+A5D5 30D5 A5D5 U+30D5 KATAKANA LETTER HU
+A5D6 30D6 A5D6 U+30D6 KATAKANA LETTER BU
+A5D7 30D7 A5D7 U+30D7 KATAKANA LETTER PU
+A5D8 30D8 A5D8 U+30D8 KATAKANA LETTER HE
+A5D9 30D9 A5D9 U+30D9 KATAKANA LETTER BE
+A5DA 30DA A5DA U+30DA KATAKANA LETTER PE
+A5DB 30DB A5DB U+30DB KATAKANA LETTER HO
+A5DC 30DC A5DC U+30DC KATAKANA LETTER BO
+A5DD 30DD A5DD U+30DD KATAKANA LETTER PO
+A5DE 30DE A5DE U+30DE KATAKANA LETTER MA
+A5DF 30DF A5DF U+30DF KATAKANA LETTER MI
+A5E0 30E0 A5E0 U+30E0 KATAKANA LETTER MU
+A5E1 30E1 A5E1 U+30E1 KATAKANA LETTER ME
+A5E2 30E2 A5E2 U+30E2 KATAKANA LETTER MO
+A5E3 30E3 A5E3 U+30E3 KATAKANA LETTER SMALL YA
+A5E4 30E4 A5E4 U+30E4 KATAKANA LETTER YA
+A5E5 30E5 A5E5 U+30E5 KATAKANA LETTER SMALL YU
+A5E6 30E6 A5E6 U+30E6 KATAKANA LETTER YU
+A5E7 30E7 A5E7 U+30E7 KATAKANA LETTER SMALL YO
+A5E8 30E8 A5E8 U+30E8 KATAKANA LETTER YO
+A5E9 30E9 A5E9 U+30E9 KATAKANA LETTER RA
+A5EA 30EA A5EA U+30EA KATAKANA LETTER RI
+A5EB 30EB A5EB U+30EB KATAKANA LETTER RU
+A5EC 30EC A5EC U+30EC KATAKANA LETTER RE
+A5ED 30ED A5ED U+30ED KATAKANA LETTER RO
+A5EE 30EE A5EE U+30EE KATAKANA LETTER SMALL WA
+A5EF 30EF A5EF U+30EF KATAKANA LETTER WA
+A5F0 30F0 A5F0 U+30F0 KATAKANA LETTER WI
+A5F1 30F1 A5F1 U+30F1 KATAKANA LETTER WE
+A5F2 30F2 A5F2 U+30F2 KATAKANA LETTER WO
+A5F3 30F3 A5F3 U+30F3 KATAKANA LETTER N
+A5F4 30F4 A5F4 U+30F4 KATAKANA LETTER VU
+A5F5 30F5 A5F5 U+30F5 KATAKANA LETTER SMALL KA
+A5F6 30F6 A5F6 U+30F6 KATAKANA LETTER SMALL KE
+A6A1 0391 A6A1 U+0391 GREEK CAPITAL LETTER ALPHA
+A6A2 0392 A6A2 U+0392 GREEK CAPITAL LETTER BETA
+A6A3 0393 A6A3 U+0393 GREEK CAPITAL LETTER GAMMA
+A6A4 0394 A6A4 U+0394 GREEK CAPITAL LETTER DELTA
+A6A5 0395 A6A5 U+0395 GREEK CAPITAL LETTER EPSILON
+A6A6 0396 A6A6 U+0396 GREEK CAPITAL LETTER ZETA
+A6A7 0397 A6A7 U+0397 GREEK CAPITAL LETTER ETA
+A6A8 0398 A6A8 U+0398 GREEK CAPITAL LETTER THETA
+A6A9 0399 A6A9 U+0399 GREEK CAPITAL LETTER IOTA
+A6AA 039A A6AA U+039A GREEK CAPITAL LETTER KAPPA
+A6AB 039B A6AB U+039B GREEK CAPITAL LETTER LAMDA
+A6AC 039C A6AC U+039C GREEK CAPITAL LETTER MU
+A6AD 039D A6AD U+039D GREEK CAPITAL LETTER NU
+A6AE 039E A6AE U+039E GREEK CAPITAL LETTER XI
+A6AF 039F A6AF U+039F GREEK CAPITAL LETTER OMICRON
+A6B0 03A0 A6B0 U+03A0 GREEK CAPITAL LETTER PI
+A6B1 03A1 A6B1 U+03A1 GREEK CAPITAL LETTER RHO
+A6B2 03A3 A6B2 U+03A3 GREEK CAPITAL LETTER SIGMA
+A6B3 03A4 A6B3 U+03A4 GREEK CAPITAL LETTER TAU
+A6B4 03A5 A6B4 U+03A5 GREEK CAPITAL LETTER UPSILON
+A6B5 03A6 A6B5 U+03A6 GREEK CAPITAL LETTER PHI
+A6B6 03A7 A6B6 U+03A7 GREEK CAPITAL LETTER CHI
+A6B7 03A8 A6B7 U+03A8 GREEK CAPITAL LETTER PSI
+A6B8 03A9 A6B8 U+03A9 GREEK CAPITAL LETTER OMEGA
+A6C1 03B1 A6C1 U+03B1 GREEK SMALL LETTER ALPHA
+A6C2 03B2 A6C2 U+03B2 GREEK SMALL LETTER BETA
+A6C3 03B3 A6C3 U+03B3 GREEK SMALL LETTER GAMMA
+A6C4 03B4 A6C4 U+03B4 GREEK SMALL LETTER DELTA
+A6C5 03B5 A6C5 U+03B5 GREEK SMALL LETTER EPSILON
+A6C6 03B6 A6C6 U+03B6 GREEK SMALL LETTER ZETA
+A6C7 03B7 A6C7 U+03B7 GREEK SMALL LETTER ETA
+A6C8 03B8 A6C8 U+03B8 GREEK SMALL LETTER THETA
+A6C9 03B9 A6C9 U+03B9 GREEK SMALL LETTER IOTA
+A6CA 03BA A6CA U+03BA GREEK SMALL LETTER KAPPA
+A6CB 03BB A6CB U+03BB GREEK SMALL LETTER LAMDA
+A6CC 03BC A6CC U+03BC GREEK SMALL LETTER MU
+A6CD 03BD A6CD U+03BD GREEK SMALL LETTER NU
+A6CE 03BE A6CE U+03BE GREEK SMALL LETTER XI
+A6CF 03BF A6CF U+03BF GREEK SMALL LETTER OMICRON
+A6D0 03C0 A6D0 U+03C0 GREEK SMALL LETTER PI
+A6D1 03C1 A6D1 U+03C1 GREEK SMALL LETTER RHO
+A6D2 03C3 A6D2 U+03C3 GREEK SMALL LETTER SIGMA
+A6D3 03C4 A6D3 U+03C4 GREEK SMALL LETTER TAU
+A6D4 03C5 A6D4 U+03C5 GREEK SMALL LETTER UPSILON
+A6D5 03C6 A6D5 U+03C6 GREEK SMALL LETTER PHI
+A6D6 03C7 A6D6 U+03C7 GREEK SMALL LETTER CHI
+A6D7 03C8 A6D7 U+03C8 GREEK SMALL LETTER PSI
+A6D8 03C9 A6D8 U+03C9 GREEK SMALL LETTER OMEGA
+A7A1 0410 A7A1 U+0410 CYRILLIC CAPITAL LETTER A
+A7A2 0411 A7A2 U+0411 CYRILLIC CAPITAL LETTER BE
+A7A3 0412 A7A3 U+0412 CYRILLIC CAPITAL LETTER VE
+A7A4 0413 A7A4 U+0413 CYRILLIC CAPITAL LETTER GHE
+A7A5 0414 A7A5 U+0414 CYRILLIC CAPITAL LETTER DE
+A7A6 0415 A7A6 U+0415 CYRILLIC CAPITAL LETTER IE
+A7A7 0401 A7A7 U+0401 CYRILLIC CAPITAL LETTER IO
+A7A8 0416 A7A8 U+0416 CYRILLIC CAPITAL LETTER ZHE
+A7A9 0417 A7A9 U+0417 CYRILLIC CAPITAL LETTER ZE
+A7AA 0418 A7AA U+0418 CYRILLIC CAPITAL LETTER I
+A7AB 0419 A7AB U+0419 CYRILLIC CAPITAL LETTER SHORT I
+A7AC 041A A7AC U+041A CYRILLIC CAPITAL LETTER KA
+A7AD 041B A7AD U+041B CYRILLIC CAPITAL LETTER EL
+A7AE 041C A7AE U+041C CYRILLIC CAPITAL LETTER EM
+A7AF 041D A7AF U+041D CYRILLIC CAPITAL LETTER EN
+A7B0 041E A7B0 U+041E CYRILLIC CAPITAL LETTER O
+A7B1 041F A7B1 U+041F CYRILLIC CAPITAL LETTER PE
+A7B2 0420 A7B2 U+0420 CYRILLIC CAPITAL LETTER ER
+A7B3 0421 A7B3 U+0421 CYRILLIC CAPITAL LETTER ES
+A7B4 0422 A7B4 U+0422 CYRILLIC CAPITAL LETTER TE
+A7B5 0423 A7B5 U+0423 CYRILLIC CAPITAL LETTER U
+A7B6 0424 A7B6 U+0424 CYRILLIC CAPITAL LETTER EF
+A7B7 0425 A7B7 U+0425 CYRILLIC CAPITAL LETTER HA
+A7B8 0426 A7B8 U+0426 CYRILLIC CAPITAL LETTER TSE
+A7B9 0427 A7B9 U+0427 CYRILLIC CAPITAL LETTER CHE
+A7BA 0428 A7BA U+0428 CYRILLIC CAPITAL LETTER SHA
+A7BB 0429 A7BB U+0429 CYRILLIC CAPITAL LETTER SHCHA
+A7BC 042A A7BC U+042A CYRILLIC CAPITAL LETTER HARD SIGN
+A7BD 042B A7BD U+042B CYRILLIC CAPITAL LETTER YERU
+A7BE 042C A7BE U+042C CYRILLIC CAPITAL LETTER SOFT SIGN
+A7BF 042D A7BF U+042D CYRILLIC CAPITAL LETTER E
+A7C0 042E A7C0 U+042E CYRILLIC CAPITAL LETTER YU
+A7C1 042F A7C1 U+042F CYRILLIC CAPITAL LETTER YA
+A7D1 0430 A7D1 U+0430 CYRILLIC SMALL LETTER A
+A7D2 0431 A7D2 U+0431 CYRILLIC SMALL LETTER BE
+A7D3 0432 A7D3 U+0432 CYRILLIC SMALL LETTER VE
+A7D4 0433 A7D4 U+0433 CYRILLIC SMALL LETTER GHE
+A7D5 0434 A7D5 U+0434 CYRILLIC SMALL LETTER DE
+A7D6 0435 A7D6 U+0435 CYRILLIC SMALL LETTER IE
+A7D7 0451 A7D7 U+0451 CYRILLIC SMALL LETTER IO
+A7D8 0436 A7D8 U+0436 CYRILLIC SMALL LETTER ZHE
+A7D9 0437 A7D9 U+0437 CYRILLIC SMALL LETTER ZE
+A7DA 0438 A7DA U+0438 CYRILLIC SMALL LETTER I
+A7DB 0439 A7DB U+0439 CYRILLIC SMALL LETTER SHORT I
+A7DC 043A A7DC U+043A CYRILLIC SMALL LETTER KA
+A7DD 043B A7DD U+043B CYRILLIC SMALL LETTER EL
+A7DE 043C A7DE U+043C CYRILLIC SMALL LETTER EM
+A7DF 043D A7DF U+043D CYRILLIC SMALL LETTER EN
+A7E0 043E A7E0 U+043E CYRILLIC SMALL LETTER O
+A7E1 043F A7E1 U+043F CYRILLIC SMALL LETTER PE
+A7E2 0440 A7E2 U+0440 CYRILLIC SMALL LETTER ER
+A7E3 0441 A7E3 U+0441 CYRILLIC SMALL LETTER ES
+A7E4 0442 A7E4 U+0442 CYRILLIC SMALL LETTER TE
+A7E5 0443 A7E5 U+0443 CYRILLIC SMALL LETTER U
+A7E6 0444 A7E6 U+0444 CYRILLIC SMALL LETTER EF
+A7E7 0445 A7E7 U+0445 CYRILLIC SMALL LETTER HA
+A7E8 0446 A7E8 U+0446 CYRILLIC SMALL LETTER TSE
+A7E9 0447 A7E9 U+0447 CYRILLIC SMALL LETTER CHE
+A7EA 0448 A7EA U+0448 CYRILLIC SMALL LETTER SHA
+A7EB 0449 A7EB U+0449 CYRILLIC SMALL LETTER SHCHA
+A7EC 044A A7EC U+044A CYRILLIC SMALL LETTER HARD SIGN
+A7ED 044B A7ED U+044B CYRILLIC SMALL LETTER YERU
+A7EE 044C A7EE U+044C CYRILLIC SMALL LETTER SOFT SIGN
+A7EF 044D A7EF U+044D CYRILLIC SMALL LETTER E
+A7F0 044E A7F0 U+044E CYRILLIC SMALL LETTER YU
+A7F1 044F A7F1 U+044F CYRILLIC SMALL LETTER YA
+A8A1 2500 A8A1 U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+A8A2 2502 A8A2 U+2502 BOX DRAWINGS LIGHT VERTICAL
+A8A3 250C A8A3 U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT
+A8A4 2510 A8A4 U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT
+A8A5 2518 A8A5 U+2518 BOX DRAWINGS LIGHT UP AND LEFT
+A8A6 2514 A8A6 U+2514 BOX DRAWINGS LIGHT UP AND RIGHT
+A8A7 251C A8A7 U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+A8A8 252C A8A8 U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+A8A9 2524 A8A9 U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
+A8AA 2534 A8AA U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
+A8AB 253C A8AB U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+A8AC 2501 A8AC U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+A8AD 2503 A8AD U+2503 BOX DRAWINGS HEAVY VERTICAL
+A8AE 250F A8AE U+250F BOX DRAWINGS HEAVY DOWN AND RIGHT
+A8AF 2513 A8AF U+2513 BOX DRAWINGS HEAVY DOWN AND LEFT
+A8B0 251B A8B0 U+251B BOX DRAWINGS HEAVY UP AND LEFT
+A8B1 2517 A8B1 U+2517 BOX DRAWINGS HEAVY UP AND RIGHT
+A8B2 2523 A8B2 U+2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+A8B3 2533 A8B3 U+2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+A8B4 252B A8B4 U+252B BOX DRAWINGS HEAVY VERTICAL AND LEFT
+A8B5 253B A8B5 U+253B BOX DRAWINGS HEAVY UP AND HORIZONTAL
+A8B6 254B A8B6 U+254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+A8B7 2520 A8B7 U+2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+A8B8 252F A8B8 U+252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+A8B9 2528 A8B9 U+2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+A8BA 2537 A8BA U+2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+A8BB 253F A8BB U+253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+A8BC 251D A8BC U+251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+A8BD 2530 A8BD U+2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+A8BE 2525 A8BE U+2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+A8BF 2538 A8BF U+2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+A8C0 2542 A8C0 U+2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+B0A1 4E9C B0A1 <CJK>
+B0A2 5516 B0A2 <CJK>
+B0A3 5A03 B0A3 <CJK>
+B0A4 963F B0A4 <CJK>
+B0A5 54C0 B0A5 <CJK>
+B0A6 611B B0A6 <CJK>
+B0A7 6328 B0A7 <CJK>
+B0A8 59F6 B0A8 <CJK>
+B0A9 9022 B0A9 <CJK>
+B0AA 8475 B0AA <CJK>
+B0AB 831C B0AB <CJK>
+B0AC 7A50 B0AC <CJK>
+B0AD 60AA B0AD <CJK>
+B0AE 63E1 B0AE <CJK>
+B0AF 6E25 B0AF <CJK>
+B0B0 65ED B0B0 <CJK>
+B0B1 8466 B0B1 <CJK>
+B0B2 82A6 B0B2 <CJK>
+B0B3 9BF5 B0B3 <CJK>
+B0B4 6893 B0B4 <CJK>
+B0B5 5727 B0B5 <CJK>
+B0B6 65A1 B0B6 <CJK>
+B0B7 6271 B0B7 <CJK>
+B0B8 5B9B B0B8 <CJK>
+B0B9 59D0 B0B9 <CJK>
+B0BA 867B B0BA <CJK>
+B0BB 98F4 B0BB <CJK>
+B0BC 7D62 B0BC <CJK>
+B0BD 7DBE B0BD <CJK>
+B0BE 9B8E B0BE <CJK>
+B0BF 6216 B0BF <CJK>
+B0C0 7C9F B0C0 <CJK>
+B0C1 88B7 B0C1 <CJK>
+B0C2 5B89 B0C2 <CJK>
+B0C3 5EB5 B0C3 <CJK>
+B0C4 6309 B0C4 <CJK>
+B0C5 6697 B0C5 <CJK>
+B0C6 6848 B0C6 <CJK>
+B0C7 95C7 B0C7 <CJK>
+B0C8 978D B0C8 <CJK>
+B0C9 674F B0C9 <CJK>
+B0CA 4EE5 B0CA <CJK>
+B0CB 4F0A B0CB <CJK>
+B0CC 4F4D B0CC <CJK>
+B0CD 4F9D B0CD <CJK>
+B0CE 5049 B0CE <CJK>
+B0CF 56F2 B0CF <CJK>
+B0D0 5937 B0D0 <CJK>
+B0D1 59D4 B0D1 <CJK>
+B0D2 5A01 B0D2 <CJK>
+B0D3 5C09 B0D3 <CJK>
+B0D4 60DF B0D4 <CJK>
+B0D5 610F B0D5 <CJK>
+B0D6 6170 B0D6 <CJK>
+B0D7 6613 B0D7 <CJK>
+B0D8 6905 B0D8 <CJK>
+B0D9 70BA B0D9 <CJK>
+B0DA 754F B0DA <CJK>
+B0DB 7570 B0DB <CJK>
+B0DC 79FB B0DC <CJK>
+B0DD 7DAD B0DD <CJK>
+B0DE 7DEF B0DE <CJK>
+B0DF 80C3 B0DF <CJK>
+B0E0 840E B0E0 <CJK>
+B0E1 8863 B0E1 <CJK>
+B0E2 8B02 B0E2 <CJK>
+B0E3 9055 B0E3 <CJK>
+B0E4 907A B0E4 <CJK>
+B0E5 533B B0E5 <CJK>
+B0E6 4E95 B0E6 <CJK>
+B0E7 4EA5 B0E7 <CJK>
+B0E8 57DF B0E8 <CJK>
+B0E9 80B2 B0E9 <CJK>
+B0EA 90C1 B0EA <CJK>
+B0EB 78EF B0EB <CJK>
+B0EC 4E00 B0EC <CJK>
+B0ED 58F1 B0ED <CJK>
+B0EE 6EA2 B0EE <CJK>
+B0EF 9038 B0EF <CJK>
+B0F0 7A32 B0F0 <CJK>
+B0F1 8328 B0F1 <CJK>
+B0F2 828B B0F2 <CJK>
+B0F3 9C2F B0F3 <CJK>
+B0F4 5141 B0F4 <CJK>
+B0F5 5370 B0F5 <CJK>
+B0F6 54BD B0F6 <CJK>
+B0F7 54E1 B0F7 <CJK>
+B0F8 56E0 B0F8 <CJK>
+B0F9 59FB B0F9 <CJK>
+B0FA 5F15 B0FA <CJK>
+B0FB 98F2 B0FB <CJK>
+B0FC 6DEB B0FC <CJK>
+B0FD 80E4 B0FD <CJK>
+B0FE 852D B0FE <CJK>
+B1A1 9662 B1A1 <CJK>
+B1A2 9670 B1A2 <CJK>
+B1A3 96A0 B1A3 <CJK>
+B1A4 97FB B1A4 <CJK>
+B1A5 540B B1A5 <CJK>
+B1A6 53F3 B1A6 <CJK>
+B1A7 5B87 B1A7 <CJK>
+B1A8 70CF B1A8 <CJK>
+B1A9 7FBD B1A9 <CJK>
+B1AA 8FC2 B1AA <CJK>
+B1AB 96E8 B1AB <CJK>
+B1AC 536F B1AC <CJK>
+B1AD 9D5C B1AD <CJK>
+B1AE 7ABA B1AE <CJK>
+B1AF 4E11 B1AF <CJK>
+B1B0 7893 B1B0 <CJK>
+B1B1 81FC B1B1 <CJK>
+B1B2 6E26 B1B2 <CJK>
+B1B3 5618 B1B3 <CJK>
+B1B4 5504 B1B4 <CJK>
+B1B5 6B1D B1B5 <CJK>
+B1B6 851A B1B6 <CJK>
+B1B7 9C3B B1B7 <CJK>
+B1B8 59E5 B1B8 <CJK>
+B1B9 53A9 B1B9 <CJK>
+B1BA 6D66 B1BA <CJK>
+B1BB 74DC B1BB <CJK>
+B1BC 958F B1BC <CJK>
+B1BD 5642 B1BD <CJK>
+B1BE 4E91 B1BE <CJK>
+B1BF 904B B1BF <CJK>
+B1C0 96F2 B1C0 <CJK>
+B1C1 834F B1C1 <CJK>
+B1C2 990C B1C2 <CJK>
+B1C3 53E1 B1C3 <CJK>
+B1C4 55B6 B1C4 <CJK>
+B1C5 5B30 B1C5 <CJK>
+B1C6 5F71 B1C6 <CJK>
+B1C7 6620 B1C7 <CJK>
+B1C8 66F3 B1C8 <CJK>
+B1C9 6804 B1C9 <CJK>
+B1CA 6C38 B1CA <CJK>
+B1CB 6CF3 B1CB <CJK>
+B1CC 6D29 B1CC <CJK>
+B1CD 745B B1CD <CJK>
+B1CE 76C8 B1CE <CJK>
+B1CF 7A4E B1CF <CJK>
+B1D0 9834 B1D0 <CJK>
+B1D1 82F1 B1D1 <CJK>
+B1D2 885B B1D2 <CJK>
+B1D3 8A60 B1D3 <CJK>
+B1D4 92ED B1D4 <CJK>
+B1D5 6DB2 B1D5 <CJK>
+B1D6 75AB B1D6 <CJK>
+B1D7 76CA B1D7 <CJK>
+B1D8 99C5 B1D8 <CJK>
+B1D9 60A6 B1D9 <CJK>
+B1DA 8B01 B1DA <CJK>
+B1DB 8D8A B1DB <CJK>
+B1DC 95B2 B1DC <CJK>
+B1DD 698E B1DD <CJK>
+B1DE 53AD B1DE <CJK>
+B1DF 5186 B1DF <CJK>
+B1E0 5712 B1E0 <CJK>
+B1E1 5830 B1E1 <CJK>
+B1E2 5944 B1E2 <CJK>
+B1E3 5BB4 B1E3 <CJK>
+B1E4 5EF6 B1E4 <CJK>
+B1E5 6028 B1E5 <CJK>
+B1E6 63A9 B1E6 <CJK>
+B1E7 63F4 B1E7 <CJK>
+B1E8 6CBF B1E8 <CJK>
+B1E9 6F14 B1E9 <CJK>
+B1EA 708E B1EA <CJK>
+B1EB 7114 B1EB <CJK>
+B1EC 7159 B1EC <CJK>
+B1ED 71D5 B1ED <CJK>
+B1EE 733F B1EE <CJK>
+B1EF 7E01 B1EF <CJK>
+B1F0 8276 B1F0 <CJK>
+B1F1 82D1 B1F1 <CJK>
+B1F2 8597 B1F2 <CJK>
+B1F3 9060 B1F3 <CJK>
+B1F4 925B B1F4 <CJK>
+B1F5 9D1B B1F5 <CJK>
+B1F6 5869 B1F6 <CJK>
+B1F7 65BC B1F7 <CJK>
+B1F8 6C5A B1F8 <CJK>
+B1F9 7525 B1F9 <CJK>
+B1FA 51F9 B1FA <CJK>
+B1FB 592E B1FB <CJK>
+B1FC 5965 B1FC <CJK>
+B1FD 5F80 B1FD <CJK>
+B1FE 5FDC B1FE <CJK>
+B2A1 62BC B2A1 <CJK>
+B2A2 65FA B2A2 <CJK>
+B2A3 6A2A B2A3 <CJK>
+B2A4 6B27 B2A4 <CJK>
+B2A5 6BB4 B2A5 <CJK>
+B2A6 738B B2A6 <CJK>
+B2A7 7FC1 B2A7 <CJK>
+B2A8 8956 B2A8 <CJK>
+B2A9 9D2C B2A9 <CJK>
+B2AA 9D0E B2AA <CJK>
+B2AB 9EC4 B2AB <CJK>
+B2AC 5CA1 B2AC <CJK>
+B2AD 6C96 B2AD <CJK>
+B2AE 837B B2AE <CJK>
+B2AF 5104 B2AF <CJK>
+B2B0 5C4B B2B0 <CJK>
+B2B1 61B6 B2B1 <CJK>
+B2B2 81C6 B2B2 <CJK>
+B2B3 6876 B2B3 <CJK>
+B2B4 7261 B2B4 <CJK>
+B2B5 4E59 B2B5 <CJK>
+B2B6 4FFA B2B6 <CJK>
+B2B7 5378 B2B7 <CJK>
+B2B8 6069 B2B8 <CJK>
+B2B9 6E29 B2B9 <CJK>
+B2BA 7A4F B2BA <CJK>
+B2BB 97F3 B2BB <CJK>
+B2BC 4E0B B2BC <CJK>
+B2BD 5316 B2BD <CJK>
+B2BE 4EEE B2BE <CJK>
+B2BF 4F55 B2BF <CJK>
+B2C0 4F3D B2C0 <CJK>
+B2C1 4FA1 B2C1 <CJK>
+B2C2 4F73 B2C2 <CJK>
+B2C3 52A0 B2C3 <CJK>
+B2C4 53EF B2C4 <CJK>
+B2C5 5609 B2C5 <CJK>
+B2C6 590F B2C6 <CJK>
+B2C7 5AC1 B2C7 <CJK>
+B2C8 5BB6 B2C8 <CJK>
+B2C9 5BE1 B2C9 <CJK>
+B2CA 79D1 B2CA <CJK>
+B2CB 6687 B2CB <CJK>
+B2CC 679C B2CC <CJK>
+B2CD 67B6 B2CD <CJK>
+B2CE 6B4C B2CE <CJK>
+B2CF 6CB3 B2CF <CJK>
+B2D0 706B B2D0 <CJK>
+B2D1 73C2 B2D1 <CJK>
+B2D2 798D B2D2 <CJK>
+B2D3 79BE B2D3 <CJK>
+B2D4 7A3C B2D4 <CJK>
+B2D5 7B87 B2D5 <CJK>
+B2D6 82B1 B2D6 <CJK>
+B2D7 82DB B2D7 <CJK>
+B2D8 8304 B2D8 <CJK>
+B2D9 8377 B2D9 <CJK>
+B2DA 83EF B2DA <CJK>
+B2DB 83D3 B2DB <CJK>
+B2DC 8766 B2DC <CJK>
+B2DD 8AB2 B2DD <CJK>
+B2DE 5629 B2DE <CJK>
+B2DF 8CA8 B2DF <CJK>
+B2E0 8FE6 B2E0 <CJK>
+B2E1 904E B2E1 <CJK>
+B2E2 971E B2E2 <CJK>
+B2E3 868A B2E3 <CJK>
+B2E4 4FC4 B2E4 <CJK>
+B2E5 5CE8 B2E5 <CJK>
+B2E6 6211 B2E6 <CJK>
+B2E7 7259 B2E7 <CJK>
+B2E8 753B B2E8 <CJK>
+B2E9 81E5 B2E9 <CJK>
+B2EA 82BD B2EA <CJK>
+B2EB 86FE B2EB <CJK>
+B2EC 8CC0 B2EC <CJK>
+B2ED 96C5 B2ED <CJK>
+B2EE 9913 B2EE <CJK>
+B2EF 99D5 B2EF <CJK>
+B2F0 4ECB B2F0 <CJK>
+B2F1 4F1A B2F1 <CJK>
+B2F2 89E3 B2F2 <CJK>
+B2F3 56DE B2F3 <CJK>
+B2F4 584A B2F4 <CJK>
+B2F5 58CA B2F5 <CJK>
+B2F6 5EFB B2F6 <CJK>
+B2F7 5FEB B2F7 <CJK>
+B2F8 602A B2F8 <CJK>
+B2F9 6094 B2F9 <CJK>
+B2FA 6062 B2FA <CJK>
+B2FB 61D0 B2FB <CJK>
+B2FC 6212 B2FC <CJK>
+B2FD 62D0 B2FD <CJK>
+B2FE 6539 B2FE <CJK>
+B3A1 9B41 B3A1 <CJK>
+B3A2 6666 B3A2 <CJK>
+B3A3 68B0 B3A3 <CJK>
+B3A4 6D77 B3A4 <CJK>
+B3A5 7070 B3A5 <CJK>
+B3A6 754C B3A6 <CJK>
+B3A7 7686 B3A7 <CJK>
+B3A8 7D75 B3A8 <CJK>
+B3A9 82A5 B3A9 <CJK>
+B3AA 87F9 B3AA <CJK>
+B3AB 958B B3AB <CJK>
+B3AC 968E B3AC <CJK>
+B3AD 8C9D B3AD <CJK>
+B3AE 51F1 B3AE <CJK>
+B3AF 52BE B3AF <CJK>
+B3B0 5916 B3B0 <CJK>
+B3B1 54B3 B3B1 <CJK>
+B3B2 5BB3 B3B2 <CJK>
+B3B3 5D16 B3B3 <CJK>
+B3B4 6168 B3B4 <CJK>
+B3B5 6982 B3B5 <CJK>
+B3B6 6DAF B3B6 <CJK>
+B3B7 788D B3B7 <CJK>
+B3B8 84CB B3B8 <CJK>
+B3B9 8857 B3B9 <CJK>
+B3BA 8A72 B3BA <CJK>
+B3BB 93A7 B3BB <CJK>
+B3BC 9AB8 B3BC <CJK>
+B3BD 6D6C B3BD <CJK>
+B3BE 99A8 B3BE <CJK>
+B3BF 86D9 B3BF <CJK>
+B3C0 57A3 B3C0 <CJK>
+B3C1 67FF B3C1 <CJK>
+B3C2 86CE B3C2 <CJK>
+B3C3 920E B3C3 <CJK>
+B3C4 5283 B3C4 <CJK>
+B3C5 5687 B3C5 <CJK>
+B3C6 5404 B3C6 <CJK>
+B3C7 5ED3 B3C7 <CJK>
+B3C8 62E1 B3C8 <CJK>
+B3C9 64B9 B3C9 <CJK>
+B3CA 683C B3CA <CJK>
+B3CB 6838 B3CB <CJK>
+B3CC 6BBB B3CC <CJK>
+B3CD 7372 B3CD <CJK>
+B3CE 78BA B3CE <CJK>
+B3CF 7A6B B3CF <CJK>
+B3D0 899A B3D0 <CJK>
+B3D1 89D2 B3D1 <CJK>
+B3D2 8D6B B3D2 <CJK>
+B3D3 8F03 B3D3 <CJK>
+B3D4 90ED B3D4 <CJK>
+B3D5 95A3 B3D5 <CJK>
+B3D6 9694 B3D6 <CJK>
+B3D7 9769 B3D7 <CJK>
+B3D8 5B66 B3D8 <CJK>
+B3D9 5CB3 B3D9 <CJK>
+B3DA 697D B3DA <CJK>
+B3DB 984D B3DB <CJK>
+B3DC 984E B3DC <CJK>
+B3DD 639B B3DD <CJK>
+B3DE 7B20 B3DE <CJK>
+B3DF 6A2B B3DF <CJK>
+B3E0 6A7F B3E0 <CJK>
+B3E1 68B6 B3E1 <CJK>
+B3E2 9C0D B3E2 <CJK>
+B3E3 6F5F B3E3 <CJK>
+B3E4 5272 B3E4 <CJK>
+B3E5 559D B3E5 <CJK>
+B3E6 6070 B3E6 <CJK>
+B3E7 62EC B3E7 <CJK>
+B3E8 6D3B B3E8 <CJK>
+B3E9 6E07 B3E9 <CJK>
+B3EA 6ED1 B3EA <CJK>
+B3EB 845B B3EB <CJK>
+B3EC 8910 B3EC <CJK>
+B3ED 8F44 B3ED <CJK>
+B3EE 4E14 B3EE <CJK>
+B3EF 9C39 B3EF <CJK>
+B3F0 53F6 B3F0 <CJK>
+B3F1 691B B3F1 <CJK>
+B3F2 6A3A B3F2 <CJK>
+B3F3 9784 B3F3 <CJK>
+B3F4 682A B3F4 <CJK>
+B3F5 515C B3F5 <CJK>
+B3F6 7AC3 B3F6 <CJK>
+B3F7 84B2 B3F7 <CJK>
+B3F8 91DC B3F8 <CJK>
+B3F9 938C B3F9 <CJK>
+B3FA 565B B3FA <CJK>
+B3FB 9D28 B3FB <CJK>
+B3FC 6822 B3FC <CJK>
+B3FD 8305 B3FD <CJK>
+B3FE 8431 B3FE <CJK>
+B4A1 7CA5 B4A1 <CJK>
+B4A2 5208 B4A2 <CJK>
+B4A3 82C5 B4A3 <CJK>
+B4A4 74E6 B4A4 <CJK>
+B4A5 4E7E B4A5 <CJK>
+B4A6 4F83 B4A6 <CJK>
+B4A7 51A0 B4A7 <CJK>
+B4A8 5BD2 B4A8 <CJK>
+B4A9 520A B4A9 <CJK>
+B4AA 52D8 B4AA <CJK>
+B4AB 52E7 B4AB <CJK>
+B4AC 5DFB B4AC <CJK>
+B4AD 559A B4AD <CJK>
+B4AE 582A B4AE <CJK>
+B4AF 59E6 B4AF <CJK>
+B4B0 5B8C B4B0 <CJK>
+B4B1 5B98 B4B1 <CJK>
+B4B2 5BDB B4B2 <CJK>
+B4B3 5E72 B4B3 <CJK>
+B4B4 5E79 B4B4 <CJK>
+B4B5 60A3 B4B5 <CJK>
+B4B6 611F B4B6 <CJK>
+B4B7 6163 B4B7 <CJK>
+B4B8 61BE B4B8 <CJK>
+B4B9 63DB B4B9 <CJK>
+B4BA 6562 B4BA <CJK>
+B4BB 67D1 B4BB <CJK>
+B4BC 6853 B4BC <CJK>
+B4BD 68FA B4BD <CJK>
+B4BE 6B3E B4BE <CJK>
+B4BF 6B53 B4BF <CJK>
+B4C0 6C57 B4C0 <CJK>
+B4C1 6F22 B4C1 <CJK>
+B4C2 6F97 B4C2 <CJK>
+B4C3 6F45 B4C3 <CJK>
+B4C4 74B0 B4C4 <CJK>
+B4C5 7518 B4C5 <CJK>
+B4C6 76E3 B4C6 <CJK>
+B4C7 770B B4C7 <CJK>
+B4C8 7AFF B4C8 <CJK>
+B4C9 7BA1 B4C9 <CJK>
+B4CA 7C21 B4CA <CJK>
+B4CB 7DE9 B4CB <CJK>
+B4CC 7F36 B4CC <CJK>
+B4CD 7FF0 B4CD <CJK>
+B4CE 809D B4CE <CJK>
+B4CF 8266 B4CF <CJK>
+B4D0 839E B4D0 <CJK>
+B4D1 89B3 B4D1 <CJK>
+B4D2 8ACC B4D2 <CJK>
+B4D3 8CAB B4D3 <CJK>
+B4D4 9084 B4D4 <CJK>
+B4D5 9451 B4D5 <CJK>
+B4D6 9593 B4D6 <CJK>
+B4D7 9591 B4D7 <CJK>
+B4D8 95A2 B4D8 <CJK>
+B4D9 9665 B4D9 <CJK>
+B4DA 97D3 B4DA <CJK>
+B4DB 9928 B4DB <CJK>
+B4DC 8218 B4DC <CJK>
+B4DD 4E38 B4DD <CJK>
+B4DE 542B B4DE <CJK>
+B4DF 5CB8 B4DF <CJK>
+B4E0 5DCC B4E0 <CJK>
+B4E1 73A9 B4E1 <CJK>
+B4E2 764C B4E2 <CJK>
+B4E3 773C B4E3 <CJK>
+B4E4 5CA9 B4E4 <CJK>
+B4E5 7FEB B4E5 <CJK>
+B4E6 8D0B B4E6 <CJK>
+B4E7 96C1 B4E7 <CJK>
+B4E8 9811 B4E8 <CJK>
+B4E9 9854 B4E9 <CJK>
+B4EA 9858 B4EA <CJK>
+B4EB 4F01 B4EB <CJK>
+B4EC 4F0E B4EC <CJK>
+B4ED 5371 B4ED <CJK>
+B4EE 559C B4EE <CJK>
+B4EF 5668 B4EF <CJK>
+B4F0 57FA B4F0 <CJK>
+B4F1 5947 B4F1 <CJK>
+B4F2 5B09 B4F2 <CJK>
+B4F3 5BC4 B4F3 <CJK>
+B4F4 5C90 B4F4 <CJK>
+B4F5 5E0C B4F5 <CJK>
+B4F6 5E7E B4F6 <CJK>
+B4F7 5FCC B4F7 <CJK>
+B4F8 63EE B4F8 <CJK>
+B4F9 673A B4F9 <CJK>
+B4FA 65D7 B4FA <CJK>
+B4FB 65E2 B4FB <CJK>
+B4FC 671F B4FC <CJK>
+B4FD 68CB B4FD <CJK>
+B4FE 68C4 B4FE <CJK>
+B5A1 6A5F B5A1 <CJK>
+B5A2 5E30 B5A2 <CJK>
+B5A3 6BC5 B5A3 <CJK>
+B5A4 6C17 B5A4 <CJK>
+B5A5 6C7D B5A5 <CJK>
+B5A6 757F B5A6 <CJK>
+B5A7 7948 B5A7 <CJK>
+B5A8 5B63 B5A8 <CJK>
+B5A9 7A00 B5A9 <CJK>
+B5AA 7D00 B5AA <CJK>
+B5AB 5FBD B5AB <CJK>
+B5AC 898F B5AC <CJK>
+B5AD 8A18 B5AD <CJK>
+B5AE 8CB4 B5AE <CJK>
+B5AF 8D77 B5AF <CJK>
+B5B0 8ECC B5B0 <CJK>
+B5B1 8F1D B5B1 <CJK>
+B5B2 98E2 B5B2 <CJK>
+B5B3 9A0E B5B3 <CJK>
+B5B4 9B3C B5B4 <CJK>
+B5B5 4E80 B5B5 <CJK>
+B5B6 507D B5B6 <CJK>
+B5B7 5100 B5B7 <CJK>
+B5B8 5993 B5B8 <CJK>
+B5B9 5B9C B5B9 <CJK>
+B5BA 622F B5BA <CJK>
+B5BB 6280 B5BB <CJK>
+B5BC 64EC B5BC <CJK>
+B5BD 6B3A B5BD <CJK>
+B5BE 72A0 B5BE <CJK>
+B5BF 7591 B5BF <CJK>
+B5C0 7947 B5C0 <CJK>
+B5C1 7FA9 B5C1 <CJK>
+B5C2 87FB B5C2 <CJK>
+B5C3 8ABC B5C3 <CJK>
+B5C4 8B70 B5C4 <CJK>
+B5C5 63AC B5C5 <CJK>
+B5C6 83CA B5C6 <CJK>
+B5C7 97A0 B5C7 <CJK>
+B5C8 5409 B5C8 <CJK>
+B5C9 5403 B5C9 <CJK>
+B5CA 55AB B5CA <CJK>
+B5CB 6854 B5CB <CJK>
+B5CC 6A58 B5CC <CJK>
+B5CD 8A70 B5CD <CJK>
+B5CE 7827 B5CE <CJK>
+B5CF 6775 B5CF <CJK>
+B5D0 9ECD B5D0 <CJK>
+B5D1 5374 B5D1 <CJK>
+B5D2 5BA2 B5D2 <CJK>
+B5D3 811A B5D3 <CJK>
+B5D4 8650 B5D4 <CJK>
+B5D5 9006 B5D5 <CJK>
+B5D6 4E18 B5D6 <CJK>
+B5D7 4E45 B5D7 <CJK>
+B5D8 4EC7 B5D8 <CJK>
+B5D9 4F11 B5D9 <CJK>
+B5DA 53CA B5DA <CJK>
+B5DB 5438 B5DB <CJK>
+B5DC 5BAE B5DC <CJK>
+B5DD 5F13 B5DD <CJK>
+B5DE 6025 B5DE <CJK>
+B5DF 6551 B5DF <CJK>
+B5E0 673D B5E0 <CJK>
+B5E1 6C42 B5E1 <CJK>
+B5E2 6C72 B5E2 <CJK>
+B5E3 6CE3 B5E3 <CJK>
+B5E4 7078 B5E4 <CJK>
+B5E5 7403 B5E5 <CJK>
+B5E6 7A76 B5E6 <CJK>
+B5E7 7AAE B5E7 <CJK>
+B5E8 7B08 B5E8 <CJK>
+B5E9 7D1A B5E9 <CJK>
+B5EA 7CFE B5EA <CJK>
+B5EB 7D66 B5EB <CJK>
+B5EC 65E7 B5EC <CJK>
+B5ED 725B B5ED <CJK>
+B5EE 53BB B5EE <CJK>
+B5EF 5C45 B5EF <CJK>
+B5F0 5DE8 B5F0 <CJK>
+B5F1 62D2 B5F1 <CJK>
+B5F2 62E0 B5F2 <CJK>
+B5F3 6319 B5F3 <CJK>
+B5F4 6E20 B5F4 <CJK>
+B5F5 865A B5F5 <CJK>
+B5F6 8A31 B5F6 <CJK>
+B5F7 8DDD B5F7 <CJK>
+B5F8 92F8 B5F8 <CJK>
+B5F9 6F01 B5F9 <CJK>
+B5FA 79A6 B5FA <CJK>
+B5FB 9B5A B5FB <CJK>
+B5FC 4EA8 B5FC <CJK>
+B5FD 4EAB B5FD <CJK>
+B5FE 4EAC B5FE <CJK>
+B6A1 4F9B B6A1 <CJK>
+B6A2 4FA0 B6A2 <CJK>
+B6A3 50D1 B6A3 <CJK>
+B6A4 5147 B6A4 <CJK>
+B6A5 7AF6 B6A5 <CJK>
+B6A6 5171 B6A6 <CJK>
+B6A7 51F6 B6A7 <CJK>
+B6A8 5354 B6A8 <CJK>
+B6A9 5321 B6A9 <CJK>
+B6AA 537F B6AA <CJK>
+B6AB 53EB B6AB <CJK>
+B6AC 55AC B6AC <CJK>
+B6AD 5883 B6AD <CJK>
+B6AE 5CE1 B6AE <CJK>
+B6AF 5F37 B6AF <CJK>
+B6B0 5F4A B6B0 <CJK>
+B6B1 602F B6B1 <CJK>
+B6B2 6050 B6B2 <CJK>
+B6B3 606D B6B3 <CJK>
+B6B4 631F B6B4 <CJK>
+B6B5 6559 B6B5 <CJK>
+B6B6 6A4B B6B6 <CJK>
+B6B7 6CC1 B6B7 <CJK>
+B6B8 72C2 B6B8 <CJK>
+B6B9 72ED B6B9 <CJK>
+B6BA 77EF B6BA <CJK>
+B6BB 80F8 B6BB <CJK>
+B6BC 8105 B6BC <CJK>
+B6BD 8208 B6BD <CJK>
+B6BE 854E B6BE <CJK>
+B6BF 90F7 B6BF <CJK>
+B6C0 93E1 B6C0 <CJK>
+B6C1 97FF B6C1 <CJK>
+B6C2 9957 B6C2 <CJK>
+B6C3 9A5A B6C3 <CJK>
+B6C4 4EF0 B6C4 <CJK>
+B6C5 51DD B6C5 <CJK>
+B6C6 5C2D B6C6 <CJK>
+B6C7 6681 B6C7 <CJK>
+B6C8 696D B6C8 <CJK>
+B6C9 5C40 B6C9 <CJK>
+B6CA 66F2 B6CA <CJK>
+B6CB 6975 B6CB <CJK>
+B6CC 7389 B6CC <CJK>
+B6CD 6850 B6CD <CJK>
+B6CE 7C81 B6CE <CJK>
+B6CF 50C5 B6CF <CJK>
+B6D0 52E4 B6D0 <CJK>
+B6D1 5747 B6D1 <CJK>
+B6D2 5DFE B6D2 <CJK>
+B6D3 9326 B6D3 <CJK>
+B6D4 65A4 B6D4 <CJK>
+B6D5 6B23 B6D5 <CJK>
+B6D6 6B3D B6D6 <CJK>
+B6D7 7434 B6D7 <CJK>
+B6D8 7981 B6D8 <CJK>
+B6D9 79BD B6D9 <CJK>
+B6DA 7B4B B6DA <CJK>
+B6DB 7DCA B6DB <CJK>
+B6DC 82B9 B6DC <CJK>
+B6DD 83CC B6DD <CJK>
+B6DE 887F B6DE <CJK>
+B6DF 895F B6DF <CJK>
+B6E0 8B39 B6E0 <CJK>
+B6E1 8FD1 B6E1 <CJK>
+B6E2 91D1 B6E2 <CJK>
+B6E3 541F B6E3 <CJK>
+B6E4 9280 B6E4 <CJK>
+B6E5 4E5D B6E5 <CJK>
+B6E6 5036 B6E6 <CJK>
+B6E7 53E5 B6E7 <CJK>
+B6E8 533A B6E8 <CJK>
+B6E9 72D7 B6E9 <CJK>
+B6EA 7396 B6EA <CJK>
+B6EB 77E9 B6EB <CJK>
+B6EC 82E6 B6EC <CJK>
+B6ED 8EAF B6ED <CJK>
+B6EE 99C6 B6EE <CJK>
+B6EF 99C8 B6EF <CJK>
+B6F0 99D2 B6F0 <CJK>
+B6F1 5177 B6F1 <CJK>
+B6F2 611A B6F2 <CJK>
+B6F3 865E B6F3 <CJK>
+B6F4 55B0 B6F4 <CJK>
+B6F5 7A7A B6F5 <CJK>
+B6F6 5076 B6F6 <CJK>
+B6F7 5BD3 B6F7 <CJK>
+B6F8 9047 B6F8 <CJK>
+B6F9 9685 B6F9 <CJK>
+B6FA 4E32 B6FA <CJK>
+B6FB 6ADB B6FB <CJK>
+B6FC 91E7 B6FC <CJK>
+B6FD 5C51 B6FD <CJK>
+B6FE 5C48 B6FE <CJK>
+B7A1 6398 B7A1 <CJK>
+B7A2 7A9F B7A2 <CJK>
+B7A3 6C93 B7A3 <CJK>
+B7A4 9774 B7A4 <CJK>
+B7A5 8F61 B7A5 <CJK>
+B7A6 7AAA B7A6 <CJK>
+B7A7 718A B7A7 <CJK>
+B7A8 9688 B7A8 <CJK>
+B7A9 7C82 B7A9 <CJK>
+B7AA 6817 B7AA <CJK>
+B7AB 7E70 B7AB <CJK>
+B7AC 6851 B7AC <CJK>
+B7AD 936C B7AD <CJK>
+B7AE 52F2 B7AE <CJK>
+B7AF 541B B7AF <CJK>
+B7B0 85AB B7B0 <CJK>
+B7B1 8A13 B7B1 <CJK>
+B7B2 7FA4 B7B2 <CJK>
+B7B3 8ECD B7B3 <CJK>
+B7B4 90E1 B7B4 <CJK>
+B7B5 5366 B7B5 <CJK>
+B7B6 8888 B7B6 <CJK>
+B7B7 7941 B7B7 <CJK>
+B7B8 4FC2 B7B8 <CJK>
+B7B9 50BE B7B9 <CJK>
+B7BA 5211 B7BA <CJK>
+B7BB 5144 B7BB <CJK>
+B7BC 5553 B7BC <CJK>
+B7BD 572D B7BD <CJK>
+B7BE 73EA B7BE <CJK>
+B7BF 578B B7BF <CJK>
+B7C0 5951 B7C0 <CJK>
+B7C1 5F62 B7C1 <CJK>
+B7C2 5F84 B7C2 <CJK>
+B7C3 6075 B7C3 <CJK>
+B7C4 6176 B7C4 <CJK>
+B7C5 6167 B7C5 <CJK>
+B7C6 61A9 B7C6 <CJK>
+B7C7 63B2 B7C7 <CJK>
+B7C8 643A B7C8 <CJK>
+B7C9 656C B7C9 <CJK>
+B7CA 666F B7CA <CJK>
+B7CB 6842 B7CB <CJK>
+B7CC 6E13 B7CC <CJK>
+B7CD 7566 B7CD <CJK>
+B7CE 7A3D B7CE <CJK>
+B7CF 7CFB B7CF <CJK>
+B7D0 7D4C B7D0 <CJK>
+B7D1 7D99 B7D1 <CJK>
+B7D2 7E4B B7D2 <CJK>
+B7D3 7F6B B7D3 <CJK>
+B7D4 830E B7D4 <CJK>
+B7D5 834A B7D5 <CJK>
+B7D6 86CD B7D6 <CJK>
+B7D7 8A08 B7D7 <CJK>
+B7D8 8A63 B7D8 <CJK>
+B7D9 8B66 B7D9 <CJK>
+B7DA 8EFD B7DA <CJK>
+B7DB 981A B7DB <CJK>
+B7DC 9D8F B7DC <CJK>
+B7DD 82B8 B7DD <CJK>
+B7DE 8FCE B7DE <CJK>
+B7DF 9BE8 B7DF <CJK>
+B7E0 5287 B7E0 <CJK>
+B7E1 621F B7E1 <CJK>
+B7E2 6483 B7E2 <CJK>
+B7E3 6FC0 B7E3 <CJK>
+B7E4 9699 B7E4 <CJK>
+B7E5 6841 B7E5 <CJK>
+B7E6 5091 B7E6 <CJK>
+B7E7 6B20 B7E7 <CJK>
+B7E8 6C7A B7E8 <CJK>
+B7E9 6F54 B7E9 <CJK>
+B7EA 7A74 B7EA <CJK>
+B7EB 7D50 B7EB <CJK>
+B7EC 8840 B7EC <CJK>
+B7ED 8A23 B7ED <CJK>
+B7EE 6708 B7EE <CJK>
+B7EF 4EF6 B7EF <CJK>
+B7F0 5039 B7F0 <CJK>
+B7F1 5026 B7F1 <CJK>
+B7F2 5065 B7F2 <CJK>
+B7F3 517C B7F3 <CJK>
+B7F4 5238 B7F4 <CJK>
+B7F5 5263 B7F5 <CJK>
+B7F6 55A7 B7F6 <CJK>
+B7F7 570F B7F7 <CJK>
+B7F8 5805 B7F8 <CJK>
+B7F9 5ACC B7F9 <CJK>
+B7FA 5EFA B7FA <CJK>
+B7FB 61B2 B7FB <CJK>
+B7FC 61F8 B7FC <CJK>
+B7FD 62F3 B7FD <CJK>
+B7FE 6372 B7FE <CJK>
+B8A1 691C B8A1 <CJK>
+B8A2 6A29 B8A2 <CJK>
+B8A3 727D B8A3 <CJK>
+B8A4 72AC B8A4 <CJK>
+B8A5 732E B8A5 <CJK>
+B8A6 7814 B8A6 <CJK>
+B8A7 786F B8A7 <CJK>
+B8A8 7D79 B8A8 <CJK>
+B8A9 770C B8A9 <CJK>
+B8AA 80A9 B8AA <CJK>
+B8AB 898B B8AB <CJK>
+B8AC 8B19 B8AC <CJK>
+B8AD 8CE2 B8AD <CJK>
+B8AE 8ED2 B8AE <CJK>
+B8AF 9063 B8AF <CJK>
+B8B0 9375 B8B0 <CJK>
+B8B1 967A B8B1 <CJK>
+B8B2 9855 B8B2 <CJK>
+B8B3 9A13 B8B3 <CJK>
+B8B4 9E78 B8B4 <CJK>
+B8B5 5143 B8B5 <CJK>
+B8B6 539F B8B6 <CJK>
+B8B7 53B3 B8B7 <CJK>
+B8B8 5E7B B8B8 <CJK>
+B8B9 5F26 B8B9 <CJK>
+B8BA 6E1B B8BA <CJK>
+B8BB 6E90 B8BB <CJK>
+B8BC 7384 B8BC <CJK>
+B8BD 73FE B8BD <CJK>
+B8BE 7D43 B8BE <CJK>
+B8BF 8237 B8BF <CJK>
+B8C0 8A00 B8C0 <CJK>
+B8C1 8AFA B8C1 <CJK>
+B8C2 9650 B8C2 <CJK>
+B8C3 4E4E B8C3 <CJK>
+B8C4 500B B8C4 <CJK>
+B8C5 53E4 B8C5 <CJK>
+B8C6 547C B8C6 <CJK>
+B8C7 56FA B8C7 <CJK>
+B8C8 59D1 B8C8 <CJK>
+B8C9 5B64 B8C9 <CJK>
+B8CA 5DF1 B8CA <CJK>
+B8CB 5EAB B8CB <CJK>
+B8CC 5F27 B8CC <CJK>
+B8CD 6238 B8CD <CJK>
+B8CE 6545 B8CE <CJK>
+B8CF 67AF B8CF <CJK>
+B8D0 6E56 B8D0 <CJK>
+B8D1 72D0 B8D1 <CJK>
+B8D2 7CCA B8D2 <CJK>
+B8D3 88B4 B8D3 <CJK>
+B8D4 80A1 B8D4 <CJK>
+B8D5 80E1 B8D5 <CJK>
+B8D6 83F0 B8D6 <CJK>
+B8D7 864E B8D7 <CJK>
+B8D8 8A87 B8D8 <CJK>
+B8D9 8DE8 B8D9 <CJK>
+B8DA 9237 B8DA <CJK>
+B8DB 96C7 B8DB <CJK>
+B8DC 9867 B8DC <CJK>
+B8DD 9F13 B8DD <CJK>
+B8DE 4E94 B8DE <CJK>
+B8DF 4E92 B8DF <CJK>
+B8E0 4F0D B8E0 <CJK>
+B8E1 5348 B8E1 <CJK>
+B8E2 5449 B8E2 <CJK>
+B8E3 543E B8E3 <CJK>
+B8E4 5A2F B8E4 <CJK>
+B8E5 5F8C B8E5 <CJK>
+B8E6 5FA1 B8E6 <CJK>
+B8E7 609F B8E7 <CJK>
+B8E8 68A7 B8E8 <CJK>
+B8E9 6A8E B8E9 <CJK>
+B8EA 745A B8EA <CJK>
+B8EB 7881 B8EB <CJK>
+B8EC 8A9E B8EC <CJK>
+B8ED 8AA4 B8ED <CJK>
+B8EE 8B77 B8EE <CJK>
+B8EF 9190 B8EF <CJK>
+B8F0 4E5E B8F0 <CJK>
+B8F1 9BC9 B8F1 <CJK>
+B8F2 4EA4 B8F2 <CJK>
+B8F3 4F7C B8F3 <CJK>
+B8F4 4FAF B8F4 <CJK>
+B8F5 5019 B8F5 <CJK>
+B8F6 5016 B8F6 <CJK>
+B8F7 5149 B8F7 <CJK>
+B8F8 516C B8F8 <CJK>
+B8F9 529F B8F9 <CJK>
+B8FA 52B9 B8FA <CJK>
+B8FB 52FE B8FB <CJK>
+B8FC 539A B8FC <CJK>
+B8FD 53E3 B8FD <CJK>
+B8FE 5411 B8FE <CJK>
+B9A1 540E B9A1 <CJK>
+B9A2 5589 B9A2 <CJK>
+B9A3 5751 B9A3 <CJK>
+B9A4 57A2 B9A4 <CJK>
+B9A5 597D B9A5 <CJK>
+B9A6 5B54 B9A6 <CJK>
+B9A7 5B5D B9A7 <CJK>
+B9A8 5B8F B9A8 <CJK>
+B9A9 5DE5 B9A9 <CJK>
+B9AA 5DE7 B9AA <CJK>
+B9AB 5DF7 B9AB <CJK>
+B9AC 5E78 B9AC <CJK>
+B9AD 5E83 B9AD <CJK>
+B9AE 5E9A B9AE <CJK>
+B9AF 5EB7 B9AF <CJK>
+B9B0 5F18 B9B0 <CJK>
+B9B1 6052 B9B1 <CJK>
+B9B2 614C B9B2 <CJK>
+B9B3 6297 B9B3 <CJK>
+B9B4 62D8 B9B4 <CJK>
+B9B5 63A7 B9B5 <CJK>
+B9B6 653B B9B6 <CJK>
+B9B7 6602 B9B7 <CJK>
+B9B8 6643 B9B8 <CJK>
+B9B9 66F4 B9B9 <CJK>
+B9BA 676D B9BA <CJK>
+B9BB 6821 B9BB <CJK>
+B9BC 6897 B9BC <CJK>
+B9BD 69CB B9BD <CJK>
+B9BE 6C5F B9BE <CJK>
+B9BF 6D2A B9BF <CJK>
+B9C0 6D69 B9C0 <CJK>
+B9C1 6E2F B9C1 <CJK>
+B9C2 6E9D B9C2 <CJK>
+B9C3 7532 B9C3 <CJK>
+B9C4 7687 B9C4 <CJK>
+B9C5 786C B9C5 <CJK>
+B9C6 7A3F B9C6 <CJK>
+B9C7 7CE0 B9C7 <CJK>
+B9C8 7D05 B9C8 <CJK>
+B9C9 7D18 B9C9 <CJK>
+B9CA 7D5E B9CA <CJK>
+B9CB 7DB1 B9CB <CJK>
+B9CC 8015 B9CC <CJK>
+B9CD 8003 B9CD <CJK>
+B9CE 80AF B9CE <CJK>
+B9CF 80B1 B9CF <CJK>
+B9D0 8154 B9D0 <CJK>
+B9D1 818F B9D1 <CJK>
+B9D2 822A B9D2 <CJK>
+B9D3 8352 B9D3 <CJK>
+B9D4 884C B9D4 <CJK>
+B9D5 8861 B9D5 <CJK>
+B9D6 8B1B B9D6 <CJK>
+B9D7 8CA2 B9D7 <CJK>
+B9D8 8CFC B9D8 <CJK>
+B9D9 90CA B9D9 <CJK>
+B9DA 9175 B9DA <CJK>
+B9DB 9271 B9DB <CJK>
+B9DC 783F B9DC <CJK>
+B9DD 92FC B9DD <CJK>
+B9DE 95A4 B9DE <CJK>
+B9DF 964D B9DF <CJK>
+B9E0 9805 B9E0 <CJK>
+B9E1 9999 B9E1 <CJK>
+B9E2 9AD8 B9E2 <CJK>
+B9E3 9D3B B9E3 <CJK>
+B9E4 525B B9E4 <CJK>
+B9E5 52AB B9E5 <CJK>
+B9E6 53F7 B9E6 <CJK>
+B9E7 5408 B9E7 <CJK>
+B9E8 58D5 B9E8 <CJK>
+B9E9 62F7 B9E9 <CJK>
+B9EA 6FE0 B9EA <CJK>
+B9EB 8C6A B9EB <CJK>
+B9EC 8F5F B9EC <CJK>
+B9ED 9EB9 B9ED <CJK>
+B9EE 514B B9EE <CJK>
+B9EF 523B B9EF <CJK>
+B9F0 544A B9F0 <CJK>
+B9F1 56FD B9F1 <CJK>
+B9F2 7A40 B9F2 <CJK>
+B9F3 9177 B9F3 <CJK>
+B9F4 9D60 B9F4 <CJK>
+B9F5 9ED2 B9F5 <CJK>
+B9F6 7344 B9F6 <CJK>
+B9F7 6F09 B9F7 <CJK>
+B9F8 8170 B9F8 <CJK>
+B9F9 7511 B9F9 <CJK>
+B9FA 5FFD B9FA <CJK>
+B9FB 60DA B9FB <CJK>
+B9FC 9AA8 B9FC <CJK>
+B9FD 72DB B9FD <CJK>
+B9FE 8FBC B9FE <CJK>
+BAA1 6B64 BAA1 <CJK>
+BAA2 9803 BAA2 <CJK>
+BAA3 4ECA BAA3 <CJK>
+BAA4 56F0 BAA4 <CJK>
+BAA5 5764 BAA5 <CJK>
+BAA6 58BE BAA6 <CJK>
+BAA7 5A5A BAA7 <CJK>
+BAA8 6068 BAA8 <CJK>
+BAA9 61C7 BAA9 <CJK>
+BAAA 660F BAAA <CJK>
+BAAB 6606 BAAB <CJK>
+BAAC 6839 BAAC <CJK>
+BAAD 68B1 BAAD <CJK>
+BAAE 6DF7 BAAE <CJK>
+BAAF 75D5 BAAF <CJK>
+BAB0 7D3A BAB0 <CJK>
+BAB1 826E BAB1 <CJK>
+BAB2 9B42 BAB2 <CJK>
+BAB3 4E9B BAB3 <CJK>
+BAB4 4F50 BAB4 <CJK>
+BAB5 53C9 BAB5 <CJK>
+BAB6 5506 BAB6 <CJK>
+BAB7 5D6F BAB7 <CJK>
+BAB8 5DE6 BAB8 <CJK>
+BAB9 5DEE BAB9 <CJK>
+BABA 67FB BABA <CJK>
+BABB 6C99 BABB <CJK>
+BABC 7473 BABC <CJK>
+BABD 7802 BABD <CJK>
+BABE 8A50 BABE <CJK>
+BABF 9396 BABF <CJK>
+BAC0 88DF BAC0 <CJK>
+BAC1 5750 BAC1 <CJK>
+BAC2 5EA7 BAC2 <CJK>
+BAC3 632B BAC3 <CJK>
+BAC4 50B5 BAC4 <CJK>
+BAC5 50AC BAC5 <CJK>
+BAC6 518D BAC6 <CJK>
+BAC7 6700 BAC7 <CJK>
+BAC8 54C9 BAC8 <CJK>
+BAC9 585E BAC9 <CJK>
+BACA 59BB BACA <CJK>
+BACB 5BB0 BACB <CJK>
+BACC 5F69 BACC <CJK>
+BACD 624D BACD <CJK>
+BACE 63A1 BACE <CJK>
+BACF 683D BACF <CJK>
+BAD0 6B73 BAD0 <CJK>
+BAD1 6E08 BAD1 <CJK>
+BAD2 707D BAD2 <CJK>
+BAD3 91C7 BAD3 <CJK>
+BAD4 7280 BAD4 <CJK>
+BAD5 7815 BAD5 <CJK>
+BAD6 7826 BAD6 <CJK>
+BAD7 796D BAD7 <CJK>
+BAD8 658E BAD8 <CJK>
+BAD9 7D30 BAD9 <CJK>
+BADA 83DC BADA <CJK>
+BADB 88C1 BADB <CJK>
+BADC 8F09 BADC <CJK>
+BADD 969B BADD <CJK>
+BADE 5264 BADE <CJK>
+BADF 5728 BADF <CJK>
+BAE0 6750 BAE0 <CJK>
+BAE1 7F6A BAE1 <CJK>
+BAE2 8CA1 BAE2 <CJK>
+BAE3 51B4 BAE3 <CJK>
+BAE4 5742 BAE4 <CJK>
+BAE5 962A BAE5 <CJK>
+BAE6 583A BAE6 <CJK>
+BAE7 698A BAE7 <CJK>
+BAE8 80B4 BAE8 <CJK>
+BAE9 54B2 BAE9 <CJK>
+BAEA 5D0E BAEA <CJK>
+BAEB 57FC BAEB <CJK>
+BAEC 7895 BAEC <CJK>
+BAED 9DFA BAED <CJK>
+BAEE 4F5C BAEE <CJK>
+BAEF 524A BAEF <CJK>
+BAF0 548B BAF0 <CJK>
+BAF1 643E BAF1 <CJK>
+BAF2 6628 BAF2 <CJK>
+BAF3 6714 BAF3 <CJK>
+BAF4 67F5 BAF4 <CJK>
+BAF5 7A84 BAF5 <CJK>
+BAF6 7B56 BAF6 <CJK>
+BAF7 7D22 BAF7 <CJK>
+BAF8 932F BAF8 <CJK>
+BAF9 685C BAF9 <CJK>
+BAFA 9BAD BAFA <CJK>
+BAFB 7B39 BAFB <CJK>
+BAFC 5319 BAFC <CJK>
+BAFD 518A BAFD <CJK>
+BAFE 5237 BAFE <CJK>
+BBA1 5BDF BBA1 <CJK>
+BBA2 62F6 BBA2 <CJK>
+BBA3 64AE BBA3 <CJK>
+BBA4 64E6 BBA4 <CJK>
+BBA5 672D BBA5 <CJK>
+BBA6 6BBA BBA6 <CJK>
+BBA7 85A9 BBA7 <CJK>
+BBA8 96D1 BBA8 <CJK>
+BBA9 7690 BBA9 <CJK>
+BBAA 9BD6 BBAA <CJK>
+BBAB 634C BBAB <CJK>
+BBAC 9306 BBAC <CJK>
+BBAD 9BAB BBAD <CJK>
+BBAE 76BF BBAE <CJK>
+BBAF 6652 BBAF <CJK>
+BBB0 4E09 BBB0 <CJK>
+BBB1 5098 BBB1 <CJK>
+BBB2 53C2 BBB2 <CJK>
+BBB3 5C71 BBB3 <CJK>
+BBB4 60E8 BBB4 <CJK>
+BBB5 6492 BBB5 <CJK>
+BBB6 6563 BBB6 <CJK>
+BBB7 685F BBB7 <CJK>
+BBB8 71E6 BBB8 <CJK>
+BBB9 73CA BBB9 <CJK>
+BBBA 7523 BBBA <CJK>
+BBBB 7B97 BBBB <CJK>
+BBBC 7E82 BBBC <CJK>
+BBBD 8695 BBBD <CJK>
+BBBE 8B83 BBBE <CJK>
+BBBF 8CDB BBBF <CJK>
+BBC0 9178 BBC0 <CJK>
+BBC1 9910 BBC1 <CJK>
+BBC2 65AC BBC2 <CJK>
+BBC3 66AB BBC3 <CJK>
+BBC4 6B8B BBC4 <CJK>
+BBC5 4ED5 BBC5 <CJK>
+BBC6 4ED4 BBC6 <CJK>
+BBC7 4F3A BBC7 <CJK>
+BBC8 4F7F BBC8 <CJK>
+BBC9 523A BBC9 <CJK>
+BBCA 53F8 BBCA <CJK>
+BBCB 53F2 BBCB <CJK>
+BBCC 55E3 BBCC <CJK>
+BBCD 56DB BBCD <CJK>
+BBCE 58EB BBCE <CJK>
+BBCF 59CB BBCF <CJK>
+BBD0 59C9 BBD0 <CJK>
+BBD1 59FF BBD1 <CJK>
+BBD2 5B50 BBD2 <CJK>
+BBD3 5C4D BBD3 <CJK>
+BBD4 5E02 BBD4 <CJK>
+BBD5 5E2B BBD5 <CJK>
+BBD6 5FD7 BBD6 <CJK>
+BBD7 601D BBD7 <CJK>
+BBD8 6307 BBD8 <CJK>
+BBD9 652F BBD9 <CJK>
+BBDA 5B5C BBDA <CJK>
+BBDB 65AF BBDB <CJK>
+BBDC 65BD BBDC <CJK>
+BBDD 65E8 BBDD <CJK>
+BBDE 679D BBDE <CJK>
+BBDF 6B62 BBDF <CJK>
+BBE0 6B7B BBE0 <CJK>
+BBE1 6C0F BBE1 <CJK>
+BBE2 7345 BBE2 <CJK>
+BBE3 7949 BBE3 <CJK>
+BBE4 79C1 BBE4 <CJK>
+BBE5 7CF8 BBE5 <CJK>
+BBE6 7D19 BBE6 <CJK>
+BBE7 7D2B BBE7 <CJK>
+BBE8 80A2 BBE8 <CJK>
+BBE9 8102 BBE9 <CJK>
+BBEA 81F3 BBEA <CJK>
+BBEB 8996 BBEB <CJK>
+BBEC 8A5E BBEC <CJK>
+BBED 8A69 BBED <CJK>
+BBEE 8A66 BBEE <CJK>
+BBEF 8A8C BBEF <CJK>
+BBF0 8AEE BBF0 <CJK>
+BBF1 8CC7 BBF1 <CJK>
+BBF2 8CDC BBF2 <CJK>
+BBF3 96CC BBF3 <CJK>
+BBF4 98FC BBF4 <CJK>
+BBF5 6B6F BBF5 <CJK>
+BBF6 4E8B BBF6 <CJK>
+BBF7 4F3C BBF7 <CJK>
+BBF8 4F8D BBF8 <CJK>
+BBF9 5150 BBF9 <CJK>
+BBFA 5B57 BBFA <CJK>
+BBFB 5BFA BBFB <CJK>
+BBFC 6148 BBFC <CJK>
+BBFD 6301 BBFD <CJK>
+BBFE 6642 BBFE <CJK>
+BCA1 6B21 BCA1 <CJK>
+BCA2 6ECB BCA2 <CJK>
+BCA3 6CBB BCA3 <CJK>
+BCA4 723E BCA4 <CJK>
+BCA5 74BD BCA5 <CJK>
+BCA6 75D4 BCA6 <CJK>
+BCA7 78C1 BCA7 <CJK>
+BCA8 793A BCA8 <CJK>
+BCA9 800C BCA9 <CJK>
+BCAA 8033 BCAA <CJK>
+BCAB 81EA BCAB <CJK>
+BCAC 8494 BCAC <CJK>
+BCAD 8F9E BCAD <CJK>
+BCAE 6C50 BCAE <CJK>
+BCAF 9E7F BCAF <CJK>
+BCB0 5F0F BCB0 <CJK>
+BCB1 8B58 BCB1 <CJK>
+BCB2 9D2B BCB2 <CJK>
+BCB3 7AFA BCB3 <CJK>
+BCB4 8EF8 BCB4 <CJK>
+BCB5 5B8D BCB5 <CJK>
+BCB6 96EB BCB6 <CJK>
+BCB7 4E03 BCB7 <CJK>
+BCB8 53F1 BCB8 <CJK>
+BCB9 57F7 BCB9 <CJK>
+BCBA 5931 BCBA <CJK>
+BCBB 5AC9 BCBB <CJK>
+BCBC 5BA4 BCBC <CJK>
+BCBD 6089 BCBD <CJK>
+BCBE 6E7F BCBE <CJK>
+BCBF 6F06 BCBF <CJK>
+BCC0 75BE BCC0 <CJK>
+BCC1 8CEA BCC1 <CJK>
+BCC2 5B9F BCC2 <CJK>
+BCC3 8500 BCC3 <CJK>
+BCC4 7BE0 BCC4 <CJK>
+BCC5 5072 BCC5 <CJK>
+BCC6 67F4 BCC6 <CJK>
+BCC7 829D BCC7 <CJK>
+BCC8 5C61 BCC8 <CJK>
+BCC9 854A BCC9 <CJK>
+BCCA 7E1E BCCA <CJK>
+BCCB 820E BCCB <CJK>
+BCCC 5199 BCCC <CJK>
+BCCD 5C04 BCCD <CJK>
+BCCE 6368 BCCE <CJK>
+BCCF 8D66 BCCF <CJK>
+BCD0 659C BCD0 <CJK>
+BCD1 716E BCD1 <CJK>
+BCD2 793E BCD2 <CJK>
+BCD3 7D17 BCD3 <CJK>
+BCD4 8005 BCD4 <CJK>
+BCD5 8B1D BCD5 <CJK>
+BCD6 8ECA BCD6 <CJK>
+BCD7 906E BCD7 <CJK>
+BCD8 86C7 BCD8 <CJK>
+BCD9 90AA BCD9 <CJK>
+BCDA 501F BCDA <CJK>
+BCDB 52FA BCDB <CJK>
+BCDC 5C3A BCDC <CJK>
+BCDD 6753 BCDD <CJK>
+BCDE 707C BCDE <CJK>
+BCDF 7235 BCDF <CJK>
+BCE0 914C BCE0 <CJK>
+BCE1 91C8 BCE1 <CJK>
+BCE2 932B BCE2 <CJK>
+BCE3 82E5 BCE3 <CJK>
+BCE4 5BC2 BCE4 <CJK>
+BCE5 5F31 BCE5 <CJK>
+BCE6 60F9 BCE6 <CJK>
+BCE7 4E3B BCE7 <CJK>
+BCE8 53D6 BCE8 <CJK>
+BCE9 5B88 BCE9 <CJK>
+BCEA 624B BCEA <CJK>
+BCEB 6731 BCEB <CJK>
+BCEC 6B8A BCEC <CJK>
+BCED 72E9 BCED <CJK>
+BCEE 73E0 BCEE <CJK>
+BCEF 7A2E BCEF <CJK>
+BCF0 816B BCF0 <CJK>
+BCF1 8DA3 BCF1 <CJK>
+BCF2 9152 BCF2 <CJK>
+BCF3 9996 BCF3 <CJK>
+BCF4 5112 BCF4 <CJK>
+BCF5 53D7 BCF5 <CJK>
+BCF6 546A BCF6 <CJK>
+BCF7 5BFF BCF7 <CJK>
+BCF8 6388 BCF8 <CJK>
+BCF9 6A39 BCF9 <CJK>
+BCFA 7DAC BCFA <CJK>
+BCFB 9700 BCFB <CJK>
+BCFC 56DA BCFC <CJK>
+BCFD 53CE BCFD <CJK>
+BCFE 5468 BCFE <CJK>
+BDA1 5B97 BDA1 <CJK>
+BDA2 5C31 BDA2 <CJK>
+BDA3 5DDE BDA3 <CJK>
+BDA4 4FEE BDA4 <CJK>
+BDA5 6101 BDA5 <CJK>
+BDA6 62FE BDA6 <CJK>
+BDA7 6D32 BDA7 <CJK>
+BDA8 79C0 BDA8 <CJK>
+BDA9 79CB BDA9 <CJK>
+BDAA 7D42 BDAA <CJK>
+BDAB 7E4D BDAB <CJK>
+BDAC 7FD2 BDAC <CJK>
+BDAD 81ED BDAD <CJK>
+BDAE 821F BDAE <CJK>
+BDAF 8490 BDAF <CJK>
+BDB0 8846 BDB0 <CJK>
+BDB1 8972 BDB1 <CJK>
+BDB2 8B90 BDB2 <CJK>
+BDB3 8E74 BDB3 <CJK>
+BDB4 8F2F BDB4 <CJK>
+BDB5 9031 BDB5 <CJK>
+BDB6 914B BDB6 <CJK>
+BDB7 916C BDB7 <CJK>
+BDB8 96C6 BDB8 <CJK>
+BDB9 919C BDB9 <CJK>
+BDBA 4EC0 BDBA <CJK>
+BDBB 4F4F BDBB <CJK>
+BDBC 5145 BDBC <CJK>
+BDBD 5341 BDBD <CJK>
+BDBE 5F93 BDBE <CJK>
+BDBF 620E BDBF <CJK>
+BDC0 67D4 BDC0 <CJK>
+BDC1 6C41 BDC1 <CJK>
+BDC2 6E0B BDC2 <CJK>
+BDC3 7363 BDC3 <CJK>
+BDC4 7E26 BDC4 <CJK>
+BDC5 91CD BDC5 <CJK>
+BDC6 9283 BDC6 <CJK>
+BDC7 53D4 BDC7 <CJK>
+BDC8 5919 BDC8 <CJK>
+BDC9 5BBF BDC9 <CJK>
+BDCA 6DD1 BDCA <CJK>
+BDCB 795D BDCB <CJK>
+BDCC 7E2E BDCC <CJK>
+BDCD 7C9B BDCD <CJK>
+BDCE 587E BDCE <CJK>
+BDCF 719F BDCF <CJK>
+BDD0 51FA BDD0 <CJK>
+BDD1 8853 BDD1 <CJK>
+BDD2 8FF0 BDD2 <CJK>
+BDD3 4FCA BDD3 <CJK>
+BDD4 5CFB BDD4 <CJK>
+BDD5 6625 BDD5 <CJK>
+BDD6 77AC BDD6 <CJK>
+BDD7 7AE3 BDD7 <CJK>
+BDD8 821C BDD8 <CJK>
+BDD9 99FF BDD9 <CJK>
+BDDA 51C6 BDDA <CJK>
+BDDB 5FAA BDDB <CJK>
+BDDC 65EC BDDC <CJK>
+BDDD 696F BDDD <CJK>
+BDDE 6B89 BDDE <CJK>
+BDDF 6DF3 BDDF <CJK>
+BDE0 6E96 BDE0 <CJK>
+BDE1 6F64 BDE1 <CJK>
+BDE2 76FE BDE2 <CJK>
+BDE3 7D14 BDE3 <CJK>
+BDE4 5DE1 BDE4 <CJK>
+BDE5 9075 BDE5 <CJK>
+BDE6 9187 BDE6 <CJK>
+BDE7 9806 BDE7 <CJK>
+BDE8 51E6 BDE8 <CJK>
+BDE9 521D BDE9 <CJK>
+BDEA 6240 BDEA <CJK>
+BDEB 6691 BDEB <CJK>
+BDEC 66D9 BDEC <CJK>
+BDED 6E1A BDED <CJK>
+BDEE 5EB6 BDEE <CJK>
+BDEF 7DD2 BDEF <CJK>
+BDF0 7F72 BDF0 <CJK>
+BDF1 66F8 BDF1 <CJK>
+BDF2 85AF BDF2 <CJK>
+BDF3 85F7 BDF3 <CJK>
+BDF4 8AF8 BDF4 <CJK>
+BDF5 52A9 BDF5 <CJK>
+BDF6 53D9 BDF6 <CJK>
+BDF7 5973 BDF7 <CJK>
+BDF8 5E8F BDF8 <CJK>
+BDF9 5F90 BDF9 <CJK>
+BDFA 6055 BDFA <CJK>
+BDFB 92E4 BDFB <CJK>
+BDFC 9664 BDFC <CJK>
+BDFD 50B7 BDFD <CJK>
+BDFE 511F BDFE <CJK>
+BEA1 52DD BEA1 <CJK>
+BEA2 5320 BEA2 <CJK>
+BEA3 5347 BEA3 <CJK>
+BEA4 53EC BEA4 <CJK>
+BEA5 54E8 BEA5 <CJK>
+BEA6 5546 BEA6 <CJK>
+BEA7 5531 BEA7 <CJK>
+BEA8 5617 BEA8 <CJK>
+BEA9 5968 BEA9 <CJK>
+BEAA 59BE BEAA <CJK>
+BEAB 5A3C BEAB <CJK>
+BEAC 5BB5 BEAC <CJK>
+BEAD 5C06 BEAD <CJK>
+BEAE 5C0F BEAE <CJK>
+BEAF 5C11 BEAF <CJK>
+BEB0 5C1A BEB0 <CJK>
+BEB1 5E84 BEB1 <CJK>
+BEB2 5E8A BEB2 <CJK>
+BEB3 5EE0 BEB3 <CJK>
+BEB4 5F70 BEB4 <CJK>
+BEB5 627F BEB5 <CJK>
+BEB6 6284 BEB6 <CJK>
+BEB7 62DB BEB7 <CJK>
+BEB8 638C BEB8 <CJK>
+BEB9 6377 BEB9 <CJK>
+BEBA 6607 BEBA <CJK>
+BEBB 660C BEBB <CJK>
+BEBC 662D BEBC <CJK>
+BEBD 6676 BEBD <CJK>
+BEBE 677E BEBE <CJK>
+BEBF 68A2 BEBF <CJK>
+BEC0 6A1F BEC0 <CJK>
+BEC1 6A35 BEC1 <CJK>
+BEC2 6CBC BEC2 <CJK>
+BEC3 6D88 BEC3 <CJK>
+BEC4 6E09 BEC4 <CJK>
+BEC5 6E58 BEC5 <CJK>
+BEC6 713C BEC6 <CJK>
+BEC7 7126 BEC7 <CJK>
+BEC8 7167 BEC8 <CJK>
+BEC9 75C7 BEC9 <CJK>
+BECA 7701 BECA <CJK>
+BECB 785D BECB <CJK>
+BECC 7901 BECC <CJK>
+BECD 7965 BECD <CJK>
+BECE 79F0 BECE <CJK>
+BECF 7AE0 BECF <CJK>
+BED0 7B11 BED0 <CJK>
+BED1 7CA7 BED1 <CJK>
+BED2 7D39 BED2 <CJK>
+BED3 8096 BED3 <CJK>
+BED4 83D6 BED4 <CJK>
+BED5 848B BED5 <CJK>
+BED6 8549 BED6 <CJK>
+BED7 885D BED7 <CJK>
+BED8 88F3 BED8 <CJK>
+BED9 8A1F BED9 <CJK>
+BEDA 8A3C BEDA <CJK>
+BEDB 8A54 BEDB <CJK>
+BEDC 8A73 BEDC <CJK>
+BEDD 8C61 BEDD <CJK>
+BEDE 8CDE BEDE <CJK>
+BEDF 91A4 BEDF <CJK>
+BEE0 9266 BEE0 <CJK>
+BEE1 937E BEE1 <CJK>
+BEE2 9418 BEE2 <CJK>
+BEE3 969C BEE3 <CJK>
+BEE4 9798 BEE4 <CJK>
+BEE5 4E0A BEE5 <CJK>
+BEE6 4E08 BEE6 <CJK>
+BEE7 4E1E BEE7 <CJK>
+BEE8 4E57 BEE8 <CJK>
+BEE9 5197 BEE9 <CJK>
+BEEA 5270 BEEA <CJK>
+BEEB 57CE BEEB <CJK>
+BEEC 5834 BEEC <CJK>
+BEED 58CC BEED <CJK>
+BEEE 5B22 BEEE <CJK>
+BEEF 5E38 BEEF <CJK>
+BEF0 60C5 BEF0 <CJK>
+BEF1 64FE BEF1 <CJK>
+BEF2 6761 BEF2 <CJK>
+BEF3 6756 BEF3 <CJK>
+BEF4 6D44 BEF4 <CJK>
+BEF5 72B6 BEF5 <CJK>
+BEF6 7573 BEF6 <CJK>
+BEF7 7A63 BEF7 <CJK>
+BEF8 84B8 BEF8 <CJK>
+BEF9 8B72 BEF9 <CJK>
+BEFA 91B8 BEFA <CJK>
+BEFB 9320 BEFB <CJK>
+BEFC 5631 BEFC <CJK>
+BEFD 57F4 BEFD <CJK>
+BEFE 98FE BEFE <CJK>
+BFA1 62ED BFA1 <CJK>
+BFA2 690D BFA2 <CJK>
+BFA3 6B96 BFA3 <CJK>
+BFA4 71ED BFA4 <CJK>
+BFA5 7E54 BFA5 <CJK>
+BFA6 8077 BFA6 <CJK>
+BFA7 8272 BFA7 <CJK>
+BFA8 89E6 BFA8 <CJK>
+BFA9 98DF BFA9 <CJK>
+BFAA 8755 BFAA <CJK>
+BFAB 8FB1 BFAB <CJK>
+BFAC 5C3B BFAC <CJK>
+BFAD 4F38 BFAD <CJK>
+BFAE 4FE1 BFAE <CJK>
+BFAF 4FB5 BFAF <CJK>
+BFB0 5507 BFB0 <CJK>
+BFB1 5A20 BFB1 <CJK>
+BFB2 5BDD BFB2 <CJK>
+BFB3 5BE9 BFB3 <CJK>
+BFB4 5FC3 BFB4 <CJK>
+BFB5 614E BFB5 <CJK>
+BFB6 632F BFB6 <CJK>
+BFB7 65B0 BFB7 <CJK>
+BFB8 664B BFB8 <CJK>
+BFB9 68EE BFB9 <CJK>
+BFBA 699B BFBA <CJK>
+BFBB 6D78 BFBB <CJK>
+BFBC 6DF1 BFBC <CJK>
+BFBD 7533 BFBD <CJK>
+BFBE 75B9 BFBE <CJK>
+BFBF 771F BFBF <CJK>
+BFC0 795E BFC0 <CJK>
+BFC1 79E6 BFC1 <CJK>
+BFC2 7D33 BFC2 <CJK>
+BFC3 81E3 BFC3 <CJK>
+BFC4 82AF BFC4 <CJK>
+BFC5 85AA BFC5 <CJK>
+BFC6 89AA BFC6 <CJK>
+BFC7 8A3A BFC7 <CJK>
+BFC8 8EAB BFC8 <CJK>
+BFC9 8F9B BFC9 <CJK>
+BFCA 9032 BFCA <CJK>
+BFCB 91DD BFCB <CJK>
+BFCC 9707 BFCC <CJK>
+BFCD 4EBA BFCD <CJK>
+BFCE 4EC1 BFCE <CJK>
+BFCF 5203 BFCF <CJK>
+BFD0 5875 BFD0 <CJK>
+BFD1 58EC BFD1 <CJK>
+BFD2 5C0B BFD2 <CJK>
+BFD3 751A BFD3 <CJK>
+BFD4 5C3D BFD4 <CJK>
+BFD5 814E BFD5 <CJK>
+BFD6 8A0A BFD6 <CJK>
+BFD7 8FC5 BFD7 <CJK>
+BFD8 9663 BFD8 <CJK>
+BFD9 976D BFD9 <CJK>
+BFDA 7B25 BFDA <CJK>
+BFDB 8ACF BFDB <CJK>
+BFDC 9808 BFDC <CJK>
+BFDD 9162 BFDD <CJK>
+BFDE 56F3 BFDE <CJK>
+BFDF 53A8 BFDF <CJK>
+BFE0 9017 BFE0 <CJK>
+BFE1 5439 BFE1 <CJK>
+BFE2 5782 BFE2 <CJK>
+BFE3 5E25 BFE3 <CJK>
+BFE4 63A8 BFE4 <CJK>
+BFE5 6C34 BFE5 <CJK>
+BFE6 708A BFE6 <CJK>
+BFE7 7761 BFE7 <CJK>
+BFE8 7C8B BFE8 <CJK>
+BFE9 7FE0 BFE9 <CJK>
+BFEA 8870 BFEA <CJK>
+BFEB 9042 BFEB <CJK>
+BFEC 9154 BFEC <CJK>
+BFED 9310 BFED <CJK>
+BFEE 9318 BFEE <CJK>
+BFEF 968F BFEF <CJK>
+BFF0 745E BFF0 <CJK>
+BFF1 9AC4 BFF1 <CJK>
+BFF2 5D07 BFF2 <CJK>
+BFF3 5D69 BFF3 <CJK>
+BFF4 6570 BFF4 <CJK>
+BFF5 67A2 BFF5 <CJK>
+BFF6 8DA8 BFF6 <CJK>
+BFF7 96DB BFF7 <CJK>
+BFF8 636E BFF8 <CJK>
+BFF9 6749 BFF9 <CJK>
+BFFA 6919 BFFA <CJK>
+BFFB 83C5 BFFB <CJK>
+BFFC 9817 BFFC <CJK>
+BFFD 96C0 BFFD <CJK>
+BFFE 88FE BFFE <CJK>
+C0A1 6F84 C0A1 <CJK>
+C0A2 647A C0A2 <CJK>
+C0A3 5BF8 C0A3 <CJK>
+C0A4 4E16 C0A4 <CJK>
+C0A5 702C C0A5 <CJK>
+C0A6 755D C0A6 <CJK>
+C0A7 662F C0A7 <CJK>
+C0A8 51C4 C0A8 <CJK>
+C0A9 5236 C0A9 <CJK>
+C0AA 52E2 C0AA <CJK>
+C0AB 59D3 C0AB <CJK>
+C0AC 5F81 C0AC <CJK>
+C0AD 6027 C0AD <CJK>
+C0AE 6210 C0AE <CJK>
+C0AF 653F C0AF <CJK>
+C0B0 6574 C0B0 <CJK>
+C0B1 661F C0B1 <CJK>
+C0B2 6674 C0B2 <CJK>
+C0B3 68F2 C0B3 <CJK>
+C0B4 6816 C0B4 <CJK>
+C0B5 6B63 C0B5 <CJK>
+C0B6 6E05 C0B6 <CJK>
+C0B7 7272 C0B7 <CJK>
+C0B8 751F C0B8 <CJK>
+C0B9 76DB C0B9 <CJK>
+C0BA 7CBE C0BA <CJK>
+C0BB 8056 C0BB <CJK>
+C0BC 58F0 C0BC <CJK>
+C0BD 88FD C0BD <CJK>
+C0BE 897F C0BE <CJK>
+C0BF 8AA0 C0BF <CJK>
+C0C0 8A93 C0C0 <CJK>
+C0C1 8ACB C0C1 <CJK>
+C0C2 901D C0C2 <CJK>
+C0C3 9192 C0C3 <CJK>
+C0C4 9752 C0C4 <CJK>
+C0C5 9759 C0C5 <CJK>
+C0C6 6589 C0C6 <CJK>
+C0C7 7A0E C0C7 <CJK>
+C0C8 8106 C0C8 <CJK>
+C0C9 96BB C0C9 <CJK>
+C0CA 5E2D C0CA <CJK>
+C0CB 60DC C0CB <CJK>
+C0CC 621A C0CC <CJK>
+C0CD 65A5 C0CD <CJK>
+C0CE 6614 C0CE <CJK>
+C0CF 6790 C0CF <CJK>
+C0D0 77F3 C0D0 <CJK>
+C0D1 7A4D C0D1 <CJK>
+C0D2 7C4D C0D2 <CJK>
+C0D3 7E3E C0D3 <CJK>
+C0D4 810A C0D4 <CJK>
+C0D5 8CAC C0D5 <CJK>
+C0D6 8D64 C0D6 <CJK>
+C0D7 8DE1 C0D7 <CJK>
+C0D8 8E5F C0D8 <CJK>
+C0D9 78A9 C0D9 <CJK>
+C0DA 5207 C0DA <CJK>
+C0DB 62D9 C0DB <CJK>
+C0DC 63A5 C0DC <CJK>
+C0DD 6442 C0DD <CJK>
+C0DE 6298 C0DE <CJK>
+C0DF 8A2D C0DF <CJK>
+C0E0 7A83 C0E0 <CJK>
+C0E1 7BC0 C0E1 <CJK>
+C0E2 8AAC C0E2 <CJK>
+C0E3 96EA C0E3 <CJK>
+C0E4 7D76 C0E4 <CJK>
+C0E5 820C C0E5 <CJK>
+C0E6 8749 C0E6 <CJK>
+C0E7 4ED9 C0E7 <CJK>
+C0E8 5148 C0E8 <CJK>
+C0E9 5343 C0E9 <CJK>
+C0EA 5360 C0EA <CJK>
+C0EB 5BA3 C0EB <CJK>
+C0EC 5C02 C0EC <CJK>
+C0ED 5C16 C0ED <CJK>
+C0EE 5DDD C0EE <CJK>
+C0EF 6226 C0EF <CJK>
+C0F0 6247 C0F0 <CJK>
+C0F1 64B0 C0F1 <CJK>
+C0F2 6813 C0F2 <CJK>
+C0F3 6834 C0F3 <CJK>
+C0F4 6CC9 C0F4 <CJK>
+C0F5 6D45 C0F5 <CJK>
+C0F6 6D17 C0F6 <CJK>
+C0F7 67D3 C0F7 <CJK>
+C0F8 6F5C C0F8 <CJK>
+C0F9 714E C0F9 <CJK>
+C0FA 717D C0FA <CJK>
+C0FB 65CB C0FB <CJK>
+C0FC 7A7F C0FC <CJK>
+C0FD 7BAD C0FD <CJK>
+C0FE 7DDA C0FE <CJK>
+C1A1 7E4A C1A1 <CJK>
+C1A2 7FA8 C1A2 <CJK>
+C1A3 817A C1A3 <CJK>
+C1A4 821B C1A4 <CJK>
+C1A5 8239 C1A5 <CJK>
+C1A6 85A6 C1A6 <CJK>
+C1A7 8A6E C1A7 <CJK>
+C1A8 8CCE C1A8 <CJK>
+C1A9 8DF5 C1A9 <CJK>
+C1AA 9078 C1AA <CJK>
+C1AB 9077 C1AB <CJK>
+C1AC 92AD C1AC <CJK>
+C1AD 9291 C1AD <CJK>
+C1AE 9583 C1AE <CJK>
+C1AF 9BAE C1AF <CJK>
+C1B0 524D C1B0 <CJK>
+C1B1 5584 C1B1 <CJK>
+C1B2 6F38 C1B2 <CJK>
+C1B3 7136 C1B3 <CJK>
+C1B4 5168 C1B4 <CJK>
+C1B5 7985 C1B5 <CJK>
+C1B6 7E55 C1B6 <CJK>
+C1B7 81B3 C1B7 <CJK>
+C1B8 7CCE C1B8 <CJK>
+C1B9 564C C1B9 <CJK>
+C1BA 5851 C1BA <CJK>
+C1BB 5CA8 C1BB <CJK>
+C1BC 63AA C1BC <CJK>
+C1BD 66FE C1BD <CJK>
+C1BE 66FD C1BE <CJK>
+C1BF 695A C1BF <CJK>
+C1C0 72D9 C1C0 <CJK>
+C1C1 758F C1C1 <CJK>
+C1C2 758E C1C2 <CJK>
+C1C3 790E C1C3 <CJK>
+C1C4 7956 C1C4 <CJK>
+C1C5 79DF C1C5 <CJK>
+C1C6 7C97 C1C6 <CJK>
+C1C7 7D20 C1C7 <CJK>
+C1C8 7D44 C1C8 <CJK>
+C1C9 8607 C1C9 <CJK>
+C1CA 8A34 C1CA <CJK>
+C1CB 963B C1CB <CJK>
+C1CC 9061 C1CC <CJK>
+C1CD 9F20 C1CD <CJK>
+C1CE 50E7 C1CE <CJK>
+C1CF 5275 C1CF <CJK>
+C1D0 53CC C1D0 <CJK>
+C1D1 53E2 C1D1 <CJK>
+C1D2 5009 C1D2 <CJK>
+C1D3 55AA C1D3 <CJK>
+C1D4 58EE C1D4 <CJK>
+C1D5 594F C1D5 <CJK>
+C1D6 723D C1D6 <CJK>
+C1D7 5B8B C1D7 <CJK>
+C1D8 5C64 C1D8 <CJK>
+C1D9 531D C1D9 <CJK>
+C1DA 60E3 C1DA <CJK>
+C1DB 60F3 C1DB <CJK>
+C1DC 635C C1DC <CJK>
+C1DD 6383 C1DD <CJK>
+C1DE 633F C1DE <CJK>
+C1DF 63BB C1DF <CJK>
+C1E0 64CD C1E0 <CJK>
+C1E1 65E9 C1E1 <CJK>
+C1E2 66F9 C1E2 <CJK>
+C1E3 5DE3 C1E3 <CJK>
+C1E4 69CD C1E4 <CJK>
+C1E5 69FD C1E5 <CJK>
+C1E6 6F15 C1E6 <CJK>
+C1E7 71E5 C1E7 <CJK>
+C1E8 4E89 C1E8 <CJK>
+C1E9 75E9 C1E9 <CJK>
+C1EA 76F8 C1EA <CJK>
+C1EB 7A93 C1EB <CJK>
+C1EC 7CDF C1EC <CJK>
+C1ED 7DCF C1ED <CJK>
+C1EE 7D9C C1EE <CJK>
+C1EF 8061 C1EF <CJK>
+C1F0 8349 C1F0 <CJK>
+C1F1 8358 C1F1 <CJK>
+C1F2 846C C1F2 <CJK>
+C1F3 84BC C1F3 <CJK>
+C1F4 85FB C1F4 <CJK>
+C1F5 88C5 C1F5 <CJK>
+C1F6 8D70 C1F6 <CJK>
+C1F7 9001 C1F7 <CJK>
+C1F8 906D C1F8 <CJK>
+C1F9 9397 C1F9 <CJK>
+C1FA 971C C1FA <CJK>
+C1FB 9A12 C1FB <CJK>
+C1FC 50CF C1FC <CJK>
+C1FD 5897 C1FD <CJK>
+C1FE 618E C1FE <CJK>
+C2A1 81D3 C2A1 <CJK>
+C2A2 8535 C2A2 <CJK>
+C2A3 8D08 C2A3 <CJK>
+C2A4 9020 C2A4 <CJK>
+C2A5 4FC3 C2A5 <CJK>
+C2A6 5074 C2A6 <CJK>
+C2A7 5247 C2A7 <CJK>
+C2A8 5373 C2A8 <CJK>
+C2A9 606F C2A9 <CJK>
+C2AA 6349 C2AA <CJK>
+C2AB 675F C2AB <CJK>
+C2AC 6E2C C2AC <CJK>
+C2AD 8DB3 C2AD <CJK>
+C2AE 901F C2AE <CJK>
+C2AF 4FD7 C2AF <CJK>
+C2B0 5C5E C2B0 <CJK>
+C2B1 8CCA C2B1 <CJK>
+C2B2 65CF C2B2 <CJK>
+C2B3 7D9A C2B3 <CJK>
+C2B4 5352 C2B4 <CJK>
+C2B5 8896 C2B5 <CJK>
+C2B6 5176 C2B6 <CJK>
+C2B7 63C3 C2B7 <CJK>
+C2B8 5B58 C2B8 <CJK>
+C2B9 5B6B C2B9 <CJK>
+C2BA 5C0A C2BA <CJK>
+C2BB 640D C2BB <CJK>
+C2BC 6751 C2BC <CJK>
+C2BD 905C C2BD <CJK>
+C2BE 4ED6 C2BE <CJK>
+C2BF 591A C2BF <CJK>
+C2C0 592A C2C0 <CJK>
+C2C1 6C70 C2C1 <CJK>
+C2C2 8A51 C2C2 <CJK>
+C2C3 553E C2C3 <CJK>
+C2C4 5815 C2C4 <CJK>
+C2C5 59A5 C2C5 <CJK>
+C2C6 60F0 C2C6 <CJK>
+C2C7 6253 C2C7 <CJK>
+C2C8 67C1 C2C8 <CJK>
+C2C9 8235 C2C9 <CJK>
+C2CA 6955 C2CA <CJK>
+C2CB 9640 C2CB <CJK>
+C2CC 99C4 C2CC <CJK>
+C2CD 9A28 C2CD <CJK>
+C2CE 4F53 C2CE <CJK>
+C2CF 5806 C2CF <CJK>
+C2D0 5BFE C2D0 <CJK>
+C2D1 8010 C2D1 <CJK>
+C2D2 5CB1 C2D2 <CJK>
+C2D3 5E2F C2D3 <CJK>
+C2D4 5F85 C2D4 <CJK>
+C2D5 6020 C2D5 <CJK>
+C2D6 614B C2D6 <CJK>
+C2D7 6234 C2D7 <CJK>
+C2D8 66FF C2D8 <CJK>
+C2D9 6CF0 C2D9 <CJK>
+C2DA 6EDE C2DA <CJK>
+C2DB 80CE C2DB <CJK>
+C2DC 817F C2DC <CJK>
+C2DD 82D4 C2DD <CJK>
+C2DE 888B C2DE <CJK>
+C2DF 8CB8 C2DF <CJK>
+C2E0 9000 C2E0 <CJK>
+C2E1 902E C2E1 <CJK>
+C2E2 968A C2E2 <CJK>
+C2E3 9EDB C2E3 <CJK>
+C2E4 9BDB C2E4 <CJK>
+C2E5 4EE3 C2E5 <CJK>
+C2E6 53F0 C2E6 <CJK>
+C2E7 5927 C2E7 <CJK>
+C2E8 7B2C C2E8 <CJK>
+C2E9 918D C2E9 <CJK>
+C2EA 984C C2EA <CJK>
+C2EB 9DF9 C2EB <CJK>
+C2EC 6EDD C2EC <CJK>
+C2ED 7027 C2ED <CJK>
+C2EE 5353 C2EE <CJK>
+C2EF 5544 C2EF <CJK>
+C2F0 5B85 C2F0 <CJK>
+C2F1 6258 C2F1 <CJK>
+C2F2 629E C2F2 <CJK>
+C2F3 62D3 C2F3 <CJK>
+C2F4 6CA2 C2F4 <CJK>
+C2F5 6FEF C2F5 <CJK>
+C2F6 7422 C2F6 <CJK>
+C2F7 8A17 C2F7 <CJK>
+C2F8 9438 C2F8 <CJK>
+C2F9 6FC1 C2F9 <CJK>
+C2FA 8AFE C2FA <CJK>
+C2FB 8338 C2FB <CJK>
+C2FC 51E7 C2FC <CJK>
+C2FD 86F8 C2FD <CJK>
+C2FE 53EA C2FE <CJK>
+C3A1 53E9 C3A1 <CJK>
+C3A2 4F46 C3A2 <CJK>
+C3A3 9054 C3A3 <CJK>
+C3A4 8FB0 C3A4 <CJK>
+C3A5 596A C3A5 <CJK>
+C3A6 8131 C3A6 <CJK>
+C3A7 5DFD C3A7 <CJK>
+C3A8 7AEA C3A8 <CJK>
+C3A9 8FBF C3A9 <CJK>
+C3AA 68DA C3AA <CJK>
+C3AB 8C37 C3AB <CJK>
+C3AC 72F8 C3AC <CJK>
+C3AD 9C48 C3AD <CJK>
+C3AE 6A3D C3AE <CJK>
+C3AF 8AB0 C3AF <CJK>
+C3B0 4E39 C3B0 <CJK>
+C3B1 5358 C3B1 <CJK>
+C3B2 5606 C3B2 <CJK>
+C3B3 5766 C3B3 <CJK>
+C3B4 62C5 C3B4 <CJK>
+C3B5 63A2 C3B5 <CJK>
+C3B6 65E6 C3B6 <CJK>
+C3B7 6B4E C3B7 <CJK>
+C3B8 6DE1 C3B8 <CJK>
+C3B9 6E5B C3B9 <CJK>
+C3BA 70AD C3BA <CJK>
+C3BB 77ED C3BB <CJK>
+C3BC 7AEF C3BC <CJK>
+C3BD 7BAA C3BD <CJK>
+C3BE 7DBB C3BE <CJK>
+C3BF 803D C3BF <CJK>
+C3C0 80C6 C3C0 <CJK>
+C3C1 86CB C3C1 <CJK>
+C3C2 8A95 C3C2 <CJK>
+C3C3 935B C3C3 <CJK>
+C3C4 56E3 C3C4 <CJK>
+C3C5 58C7 C3C5 <CJK>
+C3C6 5F3E C3C6 <CJK>
+C3C7 65AD C3C7 <CJK>
+C3C8 6696 C3C8 <CJK>
+C3C9 6A80 C3C9 <CJK>
+C3CA 6BB5 C3CA <CJK>
+C3CB 7537 C3CB <CJK>
+C3CC 8AC7 C3CC <CJK>
+C3CD 5024 C3CD <CJK>
+C3CE 77E5 C3CE <CJK>
+C3CF 5730 C3CF <CJK>
+C3D0 5F1B C3D0 <CJK>
+C3D1 6065 C3D1 <CJK>
+C3D2 667A C3D2 <CJK>
+C3D3 6C60 C3D3 <CJK>
+C3D4 75F4 C3D4 <CJK>
+C3D5 7A1A C3D5 <CJK>
+C3D6 7F6E C3D6 <CJK>
+C3D7 81F4 C3D7 <CJK>
+C3D8 8718 C3D8 <CJK>
+C3D9 9045 C3D9 <CJK>
+C3DA 99B3 C3DA <CJK>
+C3DB 7BC9 C3DB <CJK>
+C3DC 755C C3DC <CJK>
+C3DD 7AF9 C3DD <CJK>
+C3DE 7B51 C3DE <CJK>
+C3DF 84C4 C3DF <CJK>
+C3E0 9010 C3E0 <CJK>
+C3E1 79E9 C3E1 <CJK>
+C3E2 7A92 C3E2 <CJK>
+C3E3 8336 C3E3 <CJK>
+C3E4 5AE1 C3E4 <CJK>
+C3E5 7740 C3E5 <CJK>
+C3E6 4E2D C3E6 <CJK>
+C3E7 4EF2 C3E7 <CJK>
+C3E8 5B99 C3E8 <CJK>
+C3E9 5FE0 C3E9 <CJK>
+C3EA 62BD C3EA <CJK>
+C3EB 663C C3EB <CJK>
+C3EC 67F1 C3EC <CJK>
+C3ED 6CE8 C3ED <CJK>
+C3EE 866B C3EE <CJK>
+C3EF 8877 C3EF <CJK>
+C3F0 8A3B C3F0 <CJK>
+C3F1 914E C3F1 <CJK>
+C3F2 92F3 C3F2 <CJK>
+C3F3 99D0 C3F3 <CJK>
+C3F4 6A17 C3F4 <CJK>
+C3F5 7026 C3F5 <CJK>
+C3F6 732A C3F6 <CJK>
+C3F7 82E7 C3F7 <CJK>
+C3F8 8457 C3F8 <CJK>
+C3F9 8CAF C3F9 <CJK>
+C3FA 4E01 C3FA <CJK>
+C3FB 5146 C3FB <CJK>
+C3FC 51CB C3FC <CJK>
+C3FD 558B C3FD <CJK>
+C3FE 5BF5 C3FE <CJK>
+C4A1 5E16 C4A1 <CJK>
+C4A2 5E33 C4A2 <CJK>
+C4A3 5E81 C4A3 <CJK>
+C4A4 5F14 C4A4 <CJK>
+C4A5 5F35 C4A5 <CJK>
+C4A6 5F6B C4A6 <CJK>
+C4A7 5FB4 C4A7 <CJK>
+C4A8 61F2 C4A8 <CJK>
+C4A9 6311 C4A9 <CJK>
+C4AA 66A2 C4AA <CJK>
+C4AB 671D C4AB <CJK>
+C4AC 6F6E C4AC <CJK>
+C4AD 7252 C4AD <CJK>
+C4AE 753A C4AE <CJK>
+C4AF 773A C4AF <CJK>
+C4B0 8074 C4B0 <CJK>
+C4B1 8139 C4B1 <CJK>
+C4B2 8178 C4B2 <CJK>
+C4B3 8776 C4B3 <CJK>
+C4B4 8ABF C4B4 <CJK>
+C4B5 8ADC C4B5 <CJK>
+C4B6 8D85 C4B6 <CJK>
+C4B7 8DF3 C4B7 <CJK>
+C4B8 929A C4B8 <CJK>
+C4B9 9577 C4B9 <CJK>
+C4BA 9802 C4BA <CJK>
+C4BB 9CE5 C4BB <CJK>
+C4BC 52C5 C4BC <CJK>
+C4BD 6357 C4BD <CJK>
+C4BE 76F4 C4BE <CJK>
+C4BF 6715 C4BF <CJK>
+C4C0 6C88 C4C0 <CJK>
+C4C1 73CD C4C1 <CJK>
+C4C2 8CC3 C4C2 <CJK>
+C4C3 93AE C4C3 <CJK>
+C4C4 9673 C4C4 <CJK>
+C4C5 6D25 C4C5 <CJK>
+C4C6 589C C4C6 <CJK>
+C4C7 690E C4C7 <CJK>
+C4C8 69CC C4C8 <CJK>
+C4C9 8FFD C4C9 <CJK>
+C4CA 939A C4CA <CJK>
+C4CB 75DB C4CB <CJK>
+C4CC 901A C4CC <CJK>
+C4CD 585A C4CD <CJK>
+C4CE 6802 C4CE <CJK>
+C4CF 63B4 C4CF <CJK>
+C4D0 69FB C4D0 <CJK>
+C4D1 4F43 C4D1 <CJK>
+C4D2 6F2C C4D2 <CJK>
+C4D3 67D8 C4D3 <CJK>
+C4D4 8FBB C4D4 <CJK>
+C4D5 8526 C4D5 <CJK>
+C4D6 7DB4 C4D6 <CJK>
+C4D7 9354 C4D7 <CJK>
+C4D8 693F C4D8 <CJK>
+C4D9 6F70 C4D9 <CJK>
+C4DA 576A C4DA <CJK>
+C4DB 58F7 C4DB <CJK>
+C4DC 5B2C C4DC <CJK>
+C4DD 7D2C C4DD <CJK>
+C4DE 722A C4DE <CJK>
+C4DF 540A C4DF <CJK>
+C4E0 91E3 C4E0 <CJK>
+C4E1 9DB4 C4E1 <CJK>
+C4E2 4EAD C4E2 <CJK>
+C4E3 4F4E C4E3 <CJK>
+C4E4 505C C4E4 <CJK>
+C4E5 5075 C4E5 <CJK>
+C4E6 5243 C4E6 <CJK>
+C4E7 8C9E C4E7 <CJK>
+C4E8 5448 C4E8 <CJK>
+C4E9 5824 C4E9 <CJK>
+C4EA 5B9A C4EA <CJK>
+C4EB 5E1D C4EB <CJK>
+C4EC 5E95 C4EC <CJK>
+C4ED 5EAD C4ED <CJK>
+C4EE 5EF7 C4EE <CJK>
+C4EF 5F1F C4EF <CJK>
+C4F0 608C C4F0 <CJK>
+C4F1 62B5 C4F1 <CJK>
+C4F2 633A C4F2 <CJK>
+C4F3 63D0 C4F3 <CJK>
+C4F4 68AF C4F4 <CJK>
+C4F5 6C40 C4F5 <CJK>
+C4F6 7887 C4F6 <CJK>
+C4F7 798E C4F7 <CJK>
+C4F8 7A0B C4F8 <CJK>
+C4F9 7DE0 C4F9 <CJK>
+C4FA 8247 C4FA <CJK>
+C4FB 8A02 C4FB <CJK>
+C4FC 8AE6 C4FC <CJK>
+C4FD 8E44 C4FD <CJK>
+C4FE 9013 C4FE <CJK>
+C5A1 90B8 C5A1 <CJK>
+C5A2 912D C5A2 <CJK>
+C5A3 91D8 C5A3 <CJK>
+C5A4 9F0E C5A4 <CJK>
+C5A5 6CE5 C5A5 <CJK>
+C5A6 6458 C5A6 <CJK>
+C5A7 64E2 C5A7 <CJK>
+C5A8 6575 C5A8 <CJK>
+C5A9 6EF4 C5A9 <CJK>
+C5AA 7684 C5AA <CJK>
+C5AB 7B1B C5AB <CJK>
+C5AC 9069 C5AC <CJK>
+C5AD 93D1 C5AD <CJK>
+C5AE 6EBA C5AE <CJK>
+C5AF 54F2 C5AF <CJK>
+C5B0 5FB9 C5B0 <CJK>
+C5B1 64A4 C5B1 <CJK>
+C5B2 8F4D C5B2 <CJK>
+C5B3 8FED C5B3 <CJK>
+C5B4 9244 C5B4 <CJK>
+C5B5 5178 C5B5 <CJK>
+C5B6 586B C5B6 <CJK>
+C5B7 5929 C5B7 <CJK>
+C5B8 5C55 C5B8 <CJK>
+C5B9 5E97 C5B9 <CJK>
+C5BA 6DFB C5BA <CJK>
+C5BB 7E8F C5BB <CJK>
+C5BC 751C C5BC <CJK>
+C5BD 8CBC C5BD <CJK>
+C5BE 8EE2 C5BE <CJK>
+C5BF 985B C5BF <CJK>
+C5C0 70B9 C5C0 <CJK>
+C5C1 4F1D C5C1 <CJK>
+C5C2 6BBF C5C2 <CJK>
+C5C3 6FB1 C5C3 <CJK>
+C5C4 7530 C5C4 <CJK>
+C5C5 96FB C5C5 <CJK>
+C5C6 514E C5C6 <CJK>
+C5C7 5410 C5C7 <CJK>
+C5C8 5835 C5C8 <CJK>
+C5C9 5857 C5C9 <CJK>
+C5CA 59AC C5CA <CJK>
+C5CB 5C60 C5CB <CJK>
+C5CC 5F92 C5CC <CJK>
+C5CD 6597 C5CD <CJK>
+C5CE 675C C5CE <CJK>
+C5CF 6E21 C5CF <CJK>
+C5D0 767B C5D0 <CJK>
+C5D1 83DF C5D1 <CJK>
+C5D2 8CED C5D2 <CJK>
+C5D3 9014 C5D3 <CJK>
+C5D4 90FD C5D4 <CJK>
+C5D5 934D C5D5 <CJK>
+C5D6 7825 C5D6 <CJK>
+C5D7 783A C5D7 <CJK>
+C5D8 52AA C5D8 <CJK>
+C5D9 5EA6 C5D9 <CJK>
+C5DA 571F C5DA <CJK>
+C5DB 5974 C5DB <CJK>
+C5DC 6012 C5DC <CJK>
+C5DD 5012 C5DD <CJK>
+C5DE 515A C5DE <CJK>
+C5DF 51AC C5DF <CJK>
+C5E0 51CD C5E0 <CJK>
+C5E1 5200 C5E1 <CJK>
+C5E2 5510 C5E2 <CJK>
+C5E3 5854 C5E3 <CJK>
+C5E4 5858 C5E4 <CJK>
+C5E5 5957 C5E5 <CJK>
+C5E6 5B95 C5E6 <CJK>
+C5E7 5CF6 C5E7 <CJK>
+C5E8 5D8B C5E8 <CJK>
+C5E9 60BC C5E9 <CJK>
+C5EA 6295 C5EA <CJK>
+C5EB 642D C5EB <CJK>
+C5EC 6771 C5EC <CJK>
+C5ED 6843 C5ED <CJK>
+C5EE 68BC C5EE <CJK>
+C5EF 68DF C5EF <CJK>
+C5F0 76D7 C5F0 <CJK>
+C5F1 6DD8 C5F1 <CJK>
+C5F2 6E6F C5F2 <CJK>
+C5F3 6D9B C5F3 <CJK>
+C5F4 706F C5F4 <CJK>
+C5F5 71C8 C5F5 <CJK>
+C5F6 5F53 C5F6 <CJK>
+C5F7 75D8 C5F7 <CJK>
+C5F8 7977 C5F8 <CJK>
+C5F9 7B49 C5F9 <CJK>
+C5FA 7B54 C5FA <CJK>
+C5FB 7B52 C5FB <CJK>
+C5FC 7CD6 C5FC <CJK>
+C5FD 7D71 C5FD <CJK>
+C5FE 5230 C5FE <CJK>
+C6A1 8463 C6A1 <CJK>
+C6A2 8569 C6A2 <CJK>
+C6A3 85E4 C6A3 <CJK>
+C6A4 8A0E C6A4 <CJK>
+C6A5 8B04 C6A5 <CJK>
+C6A6 8C46 C6A6 <CJK>
+C6A7 8E0F C6A7 <CJK>
+C6A8 9003 C6A8 <CJK>
+C6A9 900F C6A9 <CJK>
+C6AA 9419 C6AA <CJK>
+C6AB 9676 C6AB <CJK>
+C6AC 982D C6AC <CJK>
+C6AD 9A30 C6AD <CJK>
+C6AE 95D8 C6AE <CJK>
+C6AF 50CD C6AF <CJK>
+C6B0 52D5 C6B0 <CJK>
+C6B1 540C C6B1 <CJK>
+C6B2 5802 C6B2 <CJK>
+C6B3 5C0E C6B3 <CJK>
+C6B4 61A7 C6B4 <CJK>
+C6B5 649E C6B5 <CJK>
+C6B6 6D1E C6B6 <CJK>
+C6B7 77B3 C6B7 <CJK>
+C6B8 7AE5 C6B8 <CJK>
+C6B9 80F4 C6B9 <CJK>
+C6BA 8404 C6BA <CJK>
+C6BB 9053 C6BB <CJK>
+C6BC 9285 C6BC <CJK>
+C6BD 5CE0 C6BD <CJK>
+C6BE 9D07 C6BE <CJK>
+C6BF 533F C6BF <CJK>
+C6C0 5F97 C6C0 <CJK>
+C6C1 5FB3 C6C1 <CJK>
+C6C2 6D9C C6C2 <CJK>
+C6C3 7279 C6C3 <CJK>
+C6C4 7763 C6C4 <CJK>
+C6C5 79BF C6C5 <CJK>
+C6C6 7BE4 C6C6 <CJK>
+C6C7 6BD2 C6C7 <CJK>
+C6C8 72EC C6C8 <CJK>
+C6C9 8AAD C6C9 <CJK>
+C6CA 6803 C6CA <CJK>
+C6CB 6A61 C6CB <CJK>
+C6CC 51F8 C6CC <CJK>
+C6CD 7A81 C6CD <CJK>
+C6CE 6934 C6CE <CJK>
+C6CF 5C4A C6CF <CJK>
+C6D0 9CF6 C6D0 <CJK>
+C6D1 82EB C6D1 <CJK>
+C6D2 5BC5 C6D2 <CJK>
+C6D3 9149 C6D3 <CJK>
+C6D4 701E C6D4 <CJK>
+C6D5 5678 C6D5 <CJK>
+C6D6 5C6F C6D6 <CJK>
+C6D7 60C7 C6D7 <CJK>
+C6D8 6566 C6D8 <CJK>
+C6D9 6C8C C6D9 <CJK>
+C6DA 8C5A C6DA <CJK>
+C6DB 9041 C6DB <CJK>
+C6DC 9813 C6DC <CJK>
+C6DD 5451 C6DD <CJK>
+C6DE 66C7 C6DE <CJK>
+C6DF 920D C6DF <CJK>
+C6E0 5948 C6E0 <CJK>
+C6E1 90A3 C6E1 <CJK>
+C6E2 5185 C6E2 <CJK>
+C6E3 4E4D C6E3 <CJK>
+C6E4 51EA C6E4 <CJK>
+C6E5 8599 C6E5 <CJK>
+C6E6 8B0E C6E6 <CJK>
+C6E7 7058 C6E7 <CJK>
+C6E8 637A C6E8 <CJK>
+C6E9 934B C6E9 <CJK>
+C6EA 6962 C6EA <CJK>
+C6EB 99B4 C6EB <CJK>
+C6EC 7E04 C6EC <CJK>
+C6ED 7577 C6ED <CJK>
+C6EE 5357 C6EE <CJK>
+C6EF 6960 C6EF <CJK>
+C6F0 8EDF C6F0 <CJK>
+C6F1 96E3 C6F1 <CJK>
+C6F2 6C5D C6F2 <CJK>
+C6F3 4E8C C6F3 <CJK>
+C6F4 5C3C C6F4 <CJK>
+C6F5 5F10 C6F5 <CJK>
+C6F6 8FE9 C6F6 <CJK>
+C6F7 5302 C6F7 <CJK>
+C6F8 8CD1 C6F8 <CJK>
+C6F9 8089 C6F9 <CJK>
+C6FA 8679 C6FA <CJK>
+C6FB 5EFF C6FB <CJK>
+C6FC 65E5 C6FC <CJK>
+C6FD 4E73 C6FD <CJK>
+C6FE 5165 C6FE <CJK>
+C7A1 5982 C7A1 <CJK>
+C7A2 5C3F C7A2 <CJK>
+C7A3 97EE C7A3 <CJK>
+C7A4 4EFB C7A4 <CJK>
+C7A5 598A C7A5 <CJK>
+C7A6 5FCD C7A6 <CJK>
+C7A7 8A8D C7A7 <CJK>
+C7A8 6FE1 C7A8 <CJK>
+C7A9 79B0 C7A9 <CJK>
+C7AA 7962 C7AA <CJK>
+C7AB 5BE7 C7AB <CJK>
+C7AC 8471 C7AC <CJK>
+C7AD 732B C7AD <CJK>
+C7AE 71B1 C7AE <CJK>
+C7AF 5E74 C7AF <CJK>
+C7B0 5FF5 C7B0 <CJK>
+C7B1 637B C7B1 <CJK>
+C7B2 649A C7B2 <CJK>
+C7B3 71C3 C7B3 <CJK>
+C7B4 7C98 C7B4 <CJK>
+C7B5 4E43 C7B5 <CJK>
+C7B6 5EFC C7B6 <CJK>
+C7B7 4E4B C7B7 <CJK>
+C7B8 57DC C7B8 <CJK>
+C7B9 56A2 C7B9 <CJK>
+C7BA 60A9 C7BA <CJK>
+C7BB 6FC3 C7BB <CJK>
+C7BC 7D0D C7BC <CJK>
+C7BD 80FD C7BD <CJK>
+C7BE 8133 C7BE <CJK>
+C7BF 81BF C7BF <CJK>
+C7C0 8FB2 C7C0 <CJK>
+C7C1 8997 C7C1 <CJK>
+C7C2 86A4 C7C2 <CJK>
+C7C3 5DF4 C7C3 <CJK>
+C7C4 628A C7C4 <CJK>
+C7C5 64AD C7C5 <CJK>
+C7C6 8987 C7C6 <CJK>
+C7C7 6777 C7C7 <CJK>
+C7C8 6CE2 C7C8 <CJK>
+C7C9 6D3E C7C9 <CJK>
+C7CA 7436 C7CA <CJK>
+C7CB 7834 C7CB <CJK>
+C7CC 5A46 C7CC <CJK>
+C7CD 7F75 C7CD <CJK>
+C7CE 82AD C7CE <CJK>
+C7CF 99AC C7CF <CJK>
+C7D0 4FF3 C7D0 <CJK>
+C7D1 5EC3 C7D1 <CJK>
+C7D2 62DD C7D2 <CJK>
+C7D3 6392 C7D3 <CJK>
+C7D4 6557 C7D4 <CJK>
+C7D5 676F C7D5 <CJK>
+C7D6 76C3 C7D6 <CJK>
+C7D7 724C C7D7 <CJK>
+C7D8 80CC C7D8 <CJK>
+C7D9 80BA C7D9 <CJK>
+C7DA 8F29 C7DA <CJK>
+C7DB 914D C7DB <CJK>
+C7DC 500D C7DC <CJK>
+C7DD 57F9 C7DD <CJK>
+C7DE 5A92 C7DE <CJK>
+C7DF 6885 C7DF <CJK>
+C7E0 6973 C7E0 <CJK>
+C7E1 7164 C7E1 <CJK>
+C7E2 72FD C7E2 <CJK>
+C7E3 8CB7 C7E3 <CJK>
+C7E4 58F2 C7E4 <CJK>
+C7E5 8CE0 C7E5 <CJK>
+C7E6 966A C7E6 <CJK>
+C7E7 9019 C7E7 <CJK>
+C7E8 877F C7E8 <CJK>
+C7E9 79E4 C7E9 <CJK>
+C7EA 77E7 C7EA <CJK>
+C7EB 8429 C7EB <CJK>
+C7EC 4F2F C7EC <CJK>
+C7ED 5265 C7ED <CJK>
+C7EE 535A C7EE <CJK>
+C7EF 62CD C7EF <CJK>
+C7F0 67CF C7F0 <CJK>
+C7F1 6CCA C7F1 <CJK>
+C7F2 767D C7F2 <CJK>
+C7F3 7B94 C7F3 <CJK>
+C7F4 7C95 C7F4 <CJK>
+C7F5 8236 C7F5 <CJK>
+C7F6 8584 C7F6 <CJK>
+C7F7 8FEB C7F7 <CJK>
+C7F8 66DD C7F8 <CJK>
+C7F9 6F20 C7F9 <CJK>
+C7FA 7206 C7FA <CJK>
+C7FB 7E1B C7FB <CJK>
+C7FC 83AB C7FC <CJK>
+C7FD 99C1 C7FD <CJK>
+C7FE 9EA6 C7FE <CJK>
+C8A1 51FD C8A1 <CJK>
+C8A2 7BB1 C8A2 <CJK>
+C8A3 7872 C8A3 <CJK>
+C8A4 7BB8 C8A4 <CJK>
+C8A5 8087 C8A5 <CJK>
+C8A6 7B48 C8A6 <CJK>
+C8A7 6AE8 C8A7 <CJK>
+C8A8 5E61 C8A8 <CJK>
+C8A9 808C C8A9 <CJK>
+C8AA 7551 C8AA <CJK>
+C8AB 7560 C8AB <CJK>
+C8AC 516B C8AC <CJK>
+C8AD 9262 C8AD <CJK>
+C8AE 6E8C C8AE <CJK>
+C8AF 767A C8AF <CJK>
+C8B0 9197 C8B0 <CJK>
+C8B1 9AEA C8B1 <CJK>
+C8B2 4F10 C8B2 <CJK>
+C8B3 7F70 C8B3 <CJK>
+C8B4 629C C8B4 <CJK>
+C8B5 7B4F C8B5 <CJK>
+C8B6 95A5 C8B6 <CJK>
+C8B7 9CE9 C8B7 <CJK>
+C8B8 567A C8B8 <CJK>
+C8B9 5859 C8B9 <CJK>
+C8BA 86E4 C8BA <CJK>
+C8BB 96BC C8BB <CJK>
+C8BC 4F34 C8BC <CJK>
+C8BD 5224 C8BD <CJK>
+C8BE 534A C8BE <CJK>
+C8BF 53CD C8BF <CJK>
+C8C0 53DB C8C0 <CJK>
+C8C1 5E06 C8C1 <CJK>
+C8C2 642C C8C2 <CJK>
+C8C3 6591 C8C3 <CJK>
+C8C4 677F C8C4 <CJK>
+C8C5 6C3E C8C5 <CJK>
+C8C6 6C4E C8C6 <CJK>
+C8C7 7248 C8C7 <CJK>
+C8C8 72AF C8C8 <CJK>
+C8C9 73ED C8C9 <CJK>
+C8CA 7554 C8CA <CJK>
+C8CB 7E41 C8CB <CJK>
+C8CC 822C C8CC <CJK>
+C8CD 85E9 C8CD <CJK>
+C8CE 8CA9 C8CE <CJK>
+C8CF 7BC4 C8CF <CJK>
+C8D0 91C6 C8D0 <CJK>
+C8D1 7169 C8D1 <CJK>
+C8D2 9812 C8D2 <CJK>
+C8D3 98EF C8D3 <CJK>
+C8D4 633D C8D4 <CJK>
+C8D5 6669 C8D5 <CJK>
+C8D6 756A C8D6 <CJK>
+C8D7 76E4 C8D7 <CJK>
+C8D8 78D0 C8D8 <CJK>
+C8D9 8543 C8D9 <CJK>
+C8DA 86EE C8DA <CJK>
+C8DB 532A C8DB <CJK>
+C8DC 5351 C8DC <CJK>
+C8DD 5426 C8DD <CJK>
+C8DE 5983 C8DE <CJK>
+C8DF 5E87 C8DF <CJK>
+C8E0 5F7C C8E0 <CJK>
+C8E1 60B2 C8E1 <CJK>
+C8E2 6249 C8E2 <CJK>
+C8E3 6279 C8E3 <CJK>
+C8E4 62AB C8E4 <CJK>
+C8E5 6590 C8E5 <CJK>
+C8E6 6BD4 C8E6 <CJK>
+C8E7 6CCC C8E7 <CJK>
+C8E8 75B2 C8E8 <CJK>
+C8E9 76AE C8E9 <CJK>
+C8EA 7891 C8EA <CJK>
+C8EB 79D8 C8EB <CJK>
+C8EC 7DCB C8EC <CJK>
+C8ED 7F77 C8ED <CJK>
+C8EE 80A5 C8EE <CJK>
+C8EF 88AB C8EF <CJK>
+C8F0 8AB9 C8F0 <CJK>
+C8F1 8CBB C8F1 <CJK>
+C8F2 907F C8F2 <CJK>
+C8F3 975E C8F3 <CJK>
+C8F4 98DB C8F4 <CJK>
+C8F5 6A0B C8F5 <CJK>
+C8F6 7C38 C8F6 <CJK>
+C8F7 5099 C8F7 <CJK>
+C8F8 5C3E C8F8 <CJK>
+C8F9 5FAE C8F9 <CJK>
+C8FA 6787 C8FA <CJK>
+C8FB 6BD8 C8FB <CJK>
+C8FC 7435 C8FC <CJK>
+C8FD 7709 C8FD <CJK>
+C8FE 7F8E C8FE <CJK>
+C9A1 9F3B C9A1 <CJK>
+C9A2 67CA C9A2 <CJK>
+C9A3 7A17 C9A3 <CJK>
+C9A4 5339 C9A4 <CJK>
+C9A5 758B C9A5 <CJK>
+C9A6 9AED C9A6 <CJK>
+C9A7 5F66 C9A7 <CJK>
+C9A8 819D C9A8 <CJK>
+C9A9 83F1 C9A9 <CJK>
+C9AA 8098 C9AA <CJK>
+C9AB 5F3C C9AB <CJK>
+C9AC 5FC5 C9AC <CJK>
+C9AD 7562 C9AD <CJK>
+C9AE 7B46 C9AE <CJK>
+C9AF 903C C9AF <CJK>
+C9B0 6867 C9B0 <CJK>
+C9B1 59EB C9B1 <CJK>
+C9B2 5A9B C9B2 <CJK>
+C9B3 7D10 C9B3 <CJK>
+C9B4 767E C9B4 <CJK>
+C9B5 8B2C C9B5 <CJK>
+C9B6 4FF5 C9B6 <CJK>
+C9B7 5F6A C9B7 <CJK>
+C9B8 6A19 C9B8 <CJK>
+C9B9 6C37 C9B9 <CJK>
+C9BA 6F02 C9BA <CJK>
+C9BB 74E2 C9BB <CJK>
+C9BC 7968 C9BC <CJK>
+C9BD 8868 C9BD <CJK>
+C9BE 8A55 C9BE <CJK>
+C9BF 8C79 C9BF <CJK>
+C9C0 5EDF C9C0 <CJK>
+C9C1 63CF C9C1 <CJK>
+C9C2 75C5 C9C2 <CJK>
+C9C3 79D2 C9C3 <CJK>
+C9C4 82D7 C9C4 <CJK>
+C9C5 9328 C9C5 <CJK>
+C9C6 92F2 C9C6 <CJK>
+C9C7 849C C9C7 <CJK>
+C9C8 86ED C9C8 <CJK>
+C9C9 9C2D C9C9 <CJK>
+C9CA 54C1 C9CA <CJK>
+C9CB 5F6C C9CB <CJK>
+C9CC 658C C9CC <CJK>
+C9CD 6D5C C9CD <CJK>
+C9CE 7015 C9CE <CJK>
+C9CF 8CA7 C9CF <CJK>
+C9D0 8CD3 C9D0 <CJK>
+C9D1 983B C9D1 <CJK>
+C9D2 654F C9D2 <CJK>
+C9D3 74F6 C9D3 <CJK>
+C9D4 4E0D C9D4 <CJK>
+C9D5 4ED8 C9D5 <CJK>
+C9D6 57E0 C9D6 <CJK>
+C9D7 592B C9D7 <CJK>
+C9D8 5A66 C9D8 <CJK>
+C9D9 5BCC C9D9 <CJK>
+C9DA 51A8 C9DA <CJK>
+C9DB 5E03 C9DB <CJK>
+C9DC 5E9C C9DC <CJK>
+C9DD 6016 C9DD <CJK>
+C9DE 6276 C9DE <CJK>
+C9DF 6577 C9DF <CJK>
+C9E0 65A7 C9E0 <CJK>
+C9E1 666E C9E1 <CJK>
+C9E2 6D6E C9E2 <CJK>
+C9E3 7236 C9E3 <CJK>
+C9E4 7B26 C9E4 <CJK>
+C9E5 8150 C9E5 <CJK>
+C9E6 819A C9E6 <CJK>
+C9E7 8299 C9E7 <CJK>
+C9E8 8B5C C9E8 <CJK>
+C9E9 8CA0 C9E9 <CJK>
+C9EA 8CE6 C9EA <CJK>
+C9EB 8D74 C9EB <CJK>
+C9EC 961C C9EC <CJK>
+C9ED 9644 C9ED <CJK>
+C9EE 4FAE C9EE <CJK>
+C9EF 64AB C9EF <CJK>
+C9F0 6B66 C9F0 <CJK>
+C9F1 821E C9F1 <CJK>
+C9F2 8461 C9F2 <CJK>
+C9F3 856A C9F3 <CJK>
+C9F4 90E8 C9F4 <CJK>
+C9F5 5C01 C9F5 <CJK>
+C9F6 6953 C9F6 <CJK>
+C9F7 98A8 C9F7 <CJK>
+C9F8 847A C9F8 <CJK>
+C9F9 8557 C9F9 <CJK>
+C9FA 4F0F C9FA <CJK>
+C9FB 526F C9FB <CJK>
+C9FC 5FA9 C9FC <CJK>
+C9FD 5E45 C9FD <CJK>
+C9FE 670D C9FE <CJK>
+CAA1 798F CAA1 <CJK>
+CAA2 8179 CAA2 <CJK>
+CAA3 8907 CAA3 <CJK>
+CAA4 8986 CAA4 <CJK>
+CAA5 6DF5 CAA5 <CJK>
+CAA6 5F17 CAA6 <CJK>
+CAA7 6255 CAA7 <CJK>
+CAA8 6CB8 CAA8 <CJK>
+CAA9 4ECF CAA9 <CJK>
+CAAA 7269 CAAA <CJK>
+CAAB 9B92 CAAB <CJK>
+CAAC 5206 CAAC <CJK>
+CAAD 543B CAAD <CJK>
+CAAE 5674 CAAE <CJK>
+CAAF 58B3 CAAF <CJK>
+CAB0 61A4 CAB0 <CJK>
+CAB1 626E CAB1 <CJK>
+CAB2 711A CAB2 <CJK>
+CAB3 596E CAB3 <CJK>
+CAB4 7C89 CAB4 <CJK>
+CAB5 7CDE CAB5 <CJK>
+CAB6 7D1B CAB6 <CJK>
+CAB7 96F0 CAB7 <CJK>
+CAB8 6587 CAB8 <CJK>
+CAB9 805E CAB9 <CJK>
+CABA 4E19 CABA <CJK>
+CABB 4F75 CABB <CJK>
+CABC 5175 CABC <CJK>
+CABD 5840 CABD <CJK>
+CABE 5E63 CABE <CJK>
+CABF 5E73 CABF <CJK>
+CAC0 5F0A CAC0 <CJK>
+CAC1 67C4 CAC1 <CJK>
+CAC2 4E26 CAC2 <CJK>
+CAC3 853D CAC3 <CJK>
+CAC4 9589 CAC4 <CJK>
+CAC5 965B CAC5 <CJK>
+CAC6 7C73 CAC6 <CJK>
+CAC7 9801 CAC7 <CJK>
+CAC8 50FB CAC8 <CJK>
+CAC9 58C1 CAC9 <CJK>
+CACA 7656 CACA <CJK>
+CACB 78A7 CACB <CJK>
+CACC 5225 CACC <CJK>
+CACD 77A5 CACD <CJK>
+CACE 8511 CACE <CJK>
+CACF 7B86 CACF <CJK>
+CAD0 504F CAD0 <CJK>
+CAD1 5909 CAD1 <CJK>
+CAD2 7247 CAD2 <CJK>
+CAD3 7BC7 CAD3 <CJK>
+CAD4 7DE8 CAD4 <CJK>
+CAD5 8FBA CAD5 <CJK>
+CAD6 8FD4 CAD6 <CJK>
+CAD7 904D CAD7 <CJK>
+CAD8 4FBF CAD8 <CJK>
+CAD9 52C9 CAD9 <CJK>
+CADA 5A29 CADA <CJK>
+CADB 5F01 CADB <CJK>
+CADC 97AD CADC <CJK>
+CADD 4FDD CADD <CJK>
+CADE 8217 CADE <CJK>
+CADF 92EA CADF <CJK>
+CAE0 5703 CAE0 <CJK>
+CAE1 6355 CAE1 <CJK>
+CAE2 6B69 CAE2 <CJK>
+CAE3 752B CAE3 <CJK>
+CAE4 88DC CAE4 <CJK>
+CAE5 8F14 CAE5 <CJK>
+CAE6 7A42 CAE6 <CJK>
+CAE7 52DF CAE7 <CJK>
+CAE8 5893 CAE8 <CJK>
+CAE9 6155 CAE9 <CJK>
+CAEA 620A CAEA <CJK>
+CAEB 66AE CAEB <CJK>
+CAEC 6BCD CAEC <CJK>
+CAED 7C3F CAED <CJK>
+CAEE 83E9 CAEE <CJK>
+CAEF 5023 CAEF <CJK>
+CAF0 4FF8 CAF0 <CJK>
+CAF1 5305 CAF1 <CJK>
+CAF2 5446 CAF2 <CJK>
+CAF3 5831 CAF3 <CJK>
+CAF4 5949 CAF4 <CJK>
+CAF5 5B9D CAF5 <CJK>
+CAF6 5CF0 CAF6 <CJK>
+CAF7 5CEF CAF7 <CJK>
+CAF8 5D29 CAF8 <CJK>
+CAF9 5E96 CAF9 <CJK>
+CAFA 62B1 CAFA <CJK>
+CAFB 6367 CAFB <CJK>
+CAFC 653E CAFC <CJK>
+CAFD 65B9 CAFD <CJK>
+CAFE 670B CAFE <CJK>
+CBA1 6CD5 CBA1 <CJK>
+CBA2 6CE1 CBA2 <CJK>
+CBA3 70F9 CBA3 <CJK>
+CBA4 7832 CBA4 <CJK>
+CBA5 7E2B CBA5 <CJK>
+CBA6 80DE CBA6 <CJK>
+CBA7 82B3 CBA7 <CJK>
+CBA8 840C CBA8 <CJK>
+CBA9 84EC CBA9 <CJK>
+CBAA 8702 CBAA <CJK>
+CBAB 8912 CBAB <CJK>
+CBAC 8A2A CBAC <CJK>
+CBAD 8C4A CBAD <CJK>
+CBAE 90A6 CBAE <CJK>
+CBAF 92D2 CBAF <CJK>
+CBB0 98FD CBB0 <CJK>
+CBB1 9CF3 CBB1 <CJK>
+CBB2 9D6C CBB2 <CJK>
+CBB3 4E4F CBB3 <CJK>
+CBB4 4EA1 CBB4 <CJK>
+CBB5 508D CBB5 <CJK>
+CBB6 5256 CBB6 <CJK>
+CBB7 574A CBB7 <CJK>
+CBB8 59A8 CBB8 <CJK>
+CBB9 5E3D CBB9 <CJK>
+CBBA 5FD8 CBBA <CJK>
+CBBB 5FD9 CBBB <CJK>
+CBBC 623F CBBC <CJK>
+CBBD 66B4 CBBD <CJK>
+CBBE 671B CBBE <CJK>
+CBBF 67D0 CBBF <CJK>
+CBC0 68D2 CBC0 <CJK>
+CBC1 5192 CBC1 <CJK>
+CBC2 7D21 CBC2 <CJK>
+CBC3 80AA CBC3 <CJK>
+CBC4 81A8 CBC4 <CJK>
+CBC5 8B00 CBC5 <CJK>
+CBC6 8C8C CBC6 <CJK>
+CBC7 8CBF CBC7 <CJK>
+CBC8 927E CBC8 <CJK>
+CBC9 9632 CBC9 <CJK>
+CBCA 5420 CBCA <CJK>
+CBCB 982C CBCB <CJK>
+CBCC 5317 CBCC <CJK>
+CBCD 50D5 CBCD <CJK>
+CBCE 535C CBCE <CJK>
+CBCF 58A8 CBCF <CJK>
+CBD0 64B2 CBD0 <CJK>
+CBD1 6734 CBD1 <CJK>
+CBD2 7267 CBD2 <CJK>
+CBD3 7766 CBD3 <CJK>
+CBD4 7A46 CBD4 <CJK>
+CBD5 91E6 CBD5 <CJK>
+CBD6 52C3 CBD6 <CJK>
+CBD7 6CA1 CBD7 <CJK>
+CBD8 6B86 CBD8 <CJK>
+CBD9 5800 CBD9 <CJK>
+CBDA 5E4C CBDA <CJK>
+CBDB 5954 CBDB <CJK>
+CBDC 672C CBDC <CJK>
+CBDD 7FFB CBDD <CJK>
+CBDE 51E1 CBDE <CJK>
+CBDF 76C6 CBDF <CJK>
+CBE0 6469 CBE0 <CJK>
+CBE1 78E8 CBE1 <CJK>
+CBE2 9B54 CBE2 <CJK>
+CBE3 9EBB CBE3 <CJK>
+CBE4 57CB CBE4 <CJK>
+CBE5 59B9 CBE5 <CJK>
+CBE6 6627 CBE6 <CJK>
+CBE7 679A CBE7 <CJK>
+CBE8 6BCE CBE8 <CJK>
+CBE9 54E9 CBE9 <CJK>
+CBEA 69D9 CBEA <CJK>
+CBEB 5E55 CBEB <CJK>
+CBEC 819C CBEC <CJK>
+CBED 6795 CBED <CJK>
+CBEE 9BAA CBEE <CJK>
+CBEF 67FE CBEF <CJK>
+CBF0 9C52 CBF0 <CJK>
+CBF1 685D CBF1 <CJK>
+CBF2 4EA6 CBF2 <CJK>
+CBF3 4FE3 CBF3 <CJK>
+CBF4 53C8 CBF4 <CJK>
+CBF5 62B9 CBF5 <CJK>
+CBF6 672B CBF6 <CJK>
+CBF7 6CAB CBF7 <CJK>
+CBF8 8FC4 CBF8 <CJK>
+CBF9 4FAD CBF9 <CJK>
+CBFA 7E6D CBFA <CJK>
+CBFB 9EBF CBFB <CJK>
+CBFC 4E07 CBFC <CJK>
+CBFD 6162 CBFD <CJK>
+CBFE 6E80 CBFE <CJK>
+CCA1 6F2B CCA1 <CJK>
+CCA2 8513 CCA2 <CJK>
+CCA3 5473 CCA3 <CJK>
+CCA4 672A CCA4 <CJK>
+CCA5 9B45 CCA5 <CJK>
+CCA6 5DF3 CCA6 <CJK>
+CCA7 7B95 CCA7 <CJK>
+CCA8 5CAC CCA8 <CJK>
+CCA9 5BC6 CCA9 <CJK>
+CCAA 871C CCAA <CJK>
+CCAB 6E4A CCAB <CJK>
+CCAC 84D1 CCAC <CJK>
+CCAD 7A14 CCAD <CJK>
+CCAE 8108 CCAE <CJK>
+CCAF 5999 CCAF <CJK>
+CCB0 7C8D CCB0 <CJK>
+CCB1 6C11 CCB1 <CJK>
+CCB2 7720 CCB2 <CJK>
+CCB3 52D9 CCB3 <CJK>
+CCB4 5922 CCB4 <CJK>
+CCB5 7121 CCB5 <CJK>
+CCB6 725F CCB6 <CJK>
+CCB7 77DB CCB7 <CJK>
+CCB8 9727 CCB8 <CJK>
+CCB9 9D61 CCB9 <CJK>
+CCBA 690B CCBA <CJK>
+CCBB 5A7F CCBB <CJK>
+CCBC 5A18 CCBC <CJK>
+CCBD 51A5 CCBD <CJK>
+CCBE 540D CCBE <CJK>
+CCBF 547D CCBF <CJK>
+CCC0 660E CCC0 <CJK>
+CCC1 76DF CCC1 <CJK>
+CCC2 8FF7 CCC2 <CJK>
+CCC3 9298 CCC3 <CJK>
+CCC4 9CF4 CCC4 <CJK>
+CCC5 59EA CCC5 <CJK>
+CCC6 725D CCC6 <CJK>
+CCC7 6EC5 CCC7 <CJK>
+CCC8 514D CCC8 <CJK>
+CCC9 68C9 CCC9 <CJK>
+CCCA 7DBF CCCA <CJK>
+CCCB 7DEC CCCB <CJK>
+CCCC 9762 CCCC <CJK>
+CCCD 9EBA CCCD <CJK>
+CCCE 6478 CCCE <CJK>
+CCCF 6A21 CCCF <CJK>
+CCD0 8302 CCD0 <CJK>
+CCD1 5984 CCD1 <CJK>
+CCD2 5B5F CCD2 <CJK>
+CCD3 6BDB CCD3 <CJK>
+CCD4 731B CCD4 <CJK>
+CCD5 76F2 CCD5 <CJK>
+CCD6 7DB2 CCD6 <CJK>
+CCD7 8017 CCD7 <CJK>
+CCD8 8499 CCD8 <CJK>
+CCD9 5132 CCD9 <CJK>
+CCDA 6728 CCDA <CJK>
+CCDB 9ED9 CCDB <CJK>
+CCDC 76EE CCDC <CJK>
+CCDD 6762 CCDD <CJK>
+CCDE 52FF CCDE <CJK>
+CCDF 9905 CCDF <CJK>
+CCE0 5C24 CCE0 <CJK>
+CCE1 623B CCE1 <CJK>
+CCE2 7C7E CCE2 <CJK>
+CCE3 8CB0 CCE3 <CJK>
+CCE4 554F CCE4 <CJK>
+CCE5 60B6 CCE5 <CJK>
+CCE6 7D0B CCE6 <CJK>
+CCE7 9580 CCE7 <CJK>
+CCE8 5301 CCE8 <CJK>
+CCE9 4E5F CCE9 <CJK>
+CCEA 51B6 CCEA <CJK>
+CCEB 591C CCEB <CJK>
+CCEC 723A CCEC <CJK>
+CCED 8036 CCED <CJK>
+CCEE 91CE CCEE <CJK>
+CCEF 5F25 CCEF <CJK>
+CCF0 77E2 CCF0 <CJK>
+CCF1 5384 CCF1 <CJK>
+CCF2 5F79 CCF2 <CJK>
+CCF3 7D04 CCF3 <CJK>
+CCF4 85AC CCF4 <CJK>
+CCF5 8A33 CCF5 <CJK>
+CCF6 8E8D CCF6 <CJK>
+CCF7 9756 CCF7 <CJK>
+CCF8 67F3 CCF8 <CJK>
+CCF9 85AE CCF9 <CJK>
+CCFA 9453 CCFA <CJK>
+CCFB 6109 CCFB <CJK>
+CCFC 6108 CCFC <CJK>
+CCFD 6CB9 CCFD <CJK>
+CCFE 7652 CCFE <CJK>
+CDA1 8AED CDA1 <CJK>
+CDA2 8F38 CDA2 <CJK>
+CDA3 552F CDA3 <CJK>
+CDA4 4F51 CDA4 <CJK>
+CDA5 512A CDA5 <CJK>
+CDA6 52C7 CDA6 <CJK>
+CDA7 53CB CDA7 <CJK>
+CDA8 5BA5 CDA8 <CJK>
+CDA9 5E7D CDA9 <CJK>
+CDAA 60A0 CDAA <CJK>
+CDAB 6182 CDAB <CJK>
+CDAC 63D6 CDAC <CJK>
+CDAD 6709 CDAD <CJK>
+CDAE 67DA CDAE <CJK>
+CDAF 6E67 CDAF <CJK>
+CDB0 6D8C CDB0 <CJK>
+CDB1 7336 CDB1 <CJK>
+CDB2 7337 CDB2 <CJK>
+CDB3 7531 CDB3 <CJK>
+CDB4 7950 CDB4 <CJK>
+CDB5 88D5 CDB5 <CJK>
+CDB6 8A98 CDB6 <CJK>
+CDB7 904A CDB7 <CJK>
+CDB8 9091 CDB8 <CJK>
+CDB9 90F5 CDB9 <CJK>
+CDBA 96C4 CDBA <CJK>
+CDBB 878D CDBB <CJK>
+CDBC 5915 CDBC <CJK>
+CDBD 4E88 CDBD <CJK>
+CDBE 4F59 CDBE <CJK>
+CDBF 4E0E CDBF <CJK>
+CDC0 8A89 CDC0 <CJK>
+CDC1 8F3F CDC1 <CJK>
+CDC2 9810 CDC2 <CJK>
+CDC3 50AD CDC3 <CJK>
+CDC4 5E7C CDC4 <CJK>
+CDC5 5996 CDC5 <CJK>
+CDC6 5BB9 CDC6 <CJK>
+CDC7 5EB8 CDC7 <CJK>
+CDC8 63DA CDC8 <CJK>
+CDC9 63FA CDC9 <CJK>
+CDCA 64C1 CDCA <CJK>
+CDCB 66DC CDCB <CJK>
+CDCC 694A CDCC <CJK>
+CDCD 69D8 CDCD <CJK>
+CDCE 6D0B CDCE <CJK>
+CDCF 6EB6 CDCF <CJK>
+CDD0 7194 CDD0 <CJK>
+CDD1 7528 CDD1 <CJK>
+CDD2 7AAF CDD2 <CJK>
+CDD3 7F8A CDD3 <CJK>
+CDD4 8000 CDD4 <CJK>
+CDD5 8449 CDD5 <CJK>
+CDD6 84C9 CDD6 <CJK>
+CDD7 8981 CDD7 <CJK>
+CDD8 8B21 CDD8 <CJK>
+CDD9 8E0A CDD9 <CJK>
+CDDA 9065 CDDA <CJK>
+CDDB 967D CDDB <CJK>
+CDDC 990A CDDC <CJK>
+CDDD 617E CDDD <CJK>
+CDDE 6291 CDDE <CJK>
+CDDF 6B32 CDDF <CJK>
+CDE0 6C83 CDE0 <CJK>
+CDE1 6D74 CDE1 <CJK>
+CDE2 7FCC CDE2 <CJK>
+CDE3 7FFC CDE3 <CJK>
+CDE4 6DC0 CDE4 <CJK>
+CDE5 7F85 CDE5 <CJK>
+CDE6 87BA CDE6 <CJK>
+CDE7 88F8 CDE7 <CJK>
+CDE8 6765 CDE8 <CJK>
+CDE9 83B1 CDE9 <CJK>
+CDEA 983C CDEA <CJK>
+CDEB 96F7 CDEB <CJK>
+CDEC 6D1B CDEC <CJK>
+CDED 7D61 CDED <CJK>
+CDEE 843D CDEE <CJK>
+CDEF 916A CDEF <CJK>
+CDF0 4E71 CDF0 <CJK>
+CDF1 5375 CDF1 <CJK>
+CDF2 5D50 CDF2 <CJK>
+CDF3 6B04 CDF3 <CJK>
+CDF4 6FEB CDF4 <CJK>
+CDF5 85CD CDF5 <CJK>
+CDF6 862D CDF6 <CJK>
+CDF7 89A7 CDF7 <CJK>
+CDF8 5229 CDF8 <CJK>
+CDF9 540F CDF9 <CJK>
+CDFA 5C65 CDFA <CJK>
+CDFB 674E CDFB <CJK>
+CDFC 68A8 CDFC <CJK>
+CDFD 7406 CDFD <CJK>
+CDFE 7483 CDFE <CJK>
+CEA1 75E2 CEA1 <CJK>
+CEA2 88CF CEA2 <CJK>
+CEA3 88E1 CEA3 <CJK>
+CEA4 91CC CEA4 <CJK>
+CEA5 96E2 CEA5 <CJK>
+CEA6 9678 CEA6 <CJK>
+CEA7 5F8B CEA7 <CJK>
+CEA8 7387 CEA8 <CJK>
+CEA9 7ACB CEA9 <CJK>
+CEAA 844E CEAA <CJK>
+CEAB 63A0 CEAB <CJK>
+CEAC 7565 CEAC <CJK>
+CEAD 5289 CEAD <CJK>
+CEAE 6D41 CEAE <CJK>
+CEAF 6E9C CEAF <CJK>
+CEB0 7409 CEB0 <CJK>
+CEB1 7559 CEB1 <CJK>
+CEB2 786B CEB2 <CJK>
+CEB3 7C92 CEB3 <CJK>
+CEB4 9686 CEB4 <CJK>
+CEB5 7ADC CEB5 <CJK>
+CEB6 9F8D CEB6 <CJK>
+CEB7 4FB6 CEB7 <CJK>
+CEB8 616E CEB8 <CJK>
+CEB9 65C5 CEB9 <CJK>
+CEBA 865C CEBA <CJK>
+CEBB 4E86 CEBB <CJK>
+CEBC 4EAE CEBC <CJK>
+CEBD 50DA CEBD <CJK>
+CEBE 4E21 CEBE <CJK>
+CEBF 51CC CEBF <CJK>
+CEC0 5BEE CEC0 <CJK>
+CEC1 6599 CEC1 <CJK>
+CEC2 6881 CEC2 <CJK>
+CEC3 6DBC CEC3 <CJK>
+CEC4 731F CEC4 <CJK>
+CEC5 7642 CEC5 <CJK>
+CEC6 77AD CEC6 <CJK>
+CEC7 7A1C CEC7 <CJK>
+CEC8 7CE7 CEC8 <CJK>
+CEC9 826F CEC9 <CJK>
+CECA 8AD2 CECA <CJK>
+CECB 907C CECB <CJK>
+CECC 91CF CECC <CJK>
+CECD 9675 CECD <CJK>
+CECE 9818 CECE <CJK>
+CECF 529B CECF <CJK>
+CED0 7DD1 CED0 <CJK>
+CED1 502B CED1 <CJK>
+CED2 5398 CED2 <CJK>
+CED3 6797 CED3 <CJK>
+CED4 6DCB CED4 <CJK>
+CED5 71D0 CED5 <CJK>
+CED6 7433 CED6 <CJK>
+CED7 81E8 CED7 <CJK>
+CED8 8F2A CED8 <CJK>
+CED9 96A3 CED9 <CJK>
+CEDA 9C57 CEDA <CJK>
+CEDB 9E9F CEDB <CJK>
+CEDC 7460 CEDC <CJK>
+CEDD 5841 CEDD <CJK>
+CEDE 6D99 CEDE <CJK>
+CEDF 7D2F CEDF <CJK>
+CEE0 985E CEE0 <CJK>
+CEE1 4EE4 CEE1 <CJK>
+CEE2 4F36 CEE2 <CJK>
+CEE3 4F8B CEE3 <CJK>
+CEE4 51B7 CEE4 <CJK>
+CEE5 52B1 CEE5 <CJK>
+CEE6 5DBA CEE6 <CJK>
+CEE7 601C CEE7 <CJK>
+CEE8 73B2 CEE8 <CJK>
+CEE9 793C CEE9 <CJK>
+CEEA 82D3 CEEA <CJK>
+CEEB 9234 CEEB <CJK>
+CEEC 96B7 CEEC <CJK>
+CEED 96F6 CEED <CJK>
+CEEE 970A CEEE <CJK>
+CEEF 9E97 CEEF <CJK>
+CEF0 9F62 CEF0 <CJK>
+CEF1 66A6 CEF1 <CJK>
+CEF2 6B74 CEF2 <CJK>
+CEF3 5217 CEF3 <CJK>
+CEF4 52A3 CEF4 <CJK>
+CEF5 70C8 CEF5 <CJK>
+CEF6 88C2 CEF6 <CJK>
+CEF7 5EC9 CEF7 <CJK>
+CEF8 604B CEF8 <CJK>
+CEF9 6190 CEF9 <CJK>
+CEFA 6F23 CEFA <CJK>
+CEFB 7149 CEFB <CJK>
+CEFC 7C3E CEFC <CJK>
+CEFD 7DF4 CEFD <CJK>
+CEFE 806F CEFE <CJK>
+CFA1 84EE CFA1 U+84EE <CJK>
+CFA2 9023 CFA2 U+9023 <CJK>
+CFA3 932C CFA3 U+932C <CJK>
+CFA4 5442 CFA4 U+5442 <CJK>
+CFA5 9B6F CFA5 U+9B6F <CJK>
+CFA6 6AD3 CFA6 U+6AD3 <CJK>
+CFA7 7089 CFA7 U+7089 <CJK>
+CFA8 8CC2 CFA8 U+8CC2 <CJK>
+CFA9 8DEF CFA9 U+8DEF <CJK>
+CFAA 9732 CFAA U+9732 <CJK>
+CFAB 52B4 CFAB U+52B4 <CJK>
+CFAC 5A41 CFAC U+5A41 <CJK>
+CFAD 5ECA CFAD U+5ECA <CJK>
+CFAE 5F04 CFAE U+5F04 <CJK>
+CFAF 6717 CFAF U+6717 <CJK>
+CFB0 697C CFB0 U+697C <CJK>
+CFB1 6994 CFB1 U+6994 <CJK>
+CFB2 6D6A CFB2 U+6D6A <CJK>
+CFB3 6F0F CFB3 U+6F0F <CJK>
+CFB4 7262 CFB4 U+7262 <CJK>
+CFB5 72FC CFB5 U+72FC <CJK>
+CFB6 7BED CFB6 U+7BED <CJK>
+CFB7 8001 CFB7 U+8001 <CJK>
+CFB8 807E CFB8 U+807E <CJK>
+CFB9 874B CFB9 U+874B <CJK>
+CFBA 90CE CFBA U+90CE <CJK>
+CFBB 516D CFBB U+516D <CJK>
+CFBC 9E93 CFBC U+9E93 <CJK>
+CFBD 7984 CFBD U+7984 <CJK>
+CFBE 808B CFBE U+808B <CJK>
+CFBF 9332 CFBF U+9332 <CJK>
+CFC0 8AD6 CFC0 U+8AD6 <CJK>
+CFC1 502D CFC1 U+502D <CJK>
+CFC2 548C CFC2 U+548C <CJK>
+CFC3 8A71 CFC3 U+8A71 <CJK>
+CFC4 6B6A CFC4 U+6B6A <CJK>
+CFC5 8CC4 CFC5 U+8CC4 <CJK>
+CFC6 8107 CFC6 U+8107 <CJK>
+CFC7 60D1 CFC7 U+60D1 <CJK>
+CFC8 67A0 CFC8 U+67A0 <CJK>
+CFC9 9DF2 CFC9 U+9DF2 <CJK>
+CFCA 4E99 CFCA U+4E99 <CJK>
+CFCB 4E98 CFCB U+4E98 <CJK>
+CFCC 9C10 CFCC U+9C10 <CJK>
+CFCD 8A6B CFCD U+8A6B <CJK>
+CFCE 85C1 CFCE U+85C1 <CJK>
+CFCF 8568 CFCF U+8568 <CJK>
+CFD0 6900 CFD0 U+6900 <CJK>
+CFD1 6E7E CFD1 U+6E7E <CJK>
+CFD2 7897 CFD2 U+7897 <CJK>
+CFD3 8155 CFD3 U+8155 <CJK>
+D0A1 5F0C D0A1 <CJK>
+D0A2 4E10 D0A2 <CJK>
+D0A3 4E15 D0A3 <CJK>
+D0A4 4E2A D0A4 <CJK>
+D0A5 4E31 D0A5 <CJK>
+D0A6 4E36 D0A6 <CJK>
+D0A7 4E3C D0A7 <CJK>
+D0A8 4E3F D0A8 <CJK>
+D0A9 4E42 D0A9 <CJK>
+D0AA 4E56 D0AA <CJK>
+D0AB 4E58 D0AB <CJK>
+D0AC 4E82 D0AC <CJK>
+D0AD 4E85 D0AD <CJK>
+D0AE 8C6B D0AE <CJK>
+D0AF 4E8A D0AF <CJK>
+D0B0 8212 D0B0 <CJK>
+D0B1 5F0D D0B1 <CJK>
+D0B2 4E8E D0B2 <CJK>
+D0B3 4E9E D0B3 <CJK>
+D0B4 4E9F D0B4 <CJK>
+D0B5 4EA0 D0B5 <CJK>
+D0B6 4EA2 D0B6 <CJK>
+D0B7 4EB0 D0B7 <CJK>
+D0B8 4EB3 D0B8 <CJK>
+D0B9 4EB6 D0B9 <CJK>
+D0BA 4ECE D0BA <CJK>
+D0BB 4ECD D0BB <CJK>
+D0BC 4EC4 D0BC <CJK>
+D0BD 4EC6 D0BD <CJK>
+D0BE 4EC2 D0BE <CJK>
+D0BF 4ED7 D0BF <CJK>
+D0C0 4EDE D0C0 <CJK>
+D0C1 4EED D0C1 <CJK>
+D0C2 4EDF D0C2 <CJK>
+D0C3 4EF7 D0C3 <CJK>
+D0C4 4F09 D0C4 <CJK>
+D0C5 4F5A D0C5 <CJK>
+D0C6 4F30 D0C6 <CJK>
+D0C7 4F5B D0C7 <CJK>
+D0C8 4F5D D0C8 <CJK>
+D0C9 4F57 D0C9 <CJK>
+D0CA 4F47 D0CA <CJK>
+D0CB 4F76 D0CB <CJK>
+D0CC 4F88 D0CC <CJK>
+D0CD 4F8F D0CD <CJK>
+D0CE 4F98 D0CE <CJK>
+D0CF 4F7B D0CF <CJK>
+D0D0 4F69 D0D0 <CJK>
+D0D1 4F70 D0D1 <CJK>
+D0D2 4F91 D0D2 <CJK>
+D0D3 4F6F D0D3 <CJK>
+D0D4 4F86 D0D4 <CJK>
+D0D5 4F96 D0D5 <CJK>
+D0D6 5118 D0D6 <CJK>
+D0D7 4FD4 D0D7 <CJK>
+D0D8 4FDF D0D8 <CJK>
+D0D9 4FCE D0D9 <CJK>
+D0DA 4FD8 D0DA <CJK>
+D0DB 4FDB D0DB <CJK>
+D0DC 4FD1 D0DC <CJK>
+D0DD 4FDA D0DD <CJK>
+D0DE 4FD0 D0DE <CJK>
+D0DF 4FE4 D0DF <CJK>
+D0E0 4FE5 D0E0 <CJK>
+D0E1 501A D0E1 <CJK>
+D0E2 5028 D0E2 <CJK>
+D0E3 5014 D0E3 <CJK>
+D0E4 502A D0E4 <CJK>
+D0E5 5025 D0E5 <CJK>
+D0E6 5005 D0E6 <CJK>
+D0E7 4F1C D0E7 <CJK>
+D0E8 4FF6 D0E8 <CJK>
+D0E9 5021 D0E9 <CJK>
+D0EA 5029 D0EA <CJK>
+D0EB 502C D0EB <CJK>
+D0EC 4FFE D0EC <CJK>
+D0ED 4FEF D0ED <CJK>
+D0EE 5011 D0EE <CJK>
+D0EF 5006 D0EF <CJK>
+D0F0 5043 D0F0 <CJK>
+D0F1 5047 D0F1 <CJK>
+D0F2 6703 D0F2 <CJK>
+D0F3 5055 D0F3 <CJK>
+D0F4 5050 D0F4 <CJK>
+D0F5 5048 D0F5 <CJK>
+D0F6 505A D0F6 <CJK>
+D0F7 5056 D0F7 <CJK>
+D0F8 506C D0F8 <CJK>
+D0F9 5078 D0F9 <CJK>
+D0FA 5080 D0FA <CJK>
+D0FB 509A D0FB <CJK>
+D0FC 5085 D0FC <CJK>
+D0FD 50B4 D0FD <CJK>
+D0FE 50B2 D0FE <CJK>
+D1A1 50C9 D1A1 <CJK>
+D1A2 50CA D1A2 <CJK>
+D1A3 50B3 D1A3 <CJK>
+D1A4 50C2 D1A4 <CJK>
+D1A5 50D6 D1A5 <CJK>
+D1A6 50DE D1A6 <CJK>
+D1A7 50E5 D1A7 <CJK>
+D1A8 50ED D1A8 <CJK>
+D1A9 50E3 D1A9 <CJK>
+D1AA 50EE D1AA <CJK>
+D1AB 50F9 D1AB <CJK>
+D1AC 50F5 D1AC <CJK>
+D1AD 5109 D1AD <CJK>
+D1AE 5101 D1AE <CJK>
+D1AF 5102 D1AF <CJK>
+D1B0 5116 D1B0 <CJK>
+D1B1 5115 D1B1 <CJK>
+D1B2 5114 D1B2 <CJK>
+D1B3 511A D1B3 <CJK>
+D1B4 5121 D1B4 <CJK>
+D1B5 513A D1B5 <CJK>
+D1B6 5137 D1B6 <CJK>
+D1B7 513C D1B7 <CJK>
+D1B8 513B D1B8 <CJK>
+D1B9 513F D1B9 <CJK>
+D1BA 5140 D1BA <CJK>
+D1BB 5152 D1BB <CJK>
+D1BC 514C D1BC <CJK>
+D1BD 5154 D1BD <CJK>
+D1BE 5162 D1BE <CJK>
+D1BF 7AF8 D1BF <CJK>
+D1C0 5169 D1C0 <CJK>
+D1C1 516A D1C1 <CJK>
+D1C2 516E D1C2 <CJK>
+D1C3 5180 D1C3 <CJK>
+D1C4 5182 D1C4 <CJK>
+D1C5 56D8 D1C5 <CJK>
+D1C6 518C D1C6 <CJK>
+D1C7 5189 D1C7 <CJK>
+D1C8 518F D1C8 <CJK>
+D1C9 5191 D1C9 <CJK>
+D1CA 5193 D1CA <CJK>
+D1CB 5195 D1CB <CJK>
+D1CC 5196 D1CC <CJK>
+D1CD 51A4 D1CD <CJK>
+D1CE 51A6 D1CE <CJK>
+D1CF 51A2 D1CF <CJK>
+D1D0 51A9 D1D0 <CJK>
+D1D1 51AA D1D1 <CJK>
+D1D2 51AB D1D2 <CJK>
+D1D3 51B3 D1D3 <CJK>
+D1D4 51B1 D1D4 <CJK>
+D1D5 51B2 D1D5 <CJK>
+D1D6 51B0 D1D6 <CJK>
+D1D7 51B5 D1D7 <CJK>
+D1D8 51BD D1D8 <CJK>
+D1D9 51C5 D1D9 <CJK>
+D1DA 51C9 D1DA <CJK>
+D1DB 51DB D1DB <CJK>
+D1DC 51E0 D1DC <CJK>
+D1DD 8655 D1DD <CJK>
+D1DE 51E9 D1DE <CJK>
+D1DF 51ED D1DF <CJK>
+D1E0 51F0 D1E0 <CJK>
+D1E1 51F5 D1E1 <CJK>
+D1E2 51FE D1E2 <CJK>
+D1E3 5204 D1E3 <CJK>
+D1E4 520B D1E4 <CJK>
+D1E5 5214 D1E5 <CJK>
+D1E6 520E D1E6 <CJK>
+D1E7 5227 D1E7 <CJK>
+D1E8 522A D1E8 <CJK>
+D1E9 522E D1E9 <CJK>
+D1EA 5233 D1EA <CJK>
+D1EB 5239 D1EB <CJK>
+D1EC 524F D1EC <CJK>
+D1ED 5244 D1ED <CJK>
+D1EE 524B D1EE <CJK>
+D1EF 524C D1EF <CJK>
+D1F0 525E D1F0 <CJK>
+D1F1 5254 D1F1 <CJK>
+D1F2 526A D1F2 <CJK>
+D1F3 5274 D1F3 <CJK>
+D1F4 5269 D1F4 <CJK>
+D1F5 5273 D1F5 <CJK>
+D1F6 527F D1F6 <CJK>
+D1F7 527D D1F7 <CJK>
+D1F8 528D D1F8 <CJK>
+D1F9 5294 D1F9 <CJK>
+D1FA 5292 D1FA <CJK>
+D1FB 5271 D1FB <CJK>
+D1FC 5288 D1FC <CJK>
+D1FD 5291 D1FD <CJK>
+D1FE 8FA8 D1FE <CJK>
+D2A1 8FA7 D2A1 <CJK>
+D2A2 52AC D2A2 <CJK>
+D2A3 52AD D2A3 <CJK>
+D2A4 52BC D2A4 <CJK>
+D2A5 52B5 D2A5 <CJK>
+D2A6 52C1 D2A6 <CJK>
+D2A7 52CD D2A7 <CJK>
+D2A8 52D7 D2A8 <CJK>
+D2A9 52DE D2A9 <CJK>
+D2AA 52E3 D2AA <CJK>
+D2AB 52E6 D2AB <CJK>
+D2AC 98ED D2AC <CJK>
+D2AD 52E0 D2AD <CJK>
+D2AE 52F3 D2AE <CJK>
+D2AF 52F5 D2AF <CJK>
+D2B0 52F8 D2B0 <CJK>
+D2B1 52F9 D2B1 <CJK>
+D2B2 5306 D2B2 <CJK>
+D2B3 5308 D2B3 <CJK>
+D2B4 7538 D2B4 <CJK>
+D2B5 530D D2B5 <CJK>
+D2B6 5310 D2B6 <CJK>
+D2B7 530F D2B7 <CJK>
+D2B8 5315 D2B8 <CJK>
+D2B9 531A D2B9 <CJK>
+D2BA 5323 D2BA <CJK>
+D2BB 532F D2BB <CJK>
+D2BC 5331 D2BC <CJK>
+D2BD 5333 D2BD <CJK>
+D2BE 5338 D2BE <CJK>
+D2BF 5340 D2BF <CJK>
+D2C0 5346 D2C0 <CJK>
+D2C1 5345 D2C1 <CJK>
+D2C2 4E17 D2C2 <CJK>
+D2C3 5349 D2C3 <CJK>
+D2C4 534D D2C4 <CJK>
+D2C5 51D6 D2C5 <CJK>
+D2C6 535E D2C6 <CJK>
+D2C7 5369 D2C7 <CJK>
+D2C8 536E D2C8 <CJK>
+D2C9 5918 D2C9 <CJK>
+D2CA 537B D2CA <CJK>
+D2CB 5377 D2CB <CJK>
+D2CC 5382 D2CC <CJK>
+D2CD 5396 D2CD <CJK>
+D2CE 53A0 D2CE <CJK>
+D2CF 53A6 D2CF <CJK>
+D2D0 53A5 D2D0 <CJK>
+D2D1 53AE D2D1 <CJK>
+D2D2 53B0 D2D2 <CJK>
+D2D3 53B6 D2D3 <CJK>
+D2D4 53C3 D2D4 <CJK>
+D2D5 7C12 D2D5 <CJK>
+D2D6 96D9 D2D6 <CJK>
+D2D7 53DF D2D7 <CJK>
+D2D8 66FC D2D8 <CJK>
+D2D9 71EE D2D9 <CJK>
+D2DA 53EE D2DA <CJK>
+D2DB 53E8 D2DB <CJK>
+D2DC 53ED D2DC <CJK>
+D2DD 53FA D2DD <CJK>
+D2DE 5401 D2DE <CJK>
+D2DF 543D D2DF <CJK>
+D2E0 5440 D2E0 <CJK>
+D2E1 542C D2E1 <CJK>
+D2E2 542D D2E2 <CJK>
+D2E3 543C D2E3 <CJK>
+D2E4 542E D2E4 <CJK>
+D2E5 5436 D2E5 <CJK>
+D2E6 5429 D2E6 <CJK>
+D2E7 541D D2E7 <CJK>
+D2E8 544E D2E8 <CJK>
+D2E9 548F D2E9 <CJK>
+D2EA 5475 D2EA <CJK>
+D2EB 548E D2EB <CJK>
+D2EC 545F D2EC <CJK>
+D2ED 5471 D2ED <CJK>
+D2EE 5477 D2EE <CJK>
+D2EF 5470 D2EF <CJK>
+D2F0 5492 D2F0 <CJK>
+D2F1 547B D2F1 <CJK>
+D2F2 5480 D2F2 <CJK>
+D2F3 5476 D2F3 <CJK>
+D2F4 5484 D2F4 <CJK>
+D2F5 5490 D2F5 <CJK>
+D2F6 5486 D2F6 <CJK>
+D2F7 54C7 D2F7 <CJK>
+D2F8 54A2 D2F8 <CJK>
+D2F9 54B8 D2F9 <CJK>
+D2FA 54A5 D2FA <CJK>
+D2FB 54AC D2FB <CJK>
+D2FC 54C4 D2FC <CJK>
+D2FD 54C8 D2FD <CJK>
+D2FE 54A8 D2FE <CJK>
+D3A1 54AB D3A1 <CJK>
+D3A2 54C2 D3A2 <CJK>
+D3A3 54A4 D3A3 <CJK>
+D3A4 54BE D3A4 <CJK>
+D3A5 54BC D3A5 <CJK>
+D3A6 54D8 D3A6 <CJK>
+D3A7 54E5 D3A7 <CJK>
+D3A8 54E6 D3A8 <CJK>
+D3A9 550F D3A9 <CJK>
+D3AA 5514 D3AA <CJK>
+D3AB 54FD D3AB <CJK>
+D3AC 54EE D3AC <CJK>
+D3AD 54ED D3AD <CJK>
+D3AE 54FA D3AE <CJK>
+D3AF 54E2 D3AF <CJK>
+D3B0 5539 D3B0 <CJK>
+D3B1 5540 D3B1 <CJK>
+D3B2 5563 D3B2 <CJK>
+D3B3 554C D3B3 <CJK>
+D3B4 552E D3B4 <CJK>
+D3B5 555C D3B5 <CJK>
+D3B6 5545 D3B6 <CJK>
+D3B7 5556 D3B7 <CJK>
+D3B8 5557 D3B8 <CJK>
+D3B9 5538 D3B9 <CJK>
+D3BA 5533 D3BA <CJK>
+D3BB 555D D3BB <CJK>
+D3BC 5599 D3BC <CJK>
+D3BD 5580 D3BD <CJK>
+D3BE 54AF D3BE <CJK>
+D3BF 558A D3BF <CJK>
+D3C0 559F D3C0 <CJK>
+D3C1 557B D3C1 <CJK>
+D3C2 557E D3C2 <CJK>
+D3C3 5598 D3C3 <CJK>
+D3C4 559E D3C4 <CJK>
+D3C5 55AE D3C5 <CJK>
+D3C6 557C D3C6 <CJK>
+D3C7 5583 D3C7 <CJK>
+D3C8 55A9 D3C8 <CJK>
+D3C9 5587 D3C9 <CJK>
+D3CA 55A8 D3CA <CJK>
+D3CB 55DA D3CB <CJK>
+D3CC 55C5 D3CC <CJK>
+D3CD 55DF D3CD <CJK>
+D3CE 55C4 D3CE <CJK>
+D3CF 55DC D3CF <CJK>
+D3D0 55E4 D3D0 <CJK>
+D3D1 55D4 D3D1 <CJK>
+D3D2 5614 D3D2 <CJK>
+D3D3 55F7 D3D3 <CJK>
+D3D4 5616 D3D4 <CJK>
+D3D5 55FE D3D5 <CJK>
+D3D6 55FD D3D6 <CJK>
+D3D7 561B D3D7 <CJK>
+D3D8 55F9 D3D8 <CJK>
+D3D9 564E D3D9 <CJK>
+D3DA 5650 D3DA <CJK>
+D3DB 71DF D3DB <CJK>
+D3DC 5634 D3DC <CJK>
+D3DD 5636 D3DD <CJK>
+D3DE 5632 D3DE <CJK>
+D3DF 5638 D3DF <CJK>
+D3E0 566B D3E0 <CJK>
+D3E1 5664 D3E1 <CJK>
+D3E2 562F D3E2 <CJK>
+D3E3 566C D3E3 <CJK>
+D3E4 566A D3E4 <CJK>
+D3E5 5686 D3E5 <CJK>
+D3E6 5680 D3E6 <CJK>
+D3E7 568A D3E7 <CJK>
+D3E8 56A0 D3E8 <CJK>
+D3E9 5694 D3E9 <CJK>
+D3EA 568F D3EA <CJK>
+D3EB 56A5 D3EB <CJK>
+D3EC 56AE D3EC <CJK>
+D3ED 56B6 D3ED <CJK>
+D3EE 56B4 D3EE <CJK>
+D3EF 56C2 D3EF <CJK>
+D3F0 56BC D3F0 <CJK>
+D3F1 56C1 D3F1 <CJK>
+D3F2 56C3 D3F2 <CJK>
+D3F3 56C0 D3F3 <CJK>
+D3F4 56C8 D3F4 <CJK>
+D3F5 56CE D3F5 <CJK>
+D3F6 56D1 D3F6 <CJK>
+D3F7 56D3 D3F7 <CJK>
+D3F8 56D7 D3F8 <CJK>
+D3F9 56EE D3F9 <CJK>
+D3FA 56F9 D3FA <CJK>
+D3FB 5700 D3FB <CJK>
+D3FC 56FF D3FC <CJK>
+D3FD 5704 D3FD <CJK>
+D3FE 5709 D3FE <CJK>
+D4A1 5708 D4A1 <CJK>
+D4A2 570B D4A2 <CJK>
+D4A3 570D D4A3 <CJK>
+D4A4 5713 D4A4 <CJK>
+D4A5 5718 D4A5 <CJK>
+D4A6 5716 D4A6 <CJK>
+D4A7 55C7 D4A7 <CJK>
+D4A8 571C D4A8 <CJK>
+D4A9 5726 D4A9 <CJK>
+D4AA 5737 D4AA <CJK>
+D4AB 5738 D4AB <CJK>
+D4AC 574E D4AC <CJK>
+D4AD 573B D4AD <CJK>
+D4AE 5740 D4AE <CJK>
+D4AF 574F D4AF <CJK>
+D4B0 5769 D4B0 <CJK>
+D4B1 57C0 D4B1 <CJK>
+D4B2 5788 D4B2 <CJK>
+D4B3 5761 D4B3 <CJK>
+D4B4 577F D4B4 <CJK>
+D4B5 5789 D4B5 <CJK>
+D4B6 5793 D4B6 <CJK>
+D4B7 57A0 D4B7 <CJK>
+D4B8 57B3 D4B8 <CJK>
+D4B9 57A4 D4B9 <CJK>
+D4BA 57AA D4BA <CJK>
+D4BB 57B0 D4BB <CJK>
+D4BC 57C3 D4BC <CJK>
+D4BD 57C6 D4BD <CJK>
+D4BE 57D4 D4BE <CJK>
+D4BF 57D2 D4BF <CJK>
+D4C0 57D3 D4C0 <CJK>
+D4C1 580A D4C1 <CJK>
+D4C2 57D6 D4C2 <CJK>
+D4C3 57E3 D4C3 <CJK>
+D4C4 580B D4C4 <CJK>
+D4C5 5819 D4C5 <CJK>
+D4C6 581D D4C6 <CJK>
+D4C7 5872 D4C7 <CJK>
+D4C8 5821 D4C8 <CJK>
+D4C9 5862 D4C9 <CJK>
+D4CA 584B D4CA <CJK>
+D4CB 5870 D4CB <CJK>
+D4CC 6BC0 D4CC <CJK>
+D4CD 5852 D4CD <CJK>
+D4CE 583D D4CE <CJK>
+D4CF 5879 D4CF <CJK>
+D4D0 5885 D4D0 <CJK>
+D4D1 58B9 D4D1 <CJK>
+D4D2 589F D4D2 <CJK>
+D4D3 58AB D4D3 <CJK>
+D4D4 58BA D4D4 <CJK>
+D4D5 58DE D4D5 <CJK>
+D4D6 58BB D4D6 <CJK>
+D4D7 58B8 D4D7 <CJK>
+D4D8 58AE D4D8 <CJK>
+D4D9 58C5 D4D9 <CJK>
+D4DA 58D3 D4DA <CJK>
+D4DB 58D1 D4DB <CJK>
+D4DC 58D7 D4DC <CJK>
+D4DD 58D9 D4DD <CJK>
+D4DE 58D8 D4DE <CJK>
+D4DF 58E5 D4DF <CJK>
+D4E0 58DC D4E0 <CJK>
+D4E1 58E4 D4E1 <CJK>
+D4E2 58DF D4E2 <CJK>
+D4E3 58EF D4E3 <CJK>
+D4E4 58FA D4E4 <CJK>
+D4E5 58F9 D4E5 <CJK>
+D4E6 58FB D4E6 <CJK>
+D4E7 58FC D4E7 <CJK>
+D4E8 58FD D4E8 <CJK>
+D4E9 5902 D4E9 <CJK>
+D4EA 590A D4EA <CJK>
+D4EB 5910 D4EB <CJK>
+D4EC 591B D4EC <CJK>
+D4ED 68A6 D4ED <CJK>
+D4EE 5925 D4EE <CJK>
+D4EF 592C D4EF <CJK>
+D4F0 592D D4F0 <CJK>
+D4F1 5932 D4F1 <CJK>
+D4F2 5938 D4F2 <CJK>
+D4F3 593E D4F3 <CJK>
+D4F4 7AD2 D4F4 <CJK>
+D4F5 5955 D4F5 <CJK>
+D4F6 5950 D4F6 <CJK>
+D4F7 594E D4F7 <CJK>
+D4F8 595A D4F8 <CJK>
+D4F9 5958 D4F9 <CJK>
+D4FA 5962 D4FA <CJK>
+D4FB 5960 D4FB <CJK>
+D4FC 5967 D4FC <CJK>
+D4FD 596C D4FD <CJK>
+D4FE 5969 D4FE <CJK>
+D5A1 5978 D5A1 <CJK>
+D5A2 5981 D5A2 <CJK>
+D5A3 599D D5A3 <CJK>
+D5A4 4F5E D5A4 <CJK>
+D5A5 4FAB D5A5 <CJK>
+D5A6 59A3 D5A6 <CJK>
+D5A7 59B2 D5A7 <CJK>
+D5A8 59C6 D5A8 <CJK>
+D5A9 59E8 D5A9 <CJK>
+D5AA 59DC D5AA <CJK>
+D5AB 598D D5AB <CJK>
+D5AC 59D9 D5AC <CJK>
+D5AD 59DA D5AD <CJK>
+D5AE 5A25 D5AE <CJK>
+D5AF 5A1F D5AF <CJK>
+D5B0 5A11 D5B0 <CJK>
+D5B1 5A1C D5B1 <CJK>
+D5B2 5A09 D5B2 <CJK>
+D5B3 5A1A D5B3 <CJK>
+D5B4 5A40 D5B4 <CJK>
+D5B5 5A6C D5B5 <CJK>
+D5B6 5A49 D5B6 <CJK>
+D5B7 5A35 D5B7 <CJK>
+D5B8 5A36 D5B8 <CJK>
+D5B9 5A62 D5B9 <CJK>
+D5BA 5A6A D5BA <CJK>
+D5BB 5A9A D5BB <CJK>
+D5BC 5ABC D5BC <CJK>
+D5BD 5ABE D5BD <CJK>
+D5BE 5ACB D5BE <CJK>
+D5BF 5AC2 D5BF <CJK>
+D5C0 5ABD D5C0 <CJK>
+D5C1 5AE3 D5C1 <CJK>
+D5C2 5AD7 D5C2 <CJK>
+D5C3 5AE6 D5C3 <CJK>
+D5C4 5AE9 D5C4 <CJK>
+D5C5 5AD6 D5C5 <CJK>
+D5C6 5AFA D5C6 <CJK>
+D5C7 5AFB D5C7 <CJK>
+D5C8 5B0C D5C8 <CJK>
+D5C9 5B0B D5C9 <CJK>
+D5CA 5B16 D5CA <CJK>
+D5CB 5B32 D5CB <CJK>
+D5CC 5AD0 D5CC <CJK>
+D5CD 5B2A D5CD <CJK>
+D5CE 5B36 D5CE <CJK>
+D5CF 5B3E D5CF <CJK>
+D5D0 5B43 D5D0 <CJK>
+D5D1 5B45 D5D1 <CJK>
+D5D2 5B40 D5D2 <CJK>
+D5D3 5B51 D5D3 <CJK>
+D5D4 5B55 D5D4 <CJK>
+D5D5 5B5A D5D5 <CJK>
+D5D6 5B5B D5D6 <CJK>
+D5D7 5B65 D5D7 <CJK>
+D5D8 5B69 D5D8 <CJK>
+D5D9 5B70 D5D9 <CJK>
+D5DA 5B73 D5DA <CJK>
+D5DB 5B75 D5DB <CJK>
+D5DC 5B78 D5DC <CJK>
+D5DD 6588 D5DD <CJK>
+D5DE 5B7A D5DE <CJK>
+D5DF 5B80 D5DF <CJK>
+D5E0 5B83 D5E0 <CJK>
+D5E1 5BA6 D5E1 <CJK>
+D5E2 5BB8 D5E2 <CJK>
+D5E3 5BC3 D5E3 <CJK>
+D5E4 5BC7 D5E4 <CJK>
+D5E5 5BC9 D5E5 <CJK>
+D5E6 5BD4 D5E6 <CJK>
+D5E7 5BD0 D5E7 <CJK>
+D5E8 5BE4 D5E8 <CJK>
+D5E9 5BE6 D5E9 <CJK>
+D5EA 5BE2 D5EA <CJK>
+D5EB 5BDE D5EB <CJK>
+D5EC 5BE5 D5EC <CJK>
+D5ED 5BEB D5ED <CJK>
+D5EE 5BF0 D5EE <CJK>
+D5EF 5BF6 D5EF <CJK>
+D5F0 5BF3 D5F0 <CJK>
+D5F1 5C05 D5F1 <CJK>
+D5F2 5C07 D5F2 <CJK>
+D5F3 5C08 D5F3 <CJK>
+D5F4 5C0D D5F4 <CJK>
+D5F5 5C13 D5F5 <CJK>
+D5F6 5C20 D5F6 <CJK>
+D5F7 5C22 D5F7 <CJK>
+D5F8 5C28 D5F8 <CJK>
+D5F9 5C38 D5F9 <CJK>
+D5FA 5C39 D5FA <CJK>
+D5FB 5C41 D5FB <CJK>
+D5FC 5C46 D5FC <CJK>
+D5FD 5C4E D5FD <CJK>
+D5FE 5C53 D5FE <CJK>
+D6A1 5C50 D6A1 <CJK>
+D6A2 5C4F D6A2 <CJK>
+D6A3 5B71 D6A3 <CJK>
+D6A4 5C6C D6A4 <CJK>
+D6A5 5C6E D6A5 <CJK>
+D6A6 4E62 D6A6 <CJK>
+D6A7 5C76 D6A7 <CJK>
+D6A8 5C79 D6A8 <CJK>
+D6A9 5C8C D6A9 <CJK>
+D6AA 5C91 D6AA <CJK>
+D6AB 5C94 D6AB <CJK>
+D6AC 599B D6AC <CJK>
+D6AD 5CAB D6AD <CJK>
+D6AE 5CBB D6AE <CJK>
+D6AF 5CB6 D6AF <CJK>
+D6B0 5CBC D6B0 <CJK>
+D6B1 5CB7 D6B1 <CJK>
+D6B2 5CC5 D6B2 <CJK>
+D6B3 5CBE D6B3 <CJK>
+D6B4 5CC7 D6B4 <CJK>
+D6B5 5CD9 D6B5 <CJK>
+D6B6 5CE9 D6B6 <CJK>
+D6B7 5CFD D6B7 <CJK>
+D6B8 5CFA D6B8 <CJK>
+D6B9 5CED D6B9 <CJK>
+D6BA 5D8C D6BA <CJK>
+D6BB 5CEA D6BB <CJK>
+D6BC 5D0B D6BC <CJK>
+D6BD 5D15 D6BD <CJK>
+D6BE 5D17 D6BE <CJK>
+D6BF 5D5C D6BF <CJK>
+D6C0 5D1F D6C0 <CJK>
+D6C1 5D1B D6C1 <CJK>
+D6C2 5D11 D6C2 <CJK>
+D6C3 5D14 D6C3 <CJK>
+D6C4 5D22 D6C4 <CJK>
+D6C5 5D1A D6C5 <CJK>
+D6C6 5D19 D6C6 <CJK>
+D6C7 5D18 D6C7 <CJK>
+D6C8 5D4C D6C8 <CJK>
+D6C9 5D52 D6C9 <CJK>
+D6CA 5D4E D6CA <CJK>
+D6CB 5D4B D6CB <CJK>
+D6CC 5D6C D6CC <CJK>
+D6CD 5D73 D6CD <CJK>
+D6CE 5D76 D6CE <CJK>
+D6CF 5D87 D6CF <CJK>
+D6D0 5D84 D6D0 <CJK>
+D6D1 5D82 D6D1 <CJK>
+D6D2 5DA2 D6D2 <CJK>
+D6D3 5D9D D6D3 <CJK>
+D6D4 5DAC D6D4 <CJK>
+D6D5 5DAE D6D5 <CJK>
+D6D6 5DBD D6D6 <CJK>
+D6D7 5D90 D6D7 <CJK>
+D6D8 5DB7 D6D8 <CJK>
+D6D9 5DBC D6D9 <CJK>
+D6DA 5DC9 D6DA <CJK>
+D6DB 5DCD D6DB <CJK>
+D6DC 5DD3 D6DC <CJK>
+D6DD 5DD2 D6DD <CJK>
+D6DE 5DD6 D6DE <CJK>
+D6DF 5DDB D6DF <CJK>
+D6E0 5DEB D6E0 <CJK>
+D6E1 5DF2 D6E1 <CJK>
+D6E2 5DF5 D6E2 <CJK>
+D6E3 5E0B D6E3 <CJK>
+D6E4 5E1A D6E4 <CJK>
+D6E5 5E19 D6E5 <CJK>
+D6E6 5E11 D6E6 <CJK>
+D6E7 5E1B D6E7 <CJK>
+D6E8 5E36 D6E8 <CJK>
+D6E9 5E37 D6E9 <CJK>
+D6EA 5E44 D6EA <CJK>
+D6EB 5E43 D6EB <CJK>
+D6EC 5E40 D6EC <CJK>
+D6ED 5E4E D6ED <CJK>
+D6EE 5E57 D6EE <CJK>
+D6EF 5E54 D6EF <CJK>
+D6F0 5E5F D6F0 <CJK>
+D6F1 5E62 D6F1 <CJK>
+D6F2 5E64 D6F2 <CJK>
+D6F3 5E47 D6F3 <CJK>
+D6F4 5E75 D6F4 <CJK>
+D6F5 5E76 D6F5 <CJK>
+D6F6 5E7A D6F6 <CJK>
+D6F7 9EBC D6F7 <CJK>
+D6F8 5E7F D6F8 <CJK>
+D6F9 5EA0 D6F9 <CJK>
+D6FA 5EC1 D6FA <CJK>
+D6FB 5EC2 D6FB <CJK>
+D6FC 5EC8 D6FC <CJK>
+D6FD 5ED0 D6FD <CJK>
+D6FE 5ECF D6FE <CJK>
+D7A1 5ED6 D7A1 <CJK>
+D7A2 5EE3 D7A2 <CJK>
+D7A3 5EDD D7A3 <CJK>
+D7A4 5EDA D7A4 <CJK>
+D7A5 5EDB D7A5 <CJK>
+D7A6 5EE2 D7A6 <CJK>
+D7A7 5EE1 D7A7 <CJK>
+D7A8 5EE8 D7A8 <CJK>
+D7A9 5EE9 D7A9 <CJK>
+D7AA 5EEC D7AA <CJK>
+D7AB 5EF1 D7AB <CJK>
+D7AC 5EF3 D7AC <CJK>
+D7AD 5EF0 D7AD <CJK>
+D7AE 5EF4 D7AE <CJK>
+D7AF 5EF8 D7AF <CJK>
+D7B0 5EFE D7B0 <CJK>
+D7B1 5F03 D7B1 <CJK>
+D7B2 5F09 D7B2 <CJK>
+D7B3 5F5D D7B3 <CJK>
+D7B4 5F5C D7B4 <CJK>
+D7B5 5F0B D7B5 <CJK>
+D7B6 5F11 D7B6 <CJK>
+D7B7 5F16 D7B7 <CJK>
+D7B8 5F29 D7B8 <CJK>
+D7B9 5F2D D7B9 <CJK>
+D7BA 5F38 D7BA <CJK>
+D7BB 5F41 D7BB <CJK>
+D7BC 5F48 D7BC <CJK>
+D7BD 5F4C D7BD <CJK>
+D7BE 5F4E D7BE <CJK>
+D7BF 5F2F D7BF <CJK>
+D7C0 5F51 D7C0 <CJK>
+D7C1 5F56 D7C1 <CJK>
+D7C2 5F57 D7C2 <CJK>
+D7C3 5F59 D7C3 <CJK>
+D7C4 5F61 D7C4 <CJK>
+D7C5 5F6D D7C5 <CJK>
+D7C6 5F73 D7C6 <CJK>
+D7C7 5F77 D7C7 <CJK>
+D7C8 5F83 D7C8 <CJK>
+D7C9 5F82 D7C9 <CJK>
+D7CA 5F7F D7CA <CJK>
+D7CB 5F8A D7CB <CJK>
+D7CC 5F88 D7CC <CJK>
+D7CD 5F91 D7CD <CJK>
+D7CE 5F87 D7CE <CJK>
+D7CF 5F9E D7CF <CJK>
+D7D0 5F99 D7D0 <CJK>
+D7D1 5F98 D7D1 <CJK>
+D7D2 5FA0 D7D2 <CJK>
+D7D3 5FA8 D7D3 <CJK>
+D7D4 5FAD D7D4 <CJK>
+D7D5 5FBC D7D5 <CJK>
+D7D6 5FD6 D7D6 <CJK>
+D7D7 5FFB D7D7 <CJK>
+D7D8 5FE4 D7D8 <CJK>
+D7D9 5FF8 D7D9 <CJK>
+D7DA 5FF1 D7DA <CJK>
+D7DB 5FDD D7DB <CJK>
+D7DC 60B3 D7DC <CJK>
+D7DD 5FFF D7DD <CJK>
+D7DE 6021 D7DE <CJK>
+D7DF 6060 D7DF <CJK>
+D7E0 6019 D7E0 <CJK>
+D7E1 6010 D7E1 <CJK>
+D7E2 6029 D7E2 <CJK>
+D7E3 600E D7E3 <CJK>
+D7E4 6031 D7E4 <CJK>
+D7E5 601B D7E5 <CJK>
+D7E6 6015 D7E6 <CJK>
+D7E7 602B D7E7 <CJK>
+D7E8 6026 D7E8 <CJK>
+D7E9 600F D7E9 <CJK>
+D7EA 603A D7EA <CJK>
+D7EB 605A D7EB <CJK>
+D7EC 6041 D7EC <CJK>
+D7ED 606A D7ED <CJK>
+D7EE 6077 D7EE <CJK>
+D7EF 605F D7EF <CJK>
+D7F0 604A D7F0 <CJK>
+D7F1 6046 D7F1 <CJK>
+D7F2 604D D7F2 <CJK>
+D7F3 6063 D7F3 <CJK>
+D7F4 6043 D7F4 <CJK>
+D7F5 6064 D7F5 <CJK>
+D7F6 6042 D7F6 <CJK>
+D7F7 606C D7F7 <CJK>
+D7F8 606B D7F8 <CJK>
+D7F9 6059 D7F9 <CJK>
+D7FA 6081 D7FA <CJK>
+D7FB 608D D7FB <CJK>
+D7FC 60E7 D7FC <CJK>
+D7FD 6083 D7FD <CJK>
+D7FE 609A D7FE <CJK>
+D8A1 6084 D8A1 <CJK>
+D8A2 609B D8A2 <CJK>
+D8A3 6096 D8A3 <CJK>
+D8A4 6097 D8A4 <CJK>
+D8A5 6092 D8A5 <CJK>
+D8A6 60A7 D8A6 <CJK>
+D8A7 608B D8A7 <CJK>
+D8A8 60E1 D8A8 <CJK>
+D8A9 60B8 D8A9 <CJK>
+D8AA 60E0 D8AA <CJK>
+D8AB 60D3 D8AB <CJK>
+D8AC 60B4 D8AC <CJK>
+D8AD 5FF0 D8AD <CJK>
+D8AE 60BD D8AE <CJK>
+D8AF 60C6 D8AF <CJK>
+D8B0 60B5 D8B0 <CJK>
+D8B1 60D8 D8B1 <CJK>
+D8B2 614D D8B2 <CJK>
+D8B3 6115 D8B3 <CJK>
+D8B4 6106 D8B4 <CJK>
+D8B5 60F6 D8B5 <CJK>
+D8B6 60F7 D8B6 <CJK>
+D8B7 6100 D8B7 <CJK>
+D8B8 60F4 D8B8 <CJK>
+D8B9 60FA D8B9 <CJK>
+D8BA 6103 D8BA <CJK>
+D8BB 6121 D8BB <CJK>
+D8BC 60FB D8BC <CJK>
+D8BD 60F1 D8BD <CJK>
+D8BE 610D D8BE <CJK>
+D8BF 610E D8BF <CJK>
+D8C0 6147 D8C0 <CJK>
+D8C1 613E D8C1 <CJK>
+D8C2 6128 D8C2 <CJK>
+D8C3 6127 D8C3 <CJK>
+D8C4 614A D8C4 <CJK>
+D8C5 613F D8C5 <CJK>
+D8C6 613C D8C6 <CJK>
+D8C7 612C D8C7 <CJK>
+D8C8 6134 D8C8 <CJK>
+D8C9 613D D8C9 <CJK>
+D8CA 6142 D8CA <CJK>
+D8CB 6144 D8CB <CJK>
+D8CC 6173 D8CC <CJK>
+D8CD 6177 D8CD <CJK>
+D8CE 6158 D8CE <CJK>
+D8CF 6159 D8CF <CJK>
+D8D0 615A D8D0 <CJK>
+D8D1 616B D8D1 <CJK>
+D8D2 6174 D8D2 <CJK>
+D8D3 616F D8D3 <CJK>
+D8D4 6165 D8D4 <CJK>
+D8D5 6171 D8D5 <CJK>
+D8D6 615F D8D6 <CJK>
+D8D7 615D D8D7 <CJK>
+D8D8 6153 D8D8 <CJK>
+D8D9 6175 D8D9 <CJK>
+D8DA 6199 D8DA <CJK>
+D8DB 6196 D8DB <CJK>
+D8DC 6187 D8DC <CJK>
+D8DD 61AC D8DD <CJK>
+D8DE 6194 D8DE <CJK>
+D8DF 619A D8DF <CJK>
+D8E0 618A D8E0 <CJK>
+D8E1 6191 D8E1 <CJK>
+D8E2 61AB D8E2 <CJK>
+D8E3 61AE D8E3 <CJK>
+D8E4 61CC D8E4 <CJK>
+D8E5 61CA D8E5 <CJK>
+D8E6 61C9 D8E6 <CJK>
+D8E7 61F7 D8E7 <CJK>
+D8E8 61C8 D8E8 <CJK>
+D8E9 61C3 D8E9 <CJK>
+D8EA 61C6 D8EA <CJK>
+D8EB 61BA D8EB <CJK>
+D8EC 61CB D8EC <CJK>
+D8ED 7F79 D8ED <CJK>
+D8EE 61CD D8EE <CJK>
+D8EF 61E6 D8EF <CJK>
+D8F0 61E3 D8F0 <CJK>
+D8F1 61F6 D8F1 <CJK>
+D8F2 61FA D8F2 <CJK>
+D8F3 61F4 D8F3 <CJK>
+D8F4 61FF D8F4 <CJK>
+D8F5 61FD D8F5 <CJK>
+D8F6 61FC D8F6 <CJK>
+D8F7 61FE D8F7 <CJK>
+D8F8 6200 D8F8 <CJK>
+D8F9 6208 D8F9 <CJK>
+D8FA 6209 D8FA <CJK>
+D8FB 620D D8FB <CJK>
+D8FC 620C D8FC <CJK>
+D8FD 6214 D8FD <CJK>
+D8FE 621B D8FE <CJK>
+D9A1 621E D9A1 <CJK>
+D9A2 6221 D9A2 <CJK>
+D9A3 622A D9A3 <CJK>
+D9A4 622E D9A4 <CJK>
+D9A5 6230 D9A5 <CJK>
+D9A6 6232 D9A6 <CJK>
+D9A7 6233 D9A7 <CJK>
+D9A8 6241 D9A8 <CJK>
+D9A9 624E D9A9 <CJK>
+D9AA 625E D9AA <CJK>
+D9AB 6263 D9AB <CJK>
+D9AC 625B D9AC <CJK>
+D9AD 6260 D9AD <CJK>
+D9AE 6268 D9AE <CJK>
+D9AF 627C D9AF <CJK>
+D9B0 6282 D9B0 <CJK>
+D9B1 6289 D9B1 <CJK>
+D9B2 627E D9B2 <CJK>
+D9B3 6292 D9B3 <CJK>
+D9B4 6293 D9B4 <CJK>
+D9B5 6296 D9B5 <CJK>
+D9B6 62D4 D9B6 <CJK>
+D9B7 6283 D9B7 <CJK>
+D9B8 6294 D9B8 <CJK>
+D9B9 62D7 D9B9 <CJK>
+D9BA 62D1 D9BA <CJK>
+D9BB 62BB D9BB <CJK>
+D9BC 62CF D9BC <CJK>
+D9BD 62FF D9BD <CJK>
+D9BE 62C6 D9BE <CJK>
+D9BF 64D4 D9BF <CJK>
+D9C0 62C8 D9C0 <CJK>
+D9C1 62DC D9C1 <CJK>
+D9C2 62CC D9C2 <CJK>
+D9C3 62CA D9C3 <CJK>
+D9C4 62C2 D9C4 <CJK>
+D9C5 62C7 D9C5 <CJK>
+D9C6 629B D9C6 <CJK>
+D9C7 62C9 D9C7 <CJK>
+D9C8 630C D9C8 <CJK>
+D9C9 62EE D9C9 <CJK>
+D9CA 62F1 D9CA <CJK>
+D9CB 6327 D9CB <CJK>
+D9CC 6302 D9CC <CJK>
+D9CD 6308 D9CD <CJK>
+D9CE 62EF D9CE <CJK>
+D9CF 62F5 D9CF <CJK>
+D9D0 6350 D9D0 <CJK>
+D9D1 633E D9D1 <CJK>
+D9D2 634D D9D2 <CJK>
+D9D3 641C D9D3 <CJK>
+D9D4 634F D9D4 <CJK>
+D9D5 6396 D9D5 <CJK>
+D9D6 638E D9D6 <CJK>
+D9D7 6380 D9D7 <CJK>
+D9D8 63AB D9D8 <CJK>
+D9D9 6376 D9D9 <CJK>
+D9DA 63A3 D9DA <CJK>
+D9DB 638F D9DB <CJK>
+D9DC 6389 D9DC <CJK>
+D9DD 639F D9DD <CJK>
+D9DE 63B5 D9DE <CJK>
+D9DF 636B D9DF <CJK>
+D9E0 6369 D9E0 <CJK>
+D9E1 63BE D9E1 <CJK>
+D9E2 63E9 D9E2 <CJK>
+D9E3 63C0 D9E3 <CJK>
+D9E4 63C6 D9E4 <CJK>
+D9E5 63E3 D9E5 <CJK>
+D9E6 63C9 D9E6 <CJK>
+D9E7 63D2 D9E7 <CJK>
+D9E8 63F6 D9E8 <CJK>
+D9E9 63C4 D9E9 <CJK>
+D9EA 6416 D9EA <CJK>
+D9EB 6434 D9EB <CJK>
+D9EC 6406 D9EC <CJK>
+D9ED 6413 D9ED <CJK>
+D9EE 6426 D9EE <CJK>
+D9EF 6436 D9EF <CJK>
+D9F0 651D D9F0 <CJK>
+D9F1 6417 D9F1 <CJK>
+D9F2 6428 D9F2 <CJK>
+D9F3 640F D9F3 <CJK>
+D9F4 6467 D9F4 <CJK>
+D9F5 646F D9F5 <CJK>
+D9F6 6476 D9F6 <CJK>
+D9F7 644E D9F7 <CJK>
+D9F8 652A D9F8 <CJK>
+D9F9 6495 D9F9 <CJK>
+D9FA 6493 D9FA <CJK>
+D9FB 64A5 D9FB <CJK>
+D9FC 64A9 D9FC <CJK>
+D9FD 6488 D9FD <CJK>
+D9FE 64BC D9FE <CJK>
+DAA1 64DA DAA1 <CJK>
+DAA2 64D2 DAA2 <CJK>
+DAA3 64C5 DAA3 <CJK>
+DAA4 64C7 DAA4 <CJK>
+DAA5 64BB DAA5 <CJK>
+DAA6 64D8 DAA6 <CJK>
+DAA7 64C2 DAA7 <CJK>
+DAA8 64F1 DAA8 <CJK>
+DAA9 64E7 DAA9 <CJK>
+DAAA 8209 DAAA <CJK>
+DAAB 64E0 DAAB <CJK>
+DAAC 64E1 DAAC <CJK>
+DAAD 62AC DAAD <CJK>
+DAAE 64E3 DAAE <CJK>
+DAAF 64EF DAAF <CJK>
+DAB0 652C DAB0 <CJK>
+DAB1 64F6 DAB1 <CJK>
+DAB2 64F4 DAB2 <CJK>
+DAB3 64F2 DAB3 <CJK>
+DAB4 64FA DAB4 <CJK>
+DAB5 6500 DAB5 <CJK>
+DAB6 64FD DAB6 <CJK>
+DAB7 6518 DAB7 <CJK>
+DAB8 651C DAB8 <CJK>
+DAB9 6505 DAB9 <CJK>
+DABA 6524 DABA <CJK>
+DABB 6523 DABB <CJK>
+DABC 652B DABC <CJK>
+DABD 6534 DABD <CJK>
+DABE 6535 DABE <CJK>
+DABF 6537 DABF <CJK>
+DAC0 6536 DAC0 <CJK>
+DAC1 6538 DAC1 <CJK>
+DAC2 754B DAC2 <CJK>
+DAC3 6548 DAC3 <CJK>
+DAC4 6556 DAC4 <CJK>
+DAC5 6555 DAC5 <CJK>
+DAC6 654D DAC6 <CJK>
+DAC7 6558 DAC7 <CJK>
+DAC8 655E DAC8 <CJK>
+DAC9 655D DAC9 <CJK>
+DACA 6572 DACA <CJK>
+DACB 6578 DACB <CJK>
+DACC 6582 DACC <CJK>
+DACD 6583 DACD <CJK>
+DACE 8B8A DACE <CJK>
+DACF 659B DACF <CJK>
+DAD0 659F DAD0 <CJK>
+DAD1 65AB DAD1 <CJK>
+DAD2 65B7 DAD2 <CJK>
+DAD3 65C3 DAD3 <CJK>
+DAD4 65C6 DAD4 <CJK>
+DAD5 65C1 DAD5 <CJK>
+DAD6 65C4 DAD6 <CJK>
+DAD7 65CC DAD7 <CJK>
+DAD8 65D2 DAD8 <CJK>
+DAD9 65DB DAD9 <CJK>
+DADA 65D9 DADA <CJK>
+DADB 65E0 DADB <CJK>
+DADC 65E1 DADC <CJK>
+DADD 65F1 DADD <CJK>
+DADE 6772 DADE <CJK>
+DADF 660A DADF <CJK>
+DAE0 6603 DAE0 <CJK>
+DAE1 65FB DAE1 <CJK>
+DAE2 6773 DAE2 <CJK>
+DAE3 6635 DAE3 <CJK>
+DAE4 6636 DAE4 <CJK>
+DAE5 6634 DAE5 <CJK>
+DAE6 661C DAE6 <CJK>
+DAE7 664F DAE7 <CJK>
+DAE8 6644 DAE8 <CJK>
+DAE9 6649 DAE9 <CJK>
+DAEA 6641 DAEA <CJK>
+DAEB 665E DAEB <CJK>
+DAEC 665D DAEC <CJK>
+DAED 6664 DAED <CJK>
+DAEE 6667 DAEE <CJK>
+DAEF 6668 DAEF <CJK>
+DAF0 665F DAF0 <CJK>
+DAF1 6662 DAF1 <CJK>
+DAF2 6670 DAF2 <CJK>
+DAF3 6683 DAF3 <CJK>
+DAF4 6688 DAF4 <CJK>
+DAF5 668E DAF5 <CJK>
+DAF6 6689 DAF6 <CJK>
+DAF7 6684 DAF7 <CJK>
+DAF8 6698 DAF8 <CJK>
+DAF9 669D DAF9 <CJK>
+DAFA 66C1 DAFA <CJK>
+DAFB 66B9 DAFB <CJK>
+DAFC 66C9 DAFC <CJK>
+DAFD 66BE DAFD <CJK>
+DAFE 66BC DAFE <CJK>
+DBA1 66C4 DBA1 <CJK>
+DBA2 66B8 DBA2 <CJK>
+DBA3 66D6 DBA3 <CJK>
+DBA4 66DA DBA4 <CJK>
+DBA5 66E0 DBA5 <CJK>
+DBA6 663F DBA6 <CJK>
+DBA7 66E6 DBA7 <CJK>
+DBA8 66E9 DBA8 <CJK>
+DBA9 66F0 DBA9 <CJK>
+DBAA 66F5 DBAA <CJK>
+DBAB 66F7 DBAB <CJK>
+DBAC 670F DBAC <CJK>
+DBAD 6716 DBAD <CJK>
+DBAE 671E DBAE <CJK>
+DBAF 6726 DBAF <CJK>
+DBB0 6727 DBB0 <CJK>
+DBB1 9738 DBB1 <CJK>
+DBB2 672E DBB2 <CJK>
+DBB3 673F DBB3 <CJK>
+DBB4 6736 DBB4 <CJK>
+DBB5 6741 DBB5 <CJK>
+DBB6 6738 DBB6 <CJK>
+DBB7 6737 DBB7 <CJK>
+DBB8 6746 DBB8 <CJK>
+DBB9 675E DBB9 <CJK>
+DBBA 6760 DBBA <CJK>
+DBBB 6759 DBBB <CJK>
+DBBC 6763 DBBC <CJK>
+DBBD 6764 DBBD <CJK>
+DBBE 6789 DBBE <CJK>
+DBBF 6770 DBBF <CJK>
+DBC0 67A9 DBC0 <CJK>
+DBC1 677C DBC1 <CJK>
+DBC2 676A DBC2 <CJK>
+DBC3 678C DBC3 <CJK>
+DBC4 678B DBC4 <CJK>
+DBC5 67A6 DBC5 <CJK>
+DBC6 67A1 DBC6 <CJK>
+DBC7 6785 DBC7 <CJK>
+DBC8 67B7 DBC8 <CJK>
+DBC9 67EF DBC9 <CJK>
+DBCA 67B4 DBCA <CJK>
+DBCB 67EC DBCB <CJK>
+DBCC 67B3 DBCC <CJK>
+DBCD 67E9 DBCD <CJK>
+DBCE 67B8 DBCE <CJK>
+DBCF 67E4 DBCF <CJK>
+DBD0 67DE DBD0 <CJK>
+DBD1 67DD DBD1 <CJK>
+DBD2 67E2 DBD2 <CJK>
+DBD3 67EE DBD3 <CJK>
+DBD4 67B9 DBD4 <CJK>
+DBD5 67CE DBD5 <CJK>
+DBD6 67C6 DBD6 <CJK>
+DBD7 67E7 DBD7 <CJK>
+DBD8 6A9C DBD8 <CJK>
+DBD9 681E DBD9 <CJK>
+DBDA 6846 DBDA <CJK>
+DBDB 6829 DBDB <CJK>
+DBDC 6840 DBDC <CJK>
+DBDD 684D DBDD <CJK>
+DBDE 6832 DBDE <CJK>
+DBDF 684E DBDF <CJK>
+DBE0 68B3 DBE0 <CJK>
+DBE1 682B DBE1 <CJK>
+DBE2 6859 DBE2 <CJK>
+DBE3 6863 DBE3 <CJK>
+DBE4 6877 DBE4 <CJK>
+DBE5 687F DBE5 <CJK>
+DBE6 689F DBE6 <CJK>
+DBE7 688F DBE7 <CJK>
+DBE8 68AD DBE8 <CJK>
+DBE9 6894 DBE9 <CJK>
+DBEA 689D DBEA <CJK>
+DBEB 689B DBEB <CJK>
+DBEC 6883 DBEC <CJK>
+DBED 6AAE DBED <CJK>
+DBEE 68B9 DBEE <CJK>
+DBEF 6874 DBEF <CJK>
+DBF0 68B5 DBF0 <CJK>
+DBF1 68A0 DBF1 <CJK>
+DBF2 68BA DBF2 <CJK>
+DBF3 690F DBF3 <CJK>
+DBF4 688D DBF4 <CJK>
+DBF5 687E DBF5 <CJK>
+DBF6 6901 DBF6 <CJK>
+DBF7 68CA DBF7 <CJK>
+DBF8 6908 DBF8 <CJK>
+DBF9 68D8 DBF9 <CJK>
+DBFA 6922 DBFA <CJK>
+DBFB 6926 DBFB <CJK>
+DBFC 68E1 DBFC <CJK>
+DBFD 690C DBFD <CJK>
+DBFE 68CD DBFE <CJK>
+DCA1 68D4 DCA1 <CJK>
+DCA2 68E7 DCA2 <CJK>
+DCA3 68D5 DCA3 <CJK>
+DCA4 6936 DCA4 <CJK>
+DCA5 6912 DCA5 <CJK>
+DCA6 6904 DCA6 <CJK>
+DCA7 68D7 DCA7 <CJK>
+DCA8 68E3 DCA8 <CJK>
+DCA9 6925 DCA9 <CJK>
+DCAA 68F9 DCAA <CJK>
+DCAB 68E0 DCAB <CJK>
+DCAC 68EF DCAC <CJK>
+DCAD 6928 DCAD <CJK>
+DCAE 692A DCAE <CJK>
+DCAF 691A DCAF <CJK>
+DCB0 6923 DCB0 <CJK>
+DCB1 6921 DCB1 <CJK>
+DCB2 68C6 DCB2 <CJK>
+DCB3 6979 DCB3 <CJK>
+DCB4 6977 DCB4 <CJK>
+DCB5 695C DCB5 <CJK>
+DCB6 6978 DCB6 <CJK>
+DCB7 696B DCB7 <CJK>
+DCB8 6954 DCB8 <CJK>
+DCB9 697E DCB9 <CJK>
+DCBA 696E DCBA <CJK>
+DCBB 6939 DCBB <CJK>
+DCBC 6974 DCBC <CJK>
+DCBD 693D DCBD <CJK>
+DCBE 6959 DCBE <CJK>
+DCBF 6930 DCBF <CJK>
+DCC0 6961 DCC0 <CJK>
+DCC1 695E DCC1 <CJK>
+DCC2 695D DCC2 <CJK>
+DCC3 6981 DCC3 <CJK>
+DCC4 696A DCC4 <CJK>
+DCC5 69B2 DCC5 <CJK>
+DCC6 69AE DCC6 <CJK>
+DCC7 69D0 DCC7 <CJK>
+DCC8 69BF DCC8 <CJK>
+DCC9 69C1 DCC9 <CJK>
+DCCA 69D3 DCCA <CJK>
+DCCB 69BE DCCB <CJK>
+DCCC 69CE DCCC <CJK>
+DCCD 5BE8 DCCD <CJK>
+DCCE 69CA DCCE <CJK>
+DCCF 69DD DCCF <CJK>
+DCD0 69BB DCD0 <CJK>
+DCD1 69C3 DCD1 <CJK>
+DCD2 69A7 DCD2 <CJK>
+DCD3 6A2E DCD3 <CJK>
+DCD4 6991 DCD4 <CJK>
+DCD5 69A0 DCD5 <CJK>
+DCD6 699C DCD6 <CJK>
+DCD7 6995 DCD7 <CJK>
+DCD8 69B4 DCD8 <CJK>
+DCD9 69DE DCD9 <CJK>
+DCDA 69E8 DCDA <CJK>
+DCDB 6A02 DCDB <CJK>
+DCDC 6A1B DCDC <CJK>
+DCDD 69FF DCDD <CJK>
+DCDE 6B0A DCDE <CJK>
+DCDF 69F9 DCDF <CJK>
+DCE0 69F2 DCE0 <CJK>
+DCE1 69E7 DCE1 <CJK>
+DCE2 6A05 DCE2 <CJK>
+DCE3 69B1 DCE3 <CJK>
+DCE4 6A1E DCE4 <CJK>
+DCE5 69ED DCE5 <CJK>
+DCE6 6A14 DCE6 <CJK>
+DCE7 69EB DCE7 <CJK>
+DCE8 6A0A DCE8 <CJK>
+DCE9 6A12 DCE9 <CJK>
+DCEA 6AC1 DCEA <CJK>
+DCEB 6A23 DCEB <CJK>
+DCEC 6A13 DCEC <CJK>
+DCED 6A44 DCED <CJK>
+DCEE 6A0C DCEE <CJK>
+DCEF 6A72 DCEF <CJK>
+DCF0 6A36 DCF0 <CJK>
+DCF1 6A78 DCF1 <CJK>
+DCF2 6A47 DCF2 <CJK>
+DCF3 6A62 DCF3 <CJK>
+DCF4 6A59 DCF4 <CJK>
+DCF5 6A66 DCF5 <CJK>
+DCF6 6A48 DCF6 <CJK>
+DCF7 6A38 DCF7 <CJK>
+DCF8 6A22 DCF8 <CJK>
+DCF9 6A90 DCF9 <CJK>
+DCFA 6A8D DCFA <CJK>
+DCFB 6AA0 DCFB <CJK>
+DCFC 6A84 DCFC <CJK>
+DCFD 6AA2 DCFD <CJK>
+DCFE 6AA3 DCFE <CJK>
+DDA1 6A97 DDA1 <CJK>
+DDA2 8617 DDA2 <CJK>
+DDA3 6ABB DDA3 <CJK>
+DDA4 6AC3 DDA4 <CJK>
+DDA5 6AC2 DDA5 <CJK>
+DDA6 6AB8 DDA6 <CJK>
+DDA7 6AB3 DDA7 <CJK>
+DDA8 6AAC DDA8 <CJK>
+DDA9 6ADE DDA9 <CJK>
+DDAA 6AD1 DDAA <CJK>
+DDAB 6ADF DDAB <CJK>
+DDAC 6AAA DDAC <CJK>
+DDAD 6ADA DDAD <CJK>
+DDAE 6AEA DDAE <CJK>
+DDAF 6AFB DDAF <CJK>
+DDB0 6B05 DDB0 <CJK>
+DDB1 8616 DDB1 <CJK>
+DDB2 6AFA DDB2 <CJK>
+DDB3 6B12 DDB3 <CJK>
+DDB4 6B16 DDB4 <CJK>
+DDB5 9B31 DDB5 <CJK>
+DDB6 6B1F DDB6 <CJK>
+DDB7 6B38 DDB7 <CJK>
+DDB8 6B37 DDB8 <CJK>
+DDB9 76DC DDB9 <CJK>
+DDBA 6B39 DDBA <CJK>
+DDBB 98EE DDBB <CJK>
+DDBC 6B47 DDBC <CJK>
+DDBD 6B43 DDBD <CJK>
+DDBE 6B49 DDBE <CJK>
+DDBF 6B50 DDBF <CJK>
+DDC0 6B59 DDC0 <CJK>
+DDC1 6B54 DDC1 <CJK>
+DDC2 6B5B DDC2 <CJK>
+DDC3 6B5F DDC3 <CJK>
+DDC4 6B61 DDC4 <CJK>
+DDC5 6B78 DDC5 <CJK>
+DDC6 6B79 DDC6 <CJK>
+DDC7 6B7F DDC7 <CJK>
+DDC8 6B80 DDC8 <CJK>
+DDC9 6B84 DDC9 <CJK>
+DDCA 6B83 DDCA <CJK>
+DDCB 6B8D DDCB <CJK>
+DDCC 6B98 DDCC <CJK>
+DDCD 6B95 DDCD <CJK>
+DDCE 6B9E DDCE <CJK>
+DDCF 6BA4 DDCF <CJK>
+DDD0 6BAA DDD0 <CJK>
+DDD1 6BAB DDD1 <CJK>
+DDD2 6BAF DDD2 <CJK>
+DDD3 6BB2 DDD3 <CJK>
+DDD4 6BB1 DDD4 <CJK>
+DDD5 6BB3 DDD5 <CJK>
+DDD6 6BB7 DDD6 <CJK>
+DDD7 6BBC DDD7 <CJK>
+DDD8 6BC6 DDD8 <CJK>
+DDD9 6BCB DDD9 <CJK>
+DDDA 6BD3 DDDA <CJK>
+DDDB 6BDF DDDB <CJK>
+DDDC 6BEC DDDC <CJK>
+DDDD 6BEB DDDD <CJK>
+DDDE 6BF3 DDDE <CJK>
+DDDF 6BEF DDDF <CJK>
+DDE0 9EBE DDE0 <CJK>
+DDE1 6C08 DDE1 <CJK>
+DDE2 6C13 DDE2 <CJK>
+DDE3 6C14 DDE3 <CJK>
+DDE4 6C1B DDE4 <CJK>
+DDE5 6C24 DDE5 <CJK>
+DDE6 6C23 DDE6 <CJK>
+DDE7 6C5E DDE7 <CJK>
+DDE8 6C55 DDE8 <CJK>
+DDE9 6C62 DDE9 <CJK>
+DDEA 6C6A DDEA <CJK>
+DDEB 6C82 DDEB <CJK>
+DDEC 6C8D DDEC <CJK>
+DDED 6C9A DDED <CJK>
+DDEE 6C81 DDEE <CJK>
+DDEF 6C9B DDEF <CJK>
+DDF0 6C7E DDF0 <CJK>
+DDF1 6C68 DDF1 <CJK>
+DDF2 6C73 DDF2 <CJK>
+DDF3 6C92 DDF3 <CJK>
+DDF4 6C90 DDF4 <CJK>
+DDF5 6CC4 DDF5 <CJK>
+DDF6 6CF1 DDF6 <CJK>
+DDF7 6CD3 DDF7 <CJK>
+DDF8 6CBD DDF8 <CJK>
+DDF9 6CD7 DDF9 <CJK>
+DDFA 6CC5 DDFA <CJK>
+DDFB 6CDD DDFB <CJK>
+DDFC 6CAE DDFC <CJK>
+DDFD 6CB1 DDFD <CJK>
+DDFE 6CBE DDFE <CJK>
+DEA1 6CBA DEA1 <CJK>
+DEA2 6CDB DEA2 <CJK>
+DEA3 6CEF DEA3 <CJK>
+DEA4 6CD9 DEA4 <CJK>
+DEA5 6CEA DEA5 <CJK>
+DEA6 6D1F DEA6 <CJK>
+DEA7 884D DEA7 <CJK>
+DEA8 6D36 DEA8 <CJK>
+DEA9 6D2B DEA9 <CJK>
+DEAA 6D3D DEAA <CJK>
+DEAB 6D38 DEAB <CJK>
+DEAC 6D19 DEAC <CJK>
+DEAD 6D35 DEAD <CJK>
+DEAE 6D33 DEAE <CJK>
+DEAF 6D12 DEAF <CJK>
+DEB0 6D0C DEB0 <CJK>
+DEB1 6D63 DEB1 <CJK>
+DEB2 6D93 DEB2 <CJK>
+DEB3 6D64 DEB3 <CJK>
+DEB4 6D5A DEB4 <CJK>
+DEB5 6D79 DEB5 <CJK>
+DEB6 6D59 DEB6 <CJK>
+DEB7 6D8E DEB7 <CJK>
+DEB8 6D95 DEB8 <CJK>
+DEB9 6FE4 DEB9 <CJK>
+DEBA 6D85 DEBA <CJK>
+DEBB 6DF9 DEBB <CJK>
+DEBC 6E15 DEBC <CJK>
+DEBD 6E0A DEBD <CJK>
+DEBE 6DB5 DEBE <CJK>
+DEBF 6DC7 DEBF <CJK>
+DEC0 6DE6 DEC0 <CJK>
+DEC1 6DB8 DEC1 <CJK>
+DEC2 6DC6 DEC2 <CJK>
+DEC3 6DEC DEC3 <CJK>
+DEC4 6DDE DEC4 <CJK>
+DEC5 6DCC DEC5 <CJK>
+DEC6 6DE8 DEC6 <CJK>
+DEC7 6DD2 DEC7 <CJK>
+DEC8 6DC5 DEC8 <CJK>
+DEC9 6DFA DEC9 <CJK>
+DECA 6DD9 DECA <CJK>
+DECB 6DE4 DECB <CJK>
+DECC 6DD5 DECC <CJK>
+DECD 6DEA DECD <CJK>
+DECE 6DEE DECE <CJK>
+DECF 6E2D DECF <CJK>
+DED0 6E6E DED0 <CJK>
+DED1 6E2E DED1 <CJK>
+DED2 6E19 DED2 <CJK>
+DED3 6E72 DED3 <CJK>
+DED4 6E5F DED4 <CJK>
+DED5 6E3E DED5 <CJK>
+DED6 6E23 DED6 <CJK>
+DED7 6E6B DED7 <CJK>
+DED8 6E2B DED8 <CJK>
+DED9 6E76 DED9 <CJK>
+DEDA 6E4D DEDA <CJK>
+DEDB 6E1F DEDB <CJK>
+DEDC 6E43 DEDC <CJK>
+DEDD 6E3A DEDD <CJK>
+DEDE 6E4E DEDE <CJK>
+DEDF 6E24 DEDF <CJK>
+DEE0 6EFF DEE0 <CJK>
+DEE1 6E1D DEE1 <CJK>
+DEE2 6E38 DEE2 <CJK>
+DEE3 6E82 DEE3 <CJK>
+DEE4 6EAA DEE4 <CJK>
+DEE5 6E98 DEE5 <CJK>
+DEE6 6EC9 DEE6 <CJK>
+DEE7 6EB7 DEE7 <CJK>
+DEE8 6ED3 DEE8 <CJK>
+DEE9 6EBD DEE9 <CJK>
+DEEA 6EAF DEEA <CJK>
+DEEB 6EC4 DEEB <CJK>
+DEEC 6EB2 DEEC <CJK>
+DEED 6ED4 DEED <CJK>
+DEEE 6ED5 DEEE <CJK>
+DEEF 6E8F DEEF <CJK>
+DEF0 6EA5 DEF0 <CJK>
+DEF1 6EC2 DEF1 <CJK>
+DEF2 6E9F DEF2 <CJK>
+DEF3 6F41 DEF3 <CJK>
+DEF4 6F11 DEF4 <CJK>
+DEF5 704C DEF5 <CJK>
+DEF6 6EEC DEF6 <CJK>
+DEF7 6EF8 DEF7 <CJK>
+DEF8 6EFE DEF8 <CJK>
+DEF9 6F3F DEF9 <CJK>
+DEFA 6EF2 DEFA <CJK>
+DEFB 6F31 DEFB <CJK>
+DEFC 6EEF DEFC <CJK>
+DEFD 6F32 DEFD <CJK>
+DEFE 6ECC DEFE <CJK>
+DFA1 6F3E DFA1 <CJK>
+DFA2 6F13 DFA2 <CJK>
+DFA3 6EF7 DFA3 <CJK>
+DFA4 6F86 DFA4 <CJK>
+DFA5 6F7A DFA5 <CJK>
+DFA6 6F78 DFA6 <CJK>
+DFA7 6F81 DFA7 <CJK>
+DFA8 6F80 DFA8 <CJK>
+DFA9 6F6F DFA9 <CJK>
+DFAA 6F5B DFAA <CJK>
+DFAB 6FF3 DFAB <CJK>
+DFAC 6F6D DFAC <CJK>
+DFAD 6F82 DFAD <CJK>
+DFAE 6F7C DFAE <CJK>
+DFAF 6F58 DFAF <CJK>
+DFB0 6F8E DFB0 <CJK>
+DFB1 6F91 DFB1 <CJK>
+DFB2 6FC2 DFB2 <CJK>
+DFB3 6F66 DFB3 <CJK>
+DFB4 6FB3 DFB4 <CJK>
+DFB5 6FA3 DFB5 <CJK>
+DFB6 6FA1 DFB6 <CJK>
+DFB7 6FA4 DFB7 <CJK>
+DFB8 6FB9 DFB8 <CJK>
+DFB9 6FC6 DFB9 <CJK>
+DFBA 6FAA DFBA <CJK>
+DFBB 6FDF DFBB <CJK>
+DFBC 6FD5 DFBC <CJK>
+DFBD 6FEC DFBD <CJK>
+DFBE 6FD4 DFBE <CJK>
+DFBF 6FD8 DFBF <CJK>
+DFC0 6FF1 DFC0 <CJK>
+DFC1 6FEE DFC1 <CJK>
+DFC2 6FDB DFC2 <CJK>
+DFC3 7009 DFC3 <CJK>
+DFC4 700B DFC4 <CJK>
+DFC5 6FFA DFC5 <CJK>
+DFC6 7011 DFC6 <CJK>
+DFC7 7001 DFC7 <CJK>
+DFC8 700F DFC8 <CJK>
+DFC9 6FFE DFC9 <CJK>
+DFCA 701B DFCA <CJK>
+DFCB 701A DFCB <CJK>
+DFCC 6F74 DFCC <CJK>
+DFCD 701D DFCD <CJK>
+DFCE 7018 DFCE <CJK>
+DFCF 701F DFCF <CJK>
+DFD0 7030 DFD0 <CJK>
+DFD1 703E DFD1 <CJK>
+DFD2 7032 DFD2 <CJK>
+DFD3 7051 DFD3 <CJK>
+DFD4 7063 DFD4 <CJK>
+DFD5 7099 DFD5 <CJK>
+DFD6 7092 DFD6 <CJK>
+DFD7 70AF DFD7 <CJK>
+DFD8 70F1 DFD8 <CJK>
+DFD9 70AC DFD9 <CJK>
+DFDA 70B8 DFDA <CJK>
+DFDB 70B3 DFDB <CJK>
+DFDC 70AE DFDC <CJK>
+DFDD 70DF DFDD <CJK>
+DFDE 70CB DFDE <CJK>
+DFDF 70DD DFDF <CJK>
+DFE0 70D9 DFE0 <CJK>
+DFE1 7109 DFE1 <CJK>
+DFE2 70FD DFE2 <CJK>
+DFE3 711C DFE3 <CJK>
+DFE4 7119 DFE4 <CJK>
+DFE5 7165 DFE5 <CJK>
+DFE6 7155 DFE6 <CJK>
+DFE7 7188 DFE7 <CJK>
+DFE8 7166 DFE8 <CJK>
+DFE9 7162 DFE9 <CJK>
+DFEA 714C DFEA <CJK>
+DFEB 7156 DFEB <CJK>
+DFEC 716C DFEC <CJK>
+DFED 718F DFED <CJK>
+DFEE 71FB DFEE <CJK>
+DFEF 7184 DFEF <CJK>
+DFF0 7195 DFF0 <CJK>
+DFF1 71A8 DFF1 <CJK>
+DFF2 71AC DFF2 <CJK>
+DFF3 71D7 DFF3 <CJK>
+DFF4 71B9 DFF4 <CJK>
+DFF5 71BE DFF5 <CJK>
+DFF6 71D2 DFF6 <CJK>
+DFF7 71C9 DFF7 <CJK>
+DFF8 71D4 DFF8 <CJK>
+DFF9 71CE DFF9 <CJK>
+DFFA 71E0 DFFA <CJK>
+DFFB 71EC DFFB <CJK>
+DFFC 71E7 DFFC <CJK>
+DFFD 71F5 DFFD <CJK>
+DFFE 71FC DFFE <CJK>
+E0A1 71F9 E0A1 <CJK>
+E0A2 71FF E0A2 <CJK>
+E0A3 720D E0A3 <CJK>
+E0A4 7210 E0A4 <CJK>
+E0A5 721B E0A5 <CJK>
+E0A6 7228 E0A6 <CJK>
+E0A7 722D E0A7 <CJK>
+E0A8 722C E0A8 <CJK>
+E0A9 7230 E0A9 <CJK>
+E0AA 7232 E0AA <CJK>
+E0AB 723B E0AB <CJK>
+E0AC 723C E0AC <CJK>
+E0AD 723F E0AD <CJK>
+E0AE 7240 E0AE <CJK>
+E0AF 7246 E0AF <CJK>
+E0B0 724B E0B0 <CJK>
+E0B1 7258 E0B1 <CJK>
+E0B2 7274 E0B2 <CJK>
+E0B3 727E E0B3 <CJK>
+E0B4 7282 E0B4 <CJK>
+E0B5 7281 E0B5 <CJK>
+E0B6 7287 E0B6 <CJK>
+E0B7 7292 E0B7 <CJK>
+E0B8 7296 E0B8 <CJK>
+E0B9 72A2 E0B9 <CJK>
+E0BA 72A7 E0BA <CJK>
+E0BB 72B9 E0BB <CJK>
+E0BC 72B2 E0BC <CJK>
+E0BD 72C3 E0BD <CJK>
+E0BE 72C6 E0BE <CJK>
+E0BF 72C4 E0BF <CJK>
+E0C0 72CE E0C0 <CJK>
+E0C1 72D2 E0C1 <CJK>
+E0C2 72E2 E0C2 <CJK>
+E0C3 72E0 E0C3 <CJK>
+E0C4 72E1 E0C4 <CJK>
+E0C5 72F9 E0C5 <CJK>
+E0C6 72F7 E0C6 <CJK>
+E0C7 500F E0C7 <CJK>
+E0C8 7317 E0C8 <CJK>
+E0C9 730A E0C9 <CJK>
+E0CA 731C E0CA <CJK>
+E0CB 7316 E0CB <CJK>
+E0CC 731D E0CC <CJK>
+E0CD 7334 E0CD <CJK>
+E0CE 732F E0CE <CJK>
+E0CF 7329 E0CF <CJK>
+E0D0 7325 E0D0 <CJK>
+E0D1 733E E0D1 <CJK>
+E0D2 734E E0D2 <CJK>
+E0D3 734F E0D3 <CJK>
+E0D4 9ED8 E0D4 <CJK>
+E0D5 7357 E0D5 <CJK>
+E0D6 736A E0D6 <CJK>
+E0D7 7368 E0D7 <CJK>
+E0D8 7370 E0D8 <CJK>
+E0D9 7378 E0D9 <CJK>
+E0DA 7375 E0DA <CJK>
+E0DB 737B E0DB <CJK>
+E0DC 737A E0DC <CJK>
+E0DD 73C8 E0DD <CJK>
+E0DE 73B3 E0DE <CJK>
+E0DF 73CE E0DF <CJK>
+E0E0 73BB E0E0 <CJK>
+E0E1 73C0 E0E1 <CJK>
+E0E2 73E5 E0E2 <CJK>
+E0E3 73EE E0E3 <CJK>
+E0E4 73DE E0E4 <CJK>
+E0E5 74A2 E0E5 <CJK>
+E0E6 7405 E0E6 <CJK>
+E0E7 746F E0E7 <CJK>
+E0E8 7425 E0E8 <CJK>
+E0E9 73F8 E0E9 <CJK>
+E0EA 7432 E0EA <CJK>
+E0EB 743A E0EB <CJK>
+E0EC 7455 E0EC <CJK>
+E0ED 743F E0ED <CJK>
+E0EE 745F E0EE <CJK>
+E0EF 7459 E0EF <CJK>
+E0F0 7441 E0F0 <CJK>
+E0F1 745C E0F1 <CJK>
+E0F2 7469 E0F2 <CJK>
+E0F3 7470 E0F3 <CJK>
+E0F4 7463 E0F4 <CJK>
+E0F5 746A E0F5 <CJK>
+E0F6 7476 E0F6 <CJK>
+E0F7 747E E0F7 <CJK>
+E0F8 748B E0F8 <CJK>
+E0F9 749E E0F9 <CJK>
+E0FA 74A7 E0FA <CJK>
+E0FB 74CA E0FB <CJK>
+E0FC 74CF E0FC <CJK>
+E0FD 74D4 E0FD <CJK>
+E0FE 73F1 E0FE <CJK>
+E1A1 74E0 E1A1 <CJK>
+E1A2 74E3 E1A2 <CJK>
+E1A3 74E7 E1A3 <CJK>
+E1A4 74E9 E1A4 <CJK>
+E1A5 74EE E1A5 <CJK>
+E1A6 74F2 E1A6 <CJK>
+E1A7 74F0 E1A7 <CJK>
+E1A8 74F1 E1A8 <CJK>
+E1A9 74F8 E1A9 <CJK>
+E1AA 74F7 E1AA <CJK>
+E1AB 7504 E1AB <CJK>
+E1AC 7503 E1AC <CJK>
+E1AD 7505 E1AD <CJK>
+E1AE 750C E1AE <CJK>
+E1AF 750E E1AF <CJK>
+E1B0 750D E1B0 <CJK>
+E1B1 7515 E1B1 <CJK>
+E1B2 7513 E1B2 <CJK>
+E1B3 751E E1B3 <CJK>
+E1B4 7526 E1B4 <CJK>
+E1B5 752C E1B5 <CJK>
+E1B6 753C E1B6 <CJK>
+E1B7 7544 E1B7 <CJK>
+E1B8 754D E1B8 <CJK>
+E1B9 754A E1B9 <CJK>
+E1BA 7549 E1BA <CJK>
+E1BB 755B E1BB <CJK>
+E1BC 7546 E1BC <CJK>
+E1BD 755A E1BD <CJK>
+E1BE 7569 E1BE <CJK>
+E1BF 7564 E1BF <CJK>
+E1C0 7567 E1C0 <CJK>
+E1C1 756B E1C1 <CJK>
+E1C2 756D E1C2 <CJK>
+E1C3 7578 E1C3 <CJK>
+E1C4 7576 E1C4 <CJK>
+E1C5 7586 E1C5 <CJK>
+E1C6 7587 E1C6 <CJK>
+E1C7 7574 E1C7 <CJK>
+E1C8 758A E1C8 <CJK>
+E1C9 7589 E1C9 <CJK>
+E1CA 7582 E1CA <CJK>
+E1CB 7594 E1CB <CJK>
+E1CC 759A E1CC <CJK>
+E1CD 759D E1CD <CJK>
+E1CE 75A5 E1CE <CJK>
+E1CF 75A3 E1CF <CJK>
+E1D0 75C2 E1D0 <CJK>
+E1D1 75B3 E1D1 <CJK>
+E1D2 75C3 E1D2 <CJK>
+E1D3 75B5 E1D3 <CJK>
+E1D4 75BD E1D4 <CJK>
+E1D5 75B8 E1D5 <CJK>
+E1D6 75BC E1D6 <CJK>
+E1D7 75B1 E1D7 <CJK>
+E1D8 75CD E1D8 <CJK>
+E1D9 75CA E1D9 <CJK>
+E1DA 75D2 E1DA <CJK>
+E1DB 75D9 E1DB <CJK>
+E1DC 75E3 E1DC <CJK>
+E1DD 75DE E1DD <CJK>
+E1DE 75FE E1DE <CJK>
+E1DF 75FF E1DF <CJK>
+E1E0 75FC E1E0 <CJK>
+E1E1 7601 E1E1 <CJK>
+E1E2 75F0 E1E2 <CJK>
+E1E3 75FA E1E3 <CJK>
+E1E4 75F2 E1E4 <CJK>
+E1E5 75F3 E1E5 <CJK>
+E1E6 760B E1E6 <CJK>
+E1E7 760D E1E7 <CJK>
+E1E8 7609 E1E8 <CJK>
+E1E9 761F E1E9 <CJK>
+E1EA 7627 E1EA <CJK>
+E1EB 7620 E1EB <CJK>
+E1EC 7621 E1EC <CJK>
+E1ED 7622 E1ED <CJK>
+E1EE 7624 E1EE <CJK>
+E1EF 7634 E1EF <CJK>
+E1F0 7630 E1F0 <CJK>
+E1F1 763B E1F1 <CJK>
+E1F2 7647 E1F2 <CJK>
+E1F3 7648 E1F3 <CJK>
+E1F4 7646 E1F4 <CJK>
+E1F5 765C E1F5 <CJK>
+E1F6 7658 E1F6 <CJK>
+E1F7 7661 E1F7 <CJK>
+E1F8 7662 E1F8 <CJK>
+E1F9 7668 E1F9 <CJK>
+E1FA 7669 E1FA <CJK>
+E1FB 766A E1FB <CJK>
+E1FC 7667 E1FC <CJK>
+E1FD 766C E1FD <CJK>
+E1FE 7670 E1FE <CJK>
+E2A1 7672 E2A1 <CJK>
+E2A2 7676 E2A2 <CJK>
+E2A3 7678 E2A3 <CJK>
+E2A4 767C E2A4 <CJK>
+E2A5 7680 E2A5 <CJK>
+E2A6 7683 E2A6 <CJK>
+E2A7 7688 E2A7 <CJK>
+E2A8 768B E2A8 <CJK>
+E2A9 768E E2A9 <CJK>
+E2AA 7696 E2AA <CJK>
+E2AB 7693 E2AB <CJK>
+E2AC 7699 E2AC <CJK>
+E2AD 769A E2AD <CJK>
+E2AE 76B0 E2AE <CJK>
+E2AF 76B4 E2AF <CJK>
+E2B0 76B8 E2B0 <CJK>
+E2B1 76B9 E2B1 <CJK>
+E2B2 76BA E2B2 <CJK>
+E2B3 76C2 E2B3 <CJK>
+E2B4 76CD E2B4 <CJK>
+E2B5 76D6 E2B5 <CJK>
+E2B6 76D2 E2B6 <CJK>
+E2B7 76DE E2B7 <CJK>
+E2B8 76E1 E2B8 <CJK>
+E2B9 76E5 E2B9 <CJK>
+E2BA 76E7 E2BA <CJK>
+E2BB 76EA E2BB <CJK>
+E2BC 862F E2BC <CJK>
+E2BD 76FB E2BD <CJK>
+E2BE 7708 E2BE <CJK>
+E2BF 7707 E2BF <CJK>
+E2C0 7704 E2C0 <CJK>
+E2C1 7729 E2C1 <CJK>
+E2C2 7724 E2C2 <CJK>
+E2C3 771E E2C3 <CJK>
+E2C4 7725 E2C4 <CJK>
+E2C5 7726 E2C5 <CJK>
+E2C6 771B E2C6 <CJK>
+E2C7 7737 E2C7 <CJK>
+E2C8 7738 E2C8 <CJK>
+E2C9 7747 E2C9 <CJK>
+E2CA 775A E2CA <CJK>
+E2CB 7768 E2CB <CJK>
+E2CC 776B E2CC <CJK>
+E2CD 775B E2CD <CJK>
+E2CE 7765 E2CE <CJK>
+E2CF 777F E2CF <CJK>
+E2D0 777E E2D0 <CJK>
+E2D1 7779 E2D1 <CJK>
+E2D2 778E E2D2 <CJK>
+E2D3 778B E2D3 <CJK>
+E2D4 7791 E2D4 <CJK>
+E2D5 77A0 E2D5 <CJK>
+E2D6 779E E2D6 <CJK>
+E2D7 77B0 E2D7 <CJK>
+E2D8 77B6 E2D8 <CJK>
+E2D9 77B9 E2D9 <CJK>
+E2DA 77BF E2DA <CJK>
+E2DB 77BC E2DB <CJK>
+E2DC 77BD E2DC <CJK>
+E2DD 77BB E2DD <CJK>
+E2DE 77C7 E2DE <CJK>
+E2DF 77CD E2DF <CJK>
+E2E0 77D7 E2E0 <CJK>
+E2E1 77DA E2E1 <CJK>
+E2E2 77DC E2E2 <CJK>
+E2E3 77E3 E2E3 <CJK>
+E2E4 77EE E2E4 <CJK>
+E2E5 77FC E2E5 <CJK>
+E2E6 780C E2E6 <CJK>
+E2E7 7812 E2E7 <CJK>
+E2E8 7926 E2E8 <CJK>
+E2E9 7820 E2E9 <CJK>
+E2EA 792A E2EA <CJK>
+E2EB 7845 E2EB <CJK>
+E2EC 788E E2EC <CJK>
+E2ED 7874 E2ED <CJK>
+E2EE 7886 E2EE <CJK>
+E2EF 787C E2EF <CJK>
+E2F0 789A E2F0 <CJK>
+E2F1 788C E2F1 <CJK>
+E2F2 78A3 E2F2 <CJK>
+E2F3 78B5 E2F3 <CJK>
+E2F4 78AA E2F4 <CJK>
+E2F5 78AF E2F5 <CJK>
+E2F6 78D1 E2F6 <CJK>
+E2F7 78C6 E2F7 <CJK>
+E2F8 78CB E2F8 <CJK>
+E2F9 78D4 E2F9 <CJK>
+E2FA 78BE E2FA <CJK>
+E2FB 78BC E2FB <CJK>
+E2FC 78C5 E2FC <CJK>
+E2FD 78CA E2FD <CJK>
+E2FE 78EC E2FE <CJK>
+E3A1 78E7 E3A1 <CJK>
+E3A2 78DA E3A2 <CJK>
+E3A3 78FD E3A3 <CJK>
+E3A4 78F4 E3A4 <CJK>
+E3A5 7907 E3A5 <CJK>
+E3A6 7912 E3A6 <CJK>
+E3A7 7911 E3A7 <CJK>
+E3A8 7919 E3A8 <CJK>
+E3A9 792C E3A9 <CJK>
+E3AA 792B E3AA <CJK>
+E3AB 7940 E3AB <CJK>
+E3AC 7960 E3AC <CJK>
+E3AD 7957 E3AD <CJK>
+E3AE 795F E3AE <CJK>
+E3AF 795A E3AF <CJK>
+E3B0 7955 E3B0 <CJK>
+E3B1 7953 E3B1 <CJK>
+E3B2 797A E3B2 <CJK>
+E3B3 797F E3B3 <CJK>
+E3B4 798A E3B4 <CJK>
+E3B5 799D E3B5 <CJK>
+E3B6 79A7 E3B6 <CJK>
+E3B7 9F4B E3B7 <CJK>
+E3B8 79AA E3B8 <CJK>
+E3B9 79AE E3B9 <CJK>
+E3BA 79B3 E3BA <CJK>
+E3BB 79B9 E3BB <CJK>
+E3BC 79BA E3BC <CJK>
+E3BD 79C9 E3BD <CJK>
+E3BE 79D5 E3BE <CJK>
+E3BF 79E7 E3BF <CJK>
+E3C0 79EC E3C0 <CJK>
+E3C1 79E1 E3C1 <CJK>
+E3C2 79E3 E3C2 <CJK>
+E3C3 7A08 E3C3 <CJK>
+E3C4 7A0D E3C4 <CJK>
+E3C5 7A18 E3C5 <CJK>
+E3C6 7A19 E3C6 <CJK>
+E3C7 7A20 E3C7 <CJK>
+E3C8 7A1F E3C8 <CJK>
+E3C9 7980 E3C9 <CJK>
+E3CA 7A31 E3CA <CJK>
+E3CB 7A3B E3CB <CJK>
+E3CC 7A3E E3CC <CJK>
+E3CD 7A37 E3CD <CJK>
+E3CE 7A43 E3CE <CJK>
+E3CF 7A57 E3CF <CJK>
+E3D0 7A49 E3D0 <CJK>
+E3D1 7A61 E3D1 <CJK>
+E3D2 7A62 E3D2 <CJK>
+E3D3 7A69 E3D3 <CJK>
+E3D4 9F9D E3D4 <CJK>
+E3D5 7A70 E3D5 <CJK>
+E3D6 7A79 E3D6 <CJK>
+E3D7 7A7D E3D7 <CJK>
+E3D8 7A88 E3D8 <CJK>
+E3D9 7A97 E3D9 <CJK>
+E3DA 7A95 E3DA <CJK>
+E3DB 7A98 E3DB <CJK>
+E3DC 7A96 E3DC <CJK>
+E3DD 7AA9 E3DD <CJK>
+E3DE 7AC8 E3DE <CJK>
+E3DF 7AB0 E3DF <CJK>
+E3E0 7AB6 E3E0 <CJK>
+E3E1 7AC5 E3E1 <CJK>
+E3E2 7AC4 E3E2 <CJK>
+E3E3 7ABF E3E3 <CJK>
+E3E4 9083 E3E4 <CJK>
+E3E5 7AC7 E3E5 <CJK>
+E3E6 7ACA E3E6 <CJK>
+E3E7 7ACD E3E7 <CJK>
+E3E8 7ACF E3E8 <CJK>
+E3E9 7AD5 E3E9 <CJK>
+E3EA 7AD3 E3EA <CJK>
+E3EB 7AD9 E3EB <CJK>
+E3EC 7ADA E3EC <CJK>
+E3ED 7ADD E3ED <CJK>
+E3EE 7AE1 E3EE <CJK>
+E3EF 7AE2 E3EF <CJK>
+E3F0 7AE6 E3F0 <CJK>
+E3F1 7AED E3F1 <CJK>
+E3F2 7AF0 E3F2 <CJK>
+E3F3 7B02 E3F3 <CJK>
+E3F4 7B0F E3F4 <CJK>
+E3F5 7B0A E3F5 <CJK>
+E3F6 7B06 E3F6 <CJK>
+E3F7 7B33 E3F7 <CJK>
+E3F8 7B18 E3F8 <CJK>
+E3F9 7B19 E3F9 <CJK>
+E3FA 7B1E E3FA <CJK>
+E3FB 7B35 E3FB <CJK>
+E3FC 7B28 E3FC <CJK>
+E3FD 7B36 E3FD <CJK>
+E3FE 7B50 E3FE <CJK>
+E4A1 7B7A E4A1 <CJK>
+E4A2 7B04 E4A2 <CJK>
+E4A3 7B4D E4A3 <CJK>
+E4A4 7B0B E4A4 <CJK>
+E4A5 7B4C E4A5 <CJK>
+E4A6 7B45 E4A6 <CJK>
+E4A7 7B75 E4A7 <CJK>
+E4A8 7B65 E4A8 <CJK>
+E4A9 7B74 E4A9 <CJK>
+E4AA 7B67 E4AA <CJK>
+E4AB 7B70 E4AB <CJK>
+E4AC 7B71 E4AC <CJK>
+E4AD 7B6C E4AD <CJK>
+E4AE 7B6E E4AE <CJK>
+E4AF 7B9D E4AF <CJK>
+E4B0 7B98 E4B0 <CJK>
+E4B1 7B9F E4B1 <CJK>
+E4B2 7B8D E4B2 <CJK>
+E4B3 7B9C E4B3 <CJK>
+E4B4 7B9A E4B4 <CJK>
+E4B5 7B8B E4B5 <CJK>
+E4B6 7B92 E4B6 <CJK>
+E4B7 7B8F E4B7 <CJK>
+E4B8 7B5D E4B8 <CJK>
+E4B9 7B99 E4B9 <CJK>
+E4BA 7BCB E4BA <CJK>
+E4BB 7BC1 E4BB <CJK>
+E4BC 7BCC E4BC <CJK>
+E4BD 7BCF E4BD <CJK>
+E4BE 7BB4 E4BE <CJK>
+E4BF 7BC6 E4BF <CJK>
+E4C0 7BDD E4C0 <CJK>
+E4C1 7BE9 E4C1 <CJK>
+E4C2 7C11 E4C2 <CJK>
+E4C3 7C14 E4C3 <CJK>
+E4C4 7BE6 E4C4 <CJK>
+E4C5 7BE5 E4C5 <CJK>
+E4C6 7C60 E4C6 <CJK>
+E4C7 7C00 E4C7 <CJK>
+E4C8 7C07 E4C8 <CJK>
+E4C9 7C13 E4C9 <CJK>
+E4CA 7BF3 E4CA <CJK>
+E4CB 7BF7 E4CB <CJK>
+E4CC 7C17 E4CC <CJK>
+E4CD 7C0D E4CD <CJK>
+E4CE 7BF6 E4CE <CJK>
+E4CF 7C23 E4CF <CJK>
+E4D0 7C27 E4D0 <CJK>
+E4D1 7C2A E4D1 <CJK>
+E4D2 7C1F E4D2 <CJK>
+E4D3 7C37 E4D3 <CJK>
+E4D4 7C2B E4D4 <CJK>
+E4D5 7C3D E4D5 <CJK>
+E4D6 7C4C E4D6 <CJK>
+E4D7 7C43 E4D7 <CJK>
+E4D8 7C54 E4D8 <CJK>
+E4D9 7C4F E4D9 <CJK>
+E4DA 7C40 E4DA <CJK>
+E4DB 7C50 E4DB <CJK>
+E4DC 7C58 E4DC <CJK>
+E4DD 7C5F E4DD <CJK>
+E4DE 7C64 E4DE <CJK>
+E4DF 7C56 E4DF <CJK>
+E4E0 7C65 E4E0 <CJK>
+E4E1 7C6C E4E1 <CJK>
+E4E2 7C75 E4E2 <CJK>
+E4E3 7C83 E4E3 <CJK>
+E4E4 7C90 E4E4 <CJK>
+E4E5 7CA4 E4E5 <CJK>
+E4E6 7CAD E4E6 <CJK>
+E4E7 7CA2 E4E7 <CJK>
+E4E8 7CAB E4E8 <CJK>
+E4E9 7CA1 E4E9 <CJK>
+E4EA 7CA8 E4EA <CJK>
+E4EB 7CB3 E4EB <CJK>
+E4EC 7CB2 E4EC <CJK>
+E4ED 7CB1 E4ED <CJK>
+E4EE 7CAE E4EE <CJK>
+E4EF 7CB9 E4EF <CJK>
+E4F0 7CBD E4F0 <CJK>
+E4F1 7CC0 E4F1 <CJK>
+E4F2 7CC5 E4F2 <CJK>
+E4F3 7CC2 E4F3 <CJK>
+E4F4 7CD8 E4F4 <CJK>
+E4F5 7CD2 E4F5 <CJK>
+E4F6 7CDC E4F6 <CJK>
+E4F7 7CE2 E4F7 <CJK>
+E4F8 9B3B E4F8 <CJK>
+E4F9 7CEF E4F9 <CJK>
+E4FA 7CF2 E4FA <CJK>
+E4FB 7CF4 E4FB <CJK>
+E4FC 7CF6 E4FC <CJK>
+E4FD 7CFA E4FD <CJK>
+E4FE 7D06 E4FE <CJK>
+E5A1 7D02 E5A1 <CJK>
+E5A2 7D1C E5A2 <CJK>
+E5A3 7D15 E5A3 <CJK>
+E5A4 7D0A E5A4 <CJK>
+E5A5 7D45 E5A5 <CJK>
+E5A6 7D4B E5A6 <CJK>
+E5A7 7D2E E5A7 <CJK>
+E5A8 7D32 E5A8 <CJK>
+E5A9 7D3F E5A9 <CJK>
+E5AA 7D35 E5AA <CJK>
+E5AB 7D46 E5AB <CJK>
+E5AC 7D73 E5AC <CJK>
+E5AD 7D56 E5AD <CJK>
+E5AE 7D4E E5AE <CJK>
+E5AF 7D72 E5AF <CJK>
+E5B0 7D68 E5B0 <CJK>
+E5B1 7D6E E5B1 <CJK>
+E5B2 7D4F E5B2 <CJK>
+E5B3 7D63 E5B3 <CJK>
+E5B4 7D93 E5B4 <CJK>
+E5B5 7D89 E5B5 <CJK>
+E5B6 7D5B E5B6 <CJK>
+E5B7 7D8F E5B7 <CJK>
+E5B8 7D7D E5B8 <CJK>
+E5B9 7D9B E5B9 <CJK>
+E5BA 7DBA E5BA <CJK>
+E5BB 7DAE E5BB <CJK>
+E5BC 7DA3 E5BC <CJK>
+E5BD 7DB5 E5BD <CJK>
+E5BE 7DC7 E5BE <CJK>
+E5BF 7DBD E5BF <CJK>
+E5C0 7DAB E5C0 <CJK>
+E5C1 7E3D E5C1 <CJK>
+E5C2 7DA2 E5C2 <CJK>
+E5C3 7DAF E5C3 <CJK>
+E5C4 7DDC E5C4 <CJK>
+E5C5 7DB8 E5C5 <CJK>
+E5C6 7D9F E5C6 <CJK>
+E5C7 7DB0 E5C7 <CJK>
+E5C8 7DD8 E5C8 <CJK>
+E5C9 7DDD E5C9 <CJK>
+E5CA 7DE4 E5CA <CJK>
+E5CB 7DDE E5CB <CJK>
+E5CC 7DFB E5CC <CJK>
+E5CD 7DF2 E5CD <CJK>
+E5CE 7DE1 E5CE <CJK>
+E5CF 7E05 E5CF <CJK>
+E5D0 7E0A E5D0 <CJK>
+E5D1 7E23 E5D1 <CJK>
+E5D2 7E21 E5D2 <CJK>
+E5D3 7E12 E5D3 <CJK>
+E5D4 7E31 E5D4 <CJK>
+E5D5 7E1F E5D5 <CJK>
+E5D6 7E09 E5D6 <CJK>
+E5D7 7E0B E5D7 <CJK>
+E5D8 7E22 E5D8 <CJK>
+E5D9 7E46 E5D9 <CJK>
+E5DA 7E66 E5DA <CJK>
+E5DB 7E3B E5DB <CJK>
+E5DC 7E35 E5DC <CJK>
+E5DD 7E39 E5DD <CJK>
+E5DE 7E43 E5DE <CJK>
+E5DF 7E37 E5DF <CJK>
+E5E0 7E32 E5E0 <CJK>
+E5E1 7E3A E5E1 <CJK>
+E5E2 7E67 E5E2 <CJK>
+E5E3 7E5D E5E3 <CJK>
+E5E4 7E56 E5E4 <CJK>
+E5E5 7E5E E5E5 <CJK>
+E5E6 7E59 E5E6 <CJK>
+E5E7 7E5A E5E7 <CJK>
+E5E8 7E79 E5E8 <CJK>
+E5E9 7E6A E5E9 <CJK>
+E5EA 7E69 E5EA <CJK>
+E5EB 7E7C E5EB <CJK>
+E5EC 7E7B E5EC <CJK>
+E5ED 7E83 E5ED <CJK>
+E5EE 7DD5 E5EE <CJK>
+E5EF 7E7D E5EF <CJK>
+E5F0 8FAE E5F0 <CJK>
+E5F1 7E7F E5F1 <CJK>
+E5F2 7E88 E5F2 <CJK>
+E5F3 7E89 E5F3 <CJK>
+E5F4 7E8C E5F4 <CJK>
+E5F5 7E92 E5F5 <CJK>
+E5F6 7E90 E5F6 <CJK>
+E5F7 7E93 E5F7 <CJK>
+E5F8 7E94 E5F8 <CJK>
+E5F9 7E96 E5F9 <CJK>
+E5FA 7E8E E5FA <CJK>
+E5FB 7E9B E5FB <CJK>
+E5FC 7E9C E5FC <CJK>
+E5FD 7F38 E5FD <CJK>
+E5FE 7F3A E5FE <CJK>
+E6A1 7F45 E6A1 <CJK>
+E6A2 7F4C E6A2 <CJK>
+E6A3 7F4D E6A3 <CJK>
+E6A4 7F4E E6A4 <CJK>
+E6A5 7F50 E6A5 <CJK>
+E6A6 7F51 E6A6 <CJK>
+E6A7 7F55 E6A7 <CJK>
+E6A8 7F54 E6A8 <CJK>
+E6A9 7F58 E6A9 <CJK>
+E6AA 7F5F E6AA <CJK>
+E6AB 7F60 E6AB <CJK>
+E6AC 7F68 E6AC <CJK>
+E6AD 7F69 E6AD <CJK>
+E6AE 7F67 E6AE <CJK>
+E6AF 7F78 E6AF <CJK>
+E6B0 7F82 E6B0 <CJK>
+E6B1 7F86 E6B1 <CJK>
+E6B2 7F83 E6B2 <CJK>
+E6B3 7F88 E6B3 <CJK>
+E6B4 7F87 E6B4 <CJK>
+E6B5 7F8C E6B5 <CJK>
+E6B6 7F94 E6B6 <CJK>
+E6B7 7F9E E6B7 <CJK>
+E6B8 7F9D E6B8 <CJK>
+E6B9 7F9A E6B9 <CJK>
+E6BA 7FA3 E6BA <CJK>
+E6BB 7FAF E6BB <CJK>
+E6BC 7FB2 E6BC <CJK>
+E6BD 7FB9 E6BD <CJK>
+E6BE 7FAE E6BE <CJK>
+E6BF 7FB6 E6BF <CJK>
+E6C0 7FB8 E6C0 <CJK>
+E6C1 8B71 E6C1 <CJK>
+E6C2 7FC5 E6C2 <CJK>
+E6C3 7FC6 E6C3 <CJK>
+E6C4 7FCA E6C4 <CJK>
+E6C5 7FD5 E6C5 <CJK>
+E6C6 7FD4 E6C6 <CJK>
+E6C7 7FE1 E6C7 <CJK>
+E6C8 7FE6 E6C8 <CJK>
+E6C9 7FE9 E6C9 <CJK>
+E6CA 7FF3 E6CA <CJK>
+E6CB 7FF9 E6CB <CJK>
+E6CC 98DC E6CC <CJK>
+E6CD 8006 E6CD <CJK>
+E6CE 8004 E6CE <CJK>
+E6CF 800B E6CF <CJK>
+E6D0 8012 E6D0 <CJK>
+E6D1 8018 E6D1 <CJK>
+E6D2 8019 E6D2 <CJK>
+E6D3 801C E6D3 <CJK>
+E6D4 8021 E6D4 <CJK>
+E6D5 8028 E6D5 <CJK>
+E6D6 803F E6D6 <CJK>
+E6D7 803B E6D7 <CJK>
+E6D8 804A E6D8 <CJK>
+E6D9 8046 E6D9 <CJK>
+E6DA 8052 E6DA <CJK>
+E6DB 8058 E6DB <CJK>
+E6DC 805A E6DC <CJK>
+E6DD 805F E6DD <CJK>
+E6DE 8062 E6DE <CJK>
+E6DF 8068 E6DF <CJK>
+E6E0 8073 E6E0 <CJK>
+E6E1 8072 E6E1 <CJK>
+E6E2 8070 E6E2 <CJK>
+E6E3 8076 E6E3 <CJK>
+E6E4 8079 E6E4 <CJK>
+E6E5 807D E6E5 <CJK>
+E6E6 807F E6E6 <CJK>
+E6E7 8084 E6E7 <CJK>
+E6E8 8086 E6E8 <CJK>
+E6E9 8085 E6E9 <CJK>
+E6EA 809B E6EA <CJK>
+E6EB 8093 E6EB <CJK>
+E6EC 809A E6EC <CJK>
+E6ED 80AD E6ED <CJK>
+E6EE 5190 E6EE <CJK>
+E6EF 80AC E6EF <CJK>
+E6F0 80DB E6F0 <CJK>
+E6F1 80E5 E6F1 <CJK>
+E6F2 80D9 E6F2 <CJK>
+E6F3 80DD E6F3 <CJK>
+E6F4 80C4 E6F4 <CJK>
+E6F5 80DA E6F5 <CJK>
+E6F6 80D6 E6F6 <CJK>
+E6F7 8109 E6F7 <CJK>
+E6F8 80EF E6F8 <CJK>
+E6F9 80F1 E6F9 <CJK>
+E6FA 811B E6FA <CJK>
+E6FB 8129 E6FB <CJK>
+E6FC 8123 E6FC <CJK>
+E6FD 812F E6FD <CJK>
+E6FE 814B E6FE <CJK>
+E7A1 968B E7A1 <CJK>
+E7A2 8146 E7A2 <CJK>
+E7A3 813E E7A3 <CJK>
+E7A4 8153 E7A4 <CJK>
+E7A5 8151 E7A5 <CJK>
+E7A6 80FC E7A6 <CJK>
+E7A7 8171 E7A7 <CJK>
+E7A8 816E E7A8 <CJK>
+E7A9 8165 E7A9 <CJK>
+E7AA 8166 E7AA <CJK>
+E7AB 8174 E7AB <CJK>
+E7AC 8183 E7AC <CJK>
+E7AD 8188 E7AD <CJK>
+E7AE 818A E7AE <CJK>
+E7AF 8180 E7AF <CJK>
+E7B0 8182 E7B0 <CJK>
+E7B1 81A0 E7B1 <CJK>
+E7B2 8195 E7B2 <CJK>
+E7B3 81A4 E7B3 <CJK>
+E7B4 81A3 E7B4 <CJK>
+E7B5 815F E7B5 <CJK>
+E7B6 8193 E7B6 <CJK>
+E7B7 81A9 E7B7 <CJK>
+E7B8 81B0 E7B8 <CJK>
+E7B9 81B5 E7B9 <CJK>
+E7BA 81BE E7BA <CJK>
+E7BB 81B8 E7BB <CJK>
+E7BC 81BD E7BC <CJK>
+E7BD 81C0 E7BD <CJK>
+E7BE 81C2 E7BE <CJK>
+E7BF 81BA E7BF <CJK>
+E7C0 81C9 E7C0 <CJK>
+E7C1 81CD E7C1 <CJK>
+E7C2 81D1 E7C2 <CJK>
+E7C3 81D9 E7C3 <CJK>
+E7C4 81D8 E7C4 <CJK>
+E7C5 81C8 E7C5 <CJK>
+E7C6 81DA E7C6 <CJK>
+E7C7 81DF E7C7 <CJK>
+E7C8 81E0 E7C8 <CJK>
+E7C9 81E7 E7C9 <CJK>
+E7CA 81FA E7CA <CJK>
+E7CB 81FB E7CB <CJK>
+E7CC 81FE E7CC <CJK>
+E7CD 8201 E7CD <CJK>
+E7CE 8202 E7CE <CJK>
+E7CF 8205 E7CF <CJK>
+E7D0 8207 E7D0 <CJK>
+E7D1 820A E7D1 <CJK>
+E7D2 820D E7D2 <CJK>
+E7D3 8210 E7D3 <CJK>
+E7D4 8216 E7D4 <CJK>
+E7D5 8229 E7D5 <CJK>
+E7D6 822B E7D6 <CJK>
+E7D7 8238 E7D7 <CJK>
+E7D8 8233 E7D8 <CJK>
+E7D9 8240 E7D9 <CJK>
+E7DA 8259 E7DA <CJK>
+E7DB 8258 E7DB <CJK>
+E7DC 825D E7DC <CJK>
+E7DD 825A E7DD <CJK>
+E7DE 825F E7DE <CJK>
+E7DF 8264 E7DF <CJK>
+E7E0 8262 E7E0 <CJK>
+E7E1 8268 E7E1 <CJK>
+E7E2 826A E7E2 <CJK>
+E7E3 826B E7E3 <CJK>
+E7E4 822E E7E4 <CJK>
+E7E5 8271 E7E5 <CJK>
+E7E6 8277 E7E6 <CJK>
+E7E7 8278 E7E7 <CJK>
+E7E8 827E E7E8 <CJK>
+E7E9 828D E7E9 <CJK>
+E7EA 8292 E7EA <CJK>
+E7EB 82AB E7EB <CJK>
+E7EC 829F E7EC <CJK>
+E7ED 82BB E7ED <CJK>
+E7EE 82AC E7EE <CJK>
+E7EF 82E1 E7EF <CJK>
+E7F0 82E3 E7F0 <CJK>
+E7F1 82DF E7F1 <CJK>
+E7F2 82D2 E7F2 <CJK>
+E7F3 82F4 E7F3 <CJK>
+E7F4 82F3 E7F4 <CJK>
+E7F5 82FA E7F5 <CJK>
+E7F6 8393 E7F6 <CJK>
+E7F7 8303 E7F7 <CJK>
+E7F8 82FB E7F8 <CJK>
+E7F9 82F9 E7F9 <CJK>
+E7FA 82DE E7FA <CJK>
+E7FB 8306 E7FB <CJK>
+E7FC 82DC E7FC <CJK>
+E7FD 8309 E7FD <CJK>
+E7FE 82D9 E7FE <CJK>
+E8A1 8335 E8A1 <CJK>
+E8A2 8334 E8A2 <CJK>
+E8A3 8316 E8A3 <CJK>
+E8A4 8332 E8A4 <CJK>
+E8A5 8331 E8A5 <CJK>
+E8A6 8340 E8A6 <CJK>
+E8A7 8339 E8A7 <CJK>
+E8A8 8350 E8A8 <CJK>
+E8A9 8345 E8A9 <CJK>
+E8AA 832F E8AA <CJK>
+E8AB 832B E8AB <CJK>
+E8AC 8317 E8AC <CJK>
+E8AD 8318 E8AD <CJK>
+E8AE 8385 E8AE <CJK>
+E8AF 839A E8AF <CJK>
+E8B0 83AA E8B0 <CJK>
+E8B1 839F E8B1 <CJK>
+E8B2 83A2 E8B2 <CJK>
+E8B3 8396 E8B3 <CJK>
+E8B4 8323 E8B4 <CJK>
+E8B5 838E E8B5 <CJK>
+E8B6 8387 E8B6 <CJK>
+E8B7 838A E8B7 <CJK>
+E8B8 837C E8B8 <CJK>
+E8B9 83B5 E8B9 <CJK>
+E8BA 8373 E8BA <CJK>
+E8BB 8375 E8BB <CJK>
+E8BC 83A0 E8BC <CJK>
+E8BD 8389 E8BD <CJK>
+E8BE 83A8 E8BE <CJK>
+E8BF 83F4 E8BF <CJK>
+E8C0 8413 E8C0 <CJK>
+E8C1 83EB E8C1 <CJK>
+E8C2 83CE E8C2 <CJK>
+E8C3 83FD E8C3 <CJK>
+E8C4 8403 E8C4 <CJK>
+E8C5 83D8 E8C5 <CJK>
+E8C6 840B E8C6 <CJK>
+E8C7 83C1 E8C7 <CJK>
+E8C8 83F7 E8C8 <CJK>
+E8C9 8407 E8C9 <CJK>
+E8CA 83E0 E8CA <CJK>
+E8CB 83F2 E8CB <CJK>
+E8CC 840D E8CC <CJK>
+E8CD 8422 E8CD <CJK>
+E8CE 8420 E8CE <CJK>
+E8CF 83BD E8CF <CJK>
+E8D0 8438 E8D0 <CJK>
+E8D1 8506 E8D1 <CJK>
+E8D2 83FB E8D2 <CJK>
+E8D3 846D E8D3 <CJK>
+E8D4 842A E8D4 <CJK>
+E8D5 843C E8D5 <CJK>
+E8D6 855A E8D6 <CJK>
+E8D7 8484 E8D7 <CJK>
+E8D8 8477 E8D8 <CJK>
+E8D9 846B E8D9 <CJK>
+E8DA 84AD E8DA <CJK>
+E8DB 846E E8DB <CJK>
+E8DC 8482 E8DC <CJK>
+E8DD 8469 E8DD <CJK>
+E8DE 8446 E8DE <CJK>
+E8DF 842C E8DF <CJK>
+E8E0 846F E8E0 <CJK>
+E8E1 8479 E8E1 <CJK>
+E8E2 8435 E8E2 <CJK>
+E8E3 84CA E8E3 <CJK>
+E8E4 8462 E8E4 <CJK>
+E8E5 84B9 E8E5 <CJK>
+E8E6 84BF E8E6 <CJK>
+E8E7 849F E8E7 <CJK>
+E8E8 84D9 E8E8 <CJK>
+E8E9 84CD E8E9 <CJK>
+E8EA 84BB E8EA <CJK>
+E8EB 84DA E8EB <CJK>
+E8EC 84D0 E8EC <CJK>
+E8ED 84C1 E8ED <CJK>
+E8EE 84C6 E8EE <CJK>
+E8EF 84D6 E8EF <CJK>
+E8F0 84A1 E8F0 <CJK>
+E8F1 8521 E8F1 <CJK>
+E8F2 84FF E8F2 <CJK>
+E8F3 84F4 E8F3 <CJK>
+E8F4 8517 E8F4 <CJK>
+E8F5 8518 E8F5 <CJK>
+E8F6 852C E8F6 <CJK>
+E8F7 851F E8F7 <CJK>
+E8F8 8515 E8F8 <CJK>
+E8F9 8514 E8F9 <CJK>
+E8FA 84FC E8FA <CJK>
+E8FB 8540 E8FB <CJK>
+E8FC 8563 E8FC <CJK>
+E8FD 8558 E8FD <CJK>
+E8FE 8548 E8FE <CJK>
+E9A1 8541 E9A1 <CJK>
+E9A2 8602 E9A2 <CJK>
+E9A3 854B E9A3 <CJK>
+E9A4 8555 E9A4 <CJK>
+E9A5 8580 E9A5 <CJK>
+E9A6 85A4 E9A6 <CJK>
+E9A7 8588 E9A7 <CJK>
+E9A8 8591 E9A8 <CJK>
+E9A9 858A E9A9 <CJK>
+E9AA 85A8 E9AA <CJK>
+E9AB 856D E9AB <CJK>
+E9AC 8594 E9AC <CJK>
+E9AD 859B E9AD <CJK>
+E9AE 85EA E9AE <CJK>
+E9AF 8587 E9AF <CJK>
+E9B0 859C E9B0 <CJK>
+E9B1 8577 E9B1 <CJK>
+E9B2 857E E9B2 <CJK>
+E9B3 8590 E9B3 <CJK>
+E9B4 85C9 E9B4 <CJK>
+E9B5 85BA E9B5 <CJK>
+E9B6 85CF E9B6 <CJK>
+E9B7 85B9 E9B7 <CJK>
+E9B8 85D0 E9B8 <CJK>
+E9B9 85D5 E9B9 <CJK>
+E9BA 85DD E9BA <CJK>
+E9BB 85E5 E9BB <CJK>
+E9BC 85DC E9BC <CJK>
+E9BD 85F9 E9BD <CJK>
+E9BE 860A E9BE <CJK>
+E9BF 8613 E9BF <CJK>
+E9C0 860B E9C0 <CJK>
+E9C1 85FE E9C1 <CJK>
+E9C2 85FA E9C2 <CJK>
+E9C3 8606 E9C3 <CJK>
+E9C4 8622 E9C4 <CJK>
+E9C5 861A E9C5 <CJK>
+E9C6 8630 E9C6 <CJK>
+E9C7 863F E9C7 <CJK>
+E9C8 864D E9C8 <CJK>
+E9C9 4E55 E9C9 <CJK>
+E9CA 8654 E9CA <CJK>
+E9CB 865F E9CB <CJK>
+E9CC 8667 E9CC <CJK>
+E9CD 8671 E9CD <CJK>
+E9CE 8693 E9CE <CJK>
+E9CF 86A3 E9CF <CJK>
+E9D0 86A9 E9D0 <CJK>
+E9D1 86AA E9D1 <CJK>
+E9D2 868B E9D2 <CJK>
+E9D3 868C E9D3 <CJK>
+E9D4 86B6 E9D4 <CJK>
+E9D5 86AF E9D5 <CJK>
+E9D6 86C4 E9D6 <CJK>
+E9D7 86C6 E9D7 <CJK>
+E9D8 86B0 E9D8 <CJK>
+E9D9 86C9 E9D9 <CJK>
+E9DA 8823 E9DA <CJK>
+E9DB 86AB E9DB <CJK>
+E9DC 86D4 E9DC <CJK>
+E9DD 86DE E9DD <CJK>
+E9DE 86E9 E9DE <CJK>
+E9DF 86EC E9DF <CJK>
+E9E0 86DF E9E0 <CJK>
+E9E1 86DB E9E1 <CJK>
+E9E2 86EF E9E2 <CJK>
+E9E3 8712 E9E3 <CJK>
+E9E4 8706 E9E4 <CJK>
+E9E5 8708 E9E5 <CJK>
+E9E6 8700 E9E6 <CJK>
+E9E7 8703 E9E7 <CJK>
+E9E8 86FB E9E8 <CJK>
+E9E9 8711 E9E9 <CJK>
+E9EA 8709 E9EA <CJK>
+E9EB 870D E9EB <CJK>
+E9EC 86F9 E9EC <CJK>
+E9ED 870A E9ED <CJK>
+E9EE 8734 E9EE <CJK>
+E9EF 873F E9EF <CJK>
+E9F0 8737 E9F0 <CJK>
+E9F1 873B E9F1 <CJK>
+E9F2 8725 E9F2 <CJK>
+E9F3 8729 E9F3 <CJK>
+E9F4 871A E9F4 <CJK>
+E9F5 8760 E9F5 <CJK>
+E9F6 875F E9F6 <CJK>
+E9F7 8778 E9F7 <CJK>
+E9F8 874C E9F8 <CJK>
+E9F9 874E E9F9 <CJK>
+E9FA 8774 E9FA <CJK>
+E9FB 8757 E9FB <CJK>
+E9FC 8768 E9FC <CJK>
+E9FD 876E E9FD <CJK>
+E9FE 8759 E9FE <CJK>
+EAA1 8753 EAA1 <CJK>
+EAA2 8763 EAA2 <CJK>
+EAA3 876A EAA3 <CJK>
+EAA4 8805 EAA4 <CJK>
+EAA5 87A2 EAA5 <CJK>
+EAA6 879F EAA6 <CJK>
+EAA7 8782 EAA7 <CJK>
+EAA8 87AF EAA8 <CJK>
+EAA9 87CB EAA9 <CJK>
+EAAA 87BD EAAA <CJK>
+EAAB 87C0 EAAB <CJK>
+EAAC 87D0 EAAC <CJK>
+EAAD 96D6 EAAD <CJK>
+EAAE 87AB EAAE <CJK>
+EAAF 87C4 EAAF <CJK>
+EAB0 87B3 EAB0 <CJK>
+EAB1 87C7 EAB1 <CJK>
+EAB2 87C6 EAB2 <CJK>
+EAB3 87BB EAB3 <CJK>
+EAB4 87EF EAB4 <CJK>
+EAB5 87F2 EAB5 <CJK>
+EAB6 87E0 EAB6 <CJK>
+EAB7 880F EAB7 <CJK>
+EAB8 880D EAB8 <CJK>
+EAB9 87FE EAB9 <CJK>
+EABA 87F6 EABA <CJK>
+EABB 87F7 EABB <CJK>
+EABC 880E EABC <CJK>
+EABD 87D2 EABD <CJK>
+EABE 8811 EABE <CJK>
+EABF 8816 EABF <CJK>
+EAC0 8815 EAC0 <CJK>
+EAC1 8822 EAC1 <CJK>
+EAC2 8821 EAC2 <CJK>
+EAC3 8831 EAC3 <CJK>
+EAC4 8836 EAC4 <CJK>
+EAC5 8839 EAC5 <CJK>
+EAC6 8827 EAC6 <CJK>
+EAC7 883B EAC7 <CJK>
+EAC8 8844 EAC8 <CJK>
+EAC9 8842 EAC9 <CJK>
+EACA 8852 EACA <CJK>
+EACB 8859 EACB <CJK>
+EACC 885E EACC <CJK>
+EACD 8862 EACD <CJK>
+EACE 886B EACE <CJK>
+EACF 8881 EACF <CJK>
+EAD0 887E EAD0 <CJK>
+EAD1 889E EAD1 <CJK>
+EAD2 8875 EAD2 <CJK>
+EAD3 887D EAD3 <CJK>
+EAD4 88B5 EAD4 <CJK>
+EAD5 8872 EAD5 <CJK>
+EAD6 8882 EAD6 <CJK>
+EAD7 8897 EAD7 <CJK>
+EAD8 8892 EAD8 <CJK>
+EAD9 88AE EAD9 <CJK>
+EADA 8899 EADA <CJK>
+EADB 88A2 EADB <CJK>
+EADC 888D EADC <CJK>
+EADD 88A4 EADD <CJK>
+EADE 88B0 EADE <CJK>
+EADF 88BF EADF <CJK>
+EAE0 88B1 EAE0 <CJK>
+EAE1 88C3 EAE1 <CJK>
+EAE2 88C4 EAE2 <CJK>
+EAE3 88D4 EAE3 <CJK>
+EAE4 88D8 EAE4 <CJK>
+EAE5 88D9 EAE5 <CJK>
+EAE6 88DD EAE6 <CJK>
+EAE7 88F9 EAE7 <CJK>
+EAE8 8902 EAE8 <CJK>
+EAE9 88FC EAE9 <CJK>
+EAEA 88F4 EAEA <CJK>
+EAEB 88E8 EAEB <CJK>
+EAEC 88F2 EAEC <CJK>
+EAED 8904 EAED <CJK>
+EAEE 890C EAEE <CJK>
+EAEF 890A EAEF <CJK>
+EAF0 8913 EAF0 <CJK>
+EAF1 8943 EAF1 <CJK>
+EAF2 891E EAF2 <CJK>
+EAF3 8925 EAF3 <CJK>
+EAF4 892A EAF4 <CJK>
+EAF5 892B EAF5 <CJK>
+EAF6 8941 EAF6 <CJK>
+EAF7 8944 EAF7 <CJK>
+EAF8 893B EAF8 <CJK>
+EAF9 8936 EAF9 <CJK>
+EAFA 8938 EAFA <CJK>
+EAFB 894C EAFB <CJK>
+EAFC 891D EAFC <CJK>
+EAFD 8960 EAFD <CJK>
+EAFE 895E EAFE <CJK>
+EBA1 8966 EBA1 <CJK>
+EBA2 8964 EBA2 <CJK>
+EBA3 896D EBA3 <CJK>
+EBA4 896A EBA4 <CJK>
+EBA5 896F EBA5 <CJK>
+EBA6 8974 EBA6 <CJK>
+EBA7 8977 EBA7 <CJK>
+EBA8 897E EBA8 <CJK>
+EBA9 8983 EBA9 <CJK>
+EBAA 8988 EBAA <CJK>
+EBAB 898A EBAB <CJK>
+EBAC 8993 EBAC <CJK>
+EBAD 8998 EBAD <CJK>
+EBAE 89A1 EBAE <CJK>
+EBAF 89A9 EBAF <CJK>
+EBB0 89A6 EBB0 <CJK>
+EBB1 89AC EBB1 <CJK>
+EBB2 89AF EBB2 <CJK>
+EBB3 89B2 EBB3 <CJK>
+EBB4 89BA EBB4 <CJK>
+EBB5 89BD EBB5 <CJK>
+EBB6 89BF EBB6 <CJK>
+EBB7 89C0 EBB7 <CJK>
+EBB8 89DA EBB8 <CJK>
+EBB9 89DC EBB9 <CJK>
+EBBA 89DD EBBA <CJK>
+EBBB 89E7 EBBB <CJK>
+EBBC 89F4 EBBC <CJK>
+EBBD 89F8 EBBD <CJK>
+EBBE 8A03 EBBE <CJK>
+EBBF 8A16 EBBF <CJK>
+EBC0 8A10 EBC0 <CJK>
+EBC1 8A0C EBC1 <CJK>
+EBC2 8A1B EBC2 <CJK>
+EBC3 8A1D EBC3 <CJK>
+EBC4 8A25 EBC4 <CJK>
+EBC5 8A36 EBC5 <CJK>
+EBC6 8A41 EBC6 <CJK>
+EBC7 8A5B EBC7 <CJK>
+EBC8 8A52 EBC8 <CJK>
+EBC9 8A46 EBC9 <CJK>
+EBCA 8A48 EBCA <CJK>
+EBCB 8A7C EBCB <CJK>
+EBCC 8A6D EBCC <CJK>
+EBCD 8A6C EBCD <CJK>
+EBCE 8A62 EBCE <CJK>
+EBCF 8A85 EBCF <CJK>
+EBD0 8A82 EBD0 <CJK>
+EBD1 8A84 EBD1 <CJK>
+EBD2 8AA8 EBD2 <CJK>
+EBD3 8AA1 EBD3 <CJK>
+EBD4 8A91 EBD4 <CJK>
+EBD5 8AA5 EBD5 <CJK>
+EBD6 8AA6 EBD6 <CJK>
+EBD7 8A9A EBD7 <CJK>
+EBD8 8AA3 EBD8 <CJK>
+EBD9 8AC4 EBD9 <CJK>
+EBDA 8ACD EBDA <CJK>
+EBDB 8AC2 EBDB <CJK>
+EBDC 8ADA EBDC <CJK>
+EBDD 8AEB EBDD <CJK>
+EBDE 8AF3 EBDE <CJK>
+EBDF 8AE7 EBDF <CJK>
+EBE0 8AE4 EBE0 <CJK>
+EBE1 8AF1 EBE1 <CJK>
+EBE2 8B14 EBE2 <CJK>
+EBE3 8AE0 EBE3 <CJK>
+EBE4 8AE2 EBE4 <CJK>
+EBE5 8AF7 EBE5 <CJK>
+EBE6 8ADE EBE6 <CJK>
+EBE7 8ADB EBE7 <CJK>
+EBE8 8B0C EBE8 <CJK>
+EBE9 8B07 EBE9 <CJK>
+EBEA 8B1A EBEA <CJK>
+EBEB 8AE1 EBEB <CJK>
+EBEC 8B16 EBEC <CJK>
+EBED 8B10 EBED <CJK>
+EBEE 8B17 EBEE <CJK>
+EBEF 8B20 EBEF <CJK>
+EBF0 8B33 EBF0 <CJK>
+EBF1 97AB EBF1 <CJK>
+EBF2 8B26 EBF2 <CJK>
+EBF3 8B2B EBF3 <CJK>
+EBF4 8B3E EBF4 <CJK>
+EBF5 8B28 EBF5 <CJK>
+EBF6 8B41 EBF6 <CJK>
+EBF7 8B4C EBF7 <CJK>
+EBF8 8B4F EBF8 <CJK>
+EBF9 8B4E EBF9 <CJK>
+EBFA 8B49 EBFA <CJK>
+EBFB 8B56 EBFB <CJK>
+EBFC 8B5B EBFC <CJK>
+EBFD 8B5A EBFD <CJK>
+EBFE 8B6B EBFE <CJK>
+ECA1 8B5F ECA1 <CJK>
+ECA2 8B6C ECA2 <CJK>
+ECA3 8B6F ECA3 <CJK>
+ECA4 8B74 ECA4 <CJK>
+ECA5 8B7D ECA5 <CJK>
+ECA6 8B80 ECA6 <CJK>
+ECA7 8B8C ECA7 <CJK>
+ECA8 8B8E ECA8 <CJK>
+ECA9 8B92 ECA9 <CJK>
+ECAA 8B93 ECAA <CJK>
+ECAB 8B96 ECAB <CJK>
+ECAC 8B99 ECAC <CJK>
+ECAD 8B9A ECAD <CJK>
+ECAE 8C3A ECAE <CJK>
+ECAF 8C41 ECAF <CJK>
+ECB0 8C3F ECB0 <CJK>
+ECB1 8C48 ECB1 <CJK>
+ECB2 8C4C ECB2 <CJK>
+ECB3 8C4E ECB3 <CJK>
+ECB4 8C50 ECB4 <CJK>
+ECB5 8C55 ECB5 <CJK>
+ECB6 8C62 ECB6 <CJK>
+ECB7 8C6C ECB7 <CJK>
+ECB8 8C78 ECB8 <CJK>
+ECB9 8C7A ECB9 <CJK>
+ECBA 8C82 ECBA <CJK>
+ECBB 8C89 ECBB <CJK>
+ECBC 8C85 ECBC <CJK>
+ECBD 8C8A ECBD <CJK>
+ECBE 8C8D ECBE <CJK>
+ECBF 8C8E ECBF <CJK>
+ECC0 8C94 ECC0 <CJK>
+ECC1 8C7C ECC1 <CJK>
+ECC2 8C98 ECC2 <CJK>
+ECC3 621D ECC3 <CJK>
+ECC4 8CAD ECC4 <CJK>
+ECC5 8CAA ECC5 <CJK>
+ECC6 8CBD ECC6 <CJK>
+ECC7 8CB2 ECC7 <CJK>
+ECC8 8CB3 ECC8 <CJK>
+ECC9 8CAE ECC9 <CJK>
+ECCA 8CB6 ECCA <CJK>
+ECCB 8CC8 ECCB <CJK>
+ECCC 8CC1 ECCC <CJK>
+ECCD 8CE4 ECCD <CJK>
+ECCE 8CE3 ECCE <CJK>
+ECCF 8CDA ECCF <CJK>
+ECD0 8CFD ECD0 <CJK>
+ECD1 8CFA ECD1 <CJK>
+ECD2 8CFB ECD2 <CJK>
+ECD3 8D04 ECD3 <CJK>
+ECD4 8D05 ECD4 <CJK>
+ECD5 8D0A ECD5 <CJK>
+ECD6 8D07 ECD6 <CJK>
+ECD7 8D0F ECD7 <CJK>
+ECD8 8D0D ECD8 <CJK>
+ECD9 8D10 ECD9 <CJK>
+ECDA 9F4E ECDA <CJK>
+ECDB 8D13 ECDB <CJK>
+ECDC 8CCD ECDC <CJK>
+ECDD 8D14 ECDD <CJK>
+ECDE 8D16 ECDE <CJK>
+ECDF 8D67 ECDF <CJK>
+ECE0 8D6D ECE0 <CJK>
+ECE1 8D71 ECE1 <CJK>
+ECE2 8D73 ECE2 <CJK>
+ECE3 8D81 ECE3 <CJK>
+ECE4 8D99 ECE4 <CJK>
+ECE5 8DC2 ECE5 <CJK>
+ECE6 8DBE ECE6 <CJK>
+ECE7 8DBA ECE7 <CJK>
+ECE8 8DCF ECE8 <CJK>
+ECE9 8DDA ECE9 <CJK>
+ECEA 8DD6 ECEA <CJK>
+ECEB 8DCC ECEB <CJK>
+ECEC 8DDB ECEC <CJK>
+ECED 8DCB ECED <CJK>
+ECEE 8DEA ECEE <CJK>
+ECEF 8DEB ECEF <CJK>
+ECF0 8DDF ECF0 <CJK>
+ECF1 8DE3 ECF1 <CJK>
+ECF2 8DFC ECF2 <CJK>
+ECF3 8E08 ECF3 <CJK>
+ECF4 8E09 ECF4 <CJK>
+ECF5 8DFF ECF5 <CJK>
+ECF6 8E1D ECF6 <CJK>
+ECF7 8E1E ECF7 <CJK>
+ECF8 8E10 ECF8 <CJK>
+ECF9 8E1F ECF9 <CJK>
+ECFA 8E42 ECFA <CJK>
+ECFB 8E35 ECFB <CJK>
+ECFC 8E30 ECFC <CJK>
+ECFD 8E34 ECFD <CJK>
+ECFE 8E4A ECFE <CJK>
+EDA1 8E47 EDA1 <CJK>
+EDA2 8E49 EDA2 <CJK>
+EDA3 8E4C EDA3 <CJK>
+EDA4 8E50 EDA4 <CJK>
+EDA5 8E48 EDA5 <CJK>
+EDA6 8E59 EDA6 <CJK>
+EDA7 8E64 EDA7 <CJK>
+EDA8 8E60 EDA8 <CJK>
+EDA9 8E2A EDA9 <CJK>
+EDAA 8E63 EDAA <CJK>
+EDAB 8E55 EDAB <CJK>
+EDAC 8E76 EDAC <CJK>
+EDAD 8E72 EDAD <CJK>
+EDAE 8E7C EDAE <CJK>
+EDAF 8E81 EDAF <CJK>
+EDB0 8E87 EDB0 <CJK>
+EDB1 8E85 EDB1 <CJK>
+EDB2 8E84 EDB2 <CJK>
+EDB3 8E8B EDB3 <CJK>
+EDB4 8E8A EDB4 <CJK>
+EDB5 8E93 EDB5 <CJK>
+EDB6 8E91 EDB6 <CJK>
+EDB7 8E94 EDB7 <CJK>
+EDB8 8E99 EDB8 <CJK>
+EDB9 8EAA EDB9 <CJK>
+EDBA 8EA1 EDBA <CJK>
+EDBB 8EAC EDBB <CJK>
+EDBC 8EB0 EDBC <CJK>
+EDBD 8EC6 EDBD <CJK>
+EDBE 8EB1 EDBE <CJK>
+EDBF 8EBE EDBF <CJK>
+EDC0 8EC5 EDC0 <CJK>
+EDC1 8EC8 EDC1 <CJK>
+EDC2 8ECB EDC2 <CJK>
+EDC3 8EDB EDC3 <CJK>
+EDC4 8EE3 EDC4 <CJK>
+EDC5 8EFC EDC5 <CJK>
+EDC6 8EFB EDC6 <CJK>
+EDC7 8EEB EDC7 <CJK>
+EDC8 8EFE EDC8 <CJK>
+EDC9 8F0A EDC9 <CJK>
+EDCA 8F05 EDCA <CJK>
+EDCB 8F15 EDCB <CJK>
+EDCC 8F12 EDCC <CJK>
+EDCD 8F19 EDCD <CJK>
+EDCE 8F13 EDCE <CJK>
+EDCF 8F1C EDCF <CJK>
+EDD0 8F1F EDD0 <CJK>
+EDD1 8F1B EDD1 <CJK>
+EDD2 8F0C EDD2 <CJK>
+EDD3 8F26 EDD3 <CJK>
+EDD4 8F33 EDD4 <CJK>
+EDD5 8F3B EDD5 <CJK>
+EDD6 8F39 EDD6 <CJK>
+EDD7 8F45 EDD7 <CJK>
+EDD8 8F42 EDD8 <CJK>
+EDD9 8F3E EDD9 <CJK>
+EDDA 8F4C EDDA <CJK>
+EDDB 8F49 EDDB <CJK>
+EDDC 8F46 EDDC <CJK>
+EDDD 8F4E EDDD <CJK>
+EDDE 8F57 EDDE <CJK>
+EDDF 8F5C EDDF <CJK>
+EDE0 8F62 EDE0 <CJK>
+EDE1 8F63 EDE1 <CJK>
+EDE2 8F64 EDE2 <CJK>
+EDE3 8F9C EDE3 <CJK>
+EDE4 8F9F EDE4 <CJK>
+EDE5 8FA3 EDE5 <CJK>
+EDE6 8FAD EDE6 <CJK>
+EDE7 8FAF EDE7 <CJK>
+EDE8 8FB7 EDE8 <CJK>
+EDE9 8FDA EDE9 <CJK>
+EDEA 8FE5 EDEA <CJK>
+EDEB 8FE2 EDEB <CJK>
+EDEC 8FEA EDEC <CJK>
+EDED 8FEF EDED <CJK>
+EDEE 9087 EDEE <CJK>
+EDEF 8FF4 EDEF <CJK>
+EDF0 9005 EDF0 <CJK>
+EDF1 8FF9 EDF1 <CJK>
+EDF2 8FFA EDF2 <CJK>
+EDF3 9011 EDF3 <CJK>
+EDF4 9015 EDF4 <CJK>
+EDF5 9021 EDF5 <CJK>
+EDF6 900D EDF6 <CJK>
+EDF7 901E EDF7 <CJK>
+EDF8 9016 EDF8 <CJK>
+EDF9 900B EDF9 <CJK>
+EDFA 9027 EDFA <CJK>
+EDFB 9036 EDFB <CJK>
+EDFC 9035 EDFC <CJK>
+EDFD 9039 EDFD <CJK>
+EDFE 8FF8 EDFE <CJK>
+EEA1 904F EEA1 <CJK>
+EEA2 9050 EEA2 <CJK>
+EEA3 9051 EEA3 <CJK>
+EEA4 9052 EEA4 <CJK>
+EEA5 900E EEA5 <CJK>
+EEA6 9049 EEA6 <CJK>
+EEA7 903E EEA7 <CJK>
+EEA8 9056 EEA8 <CJK>
+EEA9 9058 EEA9 <CJK>
+EEAA 905E EEAA <CJK>
+EEAB 9068 EEAB <CJK>
+EEAC 906F EEAC <CJK>
+EEAD 9076 EEAD <CJK>
+EEAE 96A8 EEAE <CJK>
+EEAF 9072 EEAF <CJK>
+EEB0 9082 EEB0 <CJK>
+EEB1 907D EEB1 <CJK>
+EEB2 9081 EEB2 <CJK>
+EEB3 9080 EEB3 <CJK>
+EEB4 908A EEB4 <CJK>
+EEB5 9089 EEB5 <CJK>
+EEB6 908F EEB6 <CJK>
+EEB7 90A8 EEB7 <CJK>
+EEB8 90AF EEB8 <CJK>
+EEB9 90B1 EEB9 <CJK>
+EEBA 90B5 EEBA <CJK>
+EEBB 90E2 EEBB <CJK>
+EEBC 90E4 EEBC <CJK>
+EEBD 6248 EEBD <CJK>
+EEBE 90DB EEBE <CJK>
+EEBF 9102 EEBF <CJK>
+EEC0 9112 EEC0 <CJK>
+EEC1 9119 EEC1 <CJK>
+EEC2 9132 EEC2 <CJK>
+EEC3 9130 EEC3 <CJK>
+EEC4 914A EEC4 <CJK>
+EEC5 9156 EEC5 <CJK>
+EEC6 9158 EEC6 <CJK>
+EEC7 9163 EEC7 <CJK>
+EEC8 9165 EEC8 <CJK>
+EEC9 9169 EEC9 <CJK>
+EECA 9173 EECA <CJK>
+EECB 9172 EECB <CJK>
+EECC 918B EECC <CJK>
+EECD 9189 EECD <CJK>
+EECE 9182 EECE <CJK>
+EECF 91A2 EECF <CJK>
+EED0 91AB EED0 <CJK>
+EED1 91AF EED1 <CJK>
+EED2 91AA EED2 <CJK>
+EED3 91B5 EED3 <CJK>
+EED4 91B4 EED4 <CJK>
+EED5 91BA EED5 <CJK>
+EED6 91C0 EED6 <CJK>
+EED7 91C1 EED7 <CJK>
+EED8 91C9 EED8 <CJK>
+EED9 91CB EED9 <CJK>
+EEDA 91D0 EEDA <CJK>
+EEDB 91D6 EEDB <CJK>
+EEDC 91DF EEDC <CJK>
+EEDD 91E1 EEDD <CJK>
+EEDE 91DB EEDE <CJK>
+EEDF 91FC EEDF <CJK>
+EEE0 91F5 EEE0 <CJK>
+EEE1 91F6 EEE1 <CJK>
+EEE2 921E EEE2 <CJK>
+EEE3 91FF EEE3 <CJK>
+EEE4 9214 EEE4 <CJK>
+EEE5 922C EEE5 <CJK>
+EEE6 9215 EEE6 <CJK>
+EEE7 9211 EEE7 <CJK>
+EEE8 925E EEE8 <CJK>
+EEE9 9257 EEE9 <CJK>
+EEEA 9245 EEEA <CJK>
+EEEB 9249 EEEB <CJK>
+EEEC 9264 EEEC <CJK>
+EEED 9248 EEED <CJK>
+EEEE 9295 EEEE <CJK>
+EEEF 923F EEEF <CJK>
+EEF0 924B EEF0 <CJK>
+EEF1 9250 EEF1 <CJK>
+EEF2 929C EEF2 <CJK>
+EEF3 9296 EEF3 <CJK>
+EEF4 9293 EEF4 <CJK>
+EEF5 929B EEF5 <CJK>
+EEF6 925A EEF6 <CJK>
+EEF7 92CF EEF7 <CJK>
+EEF8 92B9 EEF8 <CJK>
+EEF9 92B7 EEF9 <CJK>
+EEFA 92E9 EEFA <CJK>
+EEFB 930F EEFB <CJK>
+EEFC 92FA EEFC <CJK>
+EEFD 9344 EEFD <CJK>
+EEFE 932E EEFE <CJK>
+EFA1 9319 EFA1 <CJK>
+EFA2 9322 EFA2 <CJK>
+EFA3 931A EFA3 <CJK>
+EFA4 9323 EFA4 <CJK>
+EFA5 933A EFA5 <CJK>
+EFA6 9335 EFA6 <CJK>
+EFA7 933B EFA7 <CJK>
+EFA8 935C EFA8 <CJK>
+EFA9 9360 EFA9 <CJK>
+EFAA 937C EFAA <CJK>
+EFAB 936E EFAB <CJK>
+EFAC 9356 EFAC <CJK>
+EFAD 93B0 EFAD <CJK>
+EFAE 93AC EFAE <CJK>
+EFAF 93AD EFAF <CJK>
+EFB0 9394 EFB0 <CJK>
+EFB1 93B9 EFB1 <CJK>
+EFB2 93D6 EFB2 <CJK>
+EFB3 93D7 EFB3 <CJK>
+EFB4 93E8 EFB4 <CJK>
+EFB5 93E5 EFB5 <CJK>
+EFB6 93D8 EFB6 <CJK>
+EFB7 93C3 EFB7 <CJK>
+EFB8 93DD EFB8 <CJK>
+EFB9 93D0 EFB9 <CJK>
+EFBA 93C8 EFBA <CJK>
+EFBB 93E4 EFBB <CJK>
+EFBC 941A EFBC <CJK>
+EFBD 9414 EFBD <CJK>
+EFBE 9413 EFBE <CJK>
+EFBF 9403 EFBF <CJK>
+EFC0 9407 EFC0 <CJK>
+EFC1 9410 EFC1 <CJK>
+EFC2 9436 EFC2 <CJK>
+EFC3 942B EFC3 <CJK>
+EFC4 9435 EFC4 <CJK>
+EFC5 9421 EFC5 <CJK>
+EFC6 943A EFC6 <CJK>
+EFC7 9441 EFC7 <CJK>
+EFC8 9452 EFC8 <CJK>
+EFC9 9444 EFC9 <CJK>
+EFCA 945B EFCA <CJK>
+EFCB 9460 EFCB <CJK>
+EFCC 9462 EFCC <CJK>
+EFCD 945E EFCD <CJK>
+EFCE 946A EFCE <CJK>
+EFCF 9229 EFCF <CJK>
+EFD0 9470 EFD0 <CJK>
+EFD1 9475 EFD1 <CJK>
+EFD2 9477 EFD2 <CJK>
+EFD3 947D EFD3 <CJK>
+EFD4 945A EFD4 <CJK>
+EFD5 947C EFD5 <CJK>
+EFD6 947E EFD6 <CJK>
+EFD7 9481 EFD7 <CJK>
+EFD8 947F EFD8 <CJK>
+EFD9 9582 EFD9 <CJK>
+EFDA 9587 EFDA <CJK>
+EFDB 958A EFDB <CJK>
+EFDC 9594 EFDC <CJK>
+EFDD 9596 EFDD <CJK>
+EFDE 9598 EFDE <CJK>
+EFDF 9599 EFDF <CJK>
+EFE0 95A0 EFE0 <CJK>
+EFE1 95A8 EFE1 <CJK>
+EFE2 95A7 EFE2 <CJK>
+EFE3 95AD EFE3 <CJK>
+EFE4 95BC EFE4 <CJK>
+EFE5 95BB EFE5 <CJK>
+EFE6 95B9 EFE6 <CJK>
+EFE7 95BE EFE7 <CJK>
+EFE8 95CA EFE8 <CJK>
+EFE9 6FF6 EFE9 <CJK>
+EFEA 95C3 EFEA <CJK>
+EFEB 95CD EFEB <CJK>
+EFEC 95CC EFEC <CJK>
+EFED 95D5 EFED <CJK>
+EFEE 95D4 EFEE <CJK>
+EFEF 95D6 EFEF <CJK>
+EFF0 95DC EFF0 <CJK>
+EFF1 95E1 EFF1 <CJK>
+EFF2 95E5 EFF2 <CJK>
+EFF3 95E2 EFF3 <CJK>
+EFF4 9621 EFF4 <CJK>
+EFF5 9628 EFF5 <CJK>
+EFF6 962E EFF6 <CJK>
+EFF7 962F EFF7 <CJK>
+EFF8 9642 EFF8 <CJK>
+EFF9 964C EFF9 <CJK>
+EFFA 964F EFFA <CJK>
+EFFB 964B EFFB <CJK>
+EFFC 9677 EFFC <CJK>
+EFFD 965C EFFD <CJK>
+EFFE 965E EFFE <CJK>
+F0A1 965D F0A1 <CJK>
+F0A2 965F F0A2 <CJK>
+F0A3 9666 F0A3 <CJK>
+F0A4 9672 F0A4 <CJK>
+F0A5 966C F0A5 <CJK>
+F0A6 968D F0A6 <CJK>
+F0A7 9698 F0A7 <CJK>
+F0A8 9695 F0A8 <CJK>
+F0A9 9697 F0A9 <CJK>
+F0AA 96AA F0AA <CJK>
+F0AB 96A7 F0AB <CJK>
+F0AC 96B1 F0AC <CJK>
+F0AD 96B2 F0AD <CJK>
+F0AE 96B0 F0AE <CJK>
+F0AF 96B4 F0AF <CJK>
+F0B0 96B6 F0B0 <CJK>
+F0B1 96B8 F0B1 <CJK>
+F0B2 96B9 F0B2 <CJK>
+F0B3 96CE F0B3 <CJK>
+F0B4 96CB F0B4 <CJK>
+F0B5 96C9 F0B5 <CJK>
+F0B6 96CD F0B6 <CJK>
+F0B7 894D F0B7 <CJK>
+F0B8 96DC F0B8 <CJK>
+F0B9 970D F0B9 <CJK>
+F0BA 96D5 F0BA <CJK>
+F0BB 96F9 F0BB <CJK>
+F0BC 9704 F0BC <CJK>
+F0BD 9706 F0BD <CJK>
+F0BE 9708 F0BE <CJK>
+F0BF 9713 F0BF <CJK>
+F0C0 970E F0C0 <CJK>
+F0C1 9711 F0C1 <CJK>
+F0C2 970F F0C2 <CJK>
+F0C3 9716 F0C3 <CJK>
+F0C4 9719 F0C4 <CJK>
+F0C5 9724 F0C5 <CJK>
+F0C6 972A F0C6 <CJK>
+F0C7 9730 F0C7 <CJK>
+F0C8 9739 F0C8 <CJK>
+F0C9 973D F0C9 <CJK>
+F0CA 973E F0CA <CJK>
+F0CB 9744 F0CB <CJK>
+F0CC 9746 F0CC <CJK>
+F0CD 9748 F0CD <CJK>
+F0CE 9742 F0CE <CJK>
+F0CF 9749 F0CF <CJK>
+F0D0 975C F0D0 <CJK>
+F0D1 9760 F0D1 <CJK>
+F0D2 9764 F0D2 <CJK>
+F0D3 9766 F0D3 <CJK>
+F0D4 9768 F0D4 <CJK>
+F0D5 52D2 F0D5 <CJK>
+F0D6 976B F0D6 <CJK>
+F0D7 9771 F0D7 <CJK>
+F0D8 9779 F0D8 <CJK>
+F0D9 9785 F0D9 <CJK>
+F0DA 977C F0DA <CJK>
+F0DB 9781 F0DB <CJK>
+F0DC 977A F0DC <CJK>
+F0DD 9786 F0DD <CJK>
+F0DE 978B F0DE <CJK>
+F0DF 978F F0DF <CJK>
+F0E0 9790 F0E0 <CJK>
+F0E1 979C F0E1 <CJK>
+F0E2 97A8 F0E2 <CJK>
+F0E3 97A6 F0E3 <CJK>
+F0E4 97A3 F0E4 <CJK>
+F0E5 97B3 F0E5 <CJK>
+F0E6 97B4 F0E6 <CJK>
+F0E7 97C3 F0E7 <CJK>
+F0E8 97C6 F0E8 <CJK>
+F0E9 97C8 F0E9 <CJK>
+F0EA 97CB F0EA <CJK>
+F0EB 97DC F0EB <CJK>
+F0EC 97ED F0EC <CJK>
+F0ED 9F4F F0ED <CJK>
+F0EE 97F2 F0EE <CJK>
+F0EF 7ADF F0EF <CJK>
+F0F0 97F6 F0F0 <CJK>
+F0F1 97F5 F0F1 <CJK>
+F0F2 980F F0F2 <CJK>
+F0F3 980C F0F3 <CJK>
+F0F4 9838 F0F4 <CJK>
+F0F5 9824 F0F5 <CJK>
+F0F6 9821 F0F6 <CJK>
+F0F7 9837 F0F7 <CJK>
+F0F8 983D F0F8 <CJK>
+F0F9 9846 F0F9 <CJK>
+F0FA 984F F0FA <CJK>
+F0FB 984B F0FB <CJK>
+F0FC 986B F0FC <CJK>
+F0FD 986F F0FD <CJK>
+F0FE 9870 F0FE <CJK>
+F1A1 9871 F1A1 <CJK>
+F1A2 9874 F1A2 <CJK>
+F1A3 9873 F1A3 <CJK>
+F1A4 98AA F1A4 <CJK>
+F1A5 98AF F1A5 <CJK>
+F1A6 98B1 F1A6 <CJK>
+F1A7 98B6 F1A7 <CJK>
+F1A8 98C4 F1A8 <CJK>
+F1A9 98C3 F1A9 <CJK>
+F1AA 98C6 F1AA <CJK>
+F1AB 98E9 F1AB <CJK>
+F1AC 98EB F1AC <CJK>
+F1AD 9903 F1AD <CJK>
+F1AE 9909 F1AE <CJK>
+F1AF 9912 F1AF <CJK>
+F1B0 9914 F1B0 <CJK>
+F1B1 9918 F1B1 <CJK>
+F1B2 9921 F1B2 <CJK>
+F1B3 991D F1B3 <CJK>
+F1B4 991E F1B4 <CJK>
+F1B5 9924 F1B5 <CJK>
+F1B6 9920 F1B6 <CJK>
+F1B7 992C F1B7 <CJK>
+F1B8 992E F1B8 <CJK>
+F1B9 993D F1B9 <CJK>
+F1BA 993E F1BA <CJK>
+F1BB 9942 F1BB <CJK>
+F1BC 9949 F1BC <CJK>
+F1BD 9945 F1BD <CJK>
+F1BE 9950 F1BE <CJK>
+F1BF 994B F1BF <CJK>
+F1C0 9951 F1C0 <CJK>
+F1C1 9952 F1C1 <CJK>
+F1C2 994C F1C2 <CJK>
+F1C3 9955 F1C3 <CJK>
+F1C4 9997 F1C4 <CJK>
+F1C5 9998 F1C5 <CJK>
+F1C6 99A5 F1C6 <CJK>
+F1C7 99AD F1C7 <CJK>
+F1C8 99AE F1C8 <CJK>
+F1C9 99BC F1C9 <CJK>
+F1CA 99DF F1CA <CJK>
+F1CB 99DB F1CB <CJK>
+F1CC 99DD F1CC <CJK>
+F1CD 99D8 F1CD <CJK>
+F1CE 99D1 F1CE <CJK>
+F1CF 99ED F1CF <CJK>
+F1D0 99EE F1D0 <CJK>
+F1D1 99F1 F1D1 <CJK>
+F1D2 99F2 F1D2 <CJK>
+F1D3 99FB F1D3 <CJK>
+F1D4 99F8 F1D4 <CJK>
+F1D5 9A01 F1D5 <CJK>
+F1D6 9A0F F1D6 <CJK>
+F1D7 9A05 F1D7 <CJK>
+F1D8 99E2 F1D8 <CJK>
+F1D9 9A19 F1D9 <CJK>
+F1DA 9A2B F1DA <CJK>
+F1DB 9A37 F1DB <CJK>
+F1DC 9A45 F1DC <CJK>
+F1DD 9A42 F1DD <CJK>
+F1DE 9A40 F1DE <CJK>
+F1DF 9A43 F1DF <CJK>
+F1E0 9A3E F1E0 <CJK>
+F1E1 9A55 F1E1 <CJK>
+F1E2 9A4D F1E2 <CJK>
+F1E3 9A5B F1E3 <CJK>
+F1E4 9A57 F1E4 <CJK>
+F1E5 9A5F F1E5 <CJK>
+F1E6 9A62 F1E6 <CJK>
+F1E7 9A65 F1E7 <CJK>
+F1E8 9A64 F1E8 <CJK>
+F1E9 9A69 F1E9 <CJK>
+F1EA 9A6B F1EA <CJK>
+F1EB 9A6A F1EB <CJK>
+F1EC 9AAD F1EC <CJK>
+F1ED 9AB0 F1ED <CJK>
+F1EE 9ABC F1EE <CJK>
+F1EF 9AC0 F1EF <CJK>
+F1F0 9ACF F1F0 <CJK>
+F1F1 9AD1 F1F1 <CJK>
+F1F2 9AD3 F1F2 <CJK>
+F1F3 9AD4 F1F3 <CJK>
+F1F4 9ADE F1F4 <CJK>
+F1F5 9ADF F1F5 <CJK>
+F1F6 9AE2 F1F6 <CJK>
+F1F7 9AE3 F1F7 <CJK>
+F1F8 9AE6 F1F8 <CJK>
+F1F9 9AEF F1F9 <CJK>
+F1FA 9AEB F1FA <CJK>
+F1FB 9AEE F1FB <CJK>
+F1FC 9AF4 F1FC <CJK>
+F1FD 9AF1 F1FD <CJK>
+F1FE 9AF7 F1FE <CJK>
+F2A1 9AFB F2A1 <CJK>
+F2A2 9B06 F2A2 <CJK>
+F2A3 9B18 F2A3 <CJK>
+F2A4 9B1A F2A4 <CJK>
+F2A5 9B1F F2A5 <CJK>
+F2A6 9B22 F2A6 <CJK>
+F2A7 9B23 F2A7 <CJK>
+F2A8 9B25 F2A8 <CJK>
+F2A9 9B27 F2A9 <CJK>
+F2AA 9B28 F2AA <CJK>
+F2AB 9B29 F2AB <CJK>
+F2AC 9B2A F2AC <CJK>
+F2AD 9B2E F2AD <CJK>
+F2AE 9B2F F2AE <CJK>
+F2AF 9B32 F2AF <CJK>
+F2B0 9B44 F2B0 <CJK>
+F2B1 9B43 F2B1 <CJK>
+F2B2 9B4F F2B2 <CJK>
+F2B3 9B4D F2B3 <CJK>
+F2B4 9B4E F2B4 <CJK>
+F2B5 9B51 F2B5 <CJK>
+F2B6 9B58 F2B6 <CJK>
+F2B7 9B74 F2B7 <CJK>
+F2B8 9B93 F2B8 <CJK>
+F2B9 9B83 F2B9 <CJK>
+F2BA 9B91 F2BA <CJK>
+F2BB 9B96 F2BB <CJK>
+F2BC 9B97 F2BC <CJK>
+F2BD 9B9F F2BD <CJK>
+F2BE 9BA0 F2BE <CJK>
+F2BF 9BA8 F2BF <CJK>
+F2C0 9BB4 F2C0 <CJK>
+F2C1 9BC0 F2C1 <CJK>
+F2C2 9BCA F2C2 <CJK>
+F2C3 9BB9 F2C3 <CJK>
+F2C4 9BC6 F2C4 <CJK>
+F2C5 9BCF F2C5 <CJK>
+F2C6 9BD1 F2C6 <CJK>
+F2C7 9BD2 F2C7 <CJK>
+F2C8 9BE3 F2C8 <CJK>
+F2C9 9BE2 F2C9 <CJK>
+F2CA 9BE4 F2CA <CJK>
+F2CB 9BD4 F2CB <CJK>
+F2CC 9BE1 F2CC <CJK>
+F2CD 9C3A F2CD <CJK>
+F2CE 9BF2 F2CE <CJK>
+F2CF 9BF1 F2CF <CJK>
+F2D0 9BF0 F2D0 <CJK>
+F2D1 9C15 F2D1 <CJK>
+F2D2 9C14 F2D2 <CJK>
+F2D3 9C09 F2D3 <CJK>
+F2D4 9C13 F2D4 <CJK>
+F2D5 9C0C F2D5 <CJK>
+F2D6 9C06 F2D6 <CJK>
+F2D7 9C08 F2D7 <CJK>
+F2D8 9C12 F2D8 <CJK>
+F2D9 9C0A F2D9 <CJK>
+F2DA 9C04 F2DA <CJK>
+F2DB 9C2E F2DB <CJK>
+F2DC 9C1B F2DC <CJK>
+F2DD 9C25 F2DD <CJK>
+F2DE 9C24 F2DE <CJK>
+F2DF 9C21 F2DF <CJK>
+F2E0 9C30 F2E0 <CJK>
+F2E1 9C47 F2E1 <CJK>
+F2E2 9C32 F2E2 <CJK>
+F2E3 9C46 F2E3 <CJK>
+F2E4 9C3E F2E4 <CJK>
+F2E5 9C5A F2E5 <CJK>
+F2E6 9C60 F2E6 <CJK>
+F2E7 9C67 F2E7 <CJK>
+F2E8 9C76 F2E8 <CJK>
+F2E9 9C78 F2E9 <CJK>
+F2EA 9CE7 F2EA <CJK>
+F2EB 9CEC F2EB <CJK>
+F2EC 9CF0 F2EC <CJK>
+F2ED 9D09 F2ED <CJK>
+F2EE 9D08 F2EE <CJK>
+F2EF 9CEB F2EF <CJK>
+F2F0 9D03 F2F0 <CJK>
+F2F1 9D06 F2F1 <CJK>
+F2F2 9D2A F2F2 <CJK>
+F2F3 9D26 F2F3 <CJK>
+F2F4 9DAF F2F4 <CJK>
+F2F5 9D23 F2F5 <CJK>
+F2F6 9D1F F2F6 <CJK>
+F2F7 9D44 F2F7 <CJK>
+F2F8 9D15 F2F8 <CJK>
+F2F9 9D12 F2F9 <CJK>
+F2FA 9D41 F2FA <CJK>
+F2FB 9D3F F2FB <CJK>
+F2FC 9D3E F2FC <CJK>
+F2FD 9D46 F2FD <CJK>
+F2FE 9D48 F2FE <CJK>
+F3A1 9D5D F3A1 <CJK>
+F3A2 9D5E F3A2 <CJK>
+F3A3 9D64 F3A3 <CJK>
+F3A4 9D51 F3A4 <CJK>
+F3A5 9D50 F3A5 <CJK>
+F3A6 9D59 F3A6 <CJK>
+F3A7 9D72 F3A7 <CJK>
+F3A8 9D89 F3A8 <CJK>
+F3A9 9D87 F3A9 <CJK>
+F3AA 9DAB F3AA <CJK>
+F3AB 9D6F F3AB <CJK>
+F3AC 9D7A F3AC <CJK>
+F3AD 9D9A F3AD <CJK>
+F3AE 9DA4 F3AE <CJK>
+F3AF 9DA9 F3AF <CJK>
+F3B0 9DB2 F3B0 <CJK>
+F3B1 9DC4 F3B1 <CJK>
+F3B2 9DC1 F3B2 <CJK>
+F3B3 9DBB F3B3 <CJK>
+F3B4 9DB8 F3B4 <CJK>
+F3B5 9DBA F3B5 <CJK>
+F3B6 9DC6 F3B6 <CJK>
+F3B7 9DCF F3B7 <CJK>
+F3B8 9DC2 F3B8 <CJK>
+F3B9 9DD9 F3B9 <CJK>
+F3BA 9DD3 F3BA <CJK>
+F3BB 9DF8 F3BB <CJK>
+F3BC 9DE6 F3BC <CJK>
+F3BD 9DED F3BD <CJK>
+F3BE 9DEF F3BE <CJK>
+F3BF 9DFD F3BF <CJK>
+F3C0 9E1A F3C0 <CJK>
+F3C1 9E1B F3C1 <CJK>
+F3C2 9E1E F3C2 <CJK>
+F3C3 9E75 F3C3 <CJK>
+F3C4 9E79 F3C4 <CJK>
+F3C5 9E7D F3C5 <CJK>
+F3C6 9E81 F3C6 <CJK>
+F3C7 9E88 F3C7 <CJK>
+F3C8 9E8B F3C8 <CJK>
+F3C9 9E8C F3C9 <CJK>
+F3CA 9E92 F3CA <CJK>
+F3CB 9E95 F3CB <CJK>
+F3CC 9E91 F3CC <CJK>
+F3CD 9E9D F3CD <CJK>
+F3CE 9EA5 F3CE <CJK>
+F3CF 9EA9 F3CF <CJK>
+F3D0 9EB8 F3D0 <CJK>
+F3D1 9EAA F3D1 <CJK>
+F3D2 9EAD F3D2 <CJK>
+F3D3 9761 F3D3 <CJK>
+F3D4 9ECC F3D4 <CJK>
+F3D5 9ECE F3D5 <CJK>
+F3D6 9ECF F3D6 <CJK>
+F3D7 9ED0 F3D7 <CJK>
+F3D8 9ED4 F3D8 <CJK>
+F3D9 9EDC F3D9 <CJK>
+F3DA 9EDE F3DA <CJK>
+F3DB 9EDD F3DB <CJK>
+F3DC 9EE0 F3DC <CJK>
+F3DD 9EE5 F3DD <CJK>
+F3DE 9EE8 F3DE <CJK>
+F3DF 9EEF F3DF <CJK>
+F3E0 9EF4 F3E0 <CJK>
+F3E1 9EF6 F3E1 <CJK>
+F3E2 9EF7 F3E2 <CJK>
+F3E3 9EF9 F3E3 <CJK>
+F3E4 9EFB F3E4 <CJK>
+F3E5 9EFC F3E5 <CJK>
+F3E6 9EFD F3E6 <CJK>
+F3E7 9F07 F3E7 <CJK>
+F3E8 9F08 F3E8 <CJK>
+F3E9 76B7 F3E9 <CJK>
+F3EA 9F15 F3EA <CJK>
+F3EB 9F21 F3EB <CJK>
+F3EC 9F2C F3EC <CJK>
+F3ED 9F3E F3ED <CJK>
+F3EE 9F4A F3EE <CJK>
+F3EF 9F52 F3EF <CJK>
+F3F0 9F54 F3F0 <CJK>
+F3F1 9F63 F3F1 <CJK>
+F3F2 9F5F F3F2 <CJK>
+F3F3 9F60 F3F3 <CJK>
+F3F4 9F61 F3F4 <CJK>
+F3F5 9F66 F3F5 <CJK>
+F3F6 9F67 F3F6 <CJK>
+F3F7 9F6C F3F7 <CJK>
+F3F8 9F6A F3F8 <CJK>
+F3F9 9F77 F3F9 <CJK>
+F3FA 9F72 F3FA <CJK>
+F3FB 9F76 F3FB <CJK>
+F3FC 9F95 F3FC <CJK>
+F3FD 9F9C F3FD <CJK>
+F3FE 9FA0 F3FE <CJK>
+F4A1 582F F4A1 U+582F <CJK>
+F4A2 69C7 F4A2 U+69C7 <CJK>
+F4A3 9059 F4A3 U+9059 <CJK>
+F4A4 7464 F4A4 U+7464 <CJK>
+F4A5 51DC F4A5 U+51DC <CJK>
+F4A6 7199 F4A6 U+7199 <CJK>
+F5A1 E000 F5A1 User defined range #1
+F5A2 E001 F5A2 User defined range #1
+F5A3 E002 F5A3 User defined range #1
+F5A4 E003 F5A4 User defined range #1
+F5A5 E004 F5A5 User defined range #1
+F5A6 E005 F5A6 User defined range #1
+F5A7 E006 F5A7 User defined range #1
+F5A8 E007 F5A8 User defined range #1
+F5A9 E008 F5A9 User defined range #1
+F5AA E009 F5AA User defined range #1
+F5AB E00A F5AB User defined range #1
+F5AC E00B F5AC User defined range #1
+F5AD E00C F5AD User defined range #1
+F5AE E00D F5AE User defined range #1
+F5AF E00E F5AF User defined range #1
+F5B0 E00F F5B0 User defined range #1
+F5B1 E010 F5B1 User defined range #1
+F5B2 E011 F5B2 User defined range #1
+F5B3 E012 F5B3 User defined range #1
+F5B4 E013 F5B4 User defined range #1
+F5B5 E014 F5B5 User defined range #1
+F5B6 E015 F5B6 User defined range #1
+F5B7 E016 F5B7 User defined range #1
+F5B8 E017 F5B8 User defined range #1
+F5B9 E018 F5B9 User defined range #1
+F5BA E019 F5BA User defined range #1
+F5BB E01A F5BB User defined range #1
+F5BC E01B F5BC User defined range #1
+F5BD E01C F5BD User defined range #1
+F5BE E01D F5BE User defined range #1
+F5BF E01E F5BF User defined range #1
+F5C0 E01F F5C0 User defined range #1
+F5C1 E020 F5C1 User defined range #1
+F5C2 E021 F5C2 User defined range #1
+F5C3 E022 F5C3 User defined range #1
+F5C4 E023 F5C4 User defined range #1
+F5C5 E024 F5C5 User defined range #1
+F5C6 E025 F5C6 User defined range #1
+F5C7 E026 F5C7 User defined range #1
+F5C8 E027 F5C8 User defined range #1
+F5C9 E028 F5C9 User defined range #1
+F5CA E029 F5CA User defined range #1
+F5CB E02A F5CB User defined range #1
+F5CC E02B F5CC User defined range #1
+F5CD E02C F5CD User defined range #1
+F5CE E02D F5CE User defined range #1
+F5CF E02E F5CF User defined range #1
+F5D0 E02F F5D0 User defined range #1
+F5D1 E030 F5D1 User defined range #1
+F5D2 E031 F5D2 User defined range #1
+F5D3 E032 F5D3 User defined range #1
+F5D4 E033 F5D4 User defined range #1
+F5D5 E034 F5D5 User defined range #1
+F5D6 E035 F5D6 User defined range #1
+F5D7 E036 F5D7 User defined range #1
+F5D8 E037 F5D8 User defined range #1
+F5D9 E038 F5D9 User defined range #1
+F5DA E039 F5DA User defined range #1
+F5DB E03A F5DB User defined range #1
+F5DC E03B F5DC User defined range #1
+F5DD E03C F5DD User defined range #1
+F5DE E03D F5DE User defined range #1
+F5DF E03E F5DF User defined range #1
+F5E0 E03F F5E0 User defined range #1
+F5E1 E040 F5E1 User defined range #1
+F5E2 E041 F5E2 User defined range #1
+F5E3 E042 F5E3 User defined range #1
+F5E4 E043 F5E4 User defined range #1
+F5E5 E044 F5E5 User defined range #1
+F5E6 E045 F5E6 User defined range #1
+F5E7 E046 F5E7 User defined range #1
+F5E8 E047 F5E8 User defined range #1
+F5E9 E048 F5E9 User defined range #1
+F5EA E049 F5EA User defined range #1
+F5EB E04A F5EB User defined range #1
+F5EC E04B F5EC User defined range #1
+F5ED E04C F5ED User defined range #1
+F5EE E04D F5EE User defined range #1
+F5EF E04E F5EF User defined range #1
+F5F0 E04F F5F0 User defined range #1
+F5F1 E050 F5F1 User defined range #1
+F5F2 E051 F5F2 User defined range #1
+F5F3 E052 F5F3 User defined range #1
+F5F4 E053 F5F4 User defined range #1
+F5F5 E054 F5F5 User defined range #1
+F5F6 E055 F5F6 User defined range #1
+F5F7 E056 F5F7 User defined range #1
+F5F8 E057 F5F8 User defined range #1
+F5F9 E058 F5F9 User defined range #1
+F5FA E059 F5FA User defined range #1
+F5FB E05A F5FB User defined range #1
+F5FC E05B F5FC User defined range #1
+F5FD E05C F5FD User defined range #1
+F5FE E05D F5FE User defined range #1
+F6A1 E05E F6A1 User defined range #1
+F6A2 E05F F6A2 User defined range #1
+F6A3 E060 F6A3 User defined range #1
+F6A4 E061 F6A4 User defined range #1
+F6A5 E062 F6A5 User defined range #1
+F6A6 E063 F6A6 User defined range #1
+F6A7 E064 F6A7 User defined range #1
+F6A8 E065 F6A8 User defined range #1
+F6A9 E066 F6A9 User defined range #1
+F6AA E067 F6AA User defined range #1
+F6AB E068 F6AB User defined range #1
+F6AC E069 F6AC User defined range #1
+F6AD E06A F6AD User defined range #1
+F6AE E06B F6AE User defined range #1
+F6AF E06C F6AF User defined range #1
+F6B0 E06D F6B0 User defined range #1
+F6B1 E06E F6B1 User defined range #1
+F6B2 E06F F6B2 User defined range #1
+F6B3 E070 F6B3 User defined range #1
+F6B4 E071 F6B4 User defined range #1
+F6B5 E072 F6B5 User defined range #1
+F6B6 E073 F6B6 User defined range #1
+F6B7 E074 F6B7 User defined range #1
+F6B8 E075 F6B8 User defined range #1
+F6B9 E076 F6B9 User defined range #1
+F6BA E077 F6BA User defined range #1
+F6BB E078 F6BB User defined range #1
+F6BC E079 F6BC User defined range #1
+F6BD E07A F6BD User defined range #1
+F6BE E07B F6BE User defined range #1
+F6BF E07C F6BF User defined range #1
+F6C0 E07D F6C0 User defined range #1
+F6C1 E07E F6C1 User defined range #1
+F6C2 E07F F6C2 User defined range #1
+F6C3 E080 F6C3 User defined range #1
+F6C4 E081 F6C4 User defined range #1
+F6C5 E082 F6C5 User defined range #1
+F6C6 E083 F6C6 User defined range #1
+F6C7 E084 F6C7 User defined range #1
+F6C8 E085 F6C8 User defined range #1
+F6C9 E086 F6C9 User defined range #1
+F6CA E087 F6CA User defined range #1
+F6CB E088 F6CB User defined range #1
+F6CC E089 F6CC User defined range #1
+F6CD E08A F6CD User defined range #1
+F6CE E08B F6CE User defined range #1
+F6CF E08C F6CF User defined range #1
+F6D0 E08D F6D0 User defined range #1
+F6D1 E08E F6D1 User defined range #1
+F6D2 E08F F6D2 User defined range #1
+F6D3 E090 F6D3 User defined range #1
+F6D4 E091 F6D4 User defined range #1
+F6D5 E092 F6D5 User defined range #1
+F6D6 E093 F6D6 User defined range #1
+F6D7 E094 F6D7 User defined range #1
+F6D8 E095 F6D8 User defined range #1
+F6D9 E096 F6D9 User defined range #1
+F6DA E097 F6DA User defined range #1
+F6DB E098 F6DB User defined range #1
+F6DC E099 F6DC User defined range #1
+F6DD E09A F6DD User defined range #1
+F6DE E09B F6DE User defined range #1
+F6DF E09C F6DF User defined range #1
+F6E0 E09D F6E0 User defined range #1
+F6E1 E09E F6E1 User defined range #1
+F6E2 E09F F6E2 User defined range #1
+F6E3 E0A0 F6E3 User defined range #1
+F6E4 E0A1 F6E4 User defined range #1
+F6E5 E0A2 F6E5 User defined range #1
+F6E6 E0A3 F6E6 User defined range #1
+F6E7 E0A4 F6E7 User defined range #1
+F6E8 E0A5 F6E8 User defined range #1
+F6E9 E0A6 F6E9 User defined range #1
+F6EA E0A7 F6EA User defined range #1
+F6EB E0A8 F6EB User defined range #1
+F6EC E0A9 F6EC User defined range #1
+F6ED E0AA F6ED User defined range #1
+F6EE E0AB F6EE User defined range #1
+F6EF E0AC F6EF User defined range #1
+F6F0 E0AD F6F0 User defined range #1
+F6F1 E0AE F6F1 User defined range #1
+F6F2 E0AF F6F2 User defined range #1
+F6F3 E0B0 F6F3 User defined range #1
+F6F4 E0B1 F6F4 User defined range #1
+F6F5 E0B2 F6F5 User defined range #1
+F6F6 E0B3 F6F6 User defined range #1
+F6F7 E0B4 F6F7 User defined range #1
+F6F8 E0B5 F6F8 User defined range #1
+F6F9 E0B6 F6F9 User defined range #1
+F6FA E0B7 F6FA User defined range #1
+F6FB E0B8 F6FB User defined range #1
+F6FC E0B9 F6FC User defined range #1
+F6FD E0BA F6FD User defined range #1
+F6FE E0BB F6FE User defined range #1
+F7A1 E0BC F7A1 User defined range #1
+F7A2 E0BD F7A2 User defined range #1
+F7A3 E0BE F7A3 User defined range #1
+F7A4 E0BF F7A4 User defined range #1
+F7A5 E0C0 F7A5 User defined range #1
+F7A6 E0C1 F7A6 User defined range #1
+F7A7 E0C2 F7A7 User defined range #1
+F7A8 E0C3 F7A8 User defined range #1
+F7A9 E0C4 F7A9 User defined range #1
+F7AA E0C5 F7AA User defined range #1
+F7AB E0C6 F7AB User defined range #1
+F7AC E0C7 F7AC User defined range #1
+F7AD E0C8 F7AD User defined range #1
+F7AE E0C9 F7AE User defined range #1
+F7AF E0CA F7AF User defined range #1
+F7B0 E0CB F7B0 User defined range #1
+F7B1 E0CC F7B1 User defined range #1
+F7B2 E0CD F7B2 User defined range #1
+F7B3 E0CE F7B3 User defined range #1
+F7B4 E0CF F7B4 User defined range #1
+F7B5 E0D0 F7B5 User defined range #1
+F7B6 E0D1 F7B6 User defined range #1
+F7B7 E0D2 F7B7 User defined range #1
+F7B8 E0D3 F7B8 User defined range #1
+F7B9 E0D4 F7B9 User defined range #1
+F7BA E0D5 F7BA User defined range #1
+F7BB E0D6 F7BB User defined range #1
+F7BC E0D7 F7BC User defined range #1
+F7BD E0D8 F7BD User defined range #1
+F7BE E0D9 F7BE User defined range #1
+F7BF E0DA F7BF User defined range #1
+F7C0 E0DB F7C0 User defined range #1
+F7C1 E0DC F7C1 User defined range #1
+F7C2 E0DD F7C2 User defined range #1
+F7C3 E0DE F7C3 User defined range #1
+F7C4 E0DF F7C4 User defined range #1
+F7C5 E0E0 F7C5 User defined range #1
+F7C6 E0E1 F7C6 User defined range #1
+F7C7 E0E2 F7C7 User defined range #1
+F7C8 E0E3 F7C8 User defined range #1
+F7C9 E0E4 F7C9 User defined range #1
+F7CA E0E5 F7CA User defined range #1
+F7CB E0E6 F7CB User defined range #1
+F7CC E0E7 F7CC User defined range #1
+F7CD E0E8 F7CD User defined range #1
+F7CE E0E9 F7CE User defined range #1
+F7CF E0EA F7CF User defined range #1
+F7D0 E0EB F7D0 User defined range #1
+F7D1 E0EC F7D1 User defined range #1
+F7D2 E0ED F7D2 User defined range #1
+F7D3 E0EE F7D3 User defined range #1
+F7D4 E0EF F7D4 User defined range #1
+F7D5 E0F0 F7D5 User defined range #1
+F7D6 E0F1 F7D6 User defined range #1
+F7D7 E0F2 F7D7 User defined range #1
+F7D8 E0F3 F7D8 User defined range #1
+F7D9 E0F4 F7D9 User defined range #1
+F7DA E0F5 F7DA User defined range #1
+F7DB E0F6 F7DB User defined range #1
+F7DC E0F7 F7DC User defined range #1
+F7DD E0F8 F7DD User defined range #1
+F7DE E0F9 F7DE User defined range #1
+F7DF E0FA F7DF User defined range #1
+F7E0 E0FB F7E0 User defined range #1
+F7E1 E0FC F7E1 User defined range #1
+F7E2 E0FD F7E2 User defined range #1
+F7E3 E0FE F7E3 User defined range #1
+F7E4 E0FF F7E4 User defined range #1
+F7E5 E100 F7E5 User defined range #1
+F7E6 E101 F7E6 User defined range #1
+F7E7 E102 F7E7 User defined range #1
+F7E8 E103 F7E8 User defined range #1
+F7E9 E104 F7E9 User defined range #1
+F7EA E105 F7EA User defined range #1
+F7EB E106 F7EB User defined range #1
+F7EC E107 F7EC User defined range #1
+F7ED E108 F7ED User defined range #1
+F7EE E109 F7EE User defined range #1
+F7EF E10A F7EF User defined range #1
+F7F0 E10B F7F0 User defined range #1
+F7F1 E10C F7F1 User defined range #1
+F7F2 E10D F7F2 User defined range #1
+F7F3 E10E F7F3 User defined range #1
+F7F4 E10F F7F4 User defined range #1
+F7F5 E110 F7F5 User defined range #1
+F7F6 E111 F7F6 User defined range #1
+F7F7 E112 F7F7 User defined range #1
+F7F8 E113 F7F8 User defined range #1
+F7F9 E114 F7F9 User defined range #1
+F7FA E115 F7FA User defined range #1
+F7FB E116 F7FB User defined range #1
+F7FC E117 F7FC User defined range #1
+F7FD E118 F7FD User defined range #1
+F7FE E119 F7FE User defined range #1
+F8A1 E11A F8A1 User defined range #1
+F8A2 E11B F8A2 User defined range #1
+F8A3 E11C F8A3 User defined range #1
+F8A4 E11D F8A4 User defined range #1
+F8A5 E11E F8A5 User defined range #1
+F8A6 E11F F8A6 User defined range #1
+F8A7 E120 F8A7 User defined range #1
+F8A8 E121 F8A8 User defined range #1
+F8A9 E122 F8A9 User defined range #1
+F8AA E123 F8AA User defined range #1
+F8AB E124 F8AB User defined range #1
+F8AC E125 F8AC User defined range #1
+F8AD E126 F8AD User defined range #1
+F8AE E127 F8AE User defined range #1
+F8AF E128 F8AF User defined range #1
+F8B0 E129 F8B0 User defined range #1
+F8B1 E12A F8B1 User defined range #1
+F8B2 E12B F8B2 User defined range #1
+F8B3 E12C F8B3 User defined range #1
+F8B4 E12D F8B4 User defined range #1
+F8B5 E12E F8B5 User defined range #1
+F8B6 E12F F8B6 User defined range #1
+F8B7 E130 F8B7 User defined range #1
+F8B8 E131 F8B8 User defined range #1
+F8B9 E132 F8B9 User defined range #1
+F8BA E133 F8BA User defined range #1
+F8BB E134 F8BB User defined range #1
+F8BC E135 F8BC User defined range #1
+F8BD E136 F8BD User defined range #1
+F8BE E137 F8BE User defined range #1
+F8BF E138 F8BF User defined range #1
+F8C0 E139 F8C0 User defined range #1
+F8C1 E13A F8C1 User defined range #1
+F8C2 E13B F8C2 User defined range #1
+F8C3 E13C F8C3 User defined range #1
+F8C4 E13D F8C4 User defined range #1
+F8C5 E13E F8C5 User defined range #1
+F8C6 E13F F8C6 User defined range #1
+F8C7 E140 F8C7 User defined range #1
+F8C8 E141 F8C8 User defined range #1
+F8C9 E142 F8C9 User defined range #1
+F8CA E143 F8CA User defined range #1
+F8CB E144 F8CB User defined range #1
+F8CC E145 F8CC User defined range #1
+F8CD E146 F8CD User defined range #1
+F8CE E147 F8CE User defined range #1
+F8CF E148 F8CF User defined range #1
+F8D0 E149 F8D0 User defined range #1
+F8D1 E14A F8D1 User defined range #1
+F8D2 E14B F8D2 User defined range #1
+F8D3 E14C F8D3 User defined range #1
+F8D4 E14D F8D4 User defined range #1
+F8D5 E14E F8D5 User defined range #1
+F8D6 E14F F8D6 User defined range #1
+F8D7 E150 F8D7 User defined range #1
+F8D8 E151 F8D8 User defined range #1
+F8D9 E152 F8D9 User defined range #1
+F8DA E153 F8DA User defined range #1
+F8DB E154 F8DB User defined range #1
+F8DC E155 F8DC User defined range #1
+F8DD E156 F8DD User defined range #1
+F8DE E157 F8DE User defined range #1
+F8DF E158 F8DF User defined range #1
+F8E0 E159 F8E0 User defined range #1
+F8E1 E15A F8E1 User defined range #1
+F8E2 E15B F8E2 User defined range #1
+F8E3 E15C F8E3 User defined range #1
+F8E4 E15D F8E4 User defined range #1
+F8E5 E15E F8E5 User defined range #1
+F8E6 E15F F8E6 User defined range #1
+F8E7 E160 F8E7 User defined range #1
+F8E8 E161 F8E8 User defined range #1
+F8E9 E162 F8E9 User defined range #1
+F8EA E163 F8EA User defined range #1
+F8EB E164 F8EB User defined range #1
+F8EC E165 F8EC User defined range #1
+F8ED E166 F8ED User defined range #1
+F8EE E167 F8EE User defined range #1
+F8EF E168 F8EF User defined range #1
+F8F0 E169 F8F0 User defined range #1
+F8F1 E16A F8F1 User defined range #1
+F8F2 E16B F8F2 User defined range #1
+F8F3 E16C F8F3 User defined range #1
+F8F4 E16D F8F4 User defined range #1
+F8F5 E16E F8F5 User defined range #1
+F8F6 E16F F8F6 User defined range #1
+F8F7 E170 F8F7 User defined range #1
+F8F8 E171 F8F8 User defined range #1
+F8F9 E172 F8F9 User defined range #1
+F8FA E173 F8FA User defined range #1
+F8FB E174 F8FB User defined range #1
+F8FC E175 F8FC User defined range #1
+F8FD E176 F8FD User defined range #1
+F8FE E177 F8FE User defined range #1
+F9A1 E178 F9A1 User defined range #1
+F9A2 E179 F9A2 User defined range #1
+F9A3 E17A F9A3 User defined range #1
+F9A4 E17B F9A4 User defined range #1
+F9A5 E17C F9A5 User defined range #1
+F9A6 E17D F9A6 User defined range #1
+F9A7 E17E F9A7 User defined range #1
+F9A8 E17F F9A8 User defined range #1
+F9A9 E180 F9A9 User defined range #1
+F9AA E181 F9AA User defined range #1
+F9AB E182 F9AB User defined range #1
+F9AC E183 F9AC User defined range #1
+F9AD E184 F9AD User defined range #1
+F9AE E185 F9AE User defined range #1
+F9AF E186 F9AF User defined range #1
+F9B0 E187 F9B0 User defined range #1
+F9B1 E188 F9B1 User defined range #1
+F9B2 E189 F9B2 User defined range #1
+F9B3 E18A F9B3 User defined range #1
+F9B4 E18B F9B4 User defined range #1
+F9B5 E18C F9B5 User defined range #1
+F9B6 E18D F9B6 User defined range #1
+F9B7 E18E F9B7 User defined range #1
+F9B8 E18F F9B8 User defined range #1
+F9B9 E190 F9B9 User defined range #1
+F9BA E191 F9BA User defined range #1
+F9BB E192 F9BB User defined range #1
+F9BC E193 F9BC User defined range #1
+F9BD E194 F9BD User defined range #1
+F9BE E195 F9BE User defined range #1
+F9BF E196 F9BF User defined range #1
+F9C0 E197 F9C0 User defined range #1
+F9C1 E198 F9C1 User defined range #1
+F9C2 E199 F9C2 User defined range #1
+F9C3 E19A F9C3 User defined range #1
+F9C4 E19B F9C4 User defined range #1
+F9C5 E19C F9C5 User defined range #1
+F9C6 E19D F9C6 User defined range #1
+F9C7 E19E F9C7 User defined range #1
+F9C8 E19F F9C8 User defined range #1
+F9C9 E1A0 F9C9 User defined range #1
+F9CA E1A1 F9CA User defined range #1
+F9CB E1A2 F9CB User defined range #1
+F9CC E1A3 F9CC User defined range #1
+F9CD E1A4 F9CD User defined range #1
+F9CE E1A5 F9CE User defined range #1
+F9CF E1A6 F9CF User defined range #1
+F9D0 E1A7 F9D0 User defined range #1
+F9D1 E1A8 F9D1 User defined range #1
+F9D2 E1A9 F9D2 User defined range #1
+F9D3 E1AA F9D3 User defined range #1
+F9D4 E1AB F9D4 User defined range #1
+F9D5 E1AC F9D5 User defined range #1
+F9D6 E1AD F9D6 User defined range #1
+F9D7 E1AE F9D7 User defined range #1
+F9D8 E1AF F9D8 User defined range #1
+F9D9 E1B0 F9D9 User defined range #1
+F9DA E1B1 F9DA User defined range #1
+F9DB E1B2 F9DB User defined range #1
+F9DC E1B3 F9DC User defined range #1
+F9DD E1B4 F9DD User defined range #1
+F9DE E1B5 F9DE User defined range #1
+F9DF E1B6 F9DF User defined range #1
+F9E0 E1B7 F9E0 User defined range #1
+F9E1 E1B8 F9E1 User defined range #1
+F9E2 E1B9 F9E2 User defined range #1
+F9E3 E1BA F9E3 User defined range #1
+F9E4 E1BB F9E4 User defined range #1
+F9E5 E1BC F9E5 User defined range #1
+F9E6 E1BD F9E6 User defined range #1
+F9E7 E1BE F9E7 User defined range #1
+F9E8 E1BF F9E8 User defined range #1
+F9E9 E1C0 F9E9 User defined range #1
+F9EA E1C1 F9EA User defined range #1
+F9EB E1C2 F9EB User defined range #1
+F9EC E1C3 F9EC User defined range #1
+F9ED E1C4 F9ED User defined range #1
+F9EE E1C5 F9EE User defined range #1
+F9EF E1C6 F9EF User defined range #1
+F9F0 E1C7 F9F0 User defined range #1
+F9F1 E1C8 F9F1 User defined range #1
+F9F2 E1C9 F9F2 User defined range #1
+F9F3 E1CA F9F3 User defined range #1
+F9F4 E1CB F9F4 User defined range #1
+F9F5 E1CC F9F5 User defined range #1
+F9F6 E1CD F9F6 User defined range #1
+F9F7 E1CE F9F7 User defined range #1
+F9F8 E1CF F9F8 User defined range #1
+F9F9 E1D0 F9F9 User defined range #1
+F9FA E1D1 F9FA User defined range #1
+F9FB E1D2 F9FB User defined range #1
+F9FC E1D3 F9FC User defined range #1
+F9FD E1D4 F9FD User defined range #1
+F9FE E1D5 F9FE User defined range #1
+FAA1 E1D6 FAA1 User defined range #1
+FAA2 E1D7 FAA2 User defined range #1
+FAA3 E1D8 FAA3 User defined range #1
+FAA4 E1D9 FAA4 User defined range #1
+FAA5 E1DA FAA5 User defined range #1
+FAA6 E1DB FAA6 User defined range #1
+FAA7 E1DC FAA7 User defined range #1
+FAA8 E1DD FAA8 User defined range #1
+FAA9 E1DE FAA9 User defined range #1
+FAAA E1DF FAAA User defined range #1
+FAAB E1E0 FAAB User defined range #1
+FAAC E1E1 FAAC User defined range #1
+FAAD E1E2 FAAD User defined range #1
+FAAE E1E3 FAAE User defined range #1
+FAAF E1E4 FAAF User defined range #1
+FAB0 E1E5 FAB0 User defined range #1
+FAB1 E1E6 FAB1 User defined range #1
+FAB2 E1E7 FAB2 User defined range #1
+FAB3 E1E8 FAB3 User defined range #1
+FAB4 E1E9 FAB4 User defined range #1
+FAB5 E1EA FAB5 User defined range #1
+FAB6 E1EB FAB6 User defined range #1
+FAB7 E1EC FAB7 User defined range #1
+FAB8 E1ED FAB8 User defined range #1
+FAB9 E1EE FAB9 User defined range #1
+FABA E1EF FABA User defined range #1
+FABB E1F0 FABB User defined range #1
+FABC E1F1 FABC User defined range #1
+FABD E1F2 FABD User defined range #1
+FABE E1F3 FABE User defined range #1
+FABF E1F4 FABF User defined range #1
+FAC0 E1F5 FAC0 User defined range #1
+FAC1 E1F6 FAC1 User defined range #1
+FAC2 E1F7 FAC2 User defined range #1
+FAC3 E1F8 FAC3 User defined range #1
+FAC4 E1F9 FAC4 User defined range #1
+FAC5 E1FA FAC5 User defined range #1
+FAC6 E1FB FAC6 User defined range #1
+FAC7 E1FC FAC7 User defined range #1
+FAC8 E1FD FAC8 User defined range #1
+FAC9 E1FE FAC9 User defined range #1
+FACA E1FF FACA User defined range #1
+FACB E200 FACB User defined range #1
+FACC E201 FACC User defined range #1
+FACD E202 FACD User defined range #1
+FACE E203 FACE User defined range #1
+FACF E204 FACF User defined range #1
+FAD0 E205 FAD0 User defined range #1
+FAD1 E206 FAD1 User defined range #1
+FAD2 E207 FAD2 User defined range #1
+FAD3 E208 FAD3 User defined range #1
+FAD4 E209 FAD4 User defined range #1
+FAD5 E20A FAD5 User defined range #1
+FAD6 E20B FAD6 User defined range #1
+FAD7 E20C FAD7 User defined range #1
+FAD8 E20D FAD8 User defined range #1
+FAD9 E20E FAD9 User defined range #1
+FADA E20F FADA User defined range #1
+FADB E210 FADB User defined range #1
+FADC E211 FADC User defined range #1
+FADD E212 FADD User defined range #1
+FADE E213 FADE User defined range #1
+FADF E214 FADF User defined range #1
+FAE0 E215 FAE0 User defined range #1
+FAE1 E216 FAE1 User defined range #1
+FAE2 E217 FAE2 User defined range #1
+FAE3 E218 FAE3 User defined range #1
+FAE4 E219 FAE4 User defined range #1
+FAE5 E21A FAE5 User defined range #1
+FAE6 E21B FAE6 User defined range #1
+FAE7 E21C FAE7 User defined range #1
+FAE8 E21D FAE8 User defined range #1
+FAE9 E21E FAE9 User defined range #1
+FAEA E21F FAEA User defined range #1
+FAEB E220 FAEB User defined range #1
+FAEC E221 FAEC User defined range #1
+FAED E222 FAED User defined range #1
+FAEE E223 FAEE User defined range #1
+FAEF E224 FAEF User defined range #1
+FAF0 E225 FAF0 User defined range #1
+FAF1 E226 FAF1 User defined range #1
+FAF2 E227 FAF2 User defined range #1
+FAF3 E228 FAF3 User defined range #1
+FAF4 E229 FAF4 User defined range #1
+FAF5 E22A FAF5 User defined range #1
+FAF6 E22B FAF6 User defined range #1
+FAF7 E22C FAF7 User defined range #1
+FAF8 E22D FAF8 User defined range #1
+FAF9 E22E FAF9 User defined range #1
+FAFA E22F FAFA User defined range #1
+FAFB E230 FAFB User defined range #1
+FAFC E231 FAFC User defined range #1
+FAFD E232 FAFD User defined range #1
+FAFE E233 FAFE User defined range #1
+FBA1 E234 FBA1 User defined range #1
+FBA2 E235 FBA2 User defined range #1
+FBA3 E236 FBA3 User defined range #1
+FBA4 E237 FBA4 User defined range #1
+FBA5 E238 FBA5 User defined range #1
+FBA6 E239 FBA6 User defined range #1
+FBA7 E23A FBA7 User defined range #1
+FBA8 E23B FBA8 User defined range #1
+FBA9 E23C FBA9 User defined range #1
+FBAA E23D FBAA User defined range #1
+FBAB E23E FBAB User defined range #1
+FBAC E23F FBAC User defined range #1
+FBAD E240 FBAD User defined range #1
+FBAE E241 FBAE User defined range #1
+FBAF E242 FBAF User defined range #1
+FBB0 E243 FBB0 User defined range #1
+FBB1 E244 FBB1 User defined range #1
+FBB2 E245 FBB2 User defined range #1
+FBB3 E246 FBB3 User defined range #1
+FBB4 E247 FBB4 User defined range #1
+FBB5 E248 FBB5 User defined range #1
+FBB6 E249 FBB6 User defined range #1
+FBB7 E24A FBB7 User defined range #1
+FBB8 E24B FBB8 User defined range #1
+FBB9 E24C FBB9 User defined range #1
+FBBA E24D FBBA User defined range #1
+FBBB E24E FBBB User defined range #1
+FBBC E24F FBBC User defined range #1
+FBBD E250 FBBD User defined range #1
+FBBE E251 FBBE User defined range #1
+FBBF E252 FBBF User defined range #1
+FBC0 E253 FBC0 User defined range #1
+FBC1 E254 FBC1 User defined range #1
+FBC2 E255 FBC2 User defined range #1
+FBC3 E256 FBC3 User defined range #1
+FBC4 E257 FBC4 User defined range #1
+FBC5 E258 FBC5 User defined range #1
+FBC6 E259 FBC6 User defined range #1
+FBC7 E25A FBC7 User defined range #1
+FBC8 E25B FBC8 User defined range #1
+FBC9 E25C FBC9 User defined range #1
+FBCA E25D FBCA User defined range #1
+FBCB E25E FBCB User defined range #1
+FBCC E25F FBCC User defined range #1
+FBCD E260 FBCD User defined range #1
+FBCE E261 FBCE User defined range #1
+FBCF E262 FBCF User defined range #1
+FBD0 E263 FBD0 User defined range #1
+FBD1 E264 FBD1 User defined range #1
+FBD2 E265 FBD2 User defined range #1
+FBD3 E266 FBD3 User defined range #1
+FBD4 E267 FBD4 User defined range #1
+FBD5 E268 FBD5 User defined range #1
+FBD6 E269 FBD6 User defined range #1
+FBD7 E26A FBD7 User defined range #1
+FBD8 E26B FBD8 User defined range #1
+FBD9 E26C FBD9 User defined range #1
+FBDA E26D FBDA User defined range #1
+FBDB E26E FBDB User defined range #1
+FBDC E26F FBDC User defined range #1
+FBDD E270 FBDD User defined range #1
+FBDE E271 FBDE User defined range #1
+FBDF E272 FBDF User defined range #1
+FBE0 E273 FBE0 User defined range #1
+FBE1 E274 FBE1 User defined range #1
+FBE2 E275 FBE2 User defined range #1
+FBE3 E276 FBE3 User defined range #1
+FBE4 E277 FBE4 User defined range #1
+FBE5 E278 FBE5 User defined range #1
+FBE6 E279 FBE6 User defined range #1
+FBE7 E27A FBE7 User defined range #1
+FBE8 E27B FBE8 User defined range #1
+FBE9 E27C FBE9 User defined range #1
+FBEA E27D FBEA User defined range #1
+FBEB E27E FBEB User defined range #1
+FBEC E27F FBEC User defined range #1
+FBED E280 FBED User defined range #1
+FBEE E281 FBEE User defined range #1
+FBEF E282 FBEF User defined range #1
+FBF0 E283 FBF0 User defined range #1
+FBF1 E284 FBF1 User defined range #1
+FBF2 E285 FBF2 User defined range #1
+FBF3 E286 FBF3 User defined range #1
+FBF4 E287 FBF4 User defined range #1
+FBF5 E288 FBF5 User defined range #1
+FBF6 E289 FBF6 User defined range #1
+FBF7 E28A FBF7 User defined range #1
+FBF8 E28B FBF8 User defined range #1
+FBF9 E28C FBF9 User defined range #1
+FBFA E28D FBFA User defined range #1
+FBFB E28E FBFB User defined range #1
+FBFC E28F FBFC User defined range #1
+FBFD E290 FBFD User defined range #1
+FBFE E291 FBFE User defined range #1
+FCA1 E292 FCA1 User defined range #1
+FCA2 E293 FCA2 User defined range #1
+FCA3 E294 FCA3 User defined range #1
+FCA4 E295 FCA4 User defined range #1
+FCA5 E296 FCA5 User defined range #1
+FCA6 E297 FCA6 User defined range #1
+FCA7 E298 FCA7 User defined range #1
+FCA8 E299 FCA8 User defined range #1
+FCA9 E29A FCA9 User defined range #1
+FCAA E29B FCAA User defined range #1
+FCAB E29C FCAB User defined range #1
+FCAC E29D FCAC User defined range #1
+FCAD E29E FCAD User defined range #1
+FCAE E29F FCAE User defined range #1
+FCAF E2A0 FCAF User defined range #1
+FCB0 E2A1 FCB0 User defined range #1
+FCB1 E2A2 FCB1 User defined range #1
+FCB2 E2A3 FCB2 User defined range #1
+FCB3 E2A4 FCB3 User defined range #1
+FCB4 E2A5 FCB4 User defined range #1
+FCB5 E2A6 FCB5 User defined range #1
+FCB6 E2A7 FCB6 User defined range #1
+FCB7 E2A8 FCB7 User defined range #1
+FCB8 E2A9 FCB8 User defined range #1
+FCB9 E2AA FCB9 User defined range #1
+FCBA E2AB FCBA User defined range #1
+FCBB E2AC FCBB User defined range #1
+FCBC E2AD FCBC User defined range #1
+FCBD E2AE FCBD User defined range #1
+FCBE E2AF FCBE User defined range #1
+FCBF E2B0 FCBF User defined range #1
+FCC0 E2B1 FCC0 User defined range #1
+FCC1 E2B2 FCC1 User defined range #1
+FCC2 E2B3 FCC2 User defined range #1
+FCC3 E2B4 FCC3 User defined range #1
+FCC4 E2B5 FCC4 User defined range #1
+FCC5 E2B6 FCC5 User defined range #1
+FCC6 E2B7 FCC6 User defined range #1
+FCC7 E2B8 FCC7 User defined range #1
+FCC8 E2B9 FCC8 User defined range #1
+FCC9 E2BA FCC9 User defined range #1
+FCCA E2BB FCCA User defined range #1
+FCCB E2BC FCCB User defined range #1
+FCCC E2BD FCCC User defined range #1
+FCCD E2BE FCCD User defined range #1
+FCCE E2BF FCCE User defined range #1
+FCCF E2C0 FCCF User defined range #1
+FCD0 E2C1 FCD0 User defined range #1
+FCD1 E2C2 FCD1 User defined range #1
+FCD2 E2C3 FCD2 User defined range #1
+FCD3 E2C4 FCD3 User defined range #1
+FCD4 E2C5 FCD4 User defined range #1
+FCD5 E2C6 FCD5 User defined range #1
+FCD6 E2C7 FCD6 User defined range #1
+FCD7 E2C8 FCD7 User defined range #1
+FCD8 E2C9 FCD8 User defined range #1
+FCD9 E2CA FCD9 User defined range #1
+FCDA E2CB FCDA User defined range #1
+FCDB E2CC FCDB User defined range #1
+FCDC E2CD FCDC User defined range #1
+FCDD E2CE FCDD User defined range #1
+FCDE E2CF FCDE User defined range #1
+FCDF E2D0 FCDF User defined range #1
+FCE0 E2D1 FCE0 User defined range #1
+FCE1 E2D2 FCE1 User defined range #1
+FCE2 E2D3 FCE2 User defined range #1
+FCE3 E2D4 FCE3 User defined range #1
+FCE4 E2D5 FCE4 User defined range #1
+FCE5 E2D6 FCE5 User defined range #1
+FCE6 E2D7 FCE6 User defined range #1
+FCE7 E2D8 FCE7 User defined range #1
+FCE8 E2D9 FCE8 User defined range #1
+FCE9 E2DA FCE9 User defined range #1
+FCEA E2DB FCEA User defined range #1
+FCEB E2DC FCEB User defined range #1
+FCEC E2DD FCEC User defined range #1
+FCED E2DE FCED User defined range #1
+FCEE E2DF FCEE User defined range #1
+FCEF E2E0 FCEF User defined range #1
+FCF0 E2E1 FCF0 User defined range #1
+FCF1 E2E2 FCF1 User defined range #1
+FCF2 E2E3 FCF2 User defined range #1
+FCF3 E2E4 FCF3 User defined range #1
+FCF4 E2E5 FCF4 User defined range #1
+FCF5 E2E6 FCF5 User defined range #1
+FCF6 E2E7 FCF6 User defined range #1
+FCF7 E2E8 FCF7 User defined range #1
+FCF8 E2E9 FCF8 User defined range #1
+FCF9 E2EA FCF9 User defined range #1
+FCFA E2EB FCFA User defined range #1
+FCFB E2EC FCFB User defined range #1
+FCFC E2ED FCFC User defined range #1
+FCFD E2EE FCFD User defined range #1
+FCFE E2EF FCFE User defined range #1
+FDA1 E2F0 FDA1 User defined range #1
+FDA2 E2F1 FDA2 User defined range #1
+FDA3 E2F2 FDA3 User defined range #1
+FDA4 E2F3 FDA4 User defined range #1
+FDA5 E2F4 FDA5 User defined range #1
+FDA6 E2F5 FDA6 User defined range #1
+FDA7 E2F6 FDA7 User defined range #1
+FDA8 E2F7 FDA8 User defined range #1
+FDA9 E2F8 FDA9 User defined range #1
+FDAA E2F9 FDAA User defined range #1
+FDAB E2FA FDAB User defined range #1
+FDAC E2FB FDAC User defined range #1
+FDAD E2FC FDAD User defined range #1
+FDAE E2FD FDAE User defined range #1
+FDAF E2FE FDAF User defined range #1
+FDB0 E2FF FDB0 User defined range #1
+FDB1 E300 FDB1 User defined range #1
+FDB2 E301 FDB2 User defined range #1
+FDB3 E302 FDB3 User defined range #1
+FDB4 E303 FDB4 User defined range #1
+FDB5 E304 FDB5 User defined range #1
+FDB6 E305 FDB6 User defined range #1
+FDB7 E306 FDB7 User defined range #1
+FDB8 E307 FDB8 User defined range #1
+FDB9 E308 FDB9 User defined range #1
+FDBA E309 FDBA User defined range #1
+FDBB E30A FDBB User defined range #1
+FDBC E30B FDBC User defined range #1
+FDBD E30C FDBD User defined range #1
+FDBE E30D FDBE User defined range #1
+FDBF E30E FDBF User defined range #1
+FDC0 E30F FDC0 User defined range #1
+FDC1 E310 FDC1 User defined range #1
+FDC2 E311 FDC2 User defined range #1
+FDC3 E312 FDC3 User defined range #1
+FDC4 E313 FDC4 User defined range #1
+FDC5 E314 FDC5 User defined range #1
+FDC6 E315 FDC6 User defined range #1
+FDC7 E316 FDC7 User defined range #1
+FDC8 E317 FDC8 User defined range #1
+FDC9 E318 FDC9 User defined range #1
+FDCA E319 FDCA User defined range #1
+FDCB E31A FDCB User defined range #1
+FDCC E31B FDCC User defined range #1
+FDCD E31C FDCD User defined range #1
+FDCE E31D FDCE User defined range #1
+FDCF E31E FDCF User defined range #1
+FDD0 E31F FDD0 User defined range #1
+FDD1 E320 FDD1 User defined range #1
+FDD2 E321 FDD2 User defined range #1
+FDD3 E322 FDD3 User defined range #1
+FDD4 E323 FDD4 User defined range #1
+FDD5 E324 FDD5 User defined range #1
+FDD6 E325 FDD6 User defined range #1
+FDD7 E326 FDD7 User defined range #1
+FDD8 E327 FDD8 User defined range #1
+FDD9 E328 FDD9 User defined range #1
+FDDA E329 FDDA User defined range #1
+FDDB E32A FDDB User defined range #1
+FDDC E32B FDDC User defined range #1
+FDDD E32C FDDD User defined range #1
+FDDE E32D FDDE User defined range #1
+FDDF E32E FDDF User defined range #1
+FDE0 E32F FDE0 User defined range #1
+FDE1 E330 FDE1 User defined range #1
+FDE2 E331 FDE2 User defined range #1
+FDE3 E332 FDE3 User defined range #1
+FDE4 E333 FDE4 User defined range #1
+FDE5 E334 FDE5 User defined range #1
+FDE6 E335 FDE6 User defined range #1
+FDE7 E336 FDE7 User defined range #1
+FDE8 E337 FDE8 User defined range #1
+FDE9 E338 FDE9 User defined range #1
+FDEA E339 FDEA User defined range #1
+FDEB E33A FDEB User defined range #1
+FDEC E33B FDEC User defined range #1
+FDED E33C FDED User defined range #1
+FDEE E33D FDEE User defined range #1
+FDEF E33E FDEF User defined range #1
+FDF0 E33F FDF0 User defined range #1
+FDF1 E340 FDF1 User defined range #1
+FDF2 E341 FDF2 User defined range #1
+FDF3 E342 FDF3 User defined range #1
+FDF4 E343 FDF4 User defined range #1
+FDF5 E344 FDF5 User defined range #1
+FDF6 E345 FDF6 User defined range #1
+FDF7 E346 FDF7 User defined range #1
+FDF8 E347 FDF8 User defined range #1
+FDF9 E348 FDF9 User defined range #1
+FDFA E349 FDFA User defined range #1
+FDFB E34A FDFB User defined range #1
+FDFC E34B FDFC User defined range #1
+FDFD E34C FDFD User defined range #1
+FDFE E34D FDFE User defined range #1
+FEA1 E34E FEA1 User defined range #1
+FEA2 E34F FEA2 User defined range #1
+FEA3 E350 FEA3 User defined range #1
+FEA4 E351 FEA4 User defined range #1
+FEA5 E352 FEA5 User defined range #1
+FEA6 E353 FEA6 User defined range #1
+FEA7 E354 FEA7 User defined range #1
+FEA8 E355 FEA8 User defined range #1
+FEA9 E356 FEA9 User defined range #1
+FEAA E357 FEAA User defined range #1
+FEAB E358 FEAB User defined range #1
+FEAC E359 FEAC User defined range #1
+FEAD E35A FEAD User defined range #1
+FEAE E35B FEAE User defined range #1
+FEAF E35C FEAF User defined range #1
+FEB0 E35D FEB0 User defined range #1
+FEB1 E35E FEB1 User defined range #1
+FEB2 E35F FEB2 User defined range #1
+FEB3 E360 FEB3 User defined range #1
+FEB4 E361 FEB4 User defined range #1
+FEB5 E362 FEB5 User defined range #1
+FEB6 E363 FEB6 User defined range #1
+FEB7 E364 FEB7 User defined range #1
+FEB8 E365 FEB8 User defined range #1
+FEB9 E366 FEB9 User defined range #1
+FEBA E367 FEBA User defined range #1
+FEBB E368 FEBB User defined range #1
+FEBC E369 FEBC User defined range #1
+FEBD E36A FEBD User defined range #1
+FEBE E36B FEBE User defined range #1
+FEBF E36C FEBF User defined range #1
+FEC0 E36D FEC0 User defined range #1
+FEC1 E36E FEC1 User defined range #1
+FEC2 E36F FEC2 User defined range #1
+FEC3 E370 FEC3 User defined range #1
+FEC4 E371 FEC4 User defined range #1
+FEC5 E372 FEC5 User defined range #1
+FEC6 E373 FEC6 User defined range #1
+FEC7 E374 FEC7 User defined range #1
+FEC8 E375 FEC8 User defined range #1
+FEC9 E376 FEC9 User defined range #1
+FECA E377 FECA User defined range #1
+FECB E378 FECB User defined range #1
+FECC E379 FECC User defined range #1
+FECD E37A FECD User defined range #1
+FECE E37B FECE User defined range #1
+FECF E37C FECF User defined range #1
+FED0 E37D FED0 User defined range #1
+FED1 E37E FED1 User defined range #1
+FED2 E37F FED2 User defined range #1
+FED3 E380 FED3 User defined range #1
+FED4 E381 FED4 User defined range #1
+FED5 E382 FED5 User defined range #1
+FED6 E383 FED6 User defined range #1
+FED7 E384 FED7 User defined range #1
+FED8 E385 FED8 User defined range #1
+FED9 E386 FED9 User defined range #1
+FEDA E387 FEDA User defined range #1
+FEDB E388 FEDB User defined range #1
+FEDC E389 FEDC User defined range #1
+FEDD E38A FEDD User defined range #1
+FEDE E38B FEDE User defined range #1
+FEDF E38C FEDF User defined range #1
+FEE0 E38D FEE0 User defined range #1
+FEE1 E38E FEE1 User defined range #1
+FEE2 E38F FEE2 User defined range #1
+FEE3 E390 FEE3 User defined range #1
+FEE4 E391 FEE4 User defined range #1
+FEE5 E392 FEE5 User defined range #1
+FEE6 E393 FEE6 User defined range #1
+FEE7 E394 FEE7 User defined range #1
+FEE8 E395 FEE8 User defined range #1
+FEE9 E396 FEE9 User defined range #1
+FEEA E397 FEEA User defined range #1
+FEEB E398 FEEB User defined range #1
+FEEC E399 FEEC User defined range #1
+FEED E39A FEED User defined range #1
+FEEE E39B FEEE User defined range #1
+FEEF E39C FEEF User defined range #1
+FEF0 E39D FEF0 User defined range #1
+FEF1 E39E FEF1 User defined range #1
+FEF2 E39F FEF2 User defined range #1
+FEF3 E3A0 FEF3 User defined range #1
+FEF4 E3A1 FEF4 User defined range #1
+FEF5 E3A2 FEF5 User defined range #1
+FEF6 E3A3 FEF6 User defined range #1
+FEF7 E3A4 FEF7 User defined range #1
+FEF8 E3A5 FEF8 User defined range #1
+FEF9 E3A6 FEF9 User defined range #1
+FEFA E3A7 FEFA User defined range #1
+FEFB E3A8 FEFB User defined range #1
+FEFC E3A9 FEFC User defined range #1
+FEFD E3AA FEFD User defined range #1
+FEFE E3AB FEFE User defined range #1
+Characters with unsafe Unicode round trip
+select hex(ujis), hex(ucs2), hex(ujis2), name from t1 where ujis<>ujis2 order by ujis;
+hex(ujis) hex(ucs2) hex(ujis2) name
+8FA1A1 003F 3F UNASSIGNED
+8FA1A2 003F 3F UNASSIGNED
+8FA1A3 003F 3F UNASSIGNED
+8FA1A4 003F 3F UNASSIGNED
+8FA1A5 003F 3F UNASSIGNED
+8FA1A6 003F 3F UNASSIGNED
+8FA1A7 003F 3F UNASSIGNED
+8FA1A8 003F 3F UNASSIGNED
+8FA1A9 003F 3F UNASSIGNED
+8FA1AA 003F 3F UNASSIGNED
+8FA1AB 003F 3F UNASSIGNED
+8FA1AC 003F 3F UNASSIGNED
+8FA1AD 003F 3F UNASSIGNED
+8FA1AE 003F 3F UNASSIGNED
+8FA1AF 003F 3F UNASSIGNED
+8FA1B0 003F 3F UNASSIGNED
+8FA1B1 003F 3F UNASSIGNED
+8FA1B2 003F 3F UNASSIGNED
+8FA1B3 003F 3F UNASSIGNED
+8FA1B4 003F 3F UNASSIGNED
+8FA1B5 003F 3F UNASSIGNED
+8FA1B6 003F 3F UNASSIGNED
+8FA1B7 003F 3F UNASSIGNED
+8FA1B8 003F 3F UNASSIGNED
+8FA1B9 003F 3F UNASSIGNED
+8FA1BA 003F 3F UNASSIGNED
+8FA1BB 003F 3F UNASSIGNED
+8FA1BC 003F 3F UNASSIGNED
+8FA1BD 003F 3F UNASSIGNED
+8FA1BE 003F 3F UNASSIGNED
+8FA1BF 003F 3F UNASSIGNED
+8FA1C0 003F 3F UNASSIGNED
+8FA1C1 003F 3F UNASSIGNED
+8FA1C2 003F 3F UNASSIGNED
+8FA1C3 003F 3F UNASSIGNED
+8FA1C4 003F 3F UNASSIGNED
+8FA1C5 003F 3F UNASSIGNED
+8FA1C6 003F 3F UNASSIGNED
+8FA1C7 003F 3F UNASSIGNED
+8FA1C8 003F 3F UNASSIGNED
+8FA1C9 003F 3F UNASSIGNED
+8FA1CA 003F 3F UNASSIGNED
+8FA1CB 003F 3F UNASSIGNED
+8FA1CC 003F 3F UNASSIGNED
+8FA1CD 003F 3F UNASSIGNED
+8FA1CE 003F 3F UNASSIGNED
+8FA1CF 003F 3F UNASSIGNED
+8FA1D0 003F 3F UNASSIGNED
+8FA1D1 003F 3F UNASSIGNED
+8FA1D2 003F 3F UNASSIGNED
+8FA1D3 003F 3F UNASSIGNED
+8FA1D4 003F 3F UNASSIGNED
+8FA1D5 003F 3F UNASSIGNED
+8FA1D6 003F 3F UNASSIGNED
+8FA1D7 003F 3F UNASSIGNED
+8FA1D8 003F 3F UNASSIGNED
+8FA1D9 003F 3F UNASSIGNED
+8FA1DA 003F 3F UNASSIGNED
+8FA1DB 003F 3F UNASSIGNED
+8FA1DC 003F 3F UNASSIGNED
+8FA1DD 003F 3F UNASSIGNED
+8FA1DE 003F 3F UNASSIGNED
+8FA1DF 003F 3F UNASSIGNED
+8FA1E0 003F 3F UNASSIGNED
+8FA1E1 003F 3F UNASSIGNED
+8FA1E2 003F 3F UNASSIGNED
+8FA1E3 003F 3F UNASSIGNED
+8FA1E4 003F 3F UNASSIGNED
+8FA1E5 003F 3F UNASSIGNED
+8FA1E6 003F 3F UNASSIGNED
+8FA1E7 003F 3F UNASSIGNED
+8FA1E8 003F 3F UNASSIGNED
+8FA1E9 003F 3F UNASSIGNED
+8FA1EA 003F 3F UNASSIGNED
+8FA1EB 003F 3F UNASSIGNED
+8FA1EC 003F 3F UNASSIGNED
+8FA1ED 003F 3F UNASSIGNED
+8FA1EE 003F 3F UNASSIGNED
+8FA1EF 003F 3F UNASSIGNED
+8FA1F0 003F 3F UNASSIGNED
+8FA1F1 003F 3F UNASSIGNED
+8FA1F2 003F 3F UNASSIGNED
+8FA1F3 003F 3F UNASSIGNED
+8FA1F4 003F 3F UNASSIGNED
+8FA1F5 003F 3F UNASSIGNED
+8FA1F6 003F 3F UNASSIGNED
+8FA1F7 003F 3F UNASSIGNED
+8FA1F8 003F 3F UNASSIGNED
+8FA1F9 003F 3F UNASSIGNED
+8FA1FA 003F 3F UNASSIGNED
+8FA1FB 003F 3F UNASSIGNED
+8FA1FC 003F 3F UNASSIGNED
+8FA1FD 003F 3F UNASSIGNED
+8FA1FE 003F 3F UNASSIGNED
+8FA2A1 003F 3F UNASSIGNED
+8FA2A2 003F 3F UNASSIGNED
+8FA2A3 003F 3F UNASSIGNED
+8FA2A4 003F 3F UNASSIGNED
+8FA2A5 003F 3F UNASSIGNED
+8FA2A6 003F 3F UNASSIGNED
+8FA2A7 003F 3F UNASSIGNED
+8FA2A8 003F 3F UNASSIGNED
+8FA2A9 003F 3F UNASSIGNED
+8FA2AA 003F 3F UNASSIGNED
+8FA2AB 003F 3F UNASSIGNED
+8FA2AC 003F 3F UNASSIGNED
+8FA2AD 003F 3F UNASSIGNED
+8FA2AE 003F 3F UNASSIGNED
+8FA2B7 007E 7E U+007E TILDE
+8FA2BA 003F 3F UNASSIGNED
+8FA2BB 003F 3F UNASSIGNED
+8FA2BC 003F 3F UNASSIGNED
+8FA2BD 003F 3F UNASSIGNED
+8FA2BE 003F 3F UNASSIGNED
+8FA2BF 003F 3F UNASSIGNED
+8FA2C0 003F 3F UNASSIGNED
+8FA2C1 003F 3F UNASSIGNED
+8FA2C5 003F 3F UNASSIGNED
+8FA2C6 003F 3F UNASSIGNED
+8FA2C7 003F 3F UNASSIGNED
+8FA2C8 003F 3F UNASSIGNED
+8FA2C9 003F 3F UNASSIGNED
+8FA2CA 003F 3F UNASSIGNED
+8FA2CB 003F 3F UNASSIGNED
+8FA2CC 003F 3F UNASSIGNED
+8FA2CD 003F 3F UNASSIGNED
+8FA2CE 003F 3F UNASSIGNED
+8FA2CF 003F 3F UNASSIGNED
+8FA2D0 003F 3F UNASSIGNED
+8FA2D1 003F 3F UNASSIGNED
+8FA2D2 003F 3F UNASSIGNED
+8FA2D3 003F 3F UNASSIGNED
+8FA2D4 003F 3F UNASSIGNED
+8FA2D5 003F 3F UNASSIGNED
+8FA2D6 003F 3F UNASSIGNED
+8FA2D7 003F 3F UNASSIGNED
+8FA2D8 003F 3F UNASSIGNED
+8FA2D9 003F 3F UNASSIGNED
+8FA2DA 003F 3F UNASSIGNED
+8FA2DB 003F 3F UNASSIGNED
+8FA2DC 003F 3F UNASSIGNED
+8FA2DD 003F 3F UNASSIGNED
+8FA2DE 003F 3F UNASSIGNED
+8FA2DF 003F 3F UNASSIGNED
+8FA2E0 003F 3F UNASSIGNED
+8FA2E1 003F 3F UNASSIGNED
+8FA2E2 003F 3F UNASSIGNED
+8FA2E3 003F 3F UNASSIGNED
+8FA2E4 003F 3F UNASSIGNED
+8FA2E5 003F 3F UNASSIGNED
+8FA2E6 003F 3F UNASSIGNED
+8FA2E7 003F 3F UNASSIGNED
+8FA2E8 003F 3F UNASSIGNED
+8FA2E9 003F 3F UNASSIGNED
+8FA2EA 003F 3F UNASSIGNED
+8FA2F2 003F 3F UNASSIGNED
+8FA2F3 003F 3F UNASSIGNED
+8FA2F4 003F 3F UNASSIGNED
+8FA2F5 003F 3F UNASSIGNED
+8FA2F6 003F 3F UNASSIGNED
+8FA2F7 003F 3F UNASSIGNED
+8FA2F8 003F 3F UNASSIGNED
+8FA2F9 003F 3F UNASSIGNED
+8FA2FA 003F 3F UNASSIGNED
+8FA2FB 003F 3F UNASSIGNED
+8FA2FC 003F 3F UNASSIGNED
+8FA2FD 003F 3F UNASSIGNED
+8FA2FE 003F 3F UNASSIGNED
+8FA3A1 003F 3F UNASSIGNED
+8FA3A2 003F 3F UNASSIGNED
+8FA3A3 003F 3F UNASSIGNED
+8FA3A4 003F 3F UNASSIGNED
+8FA3A5 003F 3F UNASSIGNED
+8FA3A6 003F 3F UNASSIGNED
+8FA3A7 003F 3F UNASSIGNED
+8FA3A8 003F 3F UNASSIGNED
+8FA3A9 003F 3F UNASSIGNED
+8FA3AA 003F 3F UNASSIGNED
+8FA3AB 003F 3F UNASSIGNED
+8FA3AC 003F 3F UNASSIGNED
+8FA3AD 003F 3F UNASSIGNED
+8FA3AE 003F 3F UNASSIGNED
+8FA3AF 003F 3F UNASSIGNED
+8FA3B0 003F 3F UNASSIGNED
+8FA3B1 003F 3F UNASSIGNED
+8FA3B2 003F 3F UNASSIGNED
+8FA3B3 003F 3F UNASSIGNED
+8FA3B4 003F 3F UNASSIGNED
+8FA3B5 003F 3F UNASSIGNED
+8FA3B6 003F 3F UNASSIGNED
+8FA3B7 003F 3F UNASSIGNED
+8FA3B8 003F 3F UNASSIGNED
+8FA3B9 003F 3F UNASSIGNED
+8FA3BA 003F 3F UNASSIGNED
+8FA3BB 003F 3F UNASSIGNED
+8FA3BC 003F 3F UNASSIGNED
+8FA3BD 003F 3F UNASSIGNED
+8FA3BE 003F 3F UNASSIGNED
+8FA3BF 003F 3F UNASSIGNED
+8FA3C0 003F 3F UNASSIGNED
+8FA3C1 003F 3F UNASSIGNED
+8FA3C2 003F 3F UNASSIGNED
+8FA3C3 003F 3F UNASSIGNED
+8FA3C4 003F 3F UNASSIGNED
+8FA3C5 003F 3F UNASSIGNED
+8FA3C6 003F 3F UNASSIGNED
+8FA3C7 003F 3F UNASSIGNED
+8FA3C8 003F 3F UNASSIGNED
+8FA3C9 003F 3F UNASSIGNED
+8FA3CA 003F 3F UNASSIGNED
+8FA3CB 003F 3F UNASSIGNED
+8FA3CC 003F 3F UNASSIGNED
+8FA3CD 003F 3F UNASSIGNED
+8FA3CE 003F 3F UNASSIGNED
+8FA3CF 003F 3F UNASSIGNED
+8FA3D0 003F 3F UNASSIGNED
+8FA3D1 003F 3F UNASSIGNED
+8FA3D2 003F 3F UNASSIGNED
+8FA3D3 003F 3F UNASSIGNED
+8FA3D4 003F 3F UNASSIGNED
+8FA3D5 003F 3F UNASSIGNED
+8FA3D6 003F 3F UNASSIGNED
+8FA3D7 003F 3F UNASSIGNED
+8FA3D8 003F 3F UNASSIGNED
+8FA3D9 003F 3F UNASSIGNED
+8FA3DA 003F 3F UNASSIGNED
+8FA3DB 003F 3F UNASSIGNED
+8FA3DC 003F 3F UNASSIGNED
+8FA3DD 003F 3F UNASSIGNED
+8FA3DE 003F 3F UNASSIGNED
+8FA3DF 003F 3F UNASSIGNED
+8FA3E0 003F 3F UNASSIGNED
+8FA3E1 003F 3F UNASSIGNED
+8FA3E2 003F 3F UNASSIGNED
+8FA3E3 003F 3F UNASSIGNED
+8FA3E4 003F 3F UNASSIGNED
+8FA3E5 003F 3F UNASSIGNED
+8FA3E6 003F 3F UNASSIGNED
+8FA3E7 003F 3F UNASSIGNED
+8FA3E8 003F 3F UNASSIGNED
+8FA3E9 003F 3F UNASSIGNED
+8FA3EA 003F 3F UNASSIGNED
+8FA3EB 003F 3F UNASSIGNED
+8FA3EC 003F 3F UNASSIGNED
+8FA3ED 003F 3F UNASSIGNED
+8FA3EE 003F 3F UNASSIGNED
+8FA3EF 003F 3F UNASSIGNED
+8FA3F0 003F 3F UNASSIGNED
+8FA3F1 003F 3F UNASSIGNED
+8FA3F2 003F 3F UNASSIGNED
+8FA3F3 003F 3F UNASSIGNED
+8FA3F4 003F 3F UNASSIGNED
+8FA3F5 003F 3F UNASSIGNED
+8FA3F6 003F 3F UNASSIGNED
+8FA3F7 003F 3F UNASSIGNED
+8FA3F8 003F 3F UNASSIGNED
+8FA3F9 003F 3F UNASSIGNED
+8FA3FA 003F 3F UNASSIGNED
+8FA3FB 003F 3F UNASSIGNED
+8FA3FC 003F 3F UNASSIGNED
+8FA3FD 003F 3F UNASSIGNED
+8FA3FE 003F 3F UNASSIGNED
+8FA4A1 003F 3F UNASSIGNED
+8FA4A2 003F 3F UNASSIGNED
+8FA4A3 003F 3F UNASSIGNED
+8FA4A4 003F 3F UNASSIGNED
+8FA4A5 003F 3F UNASSIGNED
+8FA4A6 003F 3F UNASSIGNED
+8FA4A7 003F 3F UNASSIGNED
+8FA4A8 003F 3F UNASSIGNED
+8FA4A9 003F 3F UNASSIGNED
+8FA4AA 003F 3F UNASSIGNED
+8FA4AB 003F 3F UNASSIGNED
+8FA4AC 003F 3F UNASSIGNED
+8FA4AD 003F 3F UNASSIGNED
+8FA4AE 003F 3F UNASSIGNED
+8FA4AF 003F 3F UNASSIGNED
+8FA4B0 003F 3F UNASSIGNED
+8FA4B1 003F 3F UNASSIGNED
+8FA4B2 003F 3F UNASSIGNED
+8FA4B3 003F 3F UNASSIGNED
+8FA4B4 003F 3F UNASSIGNED
+8FA4B5 003F 3F UNASSIGNED
+8FA4B6 003F 3F UNASSIGNED
+8FA4B7 003F 3F UNASSIGNED
+8FA4B8 003F 3F UNASSIGNED
+8FA4B9 003F 3F UNASSIGNED
+8FA4BA 003F 3F UNASSIGNED
+8FA4BB 003F 3F UNASSIGNED
+8FA4BC 003F 3F UNASSIGNED
+8FA4BD 003F 3F UNASSIGNED
+8FA4BE 003F 3F UNASSIGNED
+8FA4BF 003F 3F UNASSIGNED
+8FA4C0 003F 3F UNASSIGNED
+8FA4C1 003F 3F UNASSIGNED
+8FA4C2 003F 3F UNASSIGNED
+8FA4C3 003F 3F UNASSIGNED
+8FA4C4 003F 3F UNASSIGNED
+8FA4C5 003F 3F UNASSIGNED
+8FA4C6 003F 3F UNASSIGNED
+8FA4C7 003F 3F UNASSIGNED
+8FA4C8 003F 3F UNASSIGNED
+8FA4C9 003F 3F UNASSIGNED
+8FA4CA 003F 3F UNASSIGNED
+8FA4CB 003F 3F UNASSIGNED
+8FA4CC 003F 3F UNASSIGNED
+8FA4CD 003F 3F UNASSIGNED
+8FA4CE 003F 3F UNASSIGNED
+8FA4CF 003F 3F UNASSIGNED
+8FA4D0 003F 3F UNASSIGNED
+8FA4D1 003F 3F UNASSIGNED
+8FA4D2 003F 3F UNASSIGNED
+8FA4D3 003F 3F UNASSIGNED
+8FA4D4 003F 3F UNASSIGNED
+8FA4D5 003F 3F UNASSIGNED
+8FA4D6 003F 3F UNASSIGNED
+8FA4D7 003F 3F UNASSIGNED
+8FA4D8 003F 3F UNASSIGNED
+8FA4D9 003F 3F UNASSIGNED
+8FA4DA 003F 3F UNASSIGNED
+8FA4DB 003F 3F UNASSIGNED
+8FA4DC 003F 3F UNASSIGNED
+8FA4DD 003F 3F UNASSIGNED
+8FA4DE 003F 3F UNASSIGNED
+8FA4DF 003F 3F UNASSIGNED
+8FA4E0 003F 3F UNASSIGNED
+8FA4E1 003F 3F UNASSIGNED
+8FA4E2 003F 3F UNASSIGNED
+8FA4E3 003F 3F UNASSIGNED
+8FA4E4 003F 3F UNASSIGNED
+8FA4E5 003F 3F UNASSIGNED
+8FA4E6 003F 3F UNASSIGNED
+8FA4E7 003F 3F UNASSIGNED
+8FA4E8 003F 3F UNASSIGNED
+8FA4E9 003F 3F UNASSIGNED
+8FA4EA 003F 3F UNASSIGNED
+8FA4EB 003F 3F UNASSIGNED
+8FA4EC 003F 3F UNASSIGNED
+8FA4ED 003F 3F UNASSIGNED
+8FA4EE 003F 3F UNASSIGNED
+8FA4EF 003F 3F UNASSIGNED
+8FA4F0 003F 3F UNASSIGNED
+8FA4F1 003F 3F UNASSIGNED
+8FA4F2 003F 3F UNASSIGNED
+8FA4F3 003F 3F UNASSIGNED
+8FA4F4 003F 3F UNASSIGNED
+8FA4F5 003F 3F UNASSIGNED
+8FA4F6 003F 3F UNASSIGNED
+8FA4F7 003F 3F UNASSIGNED
+8FA4F8 003F 3F UNASSIGNED
+8FA4F9 003F 3F UNASSIGNED
+8FA4FA 003F 3F UNASSIGNED
+8FA4FB 003F 3F UNASSIGNED
+8FA4FC 003F 3F UNASSIGNED
+8FA4FD 003F 3F UNASSIGNED
+8FA4FE 003F 3F UNASSIGNED
+8FA5A1 003F 3F UNASSIGNED
+8FA5A2 003F 3F UNASSIGNED
+8FA5A3 003F 3F UNASSIGNED
+8FA5A4 003F 3F UNASSIGNED
+8FA5A5 003F 3F UNASSIGNED
+8FA5A6 003F 3F UNASSIGNED
+8FA5A7 003F 3F UNASSIGNED
+8FA5A8 003F 3F UNASSIGNED
+8FA5A9 003F 3F UNASSIGNED
+8FA5AA 003F 3F UNASSIGNED
+8FA5AB 003F 3F UNASSIGNED
+8FA5AC 003F 3F UNASSIGNED
+8FA5AD 003F 3F UNASSIGNED
+8FA5AE 003F 3F UNASSIGNED
+8FA5AF 003F 3F UNASSIGNED
+8FA5B0 003F 3F UNASSIGNED
+8FA5B1 003F 3F UNASSIGNED
+8FA5B2 003F 3F UNASSIGNED
+8FA5B3 003F 3F UNASSIGNED
+8FA5B4 003F 3F UNASSIGNED
+8FA5B5 003F 3F UNASSIGNED
+8FA5B6 003F 3F UNASSIGNED
+8FA5B7 003F 3F UNASSIGNED
+8FA5B8 003F 3F UNASSIGNED
+8FA5B9 003F 3F UNASSIGNED
+8FA5BA 003F 3F UNASSIGNED
+8FA5BB 003F 3F UNASSIGNED
+8FA5BC 003F 3F UNASSIGNED
+8FA5BD 003F 3F UNASSIGNED
+8FA5BE 003F 3F UNASSIGNED
+8FA5BF 003F 3F UNASSIGNED
+8FA5C0 003F 3F UNASSIGNED
+8FA5C1 003F 3F UNASSIGNED
+8FA5C2 003F 3F UNASSIGNED
+8FA5C3 003F 3F UNASSIGNED
+8FA5C4 003F 3F UNASSIGNED
+8FA5C5 003F 3F UNASSIGNED
+8FA5C6 003F 3F UNASSIGNED
+8FA5C7 003F 3F UNASSIGNED
+8FA5C8 003F 3F UNASSIGNED
+8FA5C9 003F 3F UNASSIGNED
+8FA5CA 003F 3F UNASSIGNED
+8FA5CB 003F 3F UNASSIGNED
+8FA5CC 003F 3F UNASSIGNED
+8FA5CD 003F 3F UNASSIGNED
+8FA5CE 003F 3F UNASSIGNED
+8FA5CF 003F 3F UNASSIGNED
+8FA5D0 003F 3F UNASSIGNED
+8FA5D1 003F 3F UNASSIGNED
+8FA5D2 003F 3F UNASSIGNED
+8FA5D3 003F 3F UNASSIGNED
+8FA5D4 003F 3F UNASSIGNED
+8FA5D5 003F 3F UNASSIGNED
+8FA5D6 003F 3F UNASSIGNED
+8FA5D7 003F 3F UNASSIGNED
+8FA5D8 003F 3F UNASSIGNED
+8FA5D9 003F 3F UNASSIGNED
+8FA5DA 003F 3F UNASSIGNED
+8FA5DB 003F 3F UNASSIGNED
+8FA5DC 003F 3F UNASSIGNED
+8FA5DD 003F 3F UNASSIGNED
+8FA5DE 003F 3F UNASSIGNED
+8FA5DF 003F 3F UNASSIGNED
+8FA5E0 003F 3F UNASSIGNED
+8FA5E1 003F 3F UNASSIGNED
+8FA5E2 003F 3F UNASSIGNED
+8FA5E3 003F 3F UNASSIGNED
+8FA5E4 003F 3F UNASSIGNED
+8FA5E5 003F 3F UNASSIGNED
+8FA5E6 003F 3F UNASSIGNED
+8FA5E7 003F 3F UNASSIGNED
+8FA5E8 003F 3F UNASSIGNED
+8FA5E9 003F 3F UNASSIGNED
+8FA5EA 003F 3F UNASSIGNED
+8FA5EB 003F 3F UNASSIGNED
+8FA5EC 003F 3F UNASSIGNED
+8FA5ED 003F 3F UNASSIGNED
+8FA5EE 003F 3F UNASSIGNED
+8FA5EF 003F 3F UNASSIGNED
+8FA5F0 003F 3F UNASSIGNED
+8FA5F1 003F 3F UNASSIGNED
+8FA5F2 003F 3F UNASSIGNED
+8FA5F3 003F 3F UNASSIGNED
+8FA5F4 003F 3F UNASSIGNED
+8FA5F5 003F 3F UNASSIGNED
+8FA5F6 003F 3F UNASSIGNED
+8FA5F7 003F 3F UNASSIGNED
+8FA5F8 003F 3F UNASSIGNED
+8FA5F9 003F 3F UNASSIGNED
+8FA5FA 003F 3F UNASSIGNED
+8FA5FB 003F 3F UNASSIGNED
+8FA5FC 003F 3F UNASSIGNED
+8FA5FD 003F 3F UNASSIGNED
+8FA5FE 003F 3F UNASSIGNED
+8FA6A1 003F 3F UNASSIGNED
+8FA6A2 003F 3F UNASSIGNED
+8FA6A3 003F 3F UNASSIGNED
+8FA6A4 003F 3F UNASSIGNED
+8FA6A5 003F 3F UNASSIGNED
+8FA6A6 003F 3F UNASSIGNED
+8FA6A7 003F 3F UNASSIGNED
+8FA6A8 003F 3F UNASSIGNED
+8FA6A9 003F 3F UNASSIGNED
+8FA6AA 003F 3F UNASSIGNED
+8FA6AB 003F 3F UNASSIGNED
+8FA6AC 003F 3F UNASSIGNED
+8FA6AD 003F 3F UNASSIGNED
+8FA6AE 003F 3F UNASSIGNED
+8FA6AF 003F 3F UNASSIGNED
+8FA6B0 003F 3F UNASSIGNED
+8FA6B1 003F 3F UNASSIGNED
+8FA6B2 003F 3F UNASSIGNED
+8FA6B3 003F 3F UNASSIGNED
+8FA6B4 003F 3F UNASSIGNED
+8FA6B5 003F 3F UNASSIGNED
+8FA6B6 003F 3F UNASSIGNED
+8FA6B7 003F 3F UNASSIGNED
+8FA6B8 003F 3F UNASSIGNED
+8FA6B9 003F 3F UNASSIGNED
+8FA6BA 003F 3F UNASSIGNED
+8FA6BB 003F 3F UNASSIGNED
+8FA6BC 003F 3F UNASSIGNED
+8FA6BD 003F 3F UNASSIGNED
+8FA6BE 003F 3F UNASSIGNED
+8FA6BF 003F 3F UNASSIGNED
+8FA6C0 003F 3F UNASSIGNED
+8FA6C1 003F 3F UNASSIGNED
+8FA6C2 003F 3F UNASSIGNED
+8FA6C3 003F 3F UNASSIGNED
+8FA6C4 003F 3F UNASSIGNED
+8FA6C5 003F 3F UNASSIGNED
+8FA6C6 003F 3F UNASSIGNED
+8FA6C7 003F 3F UNASSIGNED
+8FA6C8 003F 3F UNASSIGNED
+8FA6C9 003F 3F UNASSIGNED
+8FA6CA 003F 3F UNASSIGNED
+8FA6CB 003F 3F UNASSIGNED
+8FA6CC 003F 3F UNASSIGNED
+8FA6CD 003F 3F UNASSIGNED
+8FA6CE 003F 3F UNASSIGNED
+8FA6CF 003F 3F UNASSIGNED
+8FA6D0 003F 3F UNASSIGNED
+8FA6D1 003F 3F UNASSIGNED
+8FA6D2 003F 3F UNASSIGNED
+8FA6D3 003F 3F UNASSIGNED
+8FA6D4 003F 3F UNASSIGNED
+8FA6D5 003F 3F UNASSIGNED
+8FA6D6 003F 3F UNASSIGNED
+8FA6D7 003F 3F UNASSIGNED
+8FA6D8 003F 3F UNASSIGNED
+8FA6D9 003F 3F UNASSIGNED
+8FA6DA 003F 3F UNASSIGNED
+8FA6DB 003F 3F UNASSIGNED
+8FA6DC 003F 3F UNASSIGNED
+8FA6DD 003F 3F UNASSIGNED
+8FA6DE 003F 3F UNASSIGNED
+8FA6DF 003F 3F UNASSIGNED
+8FA6E0 003F 3F UNASSIGNED
+8FA6E6 003F 3F UNASSIGNED
+8FA6E8 003F 3F UNASSIGNED
+8FA6EB 003F 3F UNASSIGNED
+8FA6ED 003F 3F UNASSIGNED
+8FA6EE 003F 3F UNASSIGNED
+8FA6EF 003F 3F UNASSIGNED
+8FA6F0 003F 3F UNASSIGNED
+8FA6FD 003F 3F UNASSIGNED
+8FA6FE 003F 3F UNASSIGNED
+8FA7A1 003F 3F UNASSIGNED
+8FA7A2 003F 3F UNASSIGNED
+8FA7A3 003F 3F UNASSIGNED
+8FA7A4 003F 3F UNASSIGNED
+8FA7A5 003F 3F UNASSIGNED
+8FA7A6 003F 3F UNASSIGNED
+8FA7A7 003F 3F UNASSIGNED
+8FA7A8 003F 3F UNASSIGNED
+8FA7A9 003F 3F UNASSIGNED
+8FA7AA 003F 3F UNASSIGNED
+8FA7AB 003F 3F UNASSIGNED
+8FA7AC 003F 3F UNASSIGNED
+8FA7AD 003F 3F UNASSIGNED
+8FA7AE 003F 3F UNASSIGNED
+8FA7AF 003F 3F UNASSIGNED
+8FA7B0 003F 3F UNASSIGNED
+8FA7B1 003F 3F UNASSIGNED
+8FA7B2 003F 3F UNASSIGNED
+8FA7B3 003F 3F UNASSIGNED
+8FA7B4 003F 3F UNASSIGNED
+8FA7B5 003F 3F UNASSIGNED
+8FA7B6 003F 3F UNASSIGNED
+8FA7B7 003F 3F UNASSIGNED
+8FA7B8 003F 3F UNASSIGNED
+8FA7B9 003F 3F UNASSIGNED
+8FA7BA 003F 3F UNASSIGNED
+8FA7BB 003F 3F UNASSIGNED
+8FA7BC 003F 3F UNASSIGNED
+8FA7BD 003F 3F UNASSIGNED
+8FA7BE 003F 3F UNASSIGNED
+8FA7BF 003F 3F UNASSIGNED
+8FA7C0 003F 3F UNASSIGNED
+8FA7C1 003F 3F UNASSIGNED
+8FA7CF 003F 3F UNASSIGNED
+8FA7D0 003F 3F UNASSIGNED
+8FA7D1 003F 3F UNASSIGNED
+8FA7D2 003F 3F UNASSIGNED
+8FA7D3 003F 3F UNASSIGNED
+8FA7D4 003F 3F UNASSIGNED
+8FA7D5 003F 3F UNASSIGNED
+8FA7D6 003F 3F UNASSIGNED
+8FA7D7 003F 3F UNASSIGNED
+8FA7D8 003F 3F UNASSIGNED
+8FA7D9 003F 3F UNASSIGNED
+8FA7DA 003F 3F UNASSIGNED
+8FA7DB 003F 3F UNASSIGNED
+8FA7DC 003F 3F UNASSIGNED
+8FA7DD 003F 3F UNASSIGNED
+8FA7DE 003F 3F UNASSIGNED
+8FA7DF 003F 3F UNASSIGNED
+8FA7E0 003F 3F UNASSIGNED
+8FA7E1 003F 3F UNASSIGNED
+8FA7E2 003F 3F UNASSIGNED
+8FA7E3 003F 3F UNASSIGNED
+8FA7E4 003F 3F UNASSIGNED
+8FA7E5 003F 3F UNASSIGNED
+8FA7E6 003F 3F UNASSIGNED
+8FA7E7 003F 3F UNASSIGNED
+8FA7E8 003F 3F UNASSIGNED
+8FA7E9 003F 3F UNASSIGNED
+8FA7EA 003F 3F UNASSIGNED
+8FA7EB 003F 3F UNASSIGNED
+8FA7EC 003F 3F UNASSIGNED
+8FA7ED 003F 3F UNASSIGNED
+8FA7EE 003F 3F UNASSIGNED
+8FA7EF 003F 3F UNASSIGNED
+8FA7F0 003F 3F UNASSIGNED
+8FA7F1 003F 3F UNASSIGNED
+8FA8A1 003F 3F UNASSIGNED
+8FA8A2 003F 3F UNASSIGNED
+8FA8A3 003F 3F UNASSIGNED
+8FA8A4 003F 3F UNASSIGNED
+8FA8A5 003F 3F UNASSIGNED
+8FA8A6 003F 3F UNASSIGNED
+8FA8A7 003F 3F UNASSIGNED
+8FA8A8 003F 3F UNASSIGNED
+8FA8A9 003F 3F UNASSIGNED
+8FA8AA 003F 3F UNASSIGNED
+8FA8AB 003F 3F UNASSIGNED
+8FA8AC 003F 3F UNASSIGNED
+8FA8AD 003F 3F UNASSIGNED
+8FA8AE 003F 3F UNASSIGNED
+8FA8AF 003F 3F UNASSIGNED
+8FA8B0 003F 3F UNASSIGNED
+8FA8B1 003F 3F UNASSIGNED
+8FA8B2 003F 3F UNASSIGNED
+8FA8B3 003F 3F UNASSIGNED
+8FA8B4 003F 3F UNASSIGNED
+8FA8B5 003F 3F UNASSIGNED
+8FA8B6 003F 3F UNASSIGNED
+8FA8B7 003F 3F UNASSIGNED
+8FA8B8 003F 3F UNASSIGNED
+8FA8B9 003F 3F UNASSIGNED
+8FA8BA 003F 3F UNASSIGNED
+8FA8BB 003F 3F UNASSIGNED
+8FA8BC 003F 3F UNASSIGNED
+8FA8BD 003F 3F UNASSIGNED
+8FA8BE 003F 3F UNASSIGNED
+8FA8BF 003F 3F UNASSIGNED
+8FA8C0 003F 3F UNASSIGNED
+8FA8C1 003F 3F UNASSIGNED
+8FA8C2 003F 3F UNASSIGNED
+8FA8C3 003F 3F UNASSIGNED
+8FA8C4 003F 3F UNASSIGNED
+8FA8C5 003F 3F UNASSIGNED
+8FA8C6 003F 3F UNASSIGNED
+8FA8C7 003F 3F UNASSIGNED
+8FA8C8 003F 3F UNASSIGNED
+8FA8C9 003F 3F UNASSIGNED
+8FA8CA 003F 3F UNASSIGNED
+8FA8CB 003F 3F UNASSIGNED
+8FA8CC 003F 3F UNASSIGNED
+8FA8CD 003F 3F UNASSIGNED
+8FA8CE 003F 3F UNASSIGNED
+8FA8CF 003F 3F UNASSIGNED
+8FA8D0 003F 3F UNASSIGNED
+8FA8D1 003F 3F UNASSIGNED
+8FA8D2 003F 3F UNASSIGNED
+8FA8D3 003F 3F UNASSIGNED
+8FA8D4 003F 3F UNASSIGNED
+8FA8D5 003F 3F UNASSIGNED
+8FA8D6 003F 3F UNASSIGNED
+8FA8D7 003F 3F UNASSIGNED
+8FA8D8 003F 3F UNASSIGNED
+8FA8D9 003F 3F UNASSIGNED
+8FA8DA 003F 3F UNASSIGNED
+8FA8DB 003F 3F UNASSIGNED
+8FA8DC 003F 3F UNASSIGNED
+8FA8DD 003F 3F UNASSIGNED
+8FA8DE 003F 3F UNASSIGNED
+8FA8DF 003F 3F UNASSIGNED
+8FA8E0 003F 3F UNASSIGNED
+8FA8E1 003F 3F UNASSIGNED
+8FA8E2 003F 3F UNASSIGNED
+8FA8E3 003F 3F UNASSIGNED
+8FA8E4 003F 3F UNASSIGNED
+8FA8E5 003F 3F UNASSIGNED
+8FA8E6 003F 3F UNASSIGNED
+8FA8E7 003F 3F UNASSIGNED
+8FA8E8 003F 3F UNASSIGNED
+8FA8E9 003F 3F UNASSIGNED
+8FA8EA 003F 3F UNASSIGNED
+8FA8EB 003F 3F UNASSIGNED
+8FA8EC 003F 3F UNASSIGNED
+8FA8ED 003F 3F UNASSIGNED
+8FA8EE 003F 3F UNASSIGNED
+8FA8EF 003F 3F UNASSIGNED
+8FA8F0 003F 3F UNASSIGNED
+8FA8F1 003F 3F UNASSIGNED
+8FA8F2 003F 3F UNASSIGNED
+8FA8F3 003F 3F UNASSIGNED
+8FA8F4 003F 3F UNASSIGNED
+8FA8F5 003F 3F UNASSIGNED
+8FA8F6 003F 3F UNASSIGNED
+8FA8F7 003F 3F UNASSIGNED
+8FA8F8 003F 3F UNASSIGNED
+8FA8F9 003F 3F UNASSIGNED
+8FA8FA 003F 3F UNASSIGNED
+8FA8FB 003F 3F UNASSIGNED
+8FA8FC 003F 3F UNASSIGNED
+8FA8FD 003F 3F UNASSIGNED
+8FA8FE 003F 3F UNASSIGNED
+8FA9A3 003F 3F UNASSIGNED
+8FA9A5 003F 3F UNASSIGNED
+8FA9A7 003F 3F UNASSIGNED
+8FA9AA 003F 3F UNASSIGNED
+8FA9AE 003F 3F UNASSIGNED
+8FA9B1 003F 3F UNASSIGNED
+8FA9B2 003F 3F UNASSIGNED
+8FA9B3 003F 3F UNASSIGNED
+8FA9B4 003F 3F UNASSIGNED
+8FA9B5 003F 3F UNASSIGNED
+8FA9B6 003F 3F UNASSIGNED
+8FA9B7 003F 3F UNASSIGNED
+8FA9B8 003F 3F UNASSIGNED
+8FA9B9 003F 3F UNASSIGNED
+8FA9BA 003F 3F UNASSIGNED
+8FA9BB 003F 3F UNASSIGNED
+8FA9BC 003F 3F UNASSIGNED
+8FA9BD 003F 3F UNASSIGNED
+8FA9BE 003F 3F UNASSIGNED
+8FA9BF 003F 3F UNASSIGNED
+8FA9C0 003F 3F UNASSIGNED
+8FA9D1 003F 3F UNASSIGNED
+8FA9D2 003F 3F UNASSIGNED
+8FA9D3 003F 3F UNASSIGNED
+8FA9D4 003F 3F UNASSIGNED
+8FA9D5 003F 3F UNASSIGNED
+8FA9D6 003F 3F UNASSIGNED
+8FA9D7 003F 3F UNASSIGNED
+8FA9D8 003F 3F UNASSIGNED
+8FA9D9 003F 3F UNASSIGNED
+8FA9DA 003F 3F UNASSIGNED
+8FA9DB 003F 3F UNASSIGNED
+8FA9DC 003F 3F UNASSIGNED
+8FA9DD 003F 3F UNASSIGNED
+8FA9DE 003F 3F UNASSIGNED
+8FA9DF 003F 3F UNASSIGNED
+8FA9E0 003F 3F UNASSIGNED
+8FA9E1 003F 3F UNASSIGNED
+8FA9E2 003F 3F UNASSIGNED
+8FA9E3 003F 3F UNASSIGNED
+8FA9E4 003F 3F UNASSIGNED
+8FA9E5 003F 3F UNASSIGNED
+8FA9E6 003F 3F UNASSIGNED
+8FA9E7 003F 3F UNASSIGNED
+8FA9E8 003F 3F UNASSIGNED
+8FA9E9 003F 3F UNASSIGNED
+8FA9EA 003F 3F UNASSIGNED
+8FA9EB 003F 3F UNASSIGNED
+8FA9EC 003F 3F UNASSIGNED
+8FA9ED 003F 3F UNASSIGNED
+8FA9EE 003F 3F UNASSIGNED
+8FA9EF 003F 3F UNASSIGNED
+8FA9F0 003F 3F UNASSIGNED
+8FA9F1 003F 3F UNASSIGNED
+8FA9F2 003F 3F UNASSIGNED
+8FA9F3 003F 3F UNASSIGNED
+8FA9F4 003F 3F UNASSIGNED
+8FA9F5 003F 3F UNASSIGNED
+8FA9F6 003F 3F UNASSIGNED
+8FA9F7 003F 3F UNASSIGNED
+8FA9F8 003F 3F UNASSIGNED
+8FA9F9 003F 3F UNASSIGNED
+8FA9FA 003F 3F UNASSIGNED
+8FA9FB 003F 3F UNASSIGNED
+8FA9FC 003F 3F UNASSIGNED
+8FA9FD 003F 3F UNASSIGNED
+8FA9FE 003F 3F UNASSIGNED
+8FAAB9 003F 3F UNASSIGNED
+8FAAF8 003F 3F UNASSIGNED
+8FAAF9 003F 3F UNASSIGNED
+8FAAFA 003F 3F UNASSIGNED
+8FAAFB 003F 3F UNASSIGNED
+8FAAFC 003F 3F UNASSIGNED
+8FAAFD 003F 3F UNASSIGNED
+8FAAFE 003F 3F UNASSIGNED
+8FABBC 003F 3F UNASSIGNED
+8FABC4 003F 3F UNASSIGNED
+8FABF8 003F 3F UNASSIGNED
+8FABF9 003F 3F UNASSIGNED
+8FABFA 003F 3F UNASSIGNED
+8FABFB 003F 3F UNASSIGNED
+8FABFC 003F 3F UNASSIGNED
+8FABFD 003F 3F UNASSIGNED
+8FABFE 003F 3F UNASSIGNED
+8FACA1 003F 3F UNASSIGNED
+8FACA2 003F 3F UNASSIGNED
+8FACA3 003F 3F UNASSIGNED
+8FACA4 003F 3F UNASSIGNED
+8FACA5 003F 3F UNASSIGNED
+8FACA6 003F 3F UNASSIGNED
+8FACA7 003F 3F UNASSIGNED
+8FACA8 003F 3F UNASSIGNED
+8FACA9 003F 3F UNASSIGNED
+8FACAA 003F 3F UNASSIGNED
+8FACAB 003F 3F UNASSIGNED
+8FACAC 003F 3F UNASSIGNED
+8FACAD 003F 3F UNASSIGNED
+8FACAE 003F 3F UNASSIGNED
+8FACAF 003F 3F UNASSIGNED
+8FACB0 003F 3F UNASSIGNED
+8FACB1 003F 3F UNASSIGNED
+8FACB2 003F 3F UNASSIGNED
+8FACB3 003F 3F UNASSIGNED
+8FACB4 003F 3F UNASSIGNED
+8FACB5 003F 3F UNASSIGNED
+8FACB6 003F 3F UNASSIGNED
+8FACB7 003F 3F UNASSIGNED
+8FACB8 003F 3F UNASSIGNED
+8FACB9 003F 3F UNASSIGNED
+8FACBA 003F 3F UNASSIGNED
+8FACBB 003F 3F UNASSIGNED
+8FACBC 003F 3F UNASSIGNED
+8FACBD 003F 3F UNASSIGNED
+8FACBE 003F 3F UNASSIGNED
+8FACBF 003F 3F UNASSIGNED
+8FACC0 003F 3F UNASSIGNED
+8FACC1 003F 3F UNASSIGNED
+8FACC2 003F 3F UNASSIGNED
+8FACC3 003F 3F UNASSIGNED
+8FACC4 003F 3F UNASSIGNED
+8FACC5 003F 3F UNASSIGNED
+8FACC6 003F 3F UNASSIGNED
+8FACC7 003F 3F UNASSIGNED
+8FACC8 003F 3F UNASSIGNED
+8FACC9 003F 3F UNASSIGNED
+8FACCA 003F 3F UNASSIGNED
+8FACCB 003F 3F UNASSIGNED
+8FACCC 003F 3F UNASSIGNED
+8FACCD 003F 3F UNASSIGNED
+8FACCE 003F 3F UNASSIGNED
+8FACCF 003F 3F UNASSIGNED
+8FACD0 003F 3F UNASSIGNED
+8FACD1 003F 3F UNASSIGNED
+8FACD2 003F 3F UNASSIGNED
+8FACD3 003F 3F UNASSIGNED
+8FACD4 003F 3F UNASSIGNED
+8FACD5 003F 3F UNASSIGNED
+8FACD6 003F 3F UNASSIGNED
+8FACD7 003F 3F UNASSIGNED
+8FACD8 003F 3F UNASSIGNED
+8FACD9 003F 3F UNASSIGNED
+8FACDA 003F 3F UNASSIGNED
+8FACDB 003F 3F UNASSIGNED
+8FACDC 003F 3F UNASSIGNED
+8FACDD 003F 3F UNASSIGNED
+8FACDE 003F 3F UNASSIGNED
+8FACDF 003F 3F UNASSIGNED
+8FACE0 003F 3F UNASSIGNED
+8FACE1 003F 3F UNASSIGNED
+8FACE2 003F 3F UNASSIGNED
+8FACE3 003F 3F UNASSIGNED
+8FACE4 003F 3F UNASSIGNED
+8FACE5 003F 3F UNASSIGNED
+8FACE6 003F 3F UNASSIGNED
+8FACE7 003F 3F UNASSIGNED
+8FACE8 003F 3F UNASSIGNED
+8FACE9 003F 3F UNASSIGNED
+8FACEA 003F 3F UNASSIGNED
+8FACEB 003F 3F UNASSIGNED
+8FACEC 003F 3F UNASSIGNED
+8FACED 003F 3F UNASSIGNED
+8FACEE 003F 3F UNASSIGNED
+8FACEF 003F 3F UNASSIGNED
+8FACF0 003F 3F UNASSIGNED
+8FACF1 003F 3F UNASSIGNED
+8FACF2 003F 3F UNASSIGNED
+8FACF3 003F 3F UNASSIGNED
+8FACF4 003F 3F UNASSIGNED
+8FACF5 003F 3F UNASSIGNED
+8FACF6 003F 3F UNASSIGNED
+8FACF7 003F 3F UNASSIGNED
+8FACF8 003F 3F UNASSIGNED
+8FACF9 003F 3F UNASSIGNED
+8FACFA 003F 3F UNASSIGNED
+8FACFB 003F 3F UNASSIGNED
+8FACFC 003F 3F UNASSIGNED
+8FACFD 003F 3F UNASSIGNED
+8FACFE 003F 3F UNASSIGNED
+8FADA1 003F 3F UNASSIGNED
+8FADA2 003F 3F UNASSIGNED
+8FADA3 003F 3F UNASSIGNED
+8FADA4 003F 3F UNASSIGNED
+8FADA5 003F 3F UNASSIGNED
+8FADA6 003F 3F UNASSIGNED
+8FADA7 003F 3F UNASSIGNED
+8FADA8 003F 3F UNASSIGNED
+8FADA9 003F 3F UNASSIGNED
+8FADAA 003F 3F UNASSIGNED
+8FADAB 003F 3F UNASSIGNED
+8FADAC 003F 3F UNASSIGNED
+8FADAD 003F 3F UNASSIGNED
+8FADAE 003F 3F UNASSIGNED
+8FADAF 003F 3F UNASSIGNED
+8FADB0 003F 3F UNASSIGNED
+8FADB1 003F 3F UNASSIGNED
+8FADB2 003F 3F UNASSIGNED
+8FADB3 003F 3F UNASSIGNED
+8FADB4 003F 3F UNASSIGNED
+8FADB5 003F 3F UNASSIGNED
+8FADB6 003F 3F UNASSIGNED
+8FADB7 003F 3F UNASSIGNED
+8FADB8 003F 3F UNASSIGNED
+8FADB9 003F 3F UNASSIGNED
+8FADBA 003F 3F UNASSIGNED
+8FADBB 003F 3F UNASSIGNED
+8FADBC 003F 3F UNASSIGNED
+8FADBD 003F 3F UNASSIGNED
+8FADBE 003F 3F UNASSIGNED
+8FADBF 003F 3F UNASSIGNED
+8FADC0 003F 3F UNASSIGNED
+8FADC1 003F 3F UNASSIGNED
+8FADC2 003F 3F UNASSIGNED
+8FADC3 003F 3F UNASSIGNED
+8FADC4 003F 3F UNASSIGNED
+8FADC5 003F 3F UNASSIGNED
+8FADC6 003F 3F UNASSIGNED
+8FADC7 003F 3F UNASSIGNED
+8FADC8 003F 3F UNASSIGNED
+8FADC9 003F 3F UNASSIGNED
+8FADCA 003F 3F UNASSIGNED
+8FADCB 003F 3F UNASSIGNED
+8FADCC 003F 3F UNASSIGNED
+8FADCD 003F 3F UNASSIGNED
+8FADCE 003F 3F UNASSIGNED
+8FADCF 003F 3F UNASSIGNED
+8FADD0 003F 3F UNASSIGNED
+8FADD1 003F 3F UNASSIGNED
+8FADD2 003F 3F UNASSIGNED
+8FADD3 003F 3F UNASSIGNED
+8FADD4 003F 3F UNASSIGNED
+8FADD5 003F 3F UNASSIGNED
+8FADD6 003F 3F UNASSIGNED
+8FADD7 003F 3F UNASSIGNED
+8FADD8 003F 3F UNASSIGNED
+8FADD9 003F 3F UNASSIGNED
+8FADDA 003F 3F UNASSIGNED
+8FADDB 003F 3F UNASSIGNED
+8FADDC 003F 3F UNASSIGNED
+8FADDD 003F 3F UNASSIGNED
+8FADDE 003F 3F UNASSIGNED
+8FADDF 003F 3F UNASSIGNED
+8FADE0 003F 3F UNASSIGNED
+8FADE1 003F 3F UNASSIGNED
+8FADE2 003F 3F UNASSIGNED
+8FADE3 003F 3F UNASSIGNED
+8FADE4 003F 3F UNASSIGNED
+8FADE5 003F 3F UNASSIGNED
+8FADE6 003F 3F UNASSIGNED
+8FADE7 003F 3F UNASSIGNED
+8FADE8 003F 3F UNASSIGNED
+8FADE9 003F 3F UNASSIGNED
+8FADEA 003F 3F UNASSIGNED
+8FADEB 003F 3F UNASSIGNED
+8FADEC 003F 3F UNASSIGNED
+8FADED 003F 3F UNASSIGNED
+8FADEE 003F 3F UNASSIGNED
+8FADEF 003F 3F UNASSIGNED
+8FADF0 003F 3F UNASSIGNED
+8FADF1 003F 3F UNASSIGNED
+8FADF2 003F 3F UNASSIGNED
+8FADF3 003F 3F UNASSIGNED
+8FADF4 003F 3F UNASSIGNED
+8FADF5 003F 3F UNASSIGNED
+8FADF6 003F 3F UNASSIGNED
+8FADF7 003F 3F UNASSIGNED
+8FADF8 003F 3F UNASSIGNED
+8FADF9 003F 3F UNASSIGNED
+8FADFA 003F 3F UNASSIGNED
+8FADFB 003F 3F UNASSIGNED
+8FADFC 003F 3F UNASSIGNED
+8FADFD 003F 3F UNASSIGNED
+8FADFE 003F 3F UNASSIGNED
+8FAEA1 003F 3F UNASSIGNED
+8FAEA2 003F 3F UNASSIGNED
+8FAEA3 003F 3F UNASSIGNED
+8FAEA4 003F 3F UNASSIGNED
+8FAEA5 003F 3F UNASSIGNED
+8FAEA6 003F 3F UNASSIGNED
+8FAEA7 003F 3F UNASSIGNED
+8FAEA8 003F 3F UNASSIGNED
+8FAEA9 003F 3F UNASSIGNED
+8FAEAA 003F 3F UNASSIGNED
+8FAEAB 003F 3F UNASSIGNED
+8FAEAC 003F 3F UNASSIGNED
+8FAEAD 003F 3F UNASSIGNED
+8FAEAE 003F 3F UNASSIGNED
+8FAEAF 003F 3F UNASSIGNED
+8FAEB0 003F 3F UNASSIGNED
+8FAEB1 003F 3F UNASSIGNED
+8FAEB2 003F 3F UNASSIGNED
+8FAEB3 003F 3F UNASSIGNED
+8FAEB4 003F 3F UNASSIGNED
+8FAEB5 003F 3F UNASSIGNED
+8FAEB6 003F 3F UNASSIGNED
+8FAEB7 003F 3F UNASSIGNED
+8FAEB8 003F 3F UNASSIGNED
+8FAEB9 003F 3F UNASSIGNED
+8FAEBA 003F 3F UNASSIGNED
+8FAEBB 003F 3F UNASSIGNED
+8FAEBC 003F 3F UNASSIGNED
+8FAEBD 003F 3F UNASSIGNED
+8FAEBE 003F 3F UNASSIGNED
+8FAEBF 003F 3F UNASSIGNED
+8FAEC0 003F 3F UNASSIGNED
+8FAEC1 003F 3F UNASSIGNED
+8FAEC2 003F 3F UNASSIGNED
+8FAEC3 003F 3F UNASSIGNED
+8FAEC4 003F 3F UNASSIGNED
+8FAEC5 003F 3F UNASSIGNED
+8FAEC6 003F 3F UNASSIGNED
+8FAEC7 003F 3F UNASSIGNED
+8FAEC8 003F 3F UNASSIGNED
+8FAEC9 003F 3F UNASSIGNED
+8FAECA 003F 3F UNASSIGNED
+8FAECB 003F 3F UNASSIGNED
+8FAECC 003F 3F UNASSIGNED
+8FAECD 003F 3F UNASSIGNED
+8FAECE 003F 3F UNASSIGNED
+8FAECF 003F 3F UNASSIGNED
+8FAED0 003F 3F UNASSIGNED
+8FAED1 003F 3F UNASSIGNED
+8FAED2 003F 3F UNASSIGNED
+8FAED3 003F 3F UNASSIGNED
+8FAED4 003F 3F UNASSIGNED
+8FAED5 003F 3F UNASSIGNED
+8FAED6 003F 3F UNASSIGNED
+8FAED7 003F 3F UNASSIGNED
+8FAED8 003F 3F UNASSIGNED
+8FAED9 003F 3F UNASSIGNED
+8FAEDA 003F 3F UNASSIGNED
+8FAEDB 003F 3F UNASSIGNED
+8FAEDC 003F 3F UNASSIGNED
+8FAEDD 003F 3F UNASSIGNED
+8FAEDE 003F 3F UNASSIGNED
+8FAEDF 003F 3F UNASSIGNED
+8FAEE0 003F 3F UNASSIGNED
+8FAEE1 003F 3F UNASSIGNED
+8FAEE2 003F 3F UNASSIGNED
+8FAEE3 003F 3F UNASSIGNED
+8FAEE4 003F 3F UNASSIGNED
+8FAEE5 003F 3F UNASSIGNED
+8FAEE6 003F 3F UNASSIGNED
+8FAEE7 003F 3F UNASSIGNED
+8FAEE8 003F 3F UNASSIGNED
+8FAEE9 003F 3F UNASSIGNED
+8FAEEA 003F 3F UNASSIGNED
+8FAEEB 003F 3F UNASSIGNED
+8FAEEC 003F 3F UNASSIGNED
+8FAEED 003F 3F UNASSIGNED
+8FAEEE 003F 3F UNASSIGNED
+8FAEEF 003F 3F UNASSIGNED
+8FAEF0 003F 3F UNASSIGNED
+8FAEF1 003F 3F UNASSIGNED
+8FAEF2 003F 3F UNASSIGNED
+8FAEF3 003F 3F UNASSIGNED
+8FAEF4 003F 3F UNASSIGNED
+8FAEF5 003F 3F UNASSIGNED
+8FAEF6 003F 3F UNASSIGNED
+8FAEF7 003F 3F UNASSIGNED
+8FAEF8 003F 3F UNASSIGNED
+8FAEF9 003F 3F UNASSIGNED
+8FAEFA 003F 3F UNASSIGNED
+8FAEFB 003F 3F UNASSIGNED
+8FAEFC 003F 3F UNASSIGNED
+8FAEFD 003F 3F UNASSIGNED
+8FAEFE 003F 3F UNASSIGNED
+8FAFA1 003F 3F UNASSIGNED
+8FAFA2 003F 3F UNASSIGNED
+8FAFA3 003F 3F UNASSIGNED
+8FAFA4 003F 3F UNASSIGNED
+8FAFA5 003F 3F UNASSIGNED
+8FAFA6 003F 3F UNASSIGNED
+8FAFA7 003F 3F UNASSIGNED
+8FAFA8 003F 3F UNASSIGNED
+8FAFA9 003F 3F UNASSIGNED
+8FAFAA 003F 3F UNASSIGNED
+8FAFAB 003F 3F UNASSIGNED
+8FAFAC 003F 3F UNASSIGNED
+8FAFAD 003F 3F UNASSIGNED
+8FAFAE 003F 3F UNASSIGNED
+8FAFAF 003F 3F UNASSIGNED
+8FAFB0 003F 3F UNASSIGNED
+8FAFB1 003F 3F UNASSIGNED
+8FAFB2 003F 3F UNASSIGNED
+8FAFB3 003F 3F UNASSIGNED
+8FAFB4 003F 3F UNASSIGNED
+8FAFB5 003F 3F UNASSIGNED
+8FAFB6 003F 3F UNASSIGNED
+8FAFB7 003F 3F UNASSIGNED
+8FAFB8 003F 3F UNASSIGNED
+8FAFB9 003F 3F UNASSIGNED
+8FAFBA 003F 3F UNASSIGNED
+8FAFBB 003F 3F UNASSIGNED
+8FAFBC 003F 3F UNASSIGNED
+8FAFBD 003F 3F UNASSIGNED
+8FAFBE 003F 3F UNASSIGNED
+8FAFBF 003F 3F UNASSIGNED
+8FAFC0 003F 3F UNASSIGNED
+8FAFC1 003F 3F UNASSIGNED
+8FAFC2 003F 3F UNASSIGNED
+8FAFC3 003F 3F UNASSIGNED
+8FAFC4 003F 3F UNASSIGNED
+8FAFC5 003F 3F UNASSIGNED
+8FAFC6 003F 3F UNASSIGNED
+8FAFC7 003F 3F UNASSIGNED
+8FAFC8 003F 3F UNASSIGNED
+8FAFC9 003F 3F UNASSIGNED
+8FAFCA 003F 3F UNASSIGNED
+8FAFCB 003F 3F UNASSIGNED
+8FAFCC 003F 3F UNASSIGNED
+8FAFCD 003F 3F UNASSIGNED
+8FAFCE 003F 3F UNASSIGNED
+8FAFCF 003F 3F UNASSIGNED
+8FAFD0 003F 3F UNASSIGNED
+8FAFD1 003F 3F UNASSIGNED
+8FAFD2 003F 3F UNASSIGNED
+8FAFD3 003F 3F UNASSIGNED
+8FAFD4 003F 3F UNASSIGNED
+8FAFD5 003F 3F UNASSIGNED
+8FAFD6 003F 3F UNASSIGNED
+8FAFD7 003F 3F UNASSIGNED
+8FAFD8 003F 3F UNASSIGNED
+8FAFD9 003F 3F UNASSIGNED
+8FAFDA 003F 3F UNASSIGNED
+8FAFDB 003F 3F UNASSIGNED
+8FAFDC 003F 3F UNASSIGNED
+8FAFDD 003F 3F UNASSIGNED
+8FAFDE 003F 3F UNASSIGNED
+8FAFDF 003F 3F UNASSIGNED
+8FAFE0 003F 3F UNASSIGNED
+8FAFE1 003F 3F UNASSIGNED
+8FAFE2 003F 3F UNASSIGNED
+8FAFE3 003F 3F UNASSIGNED
+8FAFE4 003F 3F UNASSIGNED
+8FAFE5 003F 3F UNASSIGNED
+8FAFE6 003F 3F UNASSIGNED
+8FAFE7 003F 3F UNASSIGNED
+8FAFE8 003F 3F UNASSIGNED
+8FAFE9 003F 3F UNASSIGNED
+8FAFEA 003F 3F UNASSIGNED
+8FAFEB 003F 3F UNASSIGNED
+8FAFEC 003F 3F UNASSIGNED
+8FAFED 003F 3F UNASSIGNED
+8FAFEE 003F 3F UNASSIGNED
+8FAFEF 003F 3F UNASSIGNED
+8FAFF0 003F 3F UNASSIGNED
+8FAFF1 003F 3F UNASSIGNED
+8FAFF2 003F 3F UNASSIGNED
+8FAFF3 003F 3F UNASSIGNED
+8FAFF4 003F 3F UNASSIGNED
+8FAFF5 003F 3F UNASSIGNED
+8FAFF6 003F 3F UNASSIGNED
+8FAFF7 003F 3F UNASSIGNED
+8FAFF8 003F 3F UNASSIGNED
+8FAFF9 003F 3F UNASSIGNED
+8FAFFA 003F 3F UNASSIGNED
+8FAFFB 003F 3F UNASSIGNED
+8FAFFC 003F 3F UNASSIGNED
+8FAFFD 003F 3F UNASSIGNED
+8FAFFE 003F 3F UNASSIGNED
+8FEDE4 003F 3F UNASSIGNED
+8FEDE5 003F 3F UNASSIGNED
+8FEDE6 003F 3F UNASSIGNED
+8FEDE7 003F 3F UNASSIGNED
+8FEDE8 003F 3F UNASSIGNED
+8FEDE9 003F 3F UNASSIGNED
+8FEDEA 003F 3F UNASSIGNED
+8FEDEB 003F 3F UNASSIGNED
+8FEDEC 003F 3F UNASSIGNED
+8FEDED 003F 3F UNASSIGNED
+8FEDEE 003F 3F UNASSIGNED
+8FEDEF 003F 3F UNASSIGNED
+8FEDF0 003F 3F UNASSIGNED
+8FEDF1 003F 3F UNASSIGNED
+8FEDF2 003F 3F UNASSIGNED
+8FEDF3 003F 3F UNASSIGNED
+8FEDF4 003F 3F UNASSIGNED
+8FEDF5 003F 3F UNASSIGNED
+8FEDF6 003F 3F UNASSIGNED
+8FEDF7 003F 3F UNASSIGNED
+8FEDF8 003F 3F UNASSIGNED
+8FEDF9 003F 3F UNASSIGNED
+8FEDFA 003F 3F UNASSIGNED
+8FEDFB 003F 3F UNASSIGNED
+8FEDFC 003F 3F UNASSIGNED
+8FEDFD 003F 3F UNASSIGNED
+8FEDFE 003F 3F UNASSIGNED
+8FEEA1 003F 3F UNASSIGNED
+8FEEA2 003F 3F UNASSIGNED
+8FEEA3 003F 3F UNASSIGNED
+8FEEA4 003F 3F UNASSIGNED
+8FEEA5 003F 3F UNASSIGNED
+8FEEA6 003F 3F UNASSIGNED
+8FEEA7 003F 3F UNASSIGNED
+8FEEA8 003F 3F UNASSIGNED
+8FEEA9 003F 3F UNASSIGNED
+8FEEAA 003F 3F UNASSIGNED
+8FEEAB 003F 3F UNASSIGNED
+8FEEAC 003F 3F UNASSIGNED
+8FEEAD 003F 3F UNASSIGNED
+8FEEAE 003F 3F UNASSIGNED
+8FEEAF 003F 3F UNASSIGNED
+8FEEB0 003F 3F UNASSIGNED
+8FEEB1 003F 3F UNASSIGNED
+8FEEB2 003F 3F UNASSIGNED
+8FEEB3 003F 3F UNASSIGNED
+8FEEB4 003F 3F UNASSIGNED
+8FEEB5 003F 3F UNASSIGNED
+8FEEB6 003F 3F UNASSIGNED
+8FEEB7 003F 3F UNASSIGNED
+8FEEB8 003F 3F UNASSIGNED
+8FEEB9 003F 3F UNASSIGNED
+8FEEBA 003F 3F UNASSIGNED
+8FEEBB 003F 3F UNASSIGNED
+8FEEBC 003F 3F UNASSIGNED
+8FEEBD 003F 3F UNASSIGNED
+8FEEBE 003F 3F UNASSIGNED
+8FEEBF 003F 3F UNASSIGNED
+8FEEC0 003F 3F UNASSIGNED
+8FEEC1 003F 3F UNASSIGNED
+8FEEC2 003F 3F UNASSIGNED
+8FEEC3 003F 3F UNASSIGNED
+8FEEC4 003F 3F UNASSIGNED
+8FEEC5 003F 3F UNASSIGNED
+8FEEC6 003F 3F UNASSIGNED
+8FEEC7 003F 3F UNASSIGNED
+8FEEC8 003F 3F UNASSIGNED
+8FEEC9 003F 3F UNASSIGNED
+8FEECA 003F 3F UNASSIGNED
+8FEECB 003F 3F UNASSIGNED
+8FEECC 003F 3F UNASSIGNED
+8FEECD 003F 3F UNASSIGNED
+8FEECE 003F 3F UNASSIGNED
+8FEECF 003F 3F UNASSIGNED
+8FEED0 003F 3F UNASSIGNED
+8FEED1 003F 3F UNASSIGNED
+8FEED2 003F 3F UNASSIGNED
+8FEED3 003F 3F UNASSIGNED
+8FEED4 003F 3F UNASSIGNED
+8FEED5 003F 3F UNASSIGNED
+8FEED6 003F 3F UNASSIGNED
+8FEED7 003F 3F UNASSIGNED
+8FEED8 003F 3F UNASSIGNED
+8FEED9 003F 3F UNASSIGNED
+8FEEDA 003F 3F UNASSIGNED
+8FEEDB 003F 3F UNASSIGNED
+8FEEDC 003F 3F UNASSIGNED
+8FEEDD 003F 3F UNASSIGNED
+8FEEDE 003F 3F UNASSIGNED
+8FEEDF 003F 3F UNASSIGNED
+8FEEE0 003F 3F UNASSIGNED
+8FEEE1 003F 3F UNASSIGNED
+8FEEE2 003F 3F UNASSIGNED
+8FEEE3 003F 3F UNASSIGNED
+8FEEE4 003F 3F UNASSIGNED
+8FEEE5 003F 3F UNASSIGNED
+8FEEE6 003F 3F UNASSIGNED
+8FEEE7 003F 3F UNASSIGNED
+8FEEE8 003F 3F UNASSIGNED
+8FEEE9 003F 3F UNASSIGNED
+8FEEEA 003F 3F UNASSIGNED
+8FEEEB 003F 3F UNASSIGNED
+8FEEEC 003F 3F UNASSIGNED
+8FEEED 003F 3F UNASSIGNED
+8FEEEE 003F 3F UNASSIGNED
+8FEEEF 003F 3F UNASSIGNED
+8FEEF0 003F 3F UNASSIGNED
+8FEEF1 003F 3F UNASSIGNED
+8FEEF2 003F 3F UNASSIGNED
+8FEEF3 003F 3F UNASSIGNED
+8FEEF4 003F 3F UNASSIGNED
+8FEEF5 003F 3F UNASSIGNED
+8FEEF6 003F 3F UNASSIGNED
+8FEEF7 003F 3F UNASSIGNED
+8FEEF8 003F 3F UNASSIGNED
+8FEEF9 003F 3F UNASSIGNED
+8FEEFA 003F 3F UNASSIGNED
+8FEEFB 003F 3F UNASSIGNED
+8FEEFC 003F 3F UNASSIGNED
+8FEEFD 003F 3F UNASSIGNED
+8FEEFE 003F 3F UNASSIGNED
+8FEFA1 003F 3F UNASSIGNED
+8FEFA2 003F 3F UNASSIGNED
+8FEFA3 003F 3F UNASSIGNED
+8FEFA4 003F 3F UNASSIGNED
+8FEFA5 003F 3F UNASSIGNED
+8FEFA6 003F 3F UNASSIGNED
+8FEFA7 003F 3F UNASSIGNED
+8FEFA8 003F 3F UNASSIGNED
+8FEFA9 003F 3F UNASSIGNED
+8FEFAA 003F 3F UNASSIGNED
+8FEFAB 003F 3F UNASSIGNED
+8FEFAC 003F 3F UNASSIGNED
+8FEFAD 003F 3F UNASSIGNED
+8FEFAE 003F 3F UNASSIGNED
+8FEFAF 003F 3F UNASSIGNED
+8FEFB0 003F 3F UNASSIGNED
+8FEFB1 003F 3F UNASSIGNED
+8FEFB2 003F 3F UNASSIGNED
+8FEFB3 003F 3F UNASSIGNED
+8FEFB4 003F 3F UNASSIGNED
+8FEFB5 003F 3F UNASSIGNED
+8FEFB6 003F 3F UNASSIGNED
+8FEFB7 003F 3F UNASSIGNED
+8FEFB8 003F 3F UNASSIGNED
+8FEFB9 003F 3F UNASSIGNED
+8FEFBA 003F 3F UNASSIGNED
+8FEFBB 003F 3F UNASSIGNED
+8FEFBC 003F 3F UNASSIGNED
+8FEFBD 003F 3F UNASSIGNED
+8FEFBE 003F 3F UNASSIGNED
+8FEFBF 003F 3F UNASSIGNED
+8FEFC0 003F 3F UNASSIGNED
+8FEFC1 003F 3F UNASSIGNED
+8FEFC2 003F 3F UNASSIGNED
+8FEFC3 003F 3F UNASSIGNED
+8FEFC4 003F 3F UNASSIGNED
+8FEFC5 003F 3F UNASSIGNED
+8FEFC6 003F 3F UNASSIGNED
+8FEFC7 003F 3F UNASSIGNED
+8FEFC8 003F 3F UNASSIGNED
+8FEFC9 003F 3F UNASSIGNED
+8FEFCA 003F 3F UNASSIGNED
+8FEFCB 003F 3F UNASSIGNED
+8FEFCC 003F 3F UNASSIGNED
+8FEFCD 003F 3F UNASSIGNED
+8FEFCE 003F 3F UNASSIGNED
+8FEFCF 003F 3F UNASSIGNED
+8FEFD0 003F 3F UNASSIGNED
+8FEFD1 003F 3F UNASSIGNED
+8FEFD2 003F 3F UNASSIGNED
+8FEFD3 003F 3F UNASSIGNED
+8FEFD4 003F 3F UNASSIGNED
+8FEFD5 003F 3F UNASSIGNED
+8FEFD6 003F 3F UNASSIGNED
+8FEFD7 003F 3F UNASSIGNED
+8FEFD8 003F 3F UNASSIGNED
+8FEFD9 003F 3F UNASSIGNED
+8FEFDA 003F 3F UNASSIGNED
+8FEFDB 003F 3F UNASSIGNED
+8FEFDC 003F 3F UNASSIGNED
+8FEFDD 003F 3F UNASSIGNED
+8FEFDE 003F 3F UNASSIGNED
+8FEFDF 003F 3F UNASSIGNED
+8FEFE0 003F 3F UNASSIGNED
+8FEFE1 003F 3F UNASSIGNED
+8FEFE2 003F 3F UNASSIGNED
+8FEFE3 003F 3F UNASSIGNED
+8FEFE4 003F 3F UNASSIGNED
+8FEFE5 003F 3F UNASSIGNED
+8FEFE6 003F 3F UNASSIGNED
+8FEFE7 003F 3F UNASSIGNED
+8FEFE8 003F 3F UNASSIGNED
+8FEFE9 003F 3F UNASSIGNED
+8FEFEA 003F 3F UNASSIGNED
+8FEFEB 003F 3F UNASSIGNED
+8FEFEC 003F 3F UNASSIGNED
+8FEFED 003F 3F UNASSIGNED
+8FEFEE 003F 3F UNASSIGNED
+8FEFEF 003F 3F UNASSIGNED
+8FEFF0 003F 3F UNASSIGNED
+8FEFF1 003F 3F UNASSIGNED
+8FEFF2 003F 3F UNASSIGNED
+8FEFF3 003F 3F UNASSIGNED
+8FEFF4 003F 3F UNASSIGNED
+8FEFF5 003F 3F UNASSIGNED
+8FEFF6 003F 3F UNASSIGNED
+8FEFF7 003F 3F UNASSIGNED
+8FEFF8 003F 3F UNASSIGNED
+8FEFF9 003F 3F UNASSIGNED
+8FEFFA 003F 3F UNASSIGNED
+8FEFFB 003F 3F UNASSIGNED
+8FEFFC 003F 3F UNASSIGNED
+8FEFFD 003F 3F UNASSIGNED
+8FEFFE 003F 3F UNASSIGNED
+8FF0A1 003F 3F UNASSIGNED
+8FF0A2 003F 3F UNASSIGNED
+8FF0A3 003F 3F UNASSIGNED
+8FF0A4 003F 3F UNASSIGNED
+8FF0A5 003F 3F UNASSIGNED
+8FF0A6 003F 3F UNASSIGNED
+8FF0A7 003F 3F UNASSIGNED
+8FF0A8 003F 3F UNASSIGNED
+8FF0A9 003F 3F UNASSIGNED
+8FF0AA 003F 3F UNASSIGNED
+8FF0AB 003F 3F UNASSIGNED
+8FF0AC 003F 3F UNASSIGNED
+8FF0AD 003F 3F UNASSIGNED
+8FF0AE 003F 3F UNASSIGNED
+8FF0AF 003F 3F UNASSIGNED
+8FF0B0 003F 3F UNASSIGNED
+8FF0B1 003F 3F UNASSIGNED
+8FF0B2 003F 3F UNASSIGNED
+8FF0B3 003F 3F UNASSIGNED
+8FF0B4 003F 3F UNASSIGNED
+8FF0B5 003F 3F UNASSIGNED
+8FF0B6 003F 3F UNASSIGNED
+8FF0B7 003F 3F UNASSIGNED
+8FF0B8 003F 3F UNASSIGNED
+8FF0B9 003F 3F UNASSIGNED
+8FF0BA 003F 3F UNASSIGNED
+8FF0BB 003F 3F UNASSIGNED
+8FF0BC 003F 3F UNASSIGNED
+8FF0BD 003F 3F UNASSIGNED
+8FF0BE 003F 3F UNASSIGNED
+8FF0BF 003F 3F UNASSIGNED
+8FF0C0 003F 3F UNASSIGNED
+8FF0C1 003F 3F UNASSIGNED
+8FF0C2 003F 3F UNASSIGNED
+8FF0C3 003F 3F UNASSIGNED
+8FF0C4 003F 3F UNASSIGNED
+8FF0C5 003F 3F UNASSIGNED
+8FF0C6 003F 3F UNASSIGNED
+8FF0C7 003F 3F UNASSIGNED
+8FF0C8 003F 3F UNASSIGNED
+8FF0C9 003F 3F UNASSIGNED
+8FF0CA 003F 3F UNASSIGNED
+8FF0CB 003F 3F UNASSIGNED
+8FF0CC 003F 3F UNASSIGNED
+8FF0CD 003F 3F UNASSIGNED
+8FF0CE 003F 3F UNASSIGNED
+8FF0CF 003F 3F UNASSIGNED
+8FF0D0 003F 3F UNASSIGNED
+8FF0D1 003F 3F UNASSIGNED
+8FF0D2 003F 3F UNASSIGNED
+8FF0D3 003F 3F UNASSIGNED
+8FF0D4 003F 3F UNASSIGNED
+8FF0D5 003F 3F UNASSIGNED
+8FF0D6 003F 3F UNASSIGNED
+8FF0D7 003F 3F UNASSIGNED
+8FF0D8 003F 3F UNASSIGNED
+8FF0D9 003F 3F UNASSIGNED
+8FF0DA 003F 3F UNASSIGNED
+8FF0DB 003F 3F UNASSIGNED
+8FF0DC 003F 3F UNASSIGNED
+8FF0DD 003F 3F UNASSIGNED
+8FF0DE 003F 3F UNASSIGNED
+8FF0DF 003F 3F UNASSIGNED
+8FF0E0 003F 3F UNASSIGNED
+8FF0E1 003F 3F UNASSIGNED
+8FF0E2 003F 3F UNASSIGNED
+8FF0E3 003F 3F UNASSIGNED
+8FF0E4 003F 3F UNASSIGNED
+8FF0E5 003F 3F UNASSIGNED
+8FF0E6 003F 3F UNASSIGNED
+8FF0E7 003F 3F UNASSIGNED
+8FF0E8 003F 3F UNASSIGNED
+8FF0E9 003F 3F UNASSIGNED
+8FF0EA 003F 3F UNASSIGNED
+8FF0EB 003F 3F UNASSIGNED
+8FF0EC 003F 3F UNASSIGNED
+8FF0ED 003F 3F UNASSIGNED
+8FF0EE 003F 3F UNASSIGNED
+8FF0EF 003F 3F UNASSIGNED
+8FF0F0 003F 3F UNASSIGNED
+8FF0F1 003F 3F UNASSIGNED
+8FF0F2 003F 3F UNASSIGNED
+8FF0F3 003F 3F UNASSIGNED
+8FF0F4 003F 3F UNASSIGNED
+8FF0F5 003F 3F UNASSIGNED
+8FF0F6 003F 3F UNASSIGNED
+8FF0F7 003F 3F UNASSIGNED
+8FF0F8 003F 3F UNASSIGNED
+8FF0F9 003F 3F UNASSIGNED
+8FF0FA 003F 3F UNASSIGNED
+8FF0FB 003F 3F UNASSIGNED
+8FF0FC 003F 3F UNASSIGNED
+8FF0FD 003F 3F UNASSIGNED
+8FF0FE 003F 3F UNASSIGNED
+8FF1A1 003F 3F UNASSIGNED
+8FF1A2 003F 3F UNASSIGNED
+8FF1A3 003F 3F UNASSIGNED
+8FF1A4 003F 3F UNASSIGNED
+8FF1A5 003F 3F UNASSIGNED
+8FF1A6 003F 3F UNASSIGNED
+8FF1A7 003F 3F UNASSIGNED
+8FF1A8 003F 3F UNASSIGNED
+8FF1A9 003F 3F UNASSIGNED
+8FF1AA 003F 3F UNASSIGNED
+8FF1AB 003F 3F UNASSIGNED
+8FF1AC 003F 3F UNASSIGNED
+8FF1AD 003F 3F UNASSIGNED
+8FF1AE 003F 3F UNASSIGNED
+8FF1AF 003F 3F UNASSIGNED
+8FF1B0 003F 3F UNASSIGNED
+8FF1B1 003F 3F UNASSIGNED
+8FF1B2 003F 3F UNASSIGNED
+8FF1B3 003F 3F UNASSIGNED
+8FF1B4 003F 3F UNASSIGNED
+8FF1B5 003F 3F UNASSIGNED
+8FF1B6 003F 3F UNASSIGNED
+8FF1B7 003F 3F UNASSIGNED
+8FF1B8 003F 3F UNASSIGNED
+8FF1B9 003F 3F UNASSIGNED
+8FF1BA 003F 3F UNASSIGNED
+8FF1BB 003F 3F UNASSIGNED
+8FF1BC 003F 3F UNASSIGNED
+8FF1BD 003F 3F UNASSIGNED
+8FF1BE 003F 3F UNASSIGNED
+8FF1BF 003F 3F UNASSIGNED
+8FF1C0 003F 3F UNASSIGNED
+8FF1C1 003F 3F UNASSIGNED
+8FF1C2 003F 3F UNASSIGNED
+8FF1C3 003F 3F UNASSIGNED
+8FF1C4 003F 3F UNASSIGNED
+8FF1C5 003F 3F UNASSIGNED
+8FF1C6 003F 3F UNASSIGNED
+8FF1C7 003F 3F UNASSIGNED
+8FF1C8 003F 3F UNASSIGNED
+8FF1C9 003F 3F UNASSIGNED
+8FF1CA 003F 3F UNASSIGNED
+8FF1CB 003F 3F UNASSIGNED
+8FF1CC 003F 3F UNASSIGNED
+8FF1CD 003F 3F UNASSIGNED
+8FF1CE 003F 3F UNASSIGNED
+8FF1CF 003F 3F UNASSIGNED
+8FF1D0 003F 3F UNASSIGNED
+8FF1D1 003F 3F UNASSIGNED
+8FF1D2 003F 3F UNASSIGNED
+8FF1D3 003F 3F UNASSIGNED
+8FF1D4 003F 3F UNASSIGNED
+8FF1D5 003F 3F UNASSIGNED
+8FF1D6 003F 3F UNASSIGNED
+8FF1D7 003F 3F UNASSIGNED
+8FF1D8 003F 3F UNASSIGNED
+8FF1D9 003F 3F UNASSIGNED
+8FF1DA 003F 3F UNASSIGNED
+8FF1DB 003F 3F UNASSIGNED
+8FF1DC 003F 3F UNASSIGNED
+8FF1DD 003F 3F UNASSIGNED
+8FF1DE 003F 3F UNASSIGNED
+8FF1DF 003F 3F UNASSIGNED
+8FF1E0 003F 3F UNASSIGNED
+8FF1E1 003F 3F UNASSIGNED
+8FF1E2 003F 3F UNASSIGNED
+8FF1E3 003F 3F UNASSIGNED
+8FF1E4 003F 3F UNASSIGNED
+8FF1E5 003F 3F UNASSIGNED
+8FF1E6 003F 3F UNASSIGNED
+8FF1E7 003F 3F UNASSIGNED
+8FF1E8 003F 3F UNASSIGNED
+8FF1E9 003F 3F UNASSIGNED
+8FF1EA 003F 3F UNASSIGNED
+8FF1EB 003F 3F UNASSIGNED
+8FF1EC 003F 3F UNASSIGNED
+8FF1ED 003F 3F UNASSIGNED
+8FF1EE 003F 3F UNASSIGNED
+8FF1EF 003F 3F UNASSIGNED
+8FF1F0 003F 3F UNASSIGNED
+8FF1F1 003F 3F UNASSIGNED
+8FF1F2 003F 3F UNASSIGNED
+8FF1F3 003F 3F UNASSIGNED
+8FF1F4 003F 3F UNASSIGNED
+8FF1F5 003F 3F UNASSIGNED
+8FF1F6 003F 3F UNASSIGNED
+8FF1F7 003F 3F UNASSIGNED
+8FF1F8 003F 3F UNASSIGNED
+8FF1F9 003F 3F UNASSIGNED
+8FF1FA 003F 3F UNASSIGNED
+8FF1FB 003F 3F UNASSIGNED
+8FF1FC 003F 3F UNASSIGNED
+8FF1FD 003F 3F UNASSIGNED
+8FF1FE 003F 3F UNASSIGNED
+8FF2A1 003F 3F UNASSIGNED
+8FF2A2 003F 3F UNASSIGNED
+8FF2A3 003F 3F UNASSIGNED
+8FF2A4 003F 3F UNASSIGNED
+8FF2A5 003F 3F UNASSIGNED
+8FF2A6 003F 3F UNASSIGNED
+8FF2A7 003F 3F UNASSIGNED
+8FF2A8 003F 3F UNASSIGNED
+8FF2A9 003F 3F UNASSIGNED
+8FF2AA 003F 3F UNASSIGNED
+8FF2AB 003F 3F UNASSIGNED
+8FF2AC 003F 3F UNASSIGNED
+8FF2AD 003F 3F UNASSIGNED
+8FF2AE 003F 3F UNASSIGNED
+8FF2AF 003F 3F UNASSIGNED
+8FF2B0 003F 3F UNASSIGNED
+8FF2B1 003F 3F UNASSIGNED
+8FF2B2 003F 3F UNASSIGNED
+8FF2B3 003F 3F UNASSIGNED
+8FF2B4 003F 3F UNASSIGNED
+8FF2B5 003F 3F UNASSIGNED
+8FF2B6 003F 3F UNASSIGNED
+8FF2B7 003F 3F UNASSIGNED
+8FF2B8 003F 3F UNASSIGNED
+8FF2B9 003F 3F UNASSIGNED
+8FF2BA 003F 3F UNASSIGNED
+8FF2BB 003F 3F UNASSIGNED
+8FF2BC 003F 3F UNASSIGNED
+8FF2BD 003F 3F UNASSIGNED
+8FF2BE 003F 3F UNASSIGNED
+8FF2BF 003F 3F UNASSIGNED
+8FF2C0 003F 3F UNASSIGNED
+8FF2C1 003F 3F UNASSIGNED
+8FF2C2 003F 3F UNASSIGNED
+8FF2C3 003F 3F UNASSIGNED
+8FF2C4 003F 3F UNASSIGNED
+8FF2C5 003F 3F UNASSIGNED
+8FF2C6 003F 3F UNASSIGNED
+8FF2C7 003F 3F UNASSIGNED
+8FF2C8 003F 3F UNASSIGNED
+8FF2C9 003F 3F UNASSIGNED
+8FF2CA 003F 3F UNASSIGNED
+8FF2CB 003F 3F UNASSIGNED
+8FF2CC 003F 3F UNASSIGNED
+8FF2CD 003F 3F UNASSIGNED
+8FF2CE 003F 3F UNASSIGNED
+8FF2CF 003F 3F UNASSIGNED
+8FF2D0 003F 3F UNASSIGNED
+8FF2D1 003F 3F UNASSIGNED
+8FF2D2 003F 3F UNASSIGNED
+8FF2D3 003F 3F UNASSIGNED
+8FF2D4 003F 3F UNASSIGNED
+8FF2D5 003F 3F UNASSIGNED
+8FF2D6 003F 3F UNASSIGNED
+8FF2D7 003F 3F UNASSIGNED
+8FF2D8 003F 3F UNASSIGNED
+8FF2D9 003F 3F UNASSIGNED
+8FF2DA 003F 3F UNASSIGNED
+8FF2DB 003F 3F UNASSIGNED
+8FF2DC 003F 3F UNASSIGNED
+8FF2DD 003F 3F UNASSIGNED
+8FF2DE 003F 3F UNASSIGNED
+8FF2DF 003F 3F UNASSIGNED
+8FF2E0 003F 3F UNASSIGNED
+8FF2E1 003F 3F UNASSIGNED
+8FF2E2 003F 3F UNASSIGNED
+8FF2E3 003F 3F UNASSIGNED
+8FF2E4 003F 3F UNASSIGNED
+8FF2E5 003F 3F UNASSIGNED
+8FF2E6 003F 3F UNASSIGNED
+8FF2E7 003F 3F UNASSIGNED
+8FF2E8 003F 3F UNASSIGNED
+8FF2E9 003F 3F UNASSIGNED
+8FF2EA 003F 3F UNASSIGNED
+8FF2EB 003F 3F UNASSIGNED
+8FF2EC 003F 3F UNASSIGNED
+8FF2ED 003F 3F UNASSIGNED
+8FF2EE 003F 3F UNASSIGNED
+8FF2EF 003F 3F UNASSIGNED
+8FF2F0 003F 3F UNASSIGNED
+8FF2F1 003F 3F UNASSIGNED
+8FF2F2 003F 3F UNASSIGNED
+8FF2F3 003F 3F UNASSIGNED
+8FF2F4 003F 3F UNASSIGNED
+8FF2F5 003F 3F UNASSIGNED
+8FF2F6 003F 3F UNASSIGNED
+8FF2F7 003F 3F UNASSIGNED
+8FF2F8 003F 3F UNASSIGNED
+8FF2F9 003F 3F UNASSIGNED
+8FF2FA 003F 3F UNASSIGNED
+8FF2FB 003F 3F UNASSIGNED
+8FF2FC 003F 3F UNASSIGNED
+8FF2FD 003F 3F UNASSIGNED
+8FF2FE 003F 3F UNASSIGNED
+8FF3A1 003F 3F UNASSIGNED
+8FF3A2 003F 3F UNASSIGNED
+8FF3A3 003F 3F UNASSIGNED
+8FF3A4 003F 3F UNASSIGNED
+8FF3A5 003F 3F UNASSIGNED
+8FF3A6 003F 3F UNASSIGNED
+8FF3A7 003F 3F UNASSIGNED
+8FF3A8 003F 3F UNASSIGNED
+8FF3A9 003F 3F UNASSIGNED
+8FF3AA 003F 3F UNASSIGNED
+8FF3AB 003F 3F UNASSIGNED
+8FF3AC 003F 3F UNASSIGNED
+8FF3AD 003F 3F UNASSIGNED
+8FF3AE 003F 3F UNASSIGNED
+8FF3AF 003F 3F UNASSIGNED
+8FF3B0 003F 3F UNASSIGNED
+8FF3B1 003F 3F UNASSIGNED
+8FF3B2 003F 3F UNASSIGNED
+8FF3B3 003F 3F UNASSIGNED
+8FF3B4 003F 3F UNASSIGNED
+8FF3B5 003F 3F UNASSIGNED
+8FF3B6 003F 3F UNASSIGNED
+8FF3B7 003F 3F UNASSIGNED
+8FF3B8 003F 3F UNASSIGNED
+8FF3B9 003F 3F UNASSIGNED
+8FF3BA 003F 3F UNASSIGNED
+8FF3BB 003F 3F UNASSIGNED
+8FF3BC 003F 3F UNASSIGNED
+8FF3BD 003F 3F UNASSIGNED
+8FF3BE 003F 3F UNASSIGNED
+8FF3BF 003F 3F UNASSIGNED
+8FF3C0 003F 3F UNASSIGNED
+8FF3C1 003F 3F UNASSIGNED
+8FF3C2 003F 3F UNASSIGNED
+8FF3C3 003F 3F UNASSIGNED
+8FF3C4 003F 3F UNASSIGNED
+8FF3C5 003F 3F UNASSIGNED
+8FF3C6 003F 3F UNASSIGNED
+8FF3C7 003F 3F UNASSIGNED
+8FF3C8 003F 3F UNASSIGNED
+8FF3C9 003F 3F UNASSIGNED
+8FF3CA 003F 3F UNASSIGNED
+8FF3CB 003F 3F UNASSIGNED
+8FF3CC 003F 3F UNASSIGNED
+8FF3CD 003F 3F UNASSIGNED
+8FF3CE 003F 3F UNASSIGNED
+8FF3CF 003F 3F UNASSIGNED
+8FF3D0 003F 3F UNASSIGNED
+8FF3D1 003F 3F UNASSIGNED
+8FF3D2 003F 3F UNASSIGNED
+8FF3D3 003F 3F UNASSIGNED
+8FF3D4 003F 3F UNASSIGNED
+8FF3D5 003F 3F UNASSIGNED
+8FF3D6 003F 3F UNASSIGNED
+8FF3D7 003F 3F UNASSIGNED
+8FF3D8 003F 3F UNASSIGNED
+8FF3D9 003F 3F UNASSIGNED
+8FF3DA 003F 3F UNASSIGNED
+8FF3DB 003F 3F UNASSIGNED
+8FF3DC 003F 3F UNASSIGNED
+8FF3DD 003F 3F UNASSIGNED
+8FF3DE 003F 3F UNASSIGNED
+8FF3DF 003F 3F UNASSIGNED
+8FF3E0 003F 3F UNASSIGNED
+8FF3E1 003F 3F UNASSIGNED
+8FF3E2 003F 3F UNASSIGNED
+8FF3E3 003F 3F UNASSIGNED
+8FF3E4 003F 3F UNASSIGNED
+8FF3E5 003F 3F UNASSIGNED
+8FF3E6 003F 3F UNASSIGNED
+8FF3E7 003F 3F UNASSIGNED
+8FF3E8 003F 3F UNASSIGNED
+8FF3E9 003F 3F UNASSIGNED
+8FF3EA 003F 3F UNASSIGNED
+8FF3EB 003F 3F UNASSIGNED
+8FF3EC 003F 3F UNASSIGNED
+8FF3ED 003F 3F UNASSIGNED
+8FF3EE 003F 3F UNASSIGNED
+8FF3EF 003F 3F UNASSIGNED
+8FF3F0 003F 3F UNASSIGNED
+8FF3F1 003F 3F UNASSIGNED
+8FF3F2 003F 3F UNASSIGNED
+8FF3F3 003F 3F UNASSIGNED
+8FF3F4 003F 3F UNASSIGNED
+8FF3F5 003F 3F UNASSIGNED
+8FF3F6 003F 3F UNASSIGNED
+8FF3F7 003F 3F UNASSIGNED
+8FF3F8 003F 3F UNASSIGNED
+8FF3F9 003F 3F UNASSIGNED
+8FF3FA 003F 3F UNASSIGNED
+8FF3FB 003F 3F UNASSIGNED
+8FF3FC 003F 3F UNASSIGNED
+8FF3FD 003F 3F UNASSIGNED
+8FF3FE 003F 3F UNASSIGNED
+8FF4A1 003F 3F UNASSIGNED
+8FF4A2 003F 3F UNASSIGNED
+8FF4A3 003F 3F UNASSIGNED
+8FF4A4 003F 3F UNASSIGNED
+8FF4A5 003F 3F UNASSIGNED
+8FF4A6 003F 3F UNASSIGNED
+8FF4A7 003F 3F UNASSIGNED
+8FF4A8 003F 3F UNASSIGNED
+8FF4A9 003F 3F UNASSIGNED
+8FF4AA 003F 3F UNASSIGNED
+8FF4AB 003F 3F UNASSIGNED
+8FF4AC 003F 3F UNASSIGNED
+8FF4AD 003F 3F UNASSIGNED
+8FF4AE 003F 3F UNASSIGNED
+8FF4AF 003F 3F UNASSIGNED
+8FF4B0 003F 3F UNASSIGNED
+8FF4B1 003F 3F UNASSIGNED
+8FF4B2 003F 3F UNASSIGNED
+8FF4B3 003F 3F UNASSIGNED
+8FF4B4 003F 3F UNASSIGNED
+8FF4B5 003F 3F UNASSIGNED
+8FF4B6 003F 3F UNASSIGNED
+8FF4B7 003F 3F UNASSIGNED
+8FF4B8 003F 3F UNASSIGNED
+8FF4B9 003F 3F UNASSIGNED
+8FF4BA 003F 3F UNASSIGNED
+8FF4BB 003F 3F UNASSIGNED
+8FF4BC 003F 3F UNASSIGNED
+8FF4BD 003F 3F UNASSIGNED
+8FF4BE 003F 3F UNASSIGNED
+8FF4BF 003F 3F UNASSIGNED
+8FF4C0 003F 3F UNASSIGNED
+8FF4C1 003F 3F UNASSIGNED
+8FF4C2 003F 3F UNASSIGNED
+8FF4C3 003F 3F UNASSIGNED
+8FF4C4 003F 3F UNASSIGNED
+8FF4C5 003F 3F UNASSIGNED
+8FF4C6 003F 3F UNASSIGNED
+8FF4C7 003F 3F UNASSIGNED
+8FF4C8 003F 3F UNASSIGNED
+8FF4C9 003F 3F UNASSIGNED
+8FF4CA 003F 3F UNASSIGNED
+8FF4CB 003F 3F UNASSIGNED
+8FF4CC 003F 3F UNASSIGNED
+8FF4CD 003F 3F UNASSIGNED
+8FF4CE 003F 3F UNASSIGNED
+8FF4CF 003F 3F UNASSIGNED
+8FF4D0 003F 3F UNASSIGNED
+8FF4D1 003F 3F UNASSIGNED
+8FF4D2 003F 3F UNASSIGNED
+8FF4D3 003F 3F UNASSIGNED
+8FF4D4 003F 3F UNASSIGNED
+8FF4D5 003F 3F UNASSIGNED
+8FF4D6 003F 3F UNASSIGNED
+8FF4D7 003F 3F UNASSIGNED
+8FF4D8 003F 3F UNASSIGNED
+8FF4D9 003F 3F UNASSIGNED
+8FF4DA 003F 3F UNASSIGNED
+8FF4DB 003F 3F UNASSIGNED
+8FF4DC 003F 3F UNASSIGNED
+8FF4DD 003F 3F UNASSIGNED
+8FF4DE 003F 3F UNASSIGNED
+8FF4DF 003F 3F UNASSIGNED
+8FF4E0 003F 3F UNASSIGNED
+8FF4E1 003F 3F UNASSIGNED
+8FF4E2 003F 3F UNASSIGNED
+8FF4E3 003F 3F UNASSIGNED
+8FF4E4 003F 3F UNASSIGNED
+8FF4E5 003F 3F UNASSIGNED
+8FF4E6 003F 3F UNASSIGNED
+8FF4E7 003F 3F UNASSIGNED
+8FF4E8 003F 3F UNASSIGNED
+8FF4E9 003F 3F UNASSIGNED
+8FF4EA 003F 3F UNASSIGNED
+8FF4EB 003F 3F UNASSIGNED
+8FF4EC 003F 3F UNASSIGNED
+8FF4ED 003F 3F UNASSIGNED
+8FF4EE 003F 3F UNASSIGNED
+8FF4EF 003F 3F UNASSIGNED
+8FF4F0 003F 3F UNASSIGNED
+8FF4F1 003F 3F UNASSIGNED
+8FF4F2 003F 3F UNASSIGNED
+8FF4F3 003F 3F UNASSIGNED
+8FF4F4 003F 3F UNASSIGNED
+8FF4F5 003F 3F UNASSIGNED
+8FF4F6 003F 3F UNASSIGNED
+8FF4F7 003F 3F UNASSIGNED
+8FF4F8 003F 3F UNASSIGNED
+8FF4F9 003F 3F UNASSIGNED
+8FF4FA 003F 3F UNASSIGNED
+8FF4FB 003F 3F UNASSIGNED
+8FF4FC 003F 3F UNASSIGNED
+8FF4FD 003F 3F UNASSIGNED
+8FF4FE 003F 3F UNASSIGNED
+A1C0 005C 5C U+005C REVERSE SOLIDUS
+A2AF 003F 3F UNASSIGNED
+A2B0 003F 3F UNASSIGNED
+A2B1 003F 3F UNASSIGNED
+A2B2 003F 3F UNASSIGNED
+A2B3 003F 3F UNASSIGNED
+A2B4 003F 3F UNASSIGNED
+A2B5 003F 3F UNASSIGNED
+A2B6 003F 3F UNASSIGNED
+A2B7 003F 3F UNASSIGNED
+A2B8 003F 3F UNASSIGNED
+A2B9 003F 3F UNASSIGNED
+A2C2 003F 3F UNASSIGNED
+A2C3 003F 3F UNASSIGNED
+A2C4 003F 3F UNASSIGNED
+A2C5 003F 3F UNASSIGNED
+A2C6 003F 3F UNASSIGNED
+A2C7 003F 3F UNASSIGNED
+A2C8 003F 3F UNASSIGNED
+A2C9 003F 3F UNASSIGNED
+A2D1 003F 3F UNASSIGNED
+A2D2 003F 3F UNASSIGNED
+A2D3 003F 3F UNASSIGNED
+A2D4 003F 3F UNASSIGNED
+A2D5 003F 3F UNASSIGNED
+A2D6 003F 3F UNASSIGNED
+A2D7 003F 3F UNASSIGNED
+A2D8 003F 3F UNASSIGNED
+A2D9 003F 3F UNASSIGNED
+A2DA 003F 3F UNASSIGNED
+A2DB 003F 3F UNASSIGNED
+A2EB 003F 3F UNASSIGNED
+A2EC 003F 3F UNASSIGNED
+A2ED 003F 3F UNASSIGNED
+A2EE 003F 3F UNASSIGNED
+A2EF 003F 3F UNASSIGNED
+A2F0 003F 3F UNASSIGNED
+A2F1 003F 3F UNASSIGNED
+A2FA 003F 3F UNASSIGNED
+A2FB 003F 3F UNASSIGNED
+A2FC 003F 3F UNASSIGNED
+A2FD 003F 3F UNASSIGNED
+A3A1 003F 3F UNASSIGNED
+A3A2 003F 3F UNASSIGNED
+A3A3 003F 3F UNASSIGNED
+A3A4 003F 3F UNASSIGNED
+A3A5 003F 3F UNASSIGNED
+A3A6 003F 3F UNASSIGNED
+A3A7 003F 3F UNASSIGNED
+A3A8 003F 3F UNASSIGNED
+A3A9 003F 3F UNASSIGNED
+A3AA 003F 3F UNASSIGNED
+A3AB 003F 3F UNASSIGNED
+A3AC 003F 3F UNASSIGNED
+A3AD 003F 3F UNASSIGNED
+A3AE 003F 3F UNASSIGNED
+A3AF 003F 3F UNASSIGNED
+A3BA 003F 3F UNASSIGNED
+A3BB 003F 3F UNASSIGNED
+A3BC 003F 3F UNASSIGNED
+A3BD 003F 3F UNASSIGNED
+A3BE 003F 3F UNASSIGNED
+A3BF 003F 3F UNASSIGNED
+A3C0 003F 3F UNASSIGNED
+A3DB 003F 3F UNASSIGNED
+A3DC 003F 3F UNASSIGNED
+A3DD 003F 3F UNASSIGNED
+A3DE 003F 3F UNASSIGNED
+A3DF 003F 3F UNASSIGNED
+A3E0 003F 3F UNASSIGNED
+A3FB 003F 3F UNASSIGNED
+A3FC 003F 3F UNASSIGNED
+A3FD 003F 3F UNASSIGNED
+A3FE 003F 3F UNASSIGNED
+A4F4 003F 3F UNASSIGNED
+A4F5 003F 3F UNASSIGNED
+A4F6 003F 3F UNASSIGNED
+A4F7 003F 3F UNASSIGNED
+A4F8 003F 3F UNASSIGNED
+A4F9 003F 3F UNASSIGNED
+A4FA 003F 3F UNASSIGNED
+A4FB 003F 3F UNASSIGNED
+A4FC 003F 3F UNASSIGNED
+A4FD 003F 3F UNASSIGNED
+A4FE 003F 3F UNASSIGNED
+A5F7 003F 3F UNASSIGNED
+A5F8 003F 3F UNASSIGNED
+A5F9 003F 3F UNASSIGNED
+A5FA 003F 3F UNASSIGNED
+A5FB 003F 3F UNASSIGNED
+A5FC 003F 3F UNASSIGNED
+A5FD 003F 3F UNASSIGNED
+A5FE 003F 3F UNASSIGNED
+A6B9 003F 3F UNASSIGNED
+A6BA 003F 3F UNASSIGNED
+A6BB 003F 3F UNASSIGNED
+A6BC 003F 3F UNASSIGNED
+A6BD 003F 3F UNASSIGNED
+A6BE 003F 3F UNASSIGNED
+A6BF 003F 3F UNASSIGNED
+A6C0 003F 3F UNASSIGNED
+A6D9 003F 3F UNASSIGNED
+A6DA 003F 3F UNASSIGNED
+A6DB 003F 3F UNASSIGNED
+A6DC 003F 3F UNASSIGNED
+A6DD 003F 3F UNASSIGNED
+A6DE 003F 3F UNASSIGNED
+A6DF 003F 3F UNASSIGNED
+A6E0 003F 3F UNASSIGNED
+A6E1 003F 3F UNASSIGNED
+A6E2 003F 3F UNASSIGNED
+A6E3 003F 3F UNASSIGNED
+A6E4 003F 3F UNASSIGNED
+A6E5 003F 3F UNASSIGNED
+A6E6 003F 3F UNASSIGNED
+A6E7 003F 3F UNASSIGNED
+A6E8 003F 3F UNASSIGNED
+A6E9 003F 3F UNASSIGNED
+A6EA 003F 3F UNASSIGNED
+A6EB 003F 3F UNASSIGNED
+A6EC 003F 3F UNASSIGNED
+A6ED 003F 3F UNASSIGNED
+A6EE 003F 3F UNASSIGNED
+A6EF 003F 3F UNASSIGNED
+A6F0 003F 3F UNASSIGNED
+A6F1 003F 3F UNASSIGNED
+A6F2 003F 3F UNASSIGNED
+A6F3 003F 3F UNASSIGNED
+A6F4 003F 3F UNASSIGNED
+A6F5 003F 3F UNASSIGNED
+A6F6 003F 3F UNASSIGNED
+A6F7 003F 3F UNASSIGNED
+A6F8 003F 3F UNASSIGNED
+A6F9 003F 3F UNASSIGNED
+A6FA 003F 3F UNASSIGNED
+A6FB 003F 3F UNASSIGNED
+A6FC 003F 3F UNASSIGNED
+A6FD 003F 3F UNASSIGNED
+A6FE 003F 3F UNASSIGNED
+A7C2 003F 3F UNASSIGNED
+A7C3 003F 3F UNASSIGNED
+A7C4 003F 3F UNASSIGNED
+A7C5 003F 3F UNASSIGNED
+A7C6 003F 3F UNASSIGNED
+A7C7 003F 3F UNASSIGNED
+A7C8 003F 3F UNASSIGNED
+A7C9 003F 3F UNASSIGNED
+A7CA 003F 3F UNASSIGNED
+A7CB 003F 3F UNASSIGNED
+A7CC 003F 3F UNASSIGNED
+A7CD 003F 3F UNASSIGNED
+A7CE 003F 3F UNASSIGNED
+A7CF 003F 3F UNASSIGNED
+A7D0 003F 3F UNASSIGNED
+A7F2 003F 3F UNASSIGNED
+A7F3 003F 3F UNASSIGNED
+A7F4 003F 3F UNASSIGNED
+A7F5 003F 3F UNASSIGNED
+A7F6 003F 3F UNASSIGNED
+A7F7 003F 3F UNASSIGNED
+A7F8 003F 3F UNASSIGNED
+A7F9 003F 3F UNASSIGNED
+A7FA 003F 3F UNASSIGNED
+A7FB 003F 3F UNASSIGNED
+A7FC 003F 3F UNASSIGNED
+A7FD 003F 3F UNASSIGNED
+A7FE 003F 3F UNASSIGNED
+A8C1 003F 3F UNASSIGNED
+A8C2 003F 3F UNASSIGNED
+A8C3 003F 3F UNASSIGNED
+A8C4 003F 3F UNASSIGNED
+A8C5 003F 3F UNASSIGNED
+A8C6 003F 3F UNASSIGNED
+A8C7 003F 3F UNASSIGNED
+A8C8 003F 3F UNASSIGNED
+A8C9 003F 3F UNASSIGNED
+A8CA 003F 3F UNASSIGNED
+A8CB 003F 3F UNASSIGNED
+A8CC 003F 3F UNASSIGNED
+A8CD 003F 3F UNASSIGNED
+A8CE 003F 3F UNASSIGNED
+A8CF 003F 3F UNASSIGNED
+A8D0 003F 3F UNASSIGNED
+A8D1 003F 3F UNASSIGNED
+A8D2 003F 3F UNASSIGNED
+A8D3 003F 3F UNASSIGNED
+A8D4 003F 3F UNASSIGNED
+A8D5 003F 3F UNASSIGNED
+A8D6 003F 3F UNASSIGNED
+A8D7 003F 3F UNASSIGNED
+A8D8 003F 3F UNASSIGNED
+A8D9 003F 3F UNASSIGNED
+A8DA 003F 3F UNASSIGNED
+A8DB 003F 3F UNASSIGNED
+A8DC 003F 3F UNASSIGNED
+A8DD 003F 3F UNASSIGNED
+A8DE 003F 3F UNASSIGNED
+A8DF 003F 3F UNASSIGNED
+A8E0 003F 3F UNASSIGNED
+A8E1 003F 3F UNASSIGNED
+A8E2 003F 3F UNASSIGNED
+A8E3 003F 3F UNASSIGNED
+A8E4 003F 3F UNASSIGNED
+A8E5 003F 3F UNASSIGNED
+A8E6 003F 3F UNASSIGNED
+A8E7 003F 3F UNASSIGNED
+A8E8 003F 3F UNASSIGNED
+A8E9 003F 3F UNASSIGNED
+A8EA 003F 3F UNASSIGNED
+A8EB 003F 3F UNASSIGNED
+A8EC 003F 3F UNASSIGNED
+A8ED 003F 3F UNASSIGNED
+A8EE 003F 3F UNASSIGNED
+A8EF 003F 3F UNASSIGNED
+A8F0 003F 3F UNASSIGNED
+A8F1 003F 3F UNASSIGNED
+A8F2 003F 3F UNASSIGNED
+A8F3 003F 3F UNASSIGNED
+A8F4 003F 3F UNASSIGNED
+A8F5 003F 3F UNASSIGNED
+A8F6 003F 3F UNASSIGNED
+A8F7 003F 3F UNASSIGNED
+A8F8 003F 3F UNASSIGNED
+A8F9 003F 3F UNASSIGNED
+A8FA 003F 3F UNASSIGNED
+A8FB 003F 3F UNASSIGNED
+A8FC 003F 3F UNASSIGNED
+A8FD 003F 3F UNASSIGNED
+A8FE 003F 3F UNASSIGNED
+A9A1 003F 3F UNASSIGNED
+A9A2 003F 3F UNASSIGNED
+A9A3 003F 3F UNASSIGNED
+A9A4 003F 3F UNASSIGNED
+A9A5 003F 3F UNASSIGNED
+A9A6 003F 3F UNASSIGNED
+A9A7 003F 3F UNASSIGNED
+A9A8 003F 3F UNASSIGNED
+A9A9 003F 3F UNASSIGNED
+A9AA 003F 3F UNASSIGNED
+A9AB 003F 3F UNASSIGNED
+A9AC 003F 3F UNASSIGNED
+A9AD 003F 3F UNASSIGNED
+A9AE 003F 3F UNASSIGNED
+A9AF 003F 3F UNASSIGNED
+A9B0 003F 3F UNASSIGNED
+A9B1 003F 3F UNASSIGNED
+A9B2 003F 3F UNASSIGNED
+A9B3 003F 3F UNASSIGNED
+A9B4 003F 3F UNASSIGNED
+A9B5 003F 3F UNASSIGNED
+A9B6 003F 3F UNASSIGNED
+A9B7 003F 3F UNASSIGNED
+A9B8 003F 3F UNASSIGNED
+A9B9 003F 3F UNASSIGNED
+A9BA 003F 3F UNASSIGNED
+A9BB 003F 3F UNASSIGNED
+A9BC 003F 3F UNASSIGNED
+A9BD 003F 3F UNASSIGNED
+A9BE 003F 3F UNASSIGNED
+A9BF 003F 3F UNASSIGNED
+A9C0 003F 3F UNASSIGNED
+A9C1 003F 3F UNASSIGNED
+A9C2 003F 3F UNASSIGNED
+A9C3 003F 3F UNASSIGNED
+A9C4 003F 3F UNASSIGNED
+A9C5 003F 3F UNASSIGNED
+A9C6 003F 3F UNASSIGNED
+A9C7 003F 3F UNASSIGNED
+A9C8 003F 3F UNASSIGNED
+A9C9 003F 3F UNASSIGNED
+A9CA 003F 3F UNASSIGNED
+A9CB 003F 3F UNASSIGNED
+A9CC 003F 3F UNASSIGNED
+A9CD 003F 3F UNASSIGNED
+A9CE 003F 3F UNASSIGNED
+A9CF 003F 3F UNASSIGNED
+A9D0 003F 3F UNASSIGNED
+A9D1 003F 3F UNASSIGNED
+A9D2 003F 3F UNASSIGNED
+A9D3 003F 3F UNASSIGNED
+A9D4 003F 3F UNASSIGNED
+A9D5 003F 3F UNASSIGNED
+A9D6 003F 3F UNASSIGNED
+A9D7 003F 3F UNASSIGNED
+A9D8 003F 3F UNASSIGNED
+A9D9 003F 3F UNASSIGNED
+A9DA 003F 3F UNASSIGNED
+A9DB 003F 3F UNASSIGNED
+A9DC 003F 3F UNASSIGNED
+A9DD 003F 3F UNASSIGNED
+A9DE 003F 3F UNASSIGNED
+A9DF 003F 3F UNASSIGNED
+A9E0 003F 3F UNASSIGNED
+A9E1 003F 3F UNASSIGNED
+A9E2 003F 3F UNASSIGNED
+A9E3 003F 3F UNASSIGNED
+A9E4 003F 3F UNASSIGNED
+A9E5 003F 3F UNASSIGNED
+A9E6 003F 3F UNASSIGNED
+A9E7 003F 3F UNASSIGNED
+A9E8 003F 3F UNASSIGNED
+A9E9 003F 3F UNASSIGNED
+A9EA 003F 3F UNASSIGNED
+A9EB 003F 3F UNASSIGNED
+A9EC 003F 3F UNASSIGNED
+A9ED 003F 3F UNASSIGNED
+A9EE 003F 3F UNASSIGNED
+A9EF 003F 3F UNASSIGNED
+A9F0 003F 3F UNASSIGNED
+A9F1 003F 3F UNASSIGNED
+A9F2 003F 3F UNASSIGNED
+A9F3 003F 3F UNASSIGNED
+A9F4 003F 3F UNASSIGNED
+A9F5 003F 3F UNASSIGNED
+A9F6 003F 3F UNASSIGNED
+A9F7 003F 3F UNASSIGNED
+A9F8 003F 3F UNASSIGNED
+A9F9 003F 3F UNASSIGNED
+A9FA 003F 3F UNASSIGNED
+A9FB 003F 3F UNASSIGNED
+A9FC 003F 3F UNASSIGNED
+A9FD 003F 3F UNASSIGNED
+A9FE 003F 3F UNASSIGNED
+AAA1 003F 3F UNASSIGNED
+AAA2 003F 3F UNASSIGNED
+AAA3 003F 3F UNASSIGNED
+AAA4 003F 3F UNASSIGNED
+AAA5 003F 3F UNASSIGNED
+AAA6 003F 3F UNASSIGNED
+AAA7 003F 3F UNASSIGNED
+AAA8 003F 3F UNASSIGNED
+AAA9 003F 3F UNASSIGNED
+AAAA 003F 3F UNASSIGNED
+AAAB 003F 3F UNASSIGNED
+AAAC 003F 3F UNASSIGNED
+AAAD 003F 3F UNASSIGNED
+AAAE 003F 3F UNASSIGNED
+AAAF 003F 3F UNASSIGNED
+AAB0 003F 3F UNASSIGNED
+AAB1 003F 3F UNASSIGNED
+AAB2 003F 3F UNASSIGNED
+AAB3 003F 3F UNASSIGNED
+AAB4 003F 3F UNASSIGNED
+AAB5 003F 3F UNASSIGNED
+AAB6 003F 3F UNASSIGNED
+AAB7 003F 3F UNASSIGNED
+AAB8 003F 3F UNASSIGNED
+AAB9 003F 3F UNASSIGNED
+AABA 003F 3F UNASSIGNED
+AABB 003F 3F UNASSIGNED
+AABC 003F 3F UNASSIGNED
+AABD 003F 3F UNASSIGNED
+AABE 003F 3F UNASSIGNED
+AABF 003F 3F UNASSIGNED
+AAC0 003F 3F UNASSIGNED
+AAC1 003F 3F UNASSIGNED
+AAC2 003F 3F UNASSIGNED
+AAC3 003F 3F UNASSIGNED
+AAC4 003F 3F UNASSIGNED
+AAC5 003F 3F UNASSIGNED
+AAC6 003F 3F UNASSIGNED
+AAC7 003F 3F UNASSIGNED
+AAC8 003F 3F UNASSIGNED
+AAC9 003F 3F UNASSIGNED
+AACA 003F 3F UNASSIGNED
+AACB 003F 3F UNASSIGNED
+AACC 003F 3F UNASSIGNED
+AACD 003F 3F UNASSIGNED
+AACE 003F 3F UNASSIGNED
+AACF 003F 3F UNASSIGNED
+AAD0 003F 3F UNASSIGNED
+AAD1 003F 3F UNASSIGNED
+AAD2 003F 3F UNASSIGNED
+AAD3 003F 3F UNASSIGNED
+AAD4 003F 3F UNASSIGNED
+AAD5 003F 3F UNASSIGNED
+AAD6 003F 3F UNASSIGNED
+AAD7 003F 3F UNASSIGNED
+AAD8 003F 3F UNASSIGNED
+AAD9 003F 3F UNASSIGNED
+AADA 003F 3F UNASSIGNED
+AADB 003F 3F UNASSIGNED
+AADC 003F 3F UNASSIGNED
+AADD 003F 3F UNASSIGNED
+AADE 003F 3F UNASSIGNED
+AADF 003F 3F UNASSIGNED
+AAE0 003F 3F UNASSIGNED
+AAE1 003F 3F UNASSIGNED
+AAE2 003F 3F UNASSIGNED
+AAE3 003F 3F UNASSIGNED
+AAE4 003F 3F UNASSIGNED
+AAE5 003F 3F UNASSIGNED
+AAE6 003F 3F UNASSIGNED
+AAE7 003F 3F UNASSIGNED
+AAE8 003F 3F UNASSIGNED
+AAE9 003F 3F UNASSIGNED
+AAEA 003F 3F UNASSIGNED
+AAEB 003F 3F UNASSIGNED
+AAEC 003F 3F UNASSIGNED
+AAED 003F 3F UNASSIGNED
+AAEE 003F 3F UNASSIGNED
+AAEF 003F 3F UNASSIGNED
+AAF0 003F 3F UNASSIGNED
+AAF1 003F 3F UNASSIGNED
+AAF2 003F 3F UNASSIGNED
+AAF3 003F 3F UNASSIGNED
+AAF4 003F 3F UNASSIGNED
+AAF5 003F 3F UNASSIGNED
+AAF6 003F 3F UNASSIGNED
+AAF7 003F 3F UNASSIGNED
+AAF8 003F 3F UNASSIGNED
+AAF9 003F 3F UNASSIGNED
+AAFA 003F 3F UNASSIGNED
+AAFB 003F 3F UNASSIGNED
+AAFC 003F 3F UNASSIGNED
+AAFD 003F 3F UNASSIGNED
+AAFE 003F 3F UNASSIGNED
+ABA1 003F 3F UNASSIGNED
+ABA2 003F 3F UNASSIGNED
+ABA3 003F 3F UNASSIGNED
+ABA4 003F 3F UNASSIGNED
+ABA5 003F 3F UNASSIGNED
+ABA6 003F 3F UNASSIGNED
+ABA7 003F 3F UNASSIGNED
+ABA8 003F 3F UNASSIGNED
+ABA9 003F 3F UNASSIGNED
+ABAA 003F 3F UNASSIGNED
+ABAB 003F 3F UNASSIGNED
+ABAC 003F 3F UNASSIGNED
+ABAD 003F 3F UNASSIGNED
+ABAE 003F 3F UNASSIGNED
+ABAF 003F 3F UNASSIGNED
+ABB0 003F 3F UNASSIGNED
+ABB1 003F 3F UNASSIGNED
+ABB2 003F 3F UNASSIGNED
+ABB3 003F 3F UNASSIGNED
+ABB4 003F 3F UNASSIGNED
+ABB5 003F 3F UNASSIGNED
+ABB6 003F 3F UNASSIGNED
+ABB7 003F 3F UNASSIGNED
+ABB8 003F 3F UNASSIGNED
+ABB9 003F 3F UNASSIGNED
+ABBA 003F 3F UNASSIGNED
+ABBB 003F 3F UNASSIGNED
+ABBC 003F 3F UNASSIGNED
+ABBD 003F 3F UNASSIGNED
+ABBE 003F 3F UNASSIGNED
+ABBF 003F 3F UNASSIGNED
+ABC0 003F 3F UNASSIGNED
+ABC1 003F 3F UNASSIGNED
+ABC2 003F 3F UNASSIGNED
+ABC3 003F 3F UNASSIGNED
+ABC4 003F 3F UNASSIGNED
+ABC5 003F 3F UNASSIGNED
+ABC6 003F 3F UNASSIGNED
+ABC7 003F 3F UNASSIGNED
+ABC8 003F 3F UNASSIGNED
+ABC9 003F 3F UNASSIGNED
+ABCA 003F 3F UNASSIGNED
+ABCB 003F 3F UNASSIGNED
+ABCC 003F 3F UNASSIGNED
+ABCD 003F 3F UNASSIGNED
+ABCE 003F 3F UNASSIGNED
+ABCF 003F 3F UNASSIGNED
+ABD0 003F 3F UNASSIGNED
+ABD1 003F 3F UNASSIGNED
+ABD2 003F 3F UNASSIGNED
+ABD3 003F 3F UNASSIGNED
+ABD4 003F 3F UNASSIGNED
+ABD5 003F 3F UNASSIGNED
+ABD6 003F 3F UNASSIGNED
+ABD7 003F 3F UNASSIGNED
+ABD8 003F 3F UNASSIGNED
+ABD9 003F 3F UNASSIGNED
+ABDA 003F 3F UNASSIGNED
+ABDB 003F 3F UNASSIGNED
+ABDC 003F 3F UNASSIGNED
+ABDD 003F 3F UNASSIGNED
+ABDE 003F 3F UNASSIGNED
+ABDF 003F 3F UNASSIGNED
+ABE0 003F 3F UNASSIGNED
+ABE1 003F 3F UNASSIGNED
+ABE2 003F 3F UNASSIGNED
+ABE3 003F 3F UNASSIGNED
+ABE4 003F 3F UNASSIGNED
+ABE5 003F 3F UNASSIGNED
+ABE6 003F 3F UNASSIGNED
+ABE7 003F 3F UNASSIGNED
+ABE8 003F 3F UNASSIGNED
+ABE9 003F 3F UNASSIGNED
+ABEA 003F 3F UNASSIGNED
+ABEB 003F 3F UNASSIGNED
+ABEC 003F 3F UNASSIGNED
+ABED 003F 3F UNASSIGNED
+ABEE 003F 3F UNASSIGNED
+ABEF 003F 3F UNASSIGNED
+ABF0 003F 3F UNASSIGNED
+ABF1 003F 3F UNASSIGNED
+ABF2 003F 3F UNASSIGNED
+ABF3 003F 3F UNASSIGNED
+ABF4 003F 3F UNASSIGNED
+ABF5 003F 3F UNASSIGNED
+ABF6 003F 3F UNASSIGNED
+ABF7 003F 3F UNASSIGNED
+ABF8 003F 3F UNASSIGNED
+ABF9 003F 3F UNASSIGNED
+ABFA 003F 3F UNASSIGNED
+ABFB 003F 3F UNASSIGNED
+ABFC 003F 3F UNASSIGNED
+ABFD 003F 3F UNASSIGNED
+ABFE 003F 3F UNASSIGNED
+ACA1 003F 3F UNASSIGNED
+ACA2 003F 3F UNASSIGNED
+ACA3 003F 3F UNASSIGNED
+ACA4 003F 3F UNASSIGNED
+ACA5 003F 3F UNASSIGNED
+ACA6 003F 3F UNASSIGNED
+ACA7 003F 3F UNASSIGNED
+ACA8 003F 3F UNASSIGNED
+ACA9 003F 3F UNASSIGNED
+ACAA 003F 3F UNASSIGNED
+ACAB 003F 3F UNASSIGNED
+ACAC 003F 3F UNASSIGNED
+ACAD 003F 3F UNASSIGNED
+ACAE 003F 3F UNASSIGNED
+ACAF 003F 3F UNASSIGNED
+ACB0 003F 3F UNASSIGNED
+ACB1 003F 3F UNASSIGNED
+ACB2 003F 3F UNASSIGNED
+ACB3 003F 3F UNASSIGNED
+ACB4 003F 3F UNASSIGNED
+ACB5 003F 3F UNASSIGNED
+ACB6 003F 3F UNASSIGNED
+ACB7 003F 3F UNASSIGNED
+ACB8 003F 3F UNASSIGNED
+ACB9 003F 3F UNASSIGNED
+ACBA 003F 3F UNASSIGNED
+ACBB 003F 3F UNASSIGNED
+ACBC 003F 3F UNASSIGNED
+ACBD 003F 3F UNASSIGNED
+ACBE 003F 3F UNASSIGNED
+ACBF 003F 3F UNASSIGNED
+ACC0 003F 3F UNASSIGNED
+ACC1 003F 3F UNASSIGNED
+ACC2 003F 3F UNASSIGNED
+ACC3 003F 3F UNASSIGNED
+ACC4 003F 3F UNASSIGNED
+ACC5 003F 3F UNASSIGNED
+ACC6 003F 3F UNASSIGNED
+ACC7 003F 3F UNASSIGNED
+ACC8 003F 3F UNASSIGNED
+ACC9 003F 3F UNASSIGNED
+ACCA 003F 3F UNASSIGNED
+ACCB 003F 3F UNASSIGNED
+ACCC 003F 3F UNASSIGNED
+ACCD 003F 3F UNASSIGNED
+ACCE 003F 3F UNASSIGNED
+ACCF 003F 3F UNASSIGNED
+ACD0 003F 3F UNASSIGNED
+ACD1 003F 3F UNASSIGNED
+ACD2 003F 3F UNASSIGNED
+ACD3 003F 3F UNASSIGNED
+ACD4 003F 3F UNASSIGNED
+ACD5 003F 3F UNASSIGNED
+ACD6 003F 3F UNASSIGNED
+ACD7 003F 3F UNASSIGNED
+ACD8 003F 3F UNASSIGNED
+ACD9 003F 3F UNASSIGNED
+ACDA 003F 3F UNASSIGNED
+ACDB 003F 3F UNASSIGNED
+ACDC 003F 3F UNASSIGNED
+ACDD 003F 3F UNASSIGNED
+ACDE 003F 3F UNASSIGNED
+ACDF 003F 3F UNASSIGNED
+ACE0 003F 3F UNASSIGNED
+ACE1 003F 3F UNASSIGNED
+ACE2 003F 3F UNASSIGNED
+ACE3 003F 3F UNASSIGNED
+ACE4 003F 3F UNASSIGNED
+ACE5 003F 3F UNASSIGNED
+ACE6 003F 3F UNASSIGNED
+ACE7 003F 3F UNASSIGNED
+ACE8 003F 3F UNASSIGNED
+ACE9 003F 3F UNASSIGNED
+ACEA 003F 3F UNASSIGNED
+ACEB 003F 3F UNASSIGNED
+ACEC 003F 3F UNASSIGNED
+ACED 003F 3F UNASSIGNED
+ACEE 003F 3F UNASSIGNED
+ACEF 003F 3F UNASSIGNED
+ACF0 003F 3F UNASSIGNED
+ACF1 003F 3F UNASSIGNED
+ACF2 003F 3F UNASSIGNED
+ACF3 003F 3F UNASSIGNED
+ACF4 003F 3F UNASSIGNED
+ACF5 003F 3F UNASSIGNED
+ACF6 003F 3F UNASSIGNED
+ACF7 003F 3F UNASSIGNED
+ACF8 003F 3F UNASSIGNED
+ACF9 003F 3F UNASSIGNED
+ACFA 003F 3F UNASSIGNED
+ACFB 003F 3F UNASSIGNED
+ACFC 003F 3F UNASSIGNED
+ACFD 003F 3F UNASSIGNED
+ACFE 003F 3F UNASSIGNED
+ADA1 003F 3F UNASSIGNED
+ADA2 003F 3F UNASSIGNED
+ADA3 003F 3F UNASSIGNED
+ADA4 003F 3F UNASSIGNED
+ADA5 003F 3F UNASSIGNED
+ADA6 003F 3F UNASSIGNED
+ADA7 003F 3F UNASSIGNED
+ADA8 003F 3F UNASSIGNED
+ADA9 003F 3F UNASSIGNED
+ADAA 003F 3F UNASSIGNED
+ADAB 003F 3F UNASSIGNED
+ADAC 003F 3F UNASSIGNED
+ADAD 003F 3F UNASSIGNED
+ADAE 003F 3F UNASSIGNED
+ADAF 003F 3F UNASSIGNED
+ADB0 003F 3F UNASSIGNED
+ADB1 003F 3F UNASSIGNED
+ADB2 003F 3F UNASSIGNED
+ADB3 003F 3F UNASSIGNED
+ADB4 003F 3F UNASSIGNED
+ADB5 003F 3F UNASSIGNED
+ADB6 003F 3F UNASSIGNED
+ADB7 003F 3F UNASSIGNED
+ADB8 003F 3F UNASSIGNED
+ADB9 003F 3F UNASSIGNED
+ADBA 003F 3F UNASSIGNED
+ADBB 003F 3F UNASSIGNED
+ADBC 003F 3F UNASSIGNED
+ADBD 003F 3F UNASSIGNED
+ADBE 003F 3F UNASSIGNED
+ADBF 003F 3F UNASSIGNED
+ADC0 003F 3F UNASSIGNED
+ADC1 003F 3F UNASSIGNED
+ADC2 003F 3F UNASSIGNED
+ADC3 003F 3F UNASSIGNED
+ADC4 003F 3F UNASSIGNED
+ADC5 003F 3F UNASSIGNED
+ADC6 003F 3F UNASSIGNED
+ADC7 003F 3F UNASSIGNED
+ADC8 003F 3F UNASSIGNED
+ADC9 003F 3F UNASSIGNED
+ADCA 003F 3F UNASSIGNED
+ADCB 003F 3F UNASSIGNED
+ADCC 003F 3F UNASSIGNED
+ADCD 003F 3F UNASSIGNED
+ADCE 003F 3F UNASSIGNED
+ADCF 003F 3F UNASSIGNED
+ADD0 003F 3F UNASSIGNED
+ADD1 003F 3F UNASSIGNED
+ADD2 003F 3F UNASSIGNED
+ADD3 003F 3F UNASSIGNED
+ADD4 003F 3F UNASSIGNED
+ADD5 003F 3F UNASSIGNED
+ADD6 003F 3F UNASSIGNED
+ADD7 003F 3F UNASSIGNED
+ADD8 003F 3F UNASSIGNED
+ADD9 003F 3F UNASSIGNED
+ADDA 003F 3F UNASSIGNED
+ADDB 003F 3F UNASSIGNED
+ADDC 003F 3F UNASSIGNED
+ADDD 003F 3F UNASSIGNED
+ADDE 003F 3F UNASSIGNED
+ADDF 003F 3F UNASSIGNED
+ADE0 003F 3F UNASSIGNED
+ADE1 003F 3F UNASSIGNED
+ADE2 003F 3F UNASSIGNED
+ADE3 003F 3F UNASSIGNED
+ADE4 003F 3F UNASSIGNED
+ADE5 003F 3F UNASSIGNED
+ADE6 003F 3F UNASSIGNED
+ADE7 003F 3F UNASSIGNED
+ADE8 003F 3F UNASSIGNED
+ADE9 003F 3F UNASSIGNED
+ADEA 003F 3F UNASSIGNED
+ADEB 003F 3F UNASSIGNED
+ADEC 003F 3F UNASSIGNED
+ADED 003F 3F UNASSIGNED
+ADEE 003F 3F UNASSIGNED
+ADEF 003F 3F UNASSIGNED
+ADF0 003F 3F UNASSIGNED
+ADF1 003F 3F UNASSIGNED
+ADF2 003F 3F UNASSIGNED
+ADF3 003F 3F UNASSIGNED
+ADF4 003F 3F UNASSIGNED
+ADF5 003F 3F UNASSIGNED
+ADF6 003F 3F UNASSIGNED
+ADF7 003F 3F UNASSIGNED
+ADF8 003F 3F UNASSIGNED
+ADF9 003F 3F UNASSIGNED
+ADFA 003F 3F UNASSIGNED
+ADFB 003F 3F UNASSIGNED
+ADFC 003F 3F UNASSIGNED
+ADFD 003F 3F UNASSIGNED
+ADFE 003F 3F UNASSIGNED
+AEA1 003F 3F UNASSIGNED
+AEA2 003F 3F UNASSIGNED
+AEA3 003F 3F UNASSIGNED
+AEA4 003F 3F UNASSIGNED
+AEA5 003F 3F UNASSIGNED
+AEA6 003F 3F UNASSIGNED
+AEA7 003F 3F UNASSIGNED
+AEA8 003F 3F UNASSIGNED
+AEA9 003F 3F UNASSIGNED
+AEAA 003F 3F UNASSIGNED
+AEAB 003F 3F UNASSIGNED
+AEAC 003F 3F UNASSIGNED
+AEAD 003F 3F UNASSIGNED
+AEAE 003F 3F UNASSIGNED
+AEAF 003F 3F UNASSIGNED
+AEB0 003F 3F UNASSIGNED
+AEB1 003F 3F UNASSIGNED
+AEB2 003F 3F UNASSIGNED
+AEB3 003F 3F UNASSIGNED
+AEB4 003F 3F UNASSIGNED
+AEB5 003F 3F UNASSIGNED
+AEB6 003F 3F UNASSIGNED
+AEB7 003F 3F UNASSIGNED
+AEB8 003F 3F UNASSIGNED
+AEB9 003F 3F UNASSIGNED
+AEBA 003F 3F UNASSIGNED
+AEBB 003F 3F UNASSIGNED
+AEBC 003F 3F UNASSIGNED
+AEBD 003F 3F UNASSIGNED
+AEBE 003F 3F UNASSIGNED
+AEBF 003F 3F UNASSIGNED
+AEC0 003F 3F UNASSIGNED
+AEC1 003F 3F UNASSIGNED
+AEC2 003F 3F UNASSIGNED
+AEC3 003F 3F UNASSIGNED
+AEC4 003F 3F UNASSIGNED
+AEC5 003F 3F UNASSIGNED
+AEC6 003F 3F UNASSIGNED
+AEC7 003F 3F UNASSIGNED
+AEC8 003F 3F UNASSIGNED
+AEC9 003F 3F UNASSIGNED
+AECA 003F 3F UNASSIGNED
+AECB 003F 3F UNASSIGNED
+AECC 003F 3F UNASSIGNED
+AECD 003F 3F UNASSIGNED
+AECE 003F 3F UNASSIGNED
+AECF 003F 3F UNASSIGNED
+AED0 003F 3F UNASSIGNED
+AED1 003F 3F UNASSIGNED
+AED2 003F 3F UNASSIGNED
+AED3 003F 3F UNASSIGNED
+AED4 003F 3F UNASSIGNED
+AED5 003F 3F UNASSIGNED
+AED6 003F 3F UNASSIGNED
+AED7 003F 3F UNASSIGNED
+AED8 003F 3F UNASSIGNED
+AED9 003F 3F UNASSIGNED
+AEDA 003F 3F UNASSIGNED
+AEDB 003F 3F UNASSIGNED
+AEDC 003F 3F UNASSIGNED
+AEDD 003F 3F UNASSIGNED
+AEDE 003F 3F UNASSIGNED
+AEDF 003F 3F UNASSIGNED
+AEE0 003F 3F UNASSIGNED
+AEE1 003F 3F UNASSIGNED
+AEE2 003F 3F UNASSIGNED
+AEE3 003F 3F UNASSIGNED
+AEE4 003F 3F UNASSIGNED
+AEE5 003F 3F UNASSIGNED
+AEE6 003F 3F UNASSIGNED
+AEE7 003F 3F UNASSIGNED
+AEE8 003F 3F UNASSIGNED
+AEE9 003F 3F UNASSIGNED
+AEEA 003F 3F UNASSIGNED
+AEEB 003F 3F UNASSIGNED
+AEEC 003F 3F UNASSIGNED
+AEED 003F 3F UNASSIGNED
+AEEE 003F 3F UNASSIGNED
+AEEF 003F 3F UNASSIGNED
+AEF0 003F 3F UNASSIGNED
+AEF1 003F 3F UNASSIGNED
+AEF2 003F 3F UNASSIGNED
+AEF3 003F 3F UNASSIGNED
+AEF4 003F 3F UNASSIGNED
+AEF5 003F 3F UNASSIGNED
+AEF6 003F 3F UNASSIGNED
+AEF7 003F 3F UNASSIGNED
+AEF8 003F 3F UNASSIGNED
+AEF9 003F 3F UNASSIGNED
+AEFA 003F 3F UNASSIGNED
+AEFB 003F 3F UNASSIGNED
+AEFC 003F 3F UNASSIGNED
+AEFD 003F 3F UNASSIGNED
+AEFE 003F 3F UNASSIGNED
+AFA1 003F 3F UNASSIGNED
+AFA2 003F 3F UNASSIGNED
+AFA3 003F 3F UNASSIGNED
+AFA4 003F 3F UNASSIGNED
+AFA5 003F 3F UNASSIGNED
+AFA6 003F 3F UNASSIGNED
+AFA7 003F 3F UNASSIGNED
+AFA8 003F 3F UNASSIGNED
+AFA9 003F 3F UNASSIGNED
+AFAA 003F 3F UNASSIGNED
+AFAB 003F 3F UNASSIGNED
+AFAC 003F 3F UNASSIGNED
+AFAD 003F 3F UNASSIGNED
+AFAE 003F 3F UNASSIGNED
+AFAF 003F 3F UNASSIGNED
+AFB0 003F 3F UNASSIGNED
+AFB1 003F 3F UNASSIGNED
+AFB2 003F 3F UNASSIGNED
+AFB3 003F 3F UNASSIGNED
+AFB4 003F 3F UNASSIGNED
+AFB5 003F 3F UNASSIGNED
+AFB6 003F 3F UNASSIGNED
+AFB7 003F 3F UNASSIGNED
+AFB8 003F 3F UNASSIGNED
+AFB9 003F 3F UNASSIGNED
+AFBA 003F 3F UNASSIGNED
+AFBB 003F 3F UNASSIGNED
+AFBC 003F 3F UNASSIGNED
+AFBD 003F 3F UNASSIGNED
+AFBE 003F 3F UNASSIGNED
+AFBF 003F 3F UNASSIGNED
+AFC0 003F 3F UNASSIGNED
+AFC1 003F 3F UNASSIGNED
+AFC2 003F 3F UNASSIGNED
+AFC3 003F 3F UNASSIGNED
+AFC4 003F 3F UNASSIGNED
+AFC5 003F 3F UNASSIGNED
+AFC6 003F 3F UNASSIGNED
+AFC7 003F 3F UNASSIGNED
+AFC8 003F 3F UNASSIGNED
+AFC9 003F 3F UNASSIGNED
+AFCA 003F 3F UNASSIGNED
+AFCB 003F 3F UNASSIGNED
+AFCC 003F 3F UNASSIGNED
+AFCD 003F 3F UNASSIGNED
+AFCE 003F 3F UNASSIGNED
+AFCF 003F 3F UNASSIGNED
+AFD0 003F 3F UNASSIGNED
+AFD1 003F 3F UNASSIGNED
+AFD2 003F 3F UNASSIGNED
+AFD3 003F 3F UNASSIGNED
+AFD4 003F 3F UNASSIGNED
+AFD5 003F 3F UNASSIGNED
+AFD6 003F 3F UNASSIGNED
+AFD7 003F 3F UNASSIGNED
+AFD8 003F 3F UNASSIGNED
+AFD9 003F 3F UNASSIGNED
+AFDA 003F 3F UNASSIGNED
+AFDB 003F 3F UNASSIGNED
+AFDC 003F 3F UNASSIGNED
+AFDD 003F 3F UNASSIGNED
+AFDE 003F 3F UNASSIGNED
+AFDF 003F 3F UNASSIGNED
+AFE0 003F 3F UNASSIGNED
+AFE1 003F 3F UNASSIGNED
+AFE2 003F 3F UNASSIGNED
+AFE3 003F 3F UNASSIGNED
+AFE4 003F 3F UNASSIGNED
+AFE5 003F 3F UNASSIGNED
+AFE6 003F 3F UNASSIGNED
+AFE7 003F 3F UNASSIGNED
+AFE8 003F 3F UNASSIGNED
+AFE9 003F 3F UNASSIGNED
+AFEA 003F 3F UNASSIGNED
+AFEB 003F 3F UNASSIGNED
+AFEC 003F 3F UNASSIGNED
+AFED 003F 3F UNASSIGNED
+AFEE 003F 3F UNASSIGNED
+AFEF 003F 3F UNASSIGNED
+AFF0 003F 3F UNASSIGNED
+AFF1 003F 3F UNASSIGNED
+AFF2 003F 3F UNASSIGNED
+AFF3 003F 3F UNASSIGNED
+AFF4 003F 3F UNASSIGNED
+AFF5 003F 3F UNASSIGNED
+AFF6 003F 3F UNASSIGNED
+AFF7 003F 3F UNASSIGNED
+AFF8 003F 3F UNASSIGNED
+AFF9 003F 3F UNASSIGNED
+AFFA 003F 3F UNASSIGNED
+AFFB 003F 3F UNASSIGNED
+AFFC 003F 3F UNASSIGNED
+AFFD 003F 3F UNASSIGNED
+AFFE 003F 3F UNASSIGNED
+CFD4 003F 3F UNASSIGNED
+CFD5 003F 3F UNASSIGNED
+CFD6 003F 3F UNASSIGNED
+CFD7 003F 3F UNASSIGNED
+CFD8 003F 3F UNASSIGNED
+CFD9 003F 3F UNASSIGNED
+CFDA 003F 3F UNASSIGNED
+CFDB 003F 3F UNASSIGNED
+CFDC 003F 3F UNASSIGNED
+CFDD 003F 3F UNASSIGNED
+CFDE 003F 3F UNASSIGNED
+CFDF 003F 3F UNASSIGNED
+CFE0 003F 3F UNASSIGNED
+CFE1 003F 3F UNASSIGNED
+CFE2 003F 3F UNASSIGNED
+CFE3 003F 3F UNASSIGNED
+CFE4 003F 3F UNASSIGNED
+CFE5 003F 3F UNASSIGNED
+CFE6 003F 3F UNASSIGNED
+CFE7 003F 3F UNASSIGNED
+CFE8 003F 3F UNASSIGNED
+CFE9 003F 3F UNASSIGNED
+CFEA 003F 3F UNASSIGNED
+CFEB 003F 3F UNASSIGNED
+CFEC 003F 3F UNASSIGNED
+CFED 003F 3F UNASSIGNED
+CFEE 003F 3F UNASSIGNED
+CFEF 003F 3F UNASSIGNED
+CFF0 003F 3F UNASSIGNED
+CFF1 003F 3F UNASSIGNED
+CFF2 003F 3F UNASSIGNED
+CFF3 003F 3F UNASSIGNED
+CFF4 003F 3F UNASSIGNED
+CFF5 003F 3F UNASSIGNED
+CFF6 003F 3F UNASSIGNED
+CFF7 003F 3F UNASSIGNED
+CFF8 003F 3F UNASSIGNED
+CFF9 003F 3F UNASSIGNED
+CFFA 003F 3F UNASSIGNED
+CFFB 003F 3F UNASSIGNED
+CFFC 003F 3F UNASSIGNED
+CFFD 003F 3F UNASSIGNED
+CFFE 003F 3F UNASSIGNED
+F4A7 003F 3F UNASSIGNED
+F4A8 003F 3F UNASSIGNED
+F4A9 003F 3F UNASSIGNED
+F4AA 003F 3F UNASSIGNED
+F4AB 003F 3F UNASSIGNED
+F4AC 003F 3F UNASSIGNED
+F4AD 003F 3F UNASSIGNED
+F4AE 003F 3F UNASSIGNED
+F4AF 003F 3F UNASSIGNED
+F4B0 003F 3F UNASSIGNED
+F4B1 003F 3F UNASSIGNED
+F4B2 003F 3F UNASSIGNED
+F4B3 003F 3F UNASSIGNED
+F4B4 003F 3F UNASSIGNED
+F4B5 003F 3F UNASSIGNED
+F4B6 003F 3F UNASSIGNED
+F4B7 003F 3F UNASSIGNED
+F4B8 003F 3F UNASSIGNED
+F4B9 003F 3F UNASSIGNED
+F4BA 003F 3F UNASSIGNED
+F4BB 003F 3F UNASSIGNED
+F4BC 003F 3F UNASSIGNED
+F4BD 003F 3F UNASSIGNED
+F4BE 003F 3F UNASSIGNED
+F4BF 003F 3F UNASSIGNED
+F4C0 003F 3F UNASSIGNED
+F4C1 003F 3F UNASSIGNED
+F4C2 003F 3F UNASSIGNED
+F4C3 003F 3F UNASSIGNED
+F4C4 003F 3F UNASSIGNED
+F4C5 003F 3F UNASSIGNED
+F4C6 003F 3F UNASSIGNED
+F4C7 003F 3F UNASSIGNED
+F4C8 003F 3F UNASSIGNED
+F4C9 003F 3F UNASSIGNED
+F4CA 003F 3F UNASSIGNED
+F4CB 003F 3F UNASSIGNED
+F4CC 003F 3F UNASSIGNED
+F4CD 003F 3F UNASSIGNED
+F4CE 003F 3F UNASSIGNED
+F4CF 003F 3F UNASSIGNED
+F4D0 003F 3F UNASSIGNED
+F4D1 003F 3F UNASSIGNED
+F4D2 003F 3F UNASSIGNED
+F4D3 003F 3F UNASSIGNED
+F4D4 003F 3F UNASSIGNED
+F4D5 003F 3F UNASSIGNED
+F4D6 003F 3F UNASSIGNED
+F4D7 003F 3F UNASSIGNED
+F4D8 003F 3F UNASSIGNED
+F4D9 003F 3F UNASSIGNED
+F4DA 003F 3F UNASSIGNED
+F4DB 003F 3F UNASSIGNED
+F4DC 003F 3F UNASSIGNED
+F4DD 003F 3F UNASSIGNED
+F4DE 003F 3F UNASSIGNED
+F4DF 003F 3F UNASSIGNED
+F4E0 003F 3F UNASSIGNED
+F4E1 003F 3F UNASSIGNED
+F4E2 003F 3F UNASSIGNED
+F4E3 003F 3F UNASSIGNED
+F4E4 003F 3F UNASSIGNED
+F4E5 003F 3F UNASSIGNED
+F4E6 003F 3F UNASSIGNED
+F4E7 003F 3F UNASSIGNED
+F4E8 003F 3F UNASSIGNED
+F4E9 003F 3F UNASSIGNED
+F4EA 003F 3F UNASSIGNED
+F4EB 003F 3F UNASSIGNED
+F4EC 003F 3F UNASSIGNED
+F4ED 003F 3F UNASSIGNED
+F4EE 003F 3F UNASSIGNED
+F4EF 003F 3F UNASSIGNED
+F4F0 003F 3F UNASSIGNED
+F4F1 003F 3F UNASSIGNED
+F4F2 003F 3F UNASSIGNED
+F4F3 003F 3F UNASSIGNED
+F4F4 003F 3F UNASSIGNED
+F4F5 003F 3F UNASSIGNED
+F4F6 003F 3F UNASSIGNED
+F4F7 003F 3F UNASSIGNED
+F4F8 003F 3F UNASSIGNED
+F4F9 003F 3F UNASSIGNED
+F4FA 003F 3F UNASSIGNED
+F4FB 003F 3F UNASSIGNED
+F4FC 003F 3F UNASSIGNED
+F4FD 003F 3F UNASSIGNED
+F4FE 003F 3F UNASSIGNED
+drop table t1;
+drop table t2;
+create table t1 (
+ujis varchar(1) character set ujis,
+name varchar(64),
+ucs2 varchar(1) character set ucs2,
+ujis2 varchar(1) character set ujis
+);
+insert into t1 (ujis,name) values (0x5C, 'U+005C REVERSE SOLIDUS');
+insert into t1 (ujis,name) values (0x7E, 'U+007E TILDE');
+insert into t1 (ujis,name) values (0xA1B1, 'U+FFE3 FULLWIDTH MACRON');
+insert into t1 (ujis,name) values (0xA1BD, 'U+2015 HORIZONTAL BAR');
+insert into t1 (ujis,name) values (0xA1C0, 'U+005C REVERSE SOLIDUS');
+insert into t1 (ujis,name) values (0xA1C1, 'U+301C WAVE DASH');
+insert into t1 (ujis,name) values (0xA1C2, 'U+2016 DOUBLE VERTICAL LINE');
+insert into t1 (ujis,name) values (0xA1DD, 'U+2212 MINUS SIGN');
+insert into t1 (ujis,name) values (0xA1F1, 'U+00A2 CENT SIGN');
+insert into t1 (ujis,name) values (0xA1F2, 'U+00A3 POUND SIGN');
+insert into t1 (ujis,name) values (0xA1EF, 'U+FFE5 FULLWIDTH YEN SIGN');
+insert into t1 (ujis,name) values (0xA2CC, 'U+00AC NOT SIGN');
+insert into t1 (ujis,name) values (0x8FA2B7, 'U+007E TILDE');
+insert into t1 (ujis,name) values (0x8FA2C3, 'U+00A6 BROKEN BAR');
+update t1 set ucs2=ujis, ujis2=ucs2;
+select hex(ujis), hex(ucs2), hex(ujis2), name from t1;
+hex(ujis) hex(ucs2) hex(ujis2) name
+5C 005C 5C U+005C REVERSE SOLIDUS
+7E 007E 7E U+007E TILDE
+A1B1 FFE3 A1B1 U+FFE3 FULLWIDTH MACRON
+A1BD 2015 A1BD U+2015 HORIZONTAL BAR
+A1C0 005C 5C U+005C REVERSE SOLIDUS
+A1C1 301C A1C1 U+301C WAVE DASH
+A1C2 2016 A1C2 U+2016 DOUBLE VERTICAL LINE
+A1DD 2212 A1DD U+2212 MINUS SIGN
+A1F1 00A2 A1F1 U+00A2 CENT SIGN
+A1F2 00A3 A1F2 U+00A3 POUND SIGN
+A1EF FFE5 A1EF U+FFE5 FULLWIDTH YEN SIGN
+A2CC 00AC A2CC U+00AC NOT SIGN
+8FA2B7 007E 7E U+007E TILDE
+8FA2C3 00A6 8FA2C3 U+00A6 BROKEN BAR
+drop table t1;
+create table t1 (
+ujis char(1) character set ujis,
+ucs2 char(1) character set ucs2,
+name char(64)
+);
+insert into t1 (ucs2,name) values (0x00A5,'U+00A5 YEN SIGN');
+insert into t1 (ucs2,name) values (0x2014,'U+2014 EM DASH');
+insert into t1 (ucs2,name) values (0x203E,'U+203E OVERLINE');
+insert into t1 (ucs2,name) values (0x2225,'U+2225 PARALLEL TO');
+insert into t1 (ucs2,name) values (0xFF0D,'U+FF0D FULLWIDTH HYPHEN-MINUS');
+insert into t1 (ucs2,name) values (0xFF3C,'U+FF3C FULLWIDTH REVERSE SOLIDUS');
+insert into t1 (ucs2,name) values (0xFF5E,'U+FF5E FULLWIDTH TILDE');
+insert into t1 (ucs2,name) values (0xFFE0,'U+FFE0 FULLWIDTH CENT SIGN');
+insert into t1 (ucs2,name) values (0xFFE1,'U+FFE1 FULLWIDTH POUND SIGN');
+insert into t1 (ucs2,name) values (0xFFE2,'U+FFE2 FULLWIDTH NOT SIGN');
+insert into t1 (ucs2,name) values (0xFFE4,'U+FFE4 FULLWIDTH BROKEN BAR');
+update t1 set ujis=ucs2;
+Warnings:
+Warning 1366 Incorrect string value: '\x00\xA5' for column 'ujis' at row 1
+Warning 1366 Incorrect string value: '\x20\x14' for column 'ujis' at row 2
+Warning 1366 Incorrect string value: '\x20\x3E' for column 'ujis' at row 3
+Warning 1366 Incorrect string value: '\x22\x25' for column 'ujis' at row 4
+Warning 1366 Incorrect string value: '\xFF\x0D' for column 'ujis' at row 5
+Warning 1366 Incorrect string value: '\xFF\x3C' for column 'ujis' at row 6
+Warning 1366 Incorrect string value: '\xFF\x5E' for column 'ujis' at row 7
+Warning 1366 Incorrect string value: '\xFF\xE0' for column 'ujis' at row 8
+Warning 1366 Incorrect string value: '\xFF\xE1' for column 'ujis' at row 9
+Warning 1366 Incorrect string value: '\xFF\xE2' for column 'ujis' at row 10
+Warning 1366 Incorrect string value: '\xFF\xE4' for column 'ujis' at row 11
+select hex(ucs2),hex(ujis),name from t1 order by name;
+hex(ucs2) hex(ujis) name
+00A5 3F U+00A5 YEN SIGN
+2014 3F U+2014 EM DASH
+203E 3F U+203E OVERLINE
+2225 3F U+2225 PARALLEL TO
+FF0D 3F U+FF0D FULLWIDTH HYPHEN-MINUS
+FF3C 3F U+FF3C FULLWIDTH REVERSE SOLIDUS
+FF5E 3F U+FF5E FULLWIDTH TILDE
+FFE0 3F U+FFE0 FULLWIDTH CENT SIGN
+FFE1 3F U+FFE1 FULLWIDTH POUND SIGN
+FFE2 3F U+FFE2 FULLWIDTH NOT SIGN
+FFE4 3F U+FFE4 FULLWIDTH BROKEN BAR
+drop table t1;
+End of 5.1 tests
diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
index 5ca1d578d2a..5c90c3b5e0b 100644
--- a/mysql-test/r/ctype_utf8.result
+++ b/mysql-test/r/ctype_utf8.result
@@ -124,7 +124,7 @@ create table t1 select date_format("2004-01-19 10:10:10", "%Y-%m-%d");
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) character set utf8 default NULL
+ `date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
date_format("2004-01-19 10:10:10", "%Y-%m-%d")
@@ -276,8 +276,8 @@ 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
+ `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');
@@ -342,7 +342,7 @@ create table t1 (a enum('aaaa','проба') character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('aaaa','проба') character set utf8 default NULL
+ `a` enum('aaaa','проба') CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('проба');
select * from t1;
@@ -352,7 +352,7 @@ create table t2 select ifnull(a,a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `ifnull(a,a)` varchar(5) character set utf8 default NULL
+ `ifnull(a,a)` varchar(5) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
ifnull(a,a)
@@ -363,9 +363,9 @@ create table t1 (c varchar(30) character set utf8, unique(c(10)));
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
insert into t1 values ('aaaaaaaaaa');
insert into t1 values ('aaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 'c'
insert into t1 values ('aaaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 'c'
insert into t1 values (repeat('b',20));
select c c1 from t1 where c='1';
c1
@@ -396,9 +396,9 @@ create table t1 (c varchar(30) character set utf8, unique(c(10))) engine=innodb;
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
insert into t1 values ('aaaaaaaaaa');
insert into t1 values ('aaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 'c'
insert into t1 values ('aaaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 'c'
insert into t1 values (repeat('b',20));
select c c1 from t1 where c='1';
c1
@@ -430,46 +430,46 @@ insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
insert into t1 values ('a');
insert into t1 values ('aa');
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'c'
insert into t1 values ('b');
insert into t1 values ('bb');
insert into t1 values ('bbb');
-ERROR 23000: Duplicate entry 'bbb' for key 1
+ERROR 23000: Duplicate entry 'bbb' for key 'c'
insert into t1 values ('а');
insert into t1 values ('аа');
insert into t1 values ('ааа');
-ERROR 23000: Duplicate entry 'ааа' for key 1
+ERROR 23000: Duplicate entry 'ааа' for key 'c'
insert into t1 values ('б');
insert into t1 values ('бб');
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'ббб' for key 1
+ERROR 23000: Duplicate entry 'ббб' for key 'c'
insert into t1 values ('ꪪ');
insert into t1 values ('ꪪꪪ');
insert into t1 values ('ꪪꪪꪪ');
-ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
+ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
drop table t1;
create table t1 (c char(3) character set utf8, unique (c(2))) engine=innodb;
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
insert into t1 values ('a');
insert into t1 values ('aa');
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'c'
insert into t1 values ('b');
insert into t1 values ('bb');
insert into t1 values ('bbb');
-ERROR 23000: Duplicate entry 'bbb' for key 1
+ERROR 23000: Duplicate entry 'bbb' for key 'c'
insert into t1 values ('а');
insert into t1 values ('аа');
insert into t1 values ('ааа');
-ERROR 23000: Duplicate entry 'ааа' for key 1
+ERROR 23000: Duplicate entry 'ааа' for key 'c'
insert into t1 values ('б');
insert into t1 values ('бб');
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'ббб' for key 1
+ERROR 23000: Duplicate entry 'ббб' for key 'c'
insert into t1 values ('ꪪ');
insert into t1 values ('ꪪꪪ');
insert into t1 values ('ꪪꪪꪪ');
-ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
+ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
drop table t1;
create table t1 (
c char(10) character set utf8,
@@ -478,19 +478,19 @@ unique key a using hash (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 default NULL,
- UNIQUE KEY `a` USING HASH (`c`(1))
+ `c` char(10) CHARACTER SET utf8 DEFAULT NULL,
+ UNIQUE KEY `a` (`c`(1)) USING HASH
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -514,19 +514,19 @@ unique key a using btree (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 default NULL,
- UNIQUE KEY `a` USING BTREE (`c`(1))
+ `c` char(10) CHARACTER SET utf8 DEFAULT NULL,
+ UNIQUE KEY `a` (`c`(1)) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -546,17 +546,17 @@ drop table t1;
create table t1 (
c char(10) character set utf8,
unique key a (c(1))
-) engine=bdb;
+) engine=innodb;
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -577,9 +577,9 @@ create table t1 (c varchar(30) character set utf8 collate utf8_bin, unique(c(10)
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
insert into t1 values ('aaaaaaaaaa');
insert into t1 values ('aaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 'c'
insert into t1 values ('aaaaaaaaaaaa');
-ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 1
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 'c'
insert into t1 values (repeat('b',20));
select c c1 from t1 where c='1';
c1
@@ -611,23 +611,23 @@ insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
insert into t1 values ('a');
insert into t1 values ('aa');
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'c'
insert into t1 values ('b');
insert into t1 values ('bb');
insert into t1 values ('bbb');
-ERROR 23000: Duplicate entry 'bbb' for key 1
+ERROR 23000: Duplicate entry 'bbb' for key 'c'
insert into t1 values ('а');
insert into t1 values ('аа');
insert into t1 values ('ааа');
-ERROR 23000: Duplicate entry 'ааа' for key 1
+ERROR 23000: Duplicate entry 'ааа' for key 'c'
insert into t1 values ('б');
insert into t1 values ('бб');
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'ббб' for key 1
+ERROR 23000: Duplicate entry 'ббб' for key 'c'
insert into t1 values ('ꪪ');
insert into t1 values ('ꪪꪪ');
insert into t1 values ('ꪪꪪꪪ');
-ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
+ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
drop table t1;
create table t1 (
c char(10) character set utf8 collate utf8_bin,
@@ -636,19 +636,19 @@ unique key a using hash (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 collate utf8_bin default NULL,
- UNIQUE KEY `a` USING HASH (`c`(1))
+ `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ UNIQUE KEY `a` (`c`(1)) USING HASH
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -672,19 +672,19 @@ unique key a using btree (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 collate utf8_bin default NULL,
- UNIQUE KEY `a` USING BTREE (`c`(1))
+ `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ UNIQUE KEY `a` (`c`(1)) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -704,17 +704,17 @@ drop table t1;
create table t1 (
c char(10) character set utf8 collate utf8_bin,
unique key a (c(1))
-) engine=bdb;
+) engine=innodb;
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
-ERROR 23000: Duplicate entry 'aa' for key 1
+ERROR 23000: Duplicate entry 'aa' for key 'a'
insert into t1 values ('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
+ERROR 23000: Duplicate entry 'aaa' for key 'a'
insert into t1 values ('б');
insert into t1 values ('бб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
insert into t1 values ('ббб');
-ERROR 23000: Duplicate entry 'б' for key 1
+ERROR 23000: Duplicate entry 'б' for key 'a'
select c as c_all from t1 order by c;
c_all
a
@@ -774,7 +774,7 @@ drop table t1;
create table t1 (
str varchar(255) character set utf8 not null,
key str (str(2))
-) engine=bdb;
+) engine=innodb;
INSERT INTO t1 VALUES ('str');
INSERT INTO t1 VALUES ('str2');
select * from t1 where str='str';
@@ -863,7 +863,7 @@ insert into t1 values(1,'foo'),(2,'foobar');
select * from t1 where b like 'foob%';
a b
2 foobar
-alter table t1 engine=bdb;
+alter table t1 engine=innodb;
select * from t1 where b like 'foob%';
a b
2 foobar
@@ -876,8 +876,8 @@ create table t2 select concat(a,_utf8'') as a, concat(b,_utf8'')as b from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(5) character set utf8 NOT NULL default '',
- `b` varchar(15) character set utf8 NOT NULL default ''
+ `a` varchar(5) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `b` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2;
drop table t1;
@@ -1500,7 +1500,7 @@ explain
select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE Y ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE Z ALL NULL NULL NULL NULL 2 Using where
+1 SIMPLE Z ALL NULL NULL NULL NULL 2 Using where; Using join buffer
select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
substr(Z.a,-1) a
3 123
diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result
index 6833a7f1594..fbe46e9fa21 100644
--- a/mysql-test/r/date_formats.result
+++ b/mysql-test/r/date_formats.result
@@ -1,15 +1,13 @@
drop table if exists t1;
-SHOW GLOBAL VARIABLES LIKE "%_format%";
+SHOW GLOBAL VARIABLES LIKE "%e_format";
Variable_name Value
date_format %d.%m.%Y
datetime_format %Y-%m-%d %H:%i:%s
-default_week_format 0
time_format %H.%i.%s
-SHOW SESSION VARIABLES LIKE "%_format%";
+SHOW SESSION VARIABLES LIKE "%e_format";
Variable_name Value
date_format %d.%m.%Y
datetime_format %Y-%m-%d %H:%i:%s
-default_week_format 0
time_format %H.%i.%s
SET time_format='%H%i%s';
SET time_format='%H:%i:%s.%f';
@@ -28,11 +26,10 @@ set datetime_format= '%H:%i:%s %Y-%m-%d';
set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
set datetime_format= '%h:%i:%s %p %Y-%m-%d';
set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
-SHOW SESSION VARIABLES LIKE "%format";
+SHOW SESSION VARIABLES LIKE "%e_format";
Variable_name Value
date_format %m-%d-%Y
datetime_format %h:%i:%s.%f %p %Y-%m-%d
-default_week_format 0
time_format %h:%i:%s%p
SET time_format='%h:%i:%s';
ERROR 42000: Variable 'time_format' can't be set to the value of '%h:%i:%s'
@@ -83,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'),
@@ -355,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
@@ -389,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'),
@@ -415,14 +412,14 @@ date format str_to_date
2003-01-02 10:11:12 %Y-%m-%d %h:%i:%S 2003-01-02 10:11:12
03-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02 22:11:12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '10:20:10AM'
+Warning 1292 Incorrect datetime value: '10:20:10AM'
select date,format,concat(str_to_date(date, format),'') as con from t1;
date format con
10:20:10AM %h:%i:%s 0000-00-00 10:20:10
2003-01-02 10:11:12 %Y-%m-%d %h:%i:%S 2003-01-02 10:11:12
03-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02 22:11:12
Warnings:
-Warning 1292 Truncated incorrect datetime value: '10:20:10AM'
+Warning 1292 Incorrect datetime value: '10:20:10AM'
drop table t1;
select get_format(DATE, 'USA') as a;
a
@@ -443,10 +440,10 @@ 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 Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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")`
create table t1 (d date);
@@ -582,7 +579,7 @@ SELECT DATE_FORMAT('%Y-%m-%d %H:%i:%s', 1151414896);
DATE_FORMAT('%Y-%m-%d %H:%i:%s', 1151414896)
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '%Y-%m-%d %H:%i:%s'
+Warning 1292 Incorrect datetime value: '%Y-%m-%d %H:%i:%s'
select str_to_date('04 /30/2004', '%m /%d/%Y');
str_to_date('04 /30/2004', '%m /%d/%Y')
2004-04-30
diff --git a/mysql-test/r/ddl_i18n_koi8r.result b/mysql-test/r/ddl_i18n_koi8r.result
new file mode 100644
index 00000000000..fbaf2f2fd4a
--- /dev/null
+++ b/mysql-test/r/ddl_i18n_koi8r.result
@@ -0,0 +1,2797 @@
+set names koi8r;
+
+-------------------------------------------------------------------
+Views
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+CREATE TABLE t1( INT)|
+INSERT INTO t1 VALUES(1)|
+
+CREATE VIEW v1 AS
+SELECT '' AS c1, AS c2
+FROM t1|
+
+CREATE VIEW v2 AS SELECT _utf8'тест' as c1|
+
+
+
+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
+
+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
+
+
+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
+FROM 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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+koi8r_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+utf8_general_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SELECT * FROM mysqltest1.v1|
+SELECT * FROM mysqltest1.v2|
+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
+
+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
+
+
+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
+FROM 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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+koi8r_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+utf8_general_ci
+
+---> Dumping mysqltest1 to ddl_i18n_koi8r.views.mysqltest1.sql
+
+
+DROP DATABASE mysqltest1|
+
+
+---> Restoring mysqltest1...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SELECT * FROM mysqltest1.v1|
+SELECT * FROM mysqltest1.v2|
+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
+
+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
+
+
+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
+
+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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+koi8r_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+utf8_general_ci
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+
+-------------------------------------------------------------------
+Stored procedures/functions
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE PROCEDURE p1(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END|
+
+CREATE PROCEDURE p2(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END|
+
+CREATE PROCEDURE mysqltest2.p3(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END|
+
+CREATE PROCEDURE mysqltest2.p4(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+set names koi8r|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p1`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p2`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest1 to ddl_i18n_koi8r.sp.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p3`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p4`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest2 to ddl_i18n_koi8r.sp.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+set names koi8r|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT 1 CHAR(10),
+OUT 2 CHAR(10))
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT 1 CHAR(10) CHARACTER SET utf8,
+OUT 2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION(_koi8r '') AS c5,
+COLLATION(_utf8 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION(1) AS c2,
+COLLATION(2) AS c3;
+SELECT
+COLLATION('') AS c4,
+COLLATION( '') AS c5,
+COLLATION( '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET 1 = 'a';
+SET 2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+-------------------------------------------------------------------
+Triggers
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+CREATE TABLE t1(c INT)|
+CREATE TABLE mysqltest2.t1(c INT)|
+CREATE TABLE log(msg VARCHAR(255))|
+CREATE TABLE mysqltest2.log(msg VARCHAR(255))|
+
+CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END|
+
+CREATE TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END|
+
+CREATE TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END|
+
+CREATE TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END|
+
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+ALTER TABLE t1 ADD COLUMN fake INT|
+ALTER TABLE t1 DROP COLUMN fake|
+ALTER TABLE mysqltest2.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest2.t1 DROP COLUMN fake|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+INSERT INTO mysqltest1.t1 VALUES(0)|
+INSERT INTO mysqltest2.t1 VALUES(0)|
+DELETE FROM mysqltest1.log|
+DELETE FROM mysqltest2.log|
+set names koi8r|
+use mysqltest1|
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `log` (
+ `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+INSERT INTO `t1` VALUES (1),(0),(1);
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest1 to ddl_i18n_koi8r.triggers.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `log` (
+ `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+INSERT INTO `t1` VALUES (1),(0),(1);
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = koi8r */ ;
+/*!50003 SET character_set_results = koi8r */ ;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest2 to ddl_i18n_koi8r.triggers.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+ALTER TABLE mysqltest1.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest1.t1 DROP COLUMN fake|
+ALTER TABLE mysqltest2.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest2.t1 DROP COLUMN fake|
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+INSERT INTO mysqltest1.t1 VALUES(0)|
+INSERT INTO mysqltest2.t1 VALUES(0)|
+DELETE FROM mysqltest1.log|
+DELETE FROM mysqltest2.log|
+set names koi8r|
+use mysqltest1|
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = _koi8r '';
+SET @a2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = _koi8r '';
+SET @b2 = _utf8 'текст';
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END BEFORE NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END AFTER NULL root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = '';
+SET @a1 = '';
+SET @a2 = '';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(1));
+INSERT INTO log VALUES(COLLATION(''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(COLLATION( ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = '';
+SET @b1 = '';
+SET @b2 = '';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+utf8_general_ci
+koi8r_general_ci
+koi8r_general_ci
+utf8_general_ci
+koi8r_general_ci
+koi8r
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+-------------------------------------------------------------------
+Events
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SHOW CREATE EVENT ev1|
+SHOW CREATE EVENT ev2|
+SHOW CREATE EVENT mysqltest2.ev3|
+SHOW CREATE EVENT mysqltest2.ev4|
+set names koi8r|
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
+DELIMITER ;;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = koi8r */ ;;
+/*!50003 SET character_set_results = koi8r */ ;;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = koi8r */ ;;
+/*!50003 SET character_set_results = koi8r */ ;;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;
+/*!50106 SET TIME_ZONE= @save_time_zone */ ;
+
+---> Dumping mysqltest1 to ddl_i18n_koi8r.events.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
+DELIMITER ;;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = koi8r */ ;;
+/*!50003 SET character_set_results = koi8r */ ;;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = koi8r */ ;;
+/*!50003 SET character_set_results = koi8r */ ;;
+/*!50003 SET collation_connection = koi8r_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev4` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;
+/*!50106 SET TIME_ZONE= @save_time_zone */ ;
+
+---> Dumping mysqltest2 to ddl_i18n_koi8r.events.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SHOW CREATE EVENT ev1|
+SHOW CREATE EVENT ev2|
+SHOW CREATE EVENT mysqltest2.ev3|
+SHOW CREATE EVENT mysqltest2.ev4|
+set names koi8r|
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION(_koi8r '') AS c3,
+COLLATION(_utf8 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END koi8r koi8r_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10);
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE 1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(1) AS c1,
+COLLATION('') AS c2,
+COLLATION( '') AS c3,
+COLLATION( '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+
+-------------------------------------------------------------------
+DDL statements within stored routine.
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE PROCEDURE p1()
+BEGIN
+CREATE TABLE t1(col1 VARCHAR(10));
+SHOW CREATE TABLE t1;
+END|
+
+CREATE PROCEDURE mysqltest2.p2()
+BEGIN
+CREATE TABLE t2(col1 VARCHAR(10));
+SHOW CREATE TABLE t2;
+END|
+
+CALL p1()|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+SHOW CREATE TABLE t1|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+
+CALL mysqltest2.p2()|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+SHOW CREATE TABLE mysqltest2.t2|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+ALTER DATABASE mysqltest1 COLLATE cp1251_general_cs|
+ALTER DATABASE mysqltest2 COLLATE cp1251_general_cs|
+DROP TABLE t1|
+DROP TABLE mysqltest2.t2|
+
+CALL p1()|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+SHOW CREATE TABLE t1|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+
+CALL mysqltest2.p2()|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+SHOW CREATE TABLE mysqltest2.t2|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
diff --git a/mysql-test/r/ddl_i18n_utf8.result b/mysql-test/r/ddl_i18n_utf8.result
new file mode 100644
index 00000000000..d0f176c1985
--- /dev/null
+++ b/mysql-test/r/ddl_i18n_utf8.result
@@ -0,0 +1,2797 @@
+set names utf8;
+
+-------------------------------------------------------------------
+Views
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+CREATE TABLE t1(кол INT)|
+INSERT INTO t1 VALUES(1)|
+
+CREATE VIEW v1 AS
+SELECT 'тест' AS c1, кол AS c2
+FROM t1|
+
+CREATE VIEW v2 AS SELECT _koi8r'' as c1|
+
+
+
+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
+
+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
+
+
+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
+FROM 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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+utf8_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+koi8r_general_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SELECT * FROM mysqltest1.v1|
+SELECT * FROM mysqltest1.v2|
+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
+
+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
+
+
+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
+FROM 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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+utf8_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+koi8r_general_ci
+
+---> Dumping mysqltest1 to ddl_i18n_utf8views.mysqltest1.sql
+
+
+DROP DATABASE mysqltest1|
+
+
+---> Restoring mysqltest1...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SELECT * FROM mysqltest1.v1|
+SELECT * FROM mysqltest1.v2|
+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
+
+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
+
+
+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
+
+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 COLLATION(c1), COLLATION(c2) FROM v1|
+COLLATION(c1) COLLATION(c2)
+utf8_general_ci binary
+
+SELECT COLLATION(c1) FROM v2|
+COLLATION(c1)
+koi8r_general_ci
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+
+-------------------------------------------------------------------
+Stored procedures/functions
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE PROCEDURE p1(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END|
+
+CREATE PROCEDURE p2(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END|
+
+CREATE PROCEDURE mysqltest2.p3(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END|
+
+CREATE PROCEDURE mysqltest2.p4(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+set names utf8|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p1`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p2`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest1 to ddl_i18n_utf8sp.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p3`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `p4`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest2 to ddl_i18n_utf8sp.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+set names utf8|
+
+
+SHOW CREATE PROCEDURE p1|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE p2|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p3|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p3 CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
+INOUT парам1 CHAR(10),
+OUT парам2 CHAR(10))
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE PROCEDURE mysqltest2.p4|
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p4 CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
+INOUT парам1 CHAR(10) CHARACTER SET utf8,
+OUT парам2 CHAR(10) CHARACTER SET utf8)
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION(_utf8 'текст') AS c5,
+COLLATION(_koi8r '') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW PROCEDURE STATUS LIKE 'p1'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p2'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p3'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW PROCEDURE STATUS LIKE 'p4'|
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
+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
+p1 NULL mysqltest1 p1 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
+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
+p2 NULL mysqltest1 p2 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
+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
+p3 NULL mysqltest2 p3 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
+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
+p4 NULL mysqltest2 p4 PROCEDURE NULL SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION(парам1) AS c2,
+COLLATION(парам2) AS c3;
+SELECT
+COLLATION('текст') AS c4,
+COLLATION( 'текст') AS c5,
+COLLATION( 'текст') AS c6,
+@@collation_connection AS c7,
+@@character_set_client AS c8;
+SET парам1 = 'a';
+SET парам2 = 'b';
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a = '1'|
+SET @b = '2'|
+
+
+CALL p1(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL p2(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+CALL mysqltest2.p3(@a, @b)|
+c1 c2 c3
+utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_unicode_ci utf8_unicode_ci
+
+CALL mysqltest2.p4(@a, @b)|
+c1 c2 c3
+utf8_general_ci utf8_general_ci utf8_general_ci
+c4 c5 c6 c7 c8
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
+ca cb
+utf8_general_ci utf8_general_ci
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+-------------------------------------------------------------------
+Triggers
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+CREATE TABLE t1(c INT)|
+CREATE TABLE mysqltest2.t1(c INT)|
+CREATE TABLE log(msg VARCHAR(255))|
+CREATE TABLE mysqltest2.log(msg VARCHAR(255))|
+
+CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END|
+
+CREATE TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END|
+
+CREATE TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END|
+
+CREATE TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END|
+
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+ALTER TABLE t1 ADD COLUMN fake INT|
+ALTER TABLE t1 DROP COLUMN fake|
+ALTER TABLE mysqltest2.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest2.t1 DROP COLUMN fake|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+INSERT INTO mysqltest1.t1 VALUES(0)|
+INSERT INTO mysqltest2.t1 VALUES(0)|
+DELETE FROM mysqltest1.log|
+DELETE FROM mysqltest2.log|
+set names utf8|
+use mysqltest1|
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `log` (
+ `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+INSERT INTO `t1` VALUES (1),(0),(1);
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest1 to ddl_i18n_utf8triggers.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `log` (
+ `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+SET character_set_client = @saved_cs_client;
+INSERT INTO `t1` VALUES (1),(0),(1);
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = utf8 */ ;
+/*!50003 SET character_set_results = utf8 */ ;
+/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+
+---> Dumping mysqltest2 to ddl_i18n_utf8triggers.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+ALTER TABLE mysqltest1.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest1.t1 DROP COLUMN fake|
+ALTER TABLE mysqltest2.t1 ADD COLUMN fake INT|
+ALTER TABLE mysqltest2.t1 DROP COLUMN fake|
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+INSERT INTO mysqltest1.t1 VALUES(0)|
+INSERT INTO mysqltest2.t1 VALUES(0)|
+DELETE FROM mysqltest1.log|
+DELETE FROM mysqltest2.log|
+set names utf8|
+use mysqltest1|
+
+
+SHOW CREATE TRIGGER trg1|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg1 CREATE DEFINER=`root`@`localhost` TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER trg2|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg2 CREATE DEFINER=`root`@`localhost` TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg3|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg3 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg3 BEFORE INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = _utf8 'текст';
+SET @a3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE TRIGGER mysqltest2.trg4|
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+trg4 CREATE DEFINER=`root`@`localhost` TRIGGER mysqltest2.trg4 AFTER INSERT ON mysqltest2.t1 FOR EACH ROW
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION(_utf8 'текст'));
+INSERT INTO log VALUES(COLLATION(_koi8r ''));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = _utf8 'текст';
+SET @b3 = _koi8r '';
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg1 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg2 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+use mysqltest2|
+
+SHOW TRIGGERS|
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+trg3 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END BEFORE NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+trg4 INSERT t1 BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END AFTER NULL root@localhost utf8 utf8_general_ci utf8_unicode_ci
+use mysqltest1|
+
+
+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 mysqltest1 trg1 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
+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 mysqltest1 trg2 INSERT NULL mysqltest1 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
+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 mysqltest2 trg3 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10);
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @a1 = 'текст';
+SET @a2 = 'текст';
+SET @a3 = 'текст';
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
+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 mysqltest2 trg4 INSERT NULL mysqltest2 t1 0 NULL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+INSERT INTO log VALUES(COLLATION(перем1));
+INSERT INTO log VALUES(COLLATION('текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(COLLATION( 'текст'));
+INSERT INTO log VALUES(@@collation_connection);
+INSERT INTO log VALUES(@@character_set_client);
+SET @b1 = 'текст';
+SET @b2 = 'текст';
+SET @b3 = 'текст';
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+
+
+SET @a1 = '1'|
+SET @a2 = '1'|
+SET @a3 = '1'|
+SET @b1 = '2'|
+SET @b2 = '2'|
+SET @b3 = '2'|
+
+
+INSERT INTO t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM log|
+
+
+INSERT INTO mysqltest2.t1 VALUES(1)|
+
+---> Log:
+SELECT msg FROM mysqltest2.log|
+msg
+utf8_unicode_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+utf8_general_ci
+utf8_general_ci
+utf8_general_ci
+koi8r_general_ci
+utf8_general_ci
+utf8
+
+SELECT
+COLLATION(@a1) AS ca1,
+COLLATION(@a2) AS ca2,
+COLLATION(@a3) AS ca3,
+COLLATION(@b1) AS cb1,
+COLLATION(@b2) AS cb2,
+COLLATION(@b3) AS cb3|
+ca1 ca2 ca3 cb1 cb2 cb3
+utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+
+DELETE FROM mysqltest2.log|
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+-------------------------------------------------------------------
+Events
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END|
+
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+
+ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
+ALTER DATABASE mysqltest2 COLLATE cp866_general_ci|
+
+---> connection: con2
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SHOW CREATE EVENT ev1|
+SHOW CREATE EVENT ev2|
+SHOW CREATE EVENT mysqltest2.ev3|
+SHOW CREATE EVENT mysqltest2.ev4|
+set names utf8|
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+---> Dump of mysqltest1
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest1`;
+/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
+DELIMITER ;;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = utf8 */ ;;
+/*!50003 SET character_set_results = utf8 */ ;;
+/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;;
+ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = utf8 */ ;;
+/*!50003 SET character_set_results = utf8 */ ;;
+/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;
+/*!50106 SET TIME_ZONE= @save_time_zone */ ;
+
+---> Dumping mysqltest1 to ddl_i18n_utf8events.mysqltest1.sql
+
+---> Dump of mysqltest2
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
+
+USE `mysqltest2`;
+/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
+DELIMITER ;;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = utf8 */ ;;
+/*!50003 SET character_set_results = utf8 */ ;;
+/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;;
+ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
+/*!50003 SET character_set_client = utf8 */ ;;
+/*!50003 SET character_set_results = utf8 */ ;;
+/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
+/*!50003 SET sql_mode = '' */ ;;
+/*!50003 SET @saved_time_zone = @@time_zone */ ;;
+/*!50003 SET time_zone = 'SYSTEM' */ ;;
+/*!50106 CREATE EVENT `ev4` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END */ ;;
+/*!50003 SET time_zone = @saved_time_zone */ ;;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;;
+/*!50003 SET character_set_client = @saved_cs_client */ ;;
+/*!50003 SET character_set_results = @saved_cs_results */ ;;
+/*!50003 SET collation_connection = @saved_col_connection */ ;;
+ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+DELIMITER ;
+/*!50106 SET TIME_ZONE= @save_time_zone */ ;
+
+---> Dumping mysqltest2 to ddl_i18n_utf8events.mysqltest2.sql
+
+
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
+
+
+---> Restoring mysqltest1...
+---> Restoring mysqltest2...
+
+---> connection: con3
+SET @@character_set_client= cp1251|
+SET @@character_set_results= cp1251|
+SET @@collation_connection= cp1251_general_ci|
+SHOW CREATE EVENT ev1|
+SHOW CREATE EVENT ev2|
+SHOW CREATE EVENT mysqltest2.ev3|
+SHOW CREATE EVENT mysqltest2.ev4|
+set names utf8|
+
+
+SHOW CREATE EVENT ev1|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT ev2|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev2 SYSTEM CREATE EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW CREATE EVENT mysqltest2.ev3|
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev3 SYSTEM CREATE EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION(_utf8 'текст') AS c3,
+COLLATION(_koi8r '') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END utf8 utf8_general_ci utf8_unicode_ci
+
+
+SHOW EVENTS LIKE 'ev1'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev2'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SHOW EVENTS LIKE 'ev3'|
+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 LIKE 'ev4'|
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev1'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev1 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10);
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest1 ev2 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev3 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL mysqltest2 ev4 root@localhost SYSTEM SQL BEGIN
+DECLARE перем1 CHAR(10) CHARACTER SET utf8;
+SELECT
+COLLATION(перем1) AS c1,
+COLLATION('текст') AS c2,
+COLLATION( 'текст') AS c3,
+COLLATION( 'текст') AS c4,
+@@collation_connection AS c5,
+@@character_set_client AS c6;
+END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+
+-------------------------------------------------------------------
+DDL statements within stored routine.
+-------------------------------------------------------------------
+
+DROP DATABASE IF EXISTS mysqltest1|
+DROP DATABASE IF EXISTS mysqltest2|
+CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
+use mysqltest1|
+
+CREATE PROCEDURE p1()
+BEGIN
+CREATE TABLE t1(col1 VARCHAR(10));
+SHOW CREATE TABLE t1;
+END|
+
+CREATE PROCEDURE mysqltest2.p2()
+BEGIN
+CREATE TABLE t2(col1 VARCHAR(10));
+SHOW CREATE TABLE t2;
+END|
+
+CALL p1()|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+SHOW CREATE TABLE t1|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+
+CALL mysqltest2.p2()|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+SHOW CREATE TABLE mysqltest2.t2|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+
+ALTER DATABASE mysqltest1 COLLATE cp1251_general_cs|
+ALTER DATABASE mysqltest2 COLLATE cp1251_general_cs|
+DROP TABLE t1|
+DROP TABLE mysqltest2.t2|
+
+CALL p1()|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+SHOW CREATE TABLE t1|
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+
+CALL mysqltest2.p2()|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+SHOW CREATE TABLE mysqltest2.t2|
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col1` varchar(10) COLLATE cp1251_general_cs DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs
+
+---> connection: default
+use test|
+DROP DATABASE mysqltest1|
+DROP DATABASE mysqltest2|
diff --git a/mysql-test/r/innodb-deadlock.result b/mysql-test/r/deadlock_innodb.result
index b6a3373e8c6..7a4874d6aab 100644
--- a/mysql-test/r/innodb-deadlock.result
+++ b/mysql-test/r/deadlock_innodb.result
@@ -1,25 +1,33 @@
+# Establish connection con1 (user=root)
+# Establish connection con2 (user=root)
drop table if exists t1,t2;
-create table t1 (id integer, x integer) engine=INNODB;
+# Switch to connection con1
+create table t1 (id integer, x integer) engine = InnoDB;
insert into t1 values(0, 0);
set autocommit=0;
SELECT * from t1 where id = 0 FOR UPDATE;
id x
0 0
+# Switch to connection con2
set autocommit=0;
update t1 set x=2 where id = 0;
+# Switch to connection con1
update t1 set x=1 where id = 0;
select * from t1;
id x
0 1
commit;
+# Switch to connection con2
commit;
+# Switch to connection con1
select * from t1;
id x
0 2
commit;
drop table t1;
-create table t1 (id integer, x integer) engine=INNODB;
-create table t2 (b integer, a integer) engine=INNODB;
+# Switch to connection con1
+create table t1 (id integer, x integer) engine = InnoDB;
+create table t2 (b integer, a integer) engine = InnoDB;
insert into t1 values(0, 0), (300, 300);
insert into t2 values(0, 10), (1, 20), (2, 30);
commit;
@@ -39,26 +47,31 @@ select * from t1;
id x
0 0
300 300
+# Switch to connection con2
set autocommit=0;
update t1 set x=2 where id = 0;
+# Switch to connection con1
update t1 set x=1 where id = 0;
select * from t1;
id x
0 1
300 300
commit;
+# Switch to connection con2
commit;
+# Switch to connection con1
select * from t1;
id x
0 2
300 300
commit;
drop table t1, t2;
-create table t1 (id integer, x integer) engine=INNODB;
-create table t2 (b integer, a integer) engine=INNODB;
+create table t1 (id integer, x integer) engine = InnoDB;
+create table t2 (b integer, a integer) engine = InnoDB;
insert into t1 values(0, 0), (300, 300);
insert into t2 values(0, 0), (1, 20), (2, 30);
commit;
+# Switch to connection con1
select a,b from t2 UNION SELECT id, x from t1 FOR UPDATE;
a b
0 0
@@ -74,6 +87,7 @@ select * from t1;
id x
0 0
300 300
+# Switch to connection con2
update t2 set a=2 where b = 0;
select * from t2;
b a
@@ -81,18 +95,22 @@ b a
1 20
2 30
update t1 set x=2 where id = 0;
+# Switch to connection con1
update t1 set x=1 where id = 0;
select * from t1;
id x
0 1
300 300
commit;
+# Switch to connection con2
commit;
+# Switch to connection con1
select * from t1;
id x
0 2
300 300
commit;
+# Switch to connection default + disconnect con1 and con2
drop table t1, t2;
End of 4.1 tests
set storage_engine=innodb;
diff --git a/mysql-test/r/default.result b/mysql-test/r/default.result
index e2eda69c2e7..e65e015eff9 100644
--- a/mysql-test/r/default.result
+++ b/mysql-test/r/default.result
@@ -67,9 +67,9 @@ ENGINE=MyISAM DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(30) collate latin1_bin NOT NULL default ' ',
- `b` varchar(1) collate latin1_bin NOT NULL default ' ',
- `c` varchar(4) collate latin1_bin NOT NULL default '0000',
+ `a` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `b` varchar(1) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `c` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT '0000',
`d` tinyblob,
`e` tinyblob,
`f` tinyblob,
@@ -83,17 +83,17 @@ t2 CREATE TABLE `t2` (
`n` tinyblob,
`o` tinyblob,
`p` tinyblob,
- `q` varchar(30) collate latin1_bin NOT NULL default ' ',
- `r` varchar(30) collate latin1_bin NOT NULL default ' ',
+ `q` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `r` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
`s` tinyblob,
- `t` varchar(4) collate latin1_bin NOT NULL default ' ',
- `u` varchar(1) collate latin1_bin NOT NULL default ' ',
- `v` varchar(30) collate latin1_bin NOT NULL default ' ',
- `w` varchar(30) collate latin1_bin NOT NULL default ' ',
+ `t` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `u` varchar(1) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `v` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `w` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
`x` tinyblob,
- `y` varchar(5) collate latin1_bin NOT NULL default ' ',
- `z` varchar(20) collate latin1_bin NOT NULL default ' ',
- `a1` varchar(30) collate latin1_bin NOT NULL default ' ',
+ `y` varchar(5) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `z` varchar(20) COLLATE latin1_bin NOT NULL DEFAULT ' ',
+ `a1` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT ' ',
`b1` tinyblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
INSERT into t2 (b) values ('1');
diff --git a/mysql-test/r/delayed.result b/mysql-test/r/delayed.result
index 9f6ebea7e1b..bcda6ddb6ab 100644
--- a/mysql-test/r/delayed.result
+++ b/mysql-test/r/delayed.result
@@ -144,7 +144,7 @@ INSERT INTO t1 VALUES( 49, 71), (NULL, 72), (NULL, 73);
INSERT INTO t1 VALUES(NULL, 81), (NULL, 82), (NULL, 83);
SET insert_id= 114;
INSERT INTO t1 VALUES(NULL, 91);
-ERROR 23000: Duplicate entry '114' for key 1
+ERROR 23000: Duplicate entry '114' for key 'PRIMARY'
INSERT INTO t1 VALUES (NULL, 92), (NULL, 93);
SELECT * FROM t1;
c1 c2
@@ -250,13 +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 a682d90fbf7..eb93c69d960 100644
--- a/mysql-test/r/delete.result
+++ b/mysql-test/r/delete.result
@@ -234,6 +234,43 @@ 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);
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result
index 81502c7b430..306c51fb8cf 100644
--- a/mysql-test/r/derived.result
+++ b/mysql-test/r/derived.result
@@ -58,7 +58,7 @@ a b a b
explain select * from t1 as x1, (select * from t1) as x2;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY x1 ALL NULL NULL NULL NULL 4
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 4
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 4 Using join buffer
2 DERIVED t1 ALL NULL NULL NULL NULL 4
drop table if exists t2,t3;
select * from (select 1) as a;
@@ -189,13 +189,13 @@ pla_id test
explain SELECT STRAIGHT_JOIN d.pla_id, m2.mat_id FROM t1 m2 INNER JOIN (SELECT mp.pla_id, MIN(m1.matintnum) AS matintnum FROM t2 mp INNER JOIN t1 m1 ON mp.mat_id=m1.mat_id GROUP BY mp.pla_id) d ON d.matintnum=m2.matintnum;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY m2 ALL NULL NULL NULL NULL 9
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 Using where
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 Using where; Using join buffer
2 DERIVED mp ALL NULL NULL NULL NULL 9 Using temporary; Using filesort
2 DERIVED m1 eq_ref PRIMARY PRIMARY 3 test.mp.mat_id 1
explain SELECT STRAIGHT_JOIN d.pla_id, m2.test FROM t1 m2 INNER JOIN (SELECT mp.pla_id, MIN(m1.matintnum) AS matintnum FROM t2 mp INNER JOIN t1 m1 ON mp.mat_id=m1.mat_id GROUP BY mp.pla_id) d ON d.matintnum=m2.matintnum;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY m2 ALL NULL NULL NULL NULL 9
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 Using where
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 Using where; Using join buffer
2 DERIVED mp ALL NULL NULL NULL NULL 9 Using temporary; Using filesort
2 DERIVED m1 eq_ref PRIMARY PRIMARY 3 test.mp.mat_id 1
drop table t1,t2;
@@ -246,7 +246,7 @@ a a
explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
-1 PRIMARY <derived4> ALL NULL NULL NULL NULL 2
+1 PRIMARY <derived4> ALL NULL NULL NULL NULL 2 Using join buffer
4 DERIVED t1 ALL NULL NULL NULL NULL 2
5 UNION t1 ALL NULL NULL NULL NULL 2
NULL UNION RESULT <union4,5> ALL NULL NULL NULL NULL NULL
@@ -313,7 +313,7 @@ explain SELECT s.name, AVG(s.val) AS median FROM (SELECT x.name, x.val FROM t1 x
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 3 Using temporary; Using filesort
2 DERIVED x ALL NULL NULL NULL NULL 17 Using temporary; Using filesort
-2 DERIVED y ALL NULL NULL NULL NULL 17 Using where
+2 DERIVED y ALL NULL NULL NULL NULL 17 Using where; Using join buffer
drop table t1;
create table t2 (a int, b int, primary key (a));
insert into t2 values (1,7),(2,7);
diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result
index 8cfe5aa78b5..b2a9eb04c04 100644
--- a/mysql-test/r/distinct.result
+++ b/mysql-test/r/distinct.result
@@ -175,7 +175,7 @@ explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 4 Using temporary
1 SIMPLE t3 ref a a 5 test.t1.b 2 Using where; Using index
-1 SIMPLE t2 index a a 4 NULL 4 Using where; Using index; Distinct
+1 SIMPLE t2 index a a 4 NULL 5 Using where; Using index; Distinct; Using join buffer
SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
a
1
@@ -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 10 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
@@ -300,11 +300,11 @@ WHERE
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index id id 4 NULL 2 Using index; Using temporary
-1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct
-1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct
-1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct
+1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct; Using join buffer
+1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct; Using join buffer
+1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct; Using join buffer
1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index; Distinct
-1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct
+1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct; Using join buffer
1 SIMPLE t3_lj ref id id 4 test.j_lj_t3.id 1 Using where; Using index; Distinct
SELECT DISTINCT
t1.id
@@ -515,7 +515,7 @@ id select_type table type possible_keys key key_len ref rows Extra
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1_1 ALL NULL NULL NULL NULL 3 Using temporary
-1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Distinct
+1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Distinct; Using join buffer
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2
WHERE t1_1.a = t1_2.a;
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/mysql-test/r/drop.result b/mysql-test/r/drop.result
index ff11905aa34..71d6fcc7cd0 100644
--- a/mysql-test/r/drop.result
+++ b/mysql-test/r/drop.result
@@ -85,3 +85,10 @@ 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;
+End of 5.1 tests
diff --git a/mysql-test/r/drop_temp_table.result b/mysql-test/r/drop_temp_table.result
deleted file mode 100644
index 96481341bd6..00000000000
--- a/mysql-test/r/drop_temp_table.result
+++ /dev/null
@@ -1,22 +0,0 @@
-drop database if exists `drop-temp+table-test`;
-reset master;
-create database `drop-temp+table-test`;
-use `drop-temp+table-test`;
-create temporary table shortn1 (a int);
-create temporary table `table:name` (a int);
-create temporary table shortn2 (a int);
-select get_lock("a",10);
-get_lock("a",10)
-1
-select get_lock("a",10);
-get_lock("a",10)
-1
-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 # create database `drop-temp+table-test`
-master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table shortn1 (a int)
-master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table `table:name` (a int)
-master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table shortn2 (a int)
-master-bin.000001 # Query 1 # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`shortn2`,`drop-temp+table-test`.`table:name`,`drop-temp+table-test`.`shortn1`
-drop database `drop-temp+table-test`;
diff --git a/mysql-test/r/endspace.result b/mysql-test/r/endspace.result
index 003ee7ffd5e..9c8d12362c4 100644
--- a/mysql-test/r/endspace.result
+++ b/mysql-test/r/endspace.result
@@ -25,10 +25,11 @@ insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
-select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
+select * from t1 ignore key (key1) where text1='teststring' or
+text1 like 'teststring_%' ORDER BY text1;
text1
-teststring
teststring
+teststring
select * from t1 where text1='teststring' or text1 like 'teststring_%';
text1
teststring
@@ -48,10 +49,11 @@ alter table t1 modify text1 char(32) binary not null;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
-select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
+select * from t1 ignore key (key1) where text1='teststring' or
+text1 like 'teststring_%' ORDER BY text1;
text1
-teststring
teststring
+teststring
select concat('|', text1, '|') from t1 where text1='teststring' or text1 like 'teststring_%';
concat('|', text1, '|')
|teststring |
@@ -132,10 +134,11 @@ concat('|', text1, '|')
drop table t1;
create table t1 (text1 varchar(32) not NULL, KEY key1 using BTREE (text1)) engine=heap;
insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
-select * from t1 ignore key (key1) where text1='teststring' or text1 like 'teststring_%';
+select * from t1 ignore key (key1) where text1='teststring' or
+text1 like 'teststring_%' ORDER BY text1;
text1
-teststring
teststring
+teststring
select * from t1 where text1='teststring' or text1 like 'teststring_%';
text1
teststring
@@ -151,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/error_simulation.result b/mysql-test/r/error_simulation.result
index 805e8fabbd8..77599ba303b 100644
--- a/mysql-test/r/error_simulation.result
+++ b/mysql-test/r/error_simulation.result
@@ -14,6 +14,6 @@ INSERT INTO t1 VALUES
('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK');
set tmp_table_size=1024;
SELECT MAX(a) FROM t1 GROUP BY a,b;
-ERROR 23000: Can't write; duplicate key in table ''
+ERROR 23000: Can't write; duplicate key in table 'tmp_table'
set tmp_table_size=default;
DROP TABLE t1;
diff --git a/mysql-test/r/events.result b/mysql-test/r/events.result
new file mode 100644
index 00000000000..d1ee6d1c5a1
--- /dev/null
+++ b/mysql-test/r/events.result
@@ -0,0 +1,744 @@
+drop database if exists events_test;
+drop database if exists db_x;
+drop database if exists mysqltest_db2;
+drop database if exists mysqltest_no_such_database;
+create database events_test;
+use events_test;
+CREATE USER pauline@localhost;
+CREATE DATABASE db_x;
+GRANT EVENT ON db_x.* TO pauline@localhost;
+USE db_x;
+CREATE TABLE x_table(a int);
+CREATE EVENT e_x1 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE db_x;
+CREATE EVENT e_x2 ON SCHEDULE EVERY 1 SECOND DO DROP TABLE x_table;
+SHOW DATABASES LIKE 'db_x';
+Database (db_x)
+db_x
+SET GLOBAL event_scheduler=1;
+SHOW DATABASES LIKE 'db_x';
+Database (db_x)
+db_x
+SHOW TABLES FROM db_x;
+Tables_in_db_x
+x_table
+SET GLOBAL event_scheduler=off;
+DROP EVENT e_x1;
+DROP EVENT e_x2;
+DROP DATABASE db_x;
+DROP USER pauline@localhost;
+USE events_test;
+SET GLOBAL event_scheduler=off;
+drop event if exists event1;
+Warnings:
+Note 1305 Event event1 does not exist
+create event event1 on schedule every 15 minute starts now() ends date_add(now(), interval 5 hour) DO begin end;
+alter event event1 rename to event2 enable;
+alter event event2 disable;
+alter event event2 enable;
+alter event event2 on completion not preserve;
+alter event event2 on schedule every 1 year on completion preserve rename to event3 comment "new comment" do begin select 1; end__
+alter event event3 rename to event2;
+drop event event2;
+create event event2 on schedule every 2 second starts now() ends date_add(now(), interval 5 hour) comment "some" DO begin end;
+drop event event2;
+CREATE EVENT event_starts_test ON SCHEDULE EVERY 10 SECOND COMMENT "" DO SELECT 1;
+SELECT interval_field, interval_value, body FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+interval_field interval_value body
+SECOND 10 SELECT 1
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+1 0 1
+ALTER EVENT event_starts_test ON SCHEDULE AT '2020-02-02 20:00:02';
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+0 1 1
+ALTER EVENT event_starts_test COMMENT "non-empty comment";
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+0 1 1 non-empty comment
+ALTER EVENT event_starts_test COMMENT "";
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+0 1 1
+DROP EVENT event_starts_test;
+CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS '2020-02-02 20:00:02' ENDS '2022-02-02 20:00:02' DO SELECT 2;
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+1 0 0
+ALTER EVENT event_starts_test COMMENT "non-empty comment";
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+1 0 0 non-empty comment
+ALTER EVENT event_starts_test COMMENT "";
+SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
+execute_at IS NULL starts IS NULL ends IS NULL comment
+1 0 0
+DROP EVENT event_starts_test;
+create table test_nested(a int);
+create event e_43 on schedule every 1 second do set @a = 5;
+alter event e_43 do alter event e_43 do set @a = 4;
+ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
+alter event e_43 do
+begin
+alter event e_43 on schedule every 5 minute;
+insert into test_nested values(1);
+end|
+set global event_scheduler = on;
+select db, name, body, status, interval_field, interval_value from mysql.event;
+db name body status interval_field interval_value
+events_test e_43 begin
+alter event e_43 on schedule every 5 minute;
+insert into test_nested values(1);
+end ENABLED MINUTE 5
+drop event e_43;
+drop table test_nested;
+"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);
+select * from non_qualif;
+a
+800219
+drop event non_qualif_ev;
+drop table non_qualif;
+alter event non_existant rename to non_existant_too;
+ERROR HY000: Unknown event 'non_existant'
+set global event_scheduler = off;
+create event existant on schedule at now() + interval 1 year do select 12;
+alter event non_existant rename to existant;
+ERROR HY000: Event 'existant' already exists
+alter event existant rename to events_test.existant;
+ERROR HY000: Same old and new event name
+drop event existant;
+create table t_event3 (a int, b float);
+drop event if exists event3;
+Warnings:
+Note 1305 Event event3 does not exist
+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());
+select count(*) from t_event3;
+count(*)
+0
+drop event event3;
+drop table t_event3;
+set names utf8;
+CREATE EVENT root6 ON SCHEDULE EVERY '10:20' MINUTE_SECOND ON COMPLETION PRESERVE ENABLE COMMENT 'some comment' DO select 1;
+SHOW CREATE EVENT root6;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root6 SYSTEM CREATE EVENT `root6` ON SCHEDULE EVERY '10:20' MINUTE_SECOND STARTS '#' ON COMPLETION PRESERVE ENABLE COMMENT 'some comment' DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root7 on schedule every 2 year do select 1;
+SHOW CREATE EVENT root7;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root7 SYSTEM CREATE EVENT `root7` ON SCHEDULE EVERY 2 YEAR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root8 on schedule every '2:5' year_month do select 1;
+SHOW CREATE EVENT root8;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root8 SYSTEM CREATE EVENT `root8` ON SCHEDULE EVERY '2-5' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root8_1 on schedule every '2:15' year_month do select 1;
+SHOW CREATE EVENT root8_1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root8_1 SYSTEM CREATE EVENT `root8_1` ON SCHEDULE EVERY '3-3' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root9 on schedule every 2 week ON COMPLETION PRESERVE DISABLE COMMENT 'коментар на кирилица' do select 1;
+SHOW CREATE EVENT root9;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root9 SYSTEM CREATE EVENT `root9` ON SCHEDULE EVERY 2 WEEK STARTS '#' ON COMPLETION PRESERVE DISABLE COMMENT 'коментар на кирилица' DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root10 on schedule every '20:5' day_hour do select 1;
+SHOW CREATE EVENT root10;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root10 SYSTEM CREATE EVENT `root10` ON SCHEDULE EVERY '20 5' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root11 on schedule every '20:25' day_hour do select 1;
+SHOW CREATE EVENT root11;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root11 SYSTEM CREATE EVENT `root11` ON SCHEDULE EVERY '21 1' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root12 on schedule every '20:25' hour_minute do select 1;
+SHOW CREATE EVENT root12;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root12 SYSTEM CREATE EVENT `root12` ON SCHEDULE EVERY '20:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root13 on schedule every '25:25' hour_minute do select 1;
+SHOW CREATE EVENT root13;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root13 SYSTEM CREATE EVENT `root13` ON SCHEDULE EVERY '25:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root13_1 on schedule every '11:65' hour_minute do select 1;
+SHOW CREATE EVENT root13_1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root13_1 SYSTEM CREATE EVENT `root13_1` ON SCHEDULE EVERY '12:5' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root14 on schedule every '35:35' minute_second do select 1;
+SHOW CREATE EVENT root14;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root14 SYSTEM CREATE EVENT `root14` ON SCHEDULE EVERY '35:35' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root15 on schedule every '35:66' minute_second do select 1;
+SHOW CREATE EVENT root15;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root15 SYSTEM CREATE EVENT `root15` ON SCHEDULE EVERY '36:6' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root16 on schedule every '35:56' day_minute do select 1;
+SHOW CREATE EVENT root16;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root16 SYSTEM CREATE EVENT `root16` ON SCHEDULE EVERY '1 11:56' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root17 on schedule every '35:12:45' day_minute do select 1;
+SHOW CREATE EVENT root17;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root17 SYSTEM CREATE EVENT `root17` ON SCHEDULE EVERY '35 12:45' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root17_1 on schedule every '35:25:65' day_minute do select 1;
+SHOW CREATE EVENT root17_1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root17_1 SYSTEM CREATE EVENT `root17_1` ON SCHEDULE EVERY '36 2:5' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root18 on schedule every '35:12:45' hour_second do select 1;
+SHOW CREATE EVENT root18;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root18 SYSTEM CREATE EVENT `root18` ON SCHEDULE EVERY '35:12:45' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root19 on schedule every '15:59:85' hour_second do select 1;
+SHOW CREATE EVENT root19;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root19 SYSTEM CREATE EVENT `root19` ON SCHEDULE EVERY '16:0:25' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+create event root20 on schedule every '50:20:12:45' day_second do select 1;
+SHOW CREATE EVENT root20;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+root20 SYSTEM CREATE EVENT `root20` ON SCHEDULE EVERY '50 20:12:45' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+set names cp1251;
+create event 21 on schedule every '50:23:59:95' day_second COMMENT ' 1251 ' do select 1;
+SHOW CREATE EVENT 21;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+21 SYSTEM CREATE EVENT `руут21` ON SCHEDULE EVERY '51 0:0:35' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'това е 1251 коментар' DO select 1 cp1251 cp1251_general_ci latin1_swedish_ci
+insert into mysql.event (
+db,
+name,
+body,
+definer,
+interval_value,
+interval_field,
+originator,
+character_set_client,
+collation_connection,
+db_collation,
+body_utf8)
+values (
+database(),
+"root22",
+"select 1",
+user(),
+100,
+"SECOND_MICROSECOND",
+1,
+'utf8',
+'utf8_general_ci',
+'utf8_general_ci',
+'select 1');
+show create event root22;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+SHOW EVENTS;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+drop event root22;
+create event root23 on schedule every -100 year do select 1;
+ERROR HY000: INTERVAL is either not positive or too big
+create event root23 on schedule every 222222222222222222222 year do select 1;
+ERROR HY000: INTERVAL is either not positive or too big
+drop event root6;
+drop event root7;
+drop event root8;
+drop event root8_1;
+drop event root9;
+drop event root10;
+drop event root11;
+drop event root12;
+drop event root13;
+drop event root13_1;
+drop event root14;
+drop event root15;
+drop event root16;
+drop event root17;
+drop event root17_1;
+drop event root18;
+drop event root19;
+drop event root20;
+drop event 21;
+set names latin1;
+Create a test event. Only event metadata is relevant,
+the actual schedule and body are not.
+CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+Try to alter mysql.event: the server should fail to load
+event information after mysql.event was tampered with.
+
+First, let's add a column to the end and make sure everything
+works as before
+
+ALTER TABLE mysql.event ADD dummy INT;
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT event_name FROM INFORMATION_SCHEMA.events;
+event_name
+intact_check
+SHOW CREATE EVENT intact_check;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+intact_check SYSTEM CREATE EVENT `intact_check` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO SELECT "nothing" latin1 latin1_swedish_ci latin1_swedish_ci
+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;
+ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+ALTER EVENT intact_check_1 RENAME TO intact_check_2;
+DROP EVENT intact_check_1;
+ERROR HY000: Unknown event 'intact_check_1'
+DROP EVENT intact_check_2;
+DROP EVENT intact_check;
+DROP DATABASE IF EXISTS mysqltest_no_such_database;
+Warnings:
+Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
+CREATE DATABASE mysqltest_db2;
+DROP DATABASE mysqltest_db2;
+SELECT @@event_scheduler;
+@@event_scheduler
+OFF
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=OFF;
+ALTER TABLE mysql.event DROP dummy;
+CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
+
+Now let's add a column to the first position: the server
+expects to see event schema name there
+
+ALTER TABLE mysql.event ADD dummy INT FIRST;
+SHOW EVENTS;
+ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+SELECT event_name FROM INFORMATION_SCHEMA.events;
+ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+SHOW CREATE EVENT intact_check;
+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
+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;
+ERROR HY000: Unknown event 'intact_check_1'
+DROP EVENT intact_check_1;
+ERROR HY000: Unknown event 'intact_check_1'
+DROP EVENT intact_check_2;
+ERROR HY000: Unknown event 'intact_check_2'
+DROP EVENT intact_check;
+ERROR HY000: Unknown event 'intact_check'
+DROP DATABASE IF EXISTS mysqltest_no_such_database;
+Warnings:
+Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
+CREATE DATABASE mysqltest_db2;
+DROP DATABASE mysqltest_db2;
+SELECT @@event_scheduler;
+@@event_scheduler
+OFF
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=OFF;
+Clean up
+ALTER TABLE mysql.event DROP dummy;
+DELETE FROM mysql.event;
+CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
+Back up the table, further changes are not reversible
+CREATE TABLE event_like LIKE mysql.event;
+INSERT INTO event_like SELECT * FROM mysql.event;
+
+Drop some columns and try more checks.
+
+
+ALTER TABLE mysql.event DROP comment, DROP starts;
+SHOW EVENTS;
+ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
+ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+SHOW CREATE EVENT intact_check;
+ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+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: Column count of mysql.event is wrong. Expected 22, found 20. The table is probably corrupted
+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;
+ERROR HY000: Unknown event 'intact_check_1'
+DROP EVENT intact_check_1;
+ERROR HY000: Unknown event 'intact_check_1'
+DROP EVENT intact_check_2;
+ERROR HY000: Unknown event 'intact_check_2'
+DROP EVENT intact_check;
+DROP DATABASE IF EXISTS mysqltest_no_such_database;
+Warnings:
+Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
+CREATE DATABASE mysqltest_db2;
+DROP DATABASE mysqltest_db2;
+SELECT @@event_scheduler;
+@@event_scheduler
+OFF
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=OFF;
+
+Now drop the table, and test again
+
+
+DROP TABLE mysql.event;
+SHOW EVENTS;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+SELECT event_name FROM INFORMATION_SCHEMA.events;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+SHOW CREATE EVENT intact_check;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+DROP EVENT no_such_event;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+ALTER EVENT intact_check_1 RENAME TO intact_check_2;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+DROP EVENT intact_check_1;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+DROP EVENT intact_check_2;
+ERROR 42S02: Table 'mysql.event' doesn't exist
+DROP EVENT intact_check;
+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;
+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.
+SHOW WARNINGS;
+Level Code Message
+Error 1146 Table 'mysql.event' doesn't exist
+SELECT @@event_scheduler;
+@@event_scheduler
+OFF
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=OFF;
+Restore the original table.
+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 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
new file mode 100644
index 00000000000..b91e7e88d64
--- /dev/null
+++ b/mysql-test/r/events_bugs.result
@@ -0,0 +1,725 @@
+drop database if exists events_test;
+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
+DROP EVENT Lower_case;
+SET NAMES cp1251;
+CREATE EVENT __1251 ON SCHEDULE EVERY 1 YEAR DO SELECT 100;
+CREATE EVENT __1251 ON SCHEDULE EVERY 2 YEAR DO SELECT 200;
+ERROR HY000: Event 'ДоЛеН_регистър_1251' already exists
+DROP EVENT __1251;
+SET NAMES utf8;
+CREATE EVENT долен_регистър_утф8 ON SCHEDULE EVERY 3 YEAR DO SELECT 300;
+CREATE EVENT ДОЛЕН_регистър_утф8 ON SCHEDULE EVERY 4 YEAR DO SELECT 400;
+ERROR HY000: Event 'ДОЛЕН_регистър_утф8' already exists
+DROP EVENT ДОЛЕН_регистър_утф8;
+SET NAMES latin1;
+set @a=3;
+CREATE PROCEDURE p_16 () CREATE EVENT e_16 ON SCHEDULE EVERY @a SECOND DO SET @a=5;
+ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
+create event e_55 on schedule at 99990101000000 do drop table t;
+ERROR HY000: Incorrect AT value: '99990101000000'
+create event e_55 on schedule every 10 hour starts 99990101000000 do drop table t;
+ERROR HY000: Incorrect STARTS value: '99990101000000'
+create event e_55 on schedule every 10 minute ends 99990101000000 do drop table t;
+ERROR HY000: ENDS is either invalid or before STARTS
+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 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;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1
+create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table 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 'ends 10000101000000 do drop table t' at line 1
+create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table 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 'starts 10000101000000 ends 10000101000000 do drop table t' at line 1
+create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t;
+ERROR HY000: Incorrect STARTS value: '10000101000000'
+set global event_scheduler=off;
+delete from mysql.event;
+set global event_scheduler= on;
+set @old_sql_mode:=@@sql_mode;
+set sql_mode=ansi;
+select get_lock('test_bug16407', 60);
+get_lock('test_bug16407', 60)
+1
+create event e_16407 on schedule every 60 second do
+begin
+select get_lock('test_bug16407', 60);
+end|
+"Now if everything is fine the event has compiled and is locked"
+select /*1*/ user, host, db, info from information_schema.processlist where command!='Daemon' and (info is null or info not like '%processlist%') order by info;
+user host db info
+root localhost events_test select get_lock('test_bug16407', 60)
+select release_lock('test_bug16407');
+release_lock('test_bug16407')
+1
+set global event_scheduler= off;
+select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
+event_schema event_name sql_mode
+events_test e_16407 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI
+"Let's check whether we change the sql_mode on ALTER EVENT"
+set sql_mode='traditional';
+alter event e_16407 do select 1;
+select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
+event_schema event_name sql_mode
+events_test e_16407 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+drop event e_16407;
+set sql_mode="ansi";
+select get_lock('ee_16407_2', 60);
+get_lock('ee_16407_2', 60)
+1
+set global event_scheduler= 1;
+"Another sql_mode test"
+set sql_mode="traditional";
+create table events_smode_test(ev_name char(10), a date) engine=myisam;
+"This should never insert something"
+create event ee_16407_2 on schedule every 60 second do
+begin
+select get_lock('ee_16407_2', 60) /*ee_16407_2*/;
+select release_lock('ee_16407_2');
+insert into events_test.events_smode_test values('ee_16407_2','1980-19-02');
+end|
+insert into events_smode_test values ('test','1980-19-02')|
+ERROR 22007: Incorrect date value: '1980-19-02' for column 'a' at row 1
+"This is ok"
+create event ee_16407_3 on schedule every 60 second do
+begin
+select get_lock('ee_16407_2', 60) /*ee_16407_3*/;
+select release_lock('ee_16407_2');
+insert into events_test.events_smode_test values ('ee_16407_3','1980-02-19');
+insert into events_test.events_smode_test values ('ee_16407_3','1980-02-29');
+end|
+set sql_mode=""|
+"This will insert rows but they will be truncated"
+create event ee_16407_4 on schedule every 60 second do
+begin
+select get_lock('ee_16407_2', 60) /*ee_16407_4*/;
+select release_lock('ee_16407_2');
+insert into events_test.events_smode_test values ('ee_16407_4','10-11-1956');
+end|
+select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
+event_schema event_name sql_mode
+events_test ee_16407_2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+events_test ee_16407_3 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+events_test ee_16407_4
+select /*2*/ user, host, db, 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 info
+event_scheduler localhost NULL NULL
+root localhost events_test select get_lock('ee_16407_2', 60)
+root localhost events_test select get_lock('ee_16407_2', 60)
+root localhost events_test select get_lock('ee_16407_2', 60)
+select release_lock('ee_16407_2');
+release_lock('ee_16407_2')
+1
+select /*3*/ user, host, db, 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 info
+event_scheduler localhost NULL NULL
+set global event_scheduler= off;
+select * from events_smode_test order by ev_name, a;
+ev_name a
+ee_16407_3 1980-02-19
+ee_16407_3 1980-02-29
+ee_16407_4 0000-00-00
+"OK, last check before we drop them"
+select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
+event_schema event_name sql_mode
+events_test ee_16407_2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+events_test ee_16407_3 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+events_test ee_16407_4
+drop event ee_16407_2;
+drop event ee_16407_3;
+drop event ee_16407_4;
+"And now one last test regarding sql_mode and call of SP from an event"
+delete from events_smode_test;
+set sql_mode='ansi';
+select get_lock('ee_16407_5', 60);
+get_lock('ee_16407_5', 60)
+1
+set global event_scheduler= on;
+set sql_mode='traditional';
+create procedure ee_16407_5_pendant() begin insert into events_test.events_smode_test values('ee_16407_5','2001-02-29'); end|
+create procedure ee_16407_6_pendant() begin insert into events_test.events_smode_test values('ee_16407_6','2004-02-29'); end|
+create event ee_16407_5 on schedule every 60 second do
+begin
+select get_lock('ee_16407_5', 60) /*ee_16407_5*/;
+select release_lock('ee_16407_5');
+call events_test.ee_16407_5_pendant();
+end|
+create event ee_16407_6 on schedule every 60 second do
+begin
+select get_lock('ee_16407_5', 60) /*ee_16407_6*/;
+select release_lock('ee_16407_5');
+call events_test.ee_16407_6_pendant();
+end|
+"Should have 2 locked processes"
+select /*4*/ user, host, db, 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 info
+event_scheduler localhost NULL NULL
+root localhost events_test select get_lock('ee_16407_5', 60)
+root localhost events_test select get_lock('ee_16407_5', 60)
+select release_lock('ee_16407_5');
+release_lock('ee_16407_5')
+1
+"Should have 0 processes locked"
+select /*5*/ user, host, db, 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 info
+event_scheduler localhost NULL NULL
+select * from events_smode_test order by ev_name, a;
+ev_name a
+ee_16407_6 2004-02-29
+"And here we check one more time before we drop the events"
+select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
+event_schema event_name sql_mode
+events_test ee_16407_5 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+events_test ee_16407_6 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
+drop event ee_16407_5;
+drop event ee_16407_6;
+drop procedure ee_16407_5_pendant;
+drop procedure ee_16407_6_pendant;
+set global event_scheduler= off;
+drop table events_smode_test;
+set sql_mode=@old_sql_mode;
+set global event_scheduler=off;
+delete from mysql.user where User like 'mysqltest_%';
+delete from mysql.db where User like 'mysqltest_%';
+flush privileges;
+drop database if exists mysqltest_db1;
+create user mysqltest_user1@localhost;
+create database mysqltest_db1;
+grant event on events_test.* to mysqltest_user1@localhost;
+create event mysqltest_user1 on schedule every 10 second do select 42;
+alter event mysqltest_user1 rename to mysqltest_db1.mysqltest_user1;
+ERROR 42000: Access denied for user 'mysqltest_user1'@'localhost' to database 'mysqltest_db1'
+"Let's test now rename when there is no select DB"
+select database();
+database()
+NULL
+alter event events_test.mysqltest_user1 rename to mysqltest_user1;
+ERROR 3D000: No database selected
+select event_schema, event_name, definer, event_type, status from information_schema.events;
+event_schema event_name definer event_type status
+events_test mysqltest_user1 mysqltest_user1@localhost RECURRING ENABLED
+drop event events_test.mysqltest_user1;
+drop user mysqltest_user1@localhost;
+drop database mysqltest_db1;
+create event e_53 on schedule at (select s1 from ttx) do drop table t;
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
+create event e_53 on schedule every (select s1 from ttx) second do drop table t;
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
+create event e_53 on schedule every 5 second starts (select s1 from ttx) do drop table t;
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
+create event e_53 on schedule every 5 second ends (select s1 from ttx) do drop table t;
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
+drop event if exists e_16;
+drop procedure if exists p_16;
+create event e_16 on schedule every 1 second do set @a=5;
+create procedure p_16 () alter event e_16 on schedule every @a second;
+set @a = null;
+call p_16();
+ERROR HY000: Incorrect INTERVAL value: 'NULL'
+call p_16();
+ERROR HY000: Incorrect INTERVAL value: 'NULL'
+set @a= 6;
+call p_16();
+drop procedure p_16;
+drop event e_16;
+drop function if exists f22830;
+drop event if exists e22830;
+drop event if exists e22830_1;
+drop event if exists e22830_2;
+drop event if exists e22830_3;
+drop event if exists e22830_4;
+drop table if exists t1;
+drop table if exists t2;
+create table t1 (a int);
+insert into t1 values (2);
+create table t2 (a char(20));
+insert into t2 values ("e22830_1");
+create function f22830 () returns int return 5;
+select get_lock('ee_22830', 60);
+get_lock('ee_22830', 60)
+1
+set global event_scheduler=on;
+create procedure p22830_wait()
+begin
+select get_lock('ee_22830', 60);
+select release_lock('ee_22830');
+end|
+create event e22830 on schedule every f22830() second do
+begin
+call p22830_wait();
+select 123;
+end|
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
+create event e22830_1 on schedule every 1 hour do
+begin
+call p22830_wait();
+alter event e22830_1 on schedule every (select 8 from dual) hour;
+end|
+create event e22830_2 on schedule every 1 hour do
+begin
+call p22830_wait();
+alter event e22830_2 on schedule every (select 8 from t1) hour;
+end|
+create event e22830_3 on schedule every 1 hour do
+begin
+call p22830_wait();
+alter event e22830_3 on schedule every f22830() hour;
+end|
+create event e22830_4 on schedule every 1 hour do
+begin
+call p22830_wait();
+alter event e22830_4 on schedule every (select f22830() from dual) hour;
+end|
+"All events should be blocked in get_lock()"
+select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name;
+event_name event_definition interval_value interval_field
+e22830_1 begin
+call p22830_wait();
+alter event e22830_1 on schedule every (select 8 from dual) hour;
+end 1 HOUR
+e22830_2 begin
+call p22830_wait();
+alter event e22830_2 on schedule every (select 8 from t1) hour;
+end 1 HOUR
+e22830_3 begin
+call p22830_wait();
+alter event e22830_3 on schedule every f22830() hour;
+end 1 HOUR
+e22830_4 begin
+call p22830_wait();
+alter event e22830_4 on schedule every (select f22830() from dual) hour;
+end 1 HOUR
+select release_lock('ee_22830');
+release_lock('ee_22830')
+1
+set global event_scheduler=off;
+select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name;
+event_name event_definition interval_value interval_field
+e22830_1 begin
+call p22830_wait();
+alter event e22830_1 on schedule every (select 8 from dual) hour;
+end 8 HOUR
+e22830_2 begin
+call p22830_wait();
+alter event e22830_2 on schedule every (select 8 from t1) hour;
+end 1 HOUR
+e22830_3 begin
+call p22830_wait();
+alter event e22830_3 on schedule every f22830() hour;
+end 1 HOUR
+e22830_4 begin
+call p22830_wait();
+alter event e22830_4 on schedule every (select f22830() from dual) hour;
+end 1 HOUR
+drop procedure p22830_wait;
+drop function f22830;
+drop event (select a 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 '(select a from t2)' at line 1
+drop event e22830_1;
+drop event e22830_2;
+drop event e22830_3;
+drop event e22830_4;
+drop table t1;
+drop table t2;
+DROP USER mysqltest_u1@localhost;
+CREATE USER mysqltest_u1@localhost;
+GRANT EVENT ON events_test.* TO mysqltest_u1@localhost;
+CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 root@localhost
+DROP EVENT e1;
+CREATE DEFINER=CURRENT_USER EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 root@localhost
+ALTER DEFINER=mysqltest_u1@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+DROP EVENT e1;
+CREATE DEFINER=CURRENT_USER() EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 root@localhost
+DROP EVENT e1;
+CREATE DEFINER=mysqltest_u1@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO
+SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+DROP EVENT e1;
+CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+DROP EVENT e1;
+CREATE DEFINER=CURRENT_USER EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+ALTER DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+DROP EVENT e1;
+CREATE DEFINER=CURRENT_USER() EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
+event_name definer
+e1 mysqltest_u1@localhost
+DROP EVENT e1;
+CREATE DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+DROP EVENT e1;
+ERROR HY000: Unknown event 'e1'
+DROP USER mysqltest_u1@localhost;
+SET GLOBAL EVENT_SCHEDULER= OFF;
+SET @save_time_zone= @@TIME_ZONE;
+SET TIME_ZONE= '+00:00';
+SET TIMESTAMP= UNIX_TIMESTAMP('2005-12-31 23:58:59');
+CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+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 +00:00 RECURRING NULL 1 DAY 2005-12-31 23:58:59 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SET TIME_ZONE= '-01:00';
+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2000-01-01 00:00:00';
+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 -01:00 RECURRING NULL 1 DAY 2000-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SET TIME_ZONE= '+02:00';
+ALTER EVENT e1 ON SCHEDULE AT '2000-01-02 00:00:00'
+ ON COMPLETION PRESERVE DISABLE;
+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 +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SET TIME_ZONE= '-03:00';
+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00'
+ ON COMPLETION PRESERVE DISABLE;
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SET TIME_ZONE= '+04:00';
+ALTER EVENT e1 DO SELECT 2;
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP EVENT e1;
+SET TIME_ZONE='+05:00';
+CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
+SELECT 1;
+SET TIMESTAMP= @@TIMESTAMP + 1;
+SET TIME_ZONE='-05:00';
+CREATE EVENT e2 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
+SELECT 1;
+SET TIMESTAMP= @@TIMESTAMP + 1;
+SET TIME_ZONE='+00:00';
+CREATE EVENT e3 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
+SELECT 1;
+SELECT * FROM INFORMATION_SCHEMA.EVENTS ORDER BY event_name;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
+NULL events_test e1 root@localhost +05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:58:59 2005-12-31 23:58:59 NULL 1 latin1 latin1_swedish_ci latin1_swedish_ci
+NULL events_test e2 root@localhost -05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:00 2005-12-31 23:59:00 NULL 1 latin1 latin1_swedish_ci latin1_swedish_ci
+NULL events_test e3 root@localhost +00:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:01 2005-12-31 23:59:01 NULL 1 latin1 latin1_swedish_ci latin1_swedish_ci
+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
+events_test e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE EVENT e1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e1 +05:00 CREATE EVENT `e1` ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE EVENT e2;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e2 -05:00 CREATE EVENT `e2` ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SHOW CREATE EVENT e3;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+e3 +00:00 CREATE EVENT `e3` ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
+The following should fail, and nothing should be altered.
+ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
+ ENDS '1999-01-02 00:00:00';
+ERROR HY000: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
+ ENDS '1999-01-02 00:00:00' DISABLE;
+ERROR HY000: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
+The following should give warnings, and nothing should be created.
+CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
+ ENDS '1999-01-02 00:00:00'
+DO
+SELECT 1;
+Warnings:
+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 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 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 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
+events_test e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+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 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 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 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'
+ ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE;
+CREATE EVENT e6 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00' DO
+SELECT 1;
+CREATE EVENT e7 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
+ ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE
+DO
+SELECT 1;
+CREATE EVENT e8 ON SCHEDULE AT '1999-01-01 00:00:00'
+ ON COMPLETION PRESERVE DISABLE
+DO
+SELECT 1;
+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 +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e2 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e3 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e4 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e5 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e6 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e7 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e8 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP EVENT e8;
+DROP EVENT e7;
+DROP EVENT e6;
+DROP EVENT e5;
+DROP EVENT e4;
+DROP EVENT e3;
+DROP EVENT e2;
+DROP EVENT e1;
+SET TIME_ZONE=@save_time_zone;
+drop event if exists new_event;
+CREATE EVENT new_event ON SCHEDULE EVERY 0 SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY (SELECT 0) SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY "abcdef" SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY "0abcdef" SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY "a1bcdef" SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "abcdef" UNION SELECT "abcdef") SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "0abcdef") SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "a1bcdef") SECOND DO SELECT 1;
+ERROR HY000: INTERVAL is either not positive or too big
+CREATE EVENT new_event ON SCHEDULE AT "every day" DO SELECT 1;
+ERROR HY000: Incorrect AT value: 'every day'
+CREATE EVENT new_event ON SCHEDULE AT "0every day" DO SELECT 1;
+ERROR HY000: Incorrect AT value: '0every day'
+CREATE EVENT new_event ON SCHEDULE AT (SELECT "every day") DO SELECT 1;
+ERROR HY000: Incorrect AT value: 'every day'
+CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() DO SELECT 1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STARTS NOW() DO SELECT 1' at line 1
+CREATE EVENT new_event ON SCHEDULE AT NOW() ENDS NOW() DO SELECT 1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ENDS NOW() DO SELECT 1' at line 1
+CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() ENDS NOW() DO SELECT 1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STARTS NOW() ENDS NOW() DO SELECT 1' at line 1
+USE test;
+SHOW GRANTS FOR CURRENT_USER;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+SET GLOBAL event_scheduler = ON;
+CREATE TABLE event_log (id int KEY AUTO_INCREMENT,
+ev_nm char(40), ev_cnt int,
+ev_tm timestamp) ENGINE=MyISAM;
+SET @ev_base_date = 20281224180000;
+SET autocommit=0;
+CREATE USER evtest1@localhost;
+SET PASSWORD FOR evtest1@localhost = password('ev1');
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM evtest1@localhost;
+GRANT create, insert, select, event ON events_test.* TO evtest1@localhost;
+GRANT select,insert ON test.* TO evtest1@localhost;
+SHOW GRANTS FOR evtest1@localhost;
+Grants for evtest1@localhost
+GRANT USAGE ON *.* TO 'evtest1'@'localhost' IDENTIFIED BY PASSWORD '*3170F3644E31580C25DE4A08F4C07CC9A2D40C32'
+GRANT SELECT, INSERT ON `test`.* TO 'evtest1'@'localhost'
+GRANT SELECT, INSERT, CREATE, EVENT ON `events_test`.* TO 'evtest1'@'localhost'
+connection e1;
+USE events_test;
+CREATE EVENT ev_sched_1823 ON SCHEDULE EVERY 2 SECOND
+DO BEGIN
+SET AUTOCOMMIT = 0;
+SET @evname = 'ev_sched_1823';
+SET @cnt = 0;
+SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname;
+IF @cnt < 6 THEN
+INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp());
+COMMIT;
+END IF;
+SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname;
+IF @cnt < 6 THEN
+INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp());
+ROLLBACK;
+END IF;
+END;|
+connection default;
+DROP EVENT ev_sched_1823;
+DROP USER evtest1@localhost;
+USE test;
+=====================================================================================
+select id,ev_nm,ev_cnt from event_log order by id;
+id ev_nm ev_cnt
+1 ev_sched_1823 1
+2 ev_sched_1823 2
+3 ev_sched_1823 3
+4 ev_sched_1823 4
+5 ev_sched_1823 5
+6 ev_sched_1823 6
+DROP TABLE event_log;
+SET GLOBAL event_scheduler = OFF;
+SET GLOBAL event_scheduler= ON;
+CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
+ DO BEGIN
+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 DATABASE events_test;
diff --git a/mysql-test/r/events_grant.result b/mysql-test/r/events_grant.result
new file mode 100644
index 00000000000..1aadf7e11f4
--- /dev/null
+++ b/mysql-test/r/events_grant.result
@@ -0,0 +1,121 @@
+CREATE DATABASE IF NOT EXISTS events_test;
+use events_test;
+CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123;
+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 one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+CREATE DATABASE events_test2;
+CREATE USER ev_test@localhost;
+GRANT ALL ON events_test.* to ev_test@localhost;
+GRANT ALL ON events_test2.* to ev_test@localhost;
+REVOKE EVENT ON events_test2.* FROM ev_test@localhost;
+select "NEW CONNECTION";
+NEW CONNECTION
+NEW CONNECTION
+SELECT USER(), DATABASE();
+USER() DATABASE()
+ev_test@localhost events_test2
+SHOW GRANTS;
+Grants for ev_test@localhost
+GRANT USAGE ON *.* TO 'ev_test'@'localhost'
+GRANT ALL PRIVILEGES ON `events_test`.* TO 'ev_test'@'localhost'
+GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON `events_test2`.* TO 'ev_test'@'localhost'
+"Here comes an error:";
+SHOW EVENTS;
+ERROR 42000: Access denied for user 'ev_test'@'localhost' to database 'events_test2'
+USE events_test;
+"We should see one 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
+events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+SELECT CONCAT("Let's create some new events from the name of ", USER());
+CONCAT("Let's create some new events from the name of ", USER())
+Let's create some new events from the name of ev_test@localhost
+CREATE EVENT one_event ON SCHEDULE EVERY 20 SECOND DO SELECT 123;
+ERROR HY000: Event 'one_event' already exists
+CREATE EVENT two_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION NOT PRESERVE COMMENT "two event" DO SELECT 123;
+CREATE EVENT three_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION PRESERVE COMMENT "three event" DO SELECT 123;
+"Now we should see 3 events:";
+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 one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+"This should show us only 2 events:";
+SHOW EVENTS LIKE 't%event';
+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 three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+"This should show us no events:";
+SHOW EVENTS FROM test LIKE '%';
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+GRANT EVENT ON events_test2.* TO ev_test@localhost;
+USE events_test2;
+CREATE EVENT four_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
+USE events_test;
+"We should see 4 events : one_event, two_event, three_event & four_event"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
+NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
+NULL events_test2 four_event ev_test@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
+DROP DATABASE events_test2;
+"We should see 3 events : one_event, two_event, three_event"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
+NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
+CREATE DATABASE events_test2;
+USE events_test2;
+CREATE EVENT five_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
+"Should see 4 events - one, two, three & five"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
+NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
+NULL events_test2 five_event root@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
+REVOKE EVENT ON events_test2.* FROM ev_test@localhost;
+USE test;
+"Should see 3 events - one, two & three"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
+NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
+"Let's test ALTER EVENT which changes the definer"
+USE events_test;
+ALTER EVENT one_event ON SCHEDULE EVERY 10 SECOND;
+"The definer should be ev_test@localhost"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event ev_test@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
+USE events_test;
+ALTER EVENT one_event COMMENT "comment";
+"The definer should be root@localhost"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
+ALTER EVENT one_event DO SELECT 12;
+"The definer should be ev_test@localhost"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test one_event ev_test@localhost SQL SELECT 12 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
+"make the definer again root@localhost"
+ALTER EVENT one_event COMMENT "new comment";
+"test DROP by another user"
+DROP EVENT one_event;
+"One event should not be there"
+SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
+EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
+NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
+NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
+NULL events_test2 five_event root@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
+DROP USER ev_test@localhost;
+DROP DATABASE events_test2;
+DROP DATABASE events_test;
diff --git a/mysql-test/r/events_logs_tests.result b/mysql-test/r/events_logs_tests.result
new file mode 100644
index 00000000000..b7faf56f466
--- /dev/null
+++ b/mysql-test/r/events_logs_tests.result
@@ -0,0 +1,72 @@
+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 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 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
+
+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_microsec.result b/mysql-test/r/events_microsec.result
new file mode 100644
index 00000000000..b96bd551511
--- /dev/null
+++ b/mysql-test/r/events_microsec.result
@@ -0,0 +1,13 @@
+create database if not exists events_test;
+use events_test;
+CREATE EVENT micro_test ON SCHEDULE EVERY 100 MICROSECOND DO SELECT 1;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+CREATE EVENT micro_test ON SCHEDULE EVERY 100 DAY_MICROSECOND DO SELECT 1;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+CREATE EVENT micro_test ON SCHEDULE EVERY 100 HOUR_MICROSECOND DO SELECT 1;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+CREATE EVENT micro_test ON SCHEDULE EVERY 100 MINUTE_MICROSECOND DO SELECT 1;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+CREATE EVENT micro_test ON SCHEDULE EVERY 100 SECOND_MICROSECOND DO SELECT 1;
+ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
+drop database events_test;
diff --git a/mysql-test/r/events_restart_phase1.result b/mysql-test/r/events_restart_phase1.result
new file mode 100644
index 00000000000..7b1de62f2ef
--- /dev/null
+++ b/mysql-test/r/events_restart_phase1.result
@@ -0,0 +1,16 @@
+set global event_scheduler=off;
+drop database if exists events_test;
+create database events_test;
+use events_test;
+create table execution_log(name char(10));
+create event abc1 on schedule every 1 second do
+insert into execution_log value('abc1');
+create event abc2 on schedule every 1 second do
+insert into execution_log value('abc2');
+create event abc3 on schedule every 1 second do
+insert into execution_log value('abc3');
+create table event_like like mysql.event;
+insert into event_like select * from mysql.event;
+alter table mysql.event
+change column body body longtext character set utf8 collate utf8_bin;
+"Now we restart the server"
diff --git a/mysql-test/r/events_restart_phase2.result b/mysql-test/r/events_restart_phase2.result
new file mode 100644
index 00000000000..60ddf06bf23
--- /dev/null
+++ b/mysql-test/r/events_restart_phase2.result
@@ -0,0 +1,42 @@
+use events_test;
+select @@event_scheduler;
+@@event_scheduler
+DISABLED
+show events;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+select event_name from information_schema.events;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+show create event intact_check;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+drop event no_such_event;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+create event intact_check_1 on schedule every 5 hour do select 5;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+alter event intact_check_1 on schedule every 8 hour do select 8;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+alter event intact_check_1 rename to intact_check_2;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+drop event intact_check_1;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+drop event intact_check_2;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+drop event intact_check;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+set global event_scheduler=on;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+set global event_scheduler=off;
+ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
+show variables like 'event_scheduler';
+Variable_name Value
+event_scheduler DISABLED
+Make sure that we still can create and drop databases,
+and no warnings are produced.
+drop database if exists mysqltest_database_not_exists;
+Warnings:
+Note 1008 Can't drop database 'mysqltest_database_not_exists'; database doesn't exist
+create database mysqltest_db1;
+drop database mysqltest_db1;
+Restore the original mysql.event table
+drop table mysql.event;
+rename table event_like to mysql.event;
+Now let's restart the server again
diff --git a/mysql-test/r/events_restart_phase3.result b/mysql-test/r/events_restart_phase3.result
new file mode 100644
index 00000000000..abed0a2babc
--- /dev/null
+++ b/mysql-test/r/events_restart_phase3.result
@@ -0,0 +1,6 @@
+use events_test;
+select @@event_scheduler;
+@@event_scheduler
+ON
+drop table execution_log;
+drop database events_test;
diff --git a/mysql-test/r/events_scheduling.result b/mysql-test/r/events_scheduling.result
new file mode 100644
index 00000000000..033136ba354
--- /dev/null
+++ b/mysql-test/r/events_scheduling.result
@@ -0,0 +1,102 @@
+CREATE DATABASE IF NOT EXISTS events_test;
+USE events_test;
+SET GLOBAL event_scheduler=OFF;
+Try agian to make sure it's allowed
+SET GLOBAL event_scheduler=OFF;
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=1;
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+SET GLOBAL event_scheduler=0;
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler OFF
+SET GLOBAL event_scheduler=ON;
+Try again to make sure it's allowed
+SET GLOBAL event_scheduler=ON;
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+SET GLOBAL event_scheduler=DISABLED;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'DISABLED'
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+SET GLOBAL event_scheduler=-1;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of '-1'
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+SET GLOBAL event_scheduler=2;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of '2'
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+SET GLOBAL event_scheduler=5;
+ERROR 42000: Variable 'event_scheduler' can't be set to the value of '5'
+SHOW VARIABLES LIKE 'event_scheduler';
+Variable_name Value
+event_scheduler ON
+CREATE TABLE table_1(a int);
+CREATE TABLE table_2(a int);
+CREATE TABLE table_3(a int);
+CREATE TABLE table_4(a int);
+SET GLOBAL event_scheduler=ON;
+CREATE EVENT event_1 ON SCHEDULE EVERY 2 SECOND
+DO
+INSERT INTO table_1 VALUES (1);
+CREATE EVENT event_2 ON SCHEDULE EVERY 1 SECOND
+ENDS NOW() + INTERVAL 6 SECOND
+ON COMPLETION PRESERVE
+DO
+INSERT INTO table_2 VALUES (1);
+CREATE EVENT event_3 ON SCHEDULE EVERY 2 SECOND ENDS NOW() + INTERVAL 1 SECOND
+ON COMPLETION NOT PRESERVE
+DO
+INSERT INTO table_3 VALUES (1);
+CREATE EVENT event_4 ON SCHEDULE EVERY 1 SECOND ENDS NOW() + INTERVAL 1 SECOND
+ON COMPLETION PRESERVE
+DO
+INSERT INTO table_4 VALUES (1);
+SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_1;
+IF(SUM(a) >= 4, 'OK', 'ERROR')
+OK
+SELECT IF(SUM(a) >= 5, 'OK', 'ERROR') FROM table_2;
+IF(SUM(a) >= 5, 'OK', 'ERROR')
+OK
+SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_3;
+IF(SUM(a) >= 1, 'OK', 'ERROR')
+OK
+SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_4;
+IF(SUM(a) >= 1, 'OK', 'ERROR')
+OK
+SELECT IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, 'OK', 'ERROR')
+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 <= 0, 'OK', 'ERROR')
+FROM INFORMATION_SCHEMA.EVENTS
+WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2';
+IF(LAST_EXECUTED-ENDS <= 0, 'OK', 'ERROR')
+OK
+"Already dropped because ended. Therefore an error."
+DROP EVENT event_3;
+ERROR HY000: Unknown event 'event_3'
+DROP EVENT event_1;
+"Should be preserved"
+SELECT EVENT_NAME, STATUS FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_NAME;
+EVENT_NAME STATUS
+event_2 DISABLED
+event_4 DISABLED
+DROP EVENT event_2;
+DROP EVENT event_4;
+DROP TABLE table_1;
+DROP TABLE table_2;
+DROP TABLE table_3;
+DROP TABLE table_4;
+DROP DATABASE events_test;
+SET GLOBAL event_scheduler=OFF;
diff --git a/mysql-test/r/events_stress.result b/mysql-test/r/events_stress.result
new file mode 100644
index 00000000000..17eb32b36b7
--- /dev/null
+++ b/mysql-test/r/events_stress.result
@@ -0,0 +1,65 @@
+CREATE DATABASE IF NOT EXISTS events_test;
+CREATE DATABASE events_conn1_test2;
+CREATE TABLE events_test.fill_it1(test_name varchar(20), occur datetime);
+CREATE TABLE events_test.fill_it2(test_name varchar(20), occur datetime);
+CREATE TABLE events_test.fill_it3(test_name varchar(20), occur datetime);
+CREATE USER event_user2@localhost;
+CREATE DATABASE events_conn2_db;
+GRANT ALL ON *.* TO event_user2@localhost;
+CREATE USER event_user3@localhost;
+CREATE DATABASE events_conn3_db;
+GRANT ALL ON *.* TO event_user3@localhost;
+"In the second connection we create some events which won't be dropped till the end"
+"In the second connection we create some events which won't be dropped till the end"
+USE events_conn1_test2;
+CREATE EVENT ev_drop1 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
+CREATE EVENT ev_drop2 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
+CREATE EVENT ev_drop3 ON SCHEDULE EVERY 10 MINUTE DISABLE DO SELECT 1;
+USE events_test;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS;
+COUNT(*)
+103
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
+COUNT(*)
+3
+DROP DATABASE events_conn1_test2;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
+COUNT(*)
+0
+"Now testing stability - dropping db -> events while they are running"
+CREATE DATABASE events_conn1_test2;
+USE events_conn1_test2;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
+COUNT(*)
+50
+SET GLOBAL event_scheduler=on;
+DROP DATABASE events_conn1_test2;
+SET GLOBAL event_scheduler=off;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
+COUNT(*)
+0
+CREATE DATABASE events_conn1_test3;
+USE events_conn1_test3;
+SET GLOBAL event_scheduler=on;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test3';
+COUNT(*)
+50
+CREATE DATABASE events_conn1_test4;
+USE events_conn1_test4;
+CREATE DATABASE events_conn1_test2;
+USE events_conn1_test2;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA='events_conn1_test2';
+COUNT(*)
+50
+DROP DATABASE events_conn2_db;
+DROP DATABASE events_conn3_db;
+DROP DATABASE events_conn1_test2;
+DROP DATABASE events_conn1_test3;
+SET GLOBAL event_scheduler=off;
+DROP DATABASE events_conn1_test4;
+SET GLOBAL event_scheduler=on;
+USE events_test;
+DROP TABLE fill_it1;
+DROP TABLE fill_it2;
+DROP TABLE fill_it3;
+DROP DATABASE events_test;
diff --git a/mysql-test/r/events_time_zone.result b/mysql-test/r/events_time_zone.result
new file mode 100644
index 00000000000..b20aa445183
--- /dev/null
+++ b/mysql-test/r/events_time_zone.result
@@ -0,0 +1,149 @@
+DROP DATABASE IF EXISTS mysqltest_db1;
+CREATE DATABASE mysqltest_db1;
+USE mysqltest_db1;
+SET GLOBAL EVENT_SCHEDULER= OFF;
+SET @save_time_zone= @@TIME_ZONE;
+CREATE TABLE t_step (step INT);
+INSERT INTO t_step VALUES (@step);
+CREATE FUNCTION round_to_step(i INT, n INT) RETURNS INT
+BEGIN
+DECLARE step INT;
+SELECT * INTO step FROM t_step;
+# We add 0.1 as a protection from inexact division.
+RETURN FLOOR((i % (step * n) + 0.1) / step);
+END//
+SET @step3= @step * 3;
+SET @step6= @step * 6;
+SET @unix_time= @unix_time - @unix_time % @step6;
+INSERT INTO mysql.time_zone VALUES (NULL, 'N');
+SET @tzid= LAST_INSERT_ID();
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 0, 0, 0, 'b16420_0');
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 1, @step3 - @step, 1, 'b16420_1');
+INSERT INTO mysql.time_zone_name VALUES ('bug16420', @tzid);
+CREATE TABLE t1 (count INT, unix_time INT, local_time INT, comment CHAR(80));
+CREATE TABLE t2 (count INT);
+INSERT INTO t2 VALUES (1);
+CREATE FUNCTION f1(comment CHAR(80)) RETURNS INT
+BEGIN
+DECLARE orig_tz CHAR(64);
+DECLARE unix_time INT;
+DECLARE local_now DATETIME;
+DECLARE utc_now DATETIME;
+DECLARE local_time INT;
+SET unix_time= UNIX_TIMESTAMP();
+SET local_now= FROM_UNIXTIME(unix_time);
+SET orig_tz= @@TIME_ZONE;
+SET TIME_ZONE = '+00:00';
+SET utc_now= FROM_UNIXTIME(unix_time);
+SET TIME_ZONE= orig_tz;
+SET local_time = unix_time + TIMESTAMPDIFF(SECOND, utc_now, local_now);
+SET unix_time= round_to_step(unix_time, 6);
+SET local_time= round_to_step(local_time, 6);
+INSERT INTO t1 VALUES ((SELECT count FROM t2),
+unix_time, local_time, comment);
+RETURN 0;
+END//
+SET TIME_ZONE= '+00:00';
+CREATE EVENT e1 ON SCHEDULE EVERY @step SECOND
+STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1("<e1>");
+SET TIME_ZONE= 'bug16420';
+CREATE EVENT e2 ON SCHEDULE EVERY @step SECOND
+STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1("<e2>");
+SET GLOBAL EVENT_SCHEDULER= ON;
+SELECT SLEEP(@step / 2);
+SLEEP(@step / 2)
+0
+SET GLOBAL EVENT_SCHEDULER= OFF;
+SELECT * FROM t1 ORDER BY count, comment;
+count unix_time local_time comment
+1 1 1 <e1>
+1 1 3 <e2>
+1 1 3 e2 should be executed
+2 2 2 <e1>
+2 2 4 <e2>
+2 2 4 e2 should be executed
+3 3 3 <e1>
+3 3 3 Second pass after backward -2 step shift, e2 should not be executed
+4 4 4 <e1>
+4 4 4 Second pass after backward -2 step shift, e2 should not be executed
+5 5 5 <e1>
+5 5 5 <e2>
+5 5 5 e2 should be executed
+6 0 0 <e1>
+6 0 2 <e2>
+6 0 2 Forward +2 step shift, local 0, 1 are skipped, e2 should be executed
+7 1 1 <e1>
+7 1 3 <e2>
+7 1 3 e2 should be executed
+SET TIME_ZONE= @save_time_zone;
+DROP EVENT e2;
+DROP EVENT e1;
+DROP FUNCTION f1;
+DROP TABLE t1, t2;
+DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid;
+SET TIME_ZONE= '+00:00';
+CREATE TABLE t1 (event CHAR(2), dt DATE, offset INT);
+INSERT INTO mysql.time_zone VALUES (NULL, 'N');
+SET @tzid= LAST_INSERT_ID();
+SET @now= UNIX_TIMESTAMP();
+SET @offset_month_01= UNIX_TIMESTAMP('2030-01-31 12:00:00') - @now;
+SET @offset_month_02= UNIX_TIMESTAMP('2030-02-28 12:00:00') - @now - 5*@step;
+SET @offset_month_03= UNIX_TIMESTAMP('2030-03-31 12:00:00') - @now - 5*@step;
+SET @offset_month_04= UNIX_TIMESTAMP('2030-04-30 12:00:00') - @now - 13*@step;
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 0, @offset_month_01, 0, 'b16420_0');
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 1, @offset_month_02, 1, 'b16420_1');
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 2, @offset_month_03, 1, 'b16420_2');
+INSERT INTO mysql.time_zone_transition_type
+VALUES (@tzid, 3, @offset_month_04, 1, 'b16420_3');
+INSERT INTO mysql.time_zone_transition
+VALUES (@tzid, @now, 0);
+INSERT INTO mysql.time_zone_transition
+VALUES (@tzid, @now + 3 * @step, 1);
+INSERT INTO mysql.time_zone_transition
+VALUES (@tzid, @now + 7 * @step, 2);
+INSERT INTO mysql.time_zone_transition
+VALUES (@tzid, @now + 12 * @step, 3);
+INSERT INTO mysql.time_zone_name VALUES ('bug16420_2', @tzid);
+SET TIME_ZONE= 'bug16420_2';
+SET GLOBAL EVENT_SCHEDULER= ON;
+SET GLOBAL EVENT_SCHEDULER= OFF;
+Below we should see the following:
+- On Jan 31 only e2 is executed, because we started later than
+e1 should have been executed. Offset of e2 is 0 because of
+the late start, not 1.
+- The next execution is on Feb 28 (last day of Feb). Both events
+are executed in their times, offsets are -1 and 1.
+- The next time is Mar 31. Because the time of event
+execution was skipped over, events are executed right away,
+offsets are 2 and 2.
+- The next time is Apr 30. Events are again executed in their
+appointed times, offsets are -1 and 1.
+SELECT * FROM t1 ORDER BY dt, event;
+event dt offset
+e2 2030-01-31 0
+e1 2030-02-28 -1
+e2 2030-02-28 1
+e1 2030-03-31 2
+e2 2030-03-31 2
+e1 2030-04-30 -1
+e2 2030-04-30 1
+DROP EVENT e2;
+DROP EVENT e1;
+DROP TABLE t1;
+SET TIME_ZONE= @save_time_zone;
+DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid;
+DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid;
+DROP FUNCTION round_to_step;
+DROP TABLE t_step;
+DROP DATABASE mysqltest_db1;
+End of 5.1 tests.
diff --git a/mysql-test/r/events_trans.result b/mysql-test/r/events_trans.result
new file mode 100644
index 00000000000..16ec64b4c50
--- /dev/null
+++ b/mysql-test/r/events_trans.result
@@ -0,0 +1,118 @@
+drop database if exists events_test;
+drop database if exists mysqltest_no_such_database;
+create database events_test;
+use events_test;
+
+Test that Events DDL issue an implicit COMMIT
+
+
+set autocommit=off;
+select @@autocommit;
+@@autocommit
+0
+create table t1 (a varchar(255)) engine=innodb;
+begin work;
+insert into t1 (a) values ("OK: create event");
+create event e1 on schedule every 1 day do select 1;
+rollback work;
+select * from t1;
+a
+OK: create event
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: alter event");
+alter event e1 on schedule every 2 day do select 2;
+rollback work;
+select * from t1;
+a
+OK: alter event
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: alter event rename");
+alter event e1 rename to e2;
+rollback work;
+select * from t1;
+a
+OK: alter event rename
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: drop event");
+drop event e2;
+rollback work;
+select * from t1;
+a
+OK: drop event
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: drop event if exists");
+drop event if exists e2;
+Warnings:
+Note 1305 Event e2 does not exist
+rollback work;
+select * from t1;
+a
+OK: drop event if exists
+delete from t1;
+commit work;
+create event e1 on schedule every 1 day do select 1;
+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 1537 Event 'e1' already exists
+rollback work;
+select * from t1;
+a
+OK: create event if not exists
+delete from t1;
+commit work;
+
+Now check various error conditions: make sure we issue an
+implicit commit anyway
+
+begin work;
+insert into t1 (a) values ("OK: create event: event already exists");
+create event e1 on schedule every 2 day do select 2;
+ERROR HY000: Event 'e1' already exists
+rollback work;
+select * from t1;
+a
+OK: create event: event already exists
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: alter event rename: rename to same name");
+alter event e1 rename to e1;
+ERROR HY000: Same old and new event name
+rollback work;
+select * from t1;
+a
+OK: alter event rename: rename to same name
+delete from t1;
+commit work;
+create event e2 on schedule every 3 day do select 3;
+begin work;
+insert into t1 (a) values ("OK: alter event rename: destination exists");
+alter event e2 rename to e1;
+ERROR HY000: Event 'e1' already exists
+rollback work;
+select * from t1;
+a
+OK: alter event rename: destination exists
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: create event: database does not exist");
+create event mysqltest_no_such_database.e1 on schedule every 1 day do select 1;
+ERROR 42000: Unknown database 'mysqltest_no_such_database'
+rollback work;
+select * from t1;
+a
+OK: create event: database does not exist
+delete from t1;
+commit work;
+drop database events_test;
diff --git a/mysql-test/r/events_trans_notembedded.result b/mysql-test/r/events_trans_notembedded.result
new file mode 100644
index 00000000000..1e3dfffe232
--- /dev/null
+++ b/mysql-test/r/events_trans_notembedded.result
@@ -0,0 +1,45 @@
+drop database if exists events_test;
+drop database if exists mysqltest_db2;
+create database events_test;
+use events_test;
+grant create, insert, select, delete on mysqltest_db2.*
+to mysqltest_user1@localhost;
+create database mysqltest_db2;
+set autocommit=off;
+select @@autocommit;
+@@autocommit
+0
+create table t1 (a varchar(255)) engine=innodb;
+begin work;
+insert into t1 (a) values ("OK: create event: insufficient privileges");
+create event e1 on schedule every 1 day do select 1;
+ERROR 42000: Access denied for user 'mysqltest_user1'@'localhost' to database 'mysqltest_db2'
+rollback work;
+select * from t1;
+a
+OK: create event: insufficient privileges
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: alter event: insufficient privileges");
+alter event e1 on schedule every 1 day do select 1;
+ERROR 42000: Access denied for user 'mysqltest_user1'@'localhost' to database 'mysqltest_db2'
+rollback work;
+select * from t1;
+a
+OK: alter event: insufficient privileges
+delete from t1;
+commit work;
+begin work;
+insert into t1 (a) values ("OK: drop event: insufficient privileges");
+drop event e1;
+ERROR 42000: Access denied for user 'mysqltest_user1'@'localhost' to database 'mysqltest_db2'
+rollback work;
+select * from t1;
+a
+OK: drop event: insufficient privileges
+delete from t1;
+commit work;
+drop user mysqltest_user1@localhost;
+drop database mysqltest_db2;
+drop database events_test;
diff --git a/mysql-test/r/exampledb.result b/mysql-test/r/exampledb.result
index 9bfb77c1c0b..6eea24e2e1f 100644
--- a/mysql-test/r/exampledb.result
+++ b/mysql-test/r/exampledb.result
@@ -1,3 +1,5 @@
+drop database if exists events_test;
+drop database if exists events_test2;
drop table if exists t1;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result
index a4c8432d2a4..2ce8b8c384f 100644
--- a/mysql-test/r/explain.result
+++ b/mysql-test/r/explain.result
@@ -24,9 +24,9 @@ explain select * from t1 use key (str,str) where str="foo";
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const str str 11 const 1
explain select * from t1 use key (str,str,foo) where str="foo";
-ERROR HY000: Key 'foo' doesn't exist in table 't1'
+ERROR 42000: Key 'foo' doesn't exist in table 't1'
explain select * from t1 ignore key (str,str,foo) where str="foo";
-ERROR HY000: Key 'foo' doesn't exist in table 't1'
+ERROR 42000: Key 'foo' doesn't exist in table 't1'
drop table t1;
explain select 1;
id select_type table type possible_keys key key_len ref rows Extra
@@ -61,28 +61,28 @@ create table t1(f1 int, f2 int);
insert into t1 values (1,1);
create view v1 as select * from t1 where f1=1;
explain extended select * from v1 where f2=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 '1' AS `f1`,'1' AS `f2` from `test`.`t1` where 1
explain extended select * from t1 where 0;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+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
Warnings:
Note 1003 select `test`.`t1`.`f1` AS `f1`,`test`.`t1`.`f2` AS `f2` from `test`.`t1` where 0
explain extended select * from t1 where 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 '1' AS `f1`,'1' AS `f2` from `test`.`t1` where 1
explain extended select * from t1 having 0;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING
+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 HAVING
Warnings:
Note 1003 select `test`.`t1`.`f1` AS `f1`,`test`.`t1`.`f2` AS `f2` from `test`.`t1` having 0
explain extended select * from t1 having 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 '1' AS `f1`,'1' AS `f2` from `test`.`t1` having 1
drop view v1;
diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result
index a005db4deac..00287338459 100644
--- a/mysql-test/r/federated.result
+++ b/mysql-test/r/federated.result
@@ -79,11 +79,11 @@ SHOW CREATE TABLE federated.t2;
Table Create Table
t2 CREATE TABLE `t2` (
`id` int(20) NOT NULL,
- `name` varchar(32) NOT NULL default ''
+ `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.t2 (id, name) VALUES (1, 'foo');
INSERT INTO federated.t2 (id, name) VALUES (2, 'fee');
-SELECT * FROM federated.t2;
+SELECT * FROM federated.t2 ORDER BY id, name;
id name
1 foo
2 fee
@@ -108,7 +108,7 @@ 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');
-SELECT * FROM federated.t1;
+SELECT * FROM federated.t1 ORDER BY id,name;
id name
1 foo
2 fee
@@ -122,7 +122,7 @@ 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');
-SELECT * FROM federated.`t1%`;
+SELECT * FROM federated.`t1%` ORDER BY id, name;
id name
1 foo
2 fee
@@ -1608,6 +1608,72 @@ fld_cid fld_name fld_parentid fld_delt
5 Torkel 0 0
DROP TABLE federated.t1;
DROP TABLE federated.bug_17377_table;
+DROP TABLE IF EXISTS federated.test;
+CREATE TABLE federated.test (
+`id` int(11) NOT NULL,
+`val1` varchar(255) NOT NULL,
+`val2` varchar(255) NOT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+DROP TABLE IF EXISTS federated.test_local;
+DROP TABLE IF EXISTS federated.test_remote;
+CREATE TABLE federated.test_local (
+`id` int(11) NOT NULL,
+`val1` varchar(255) NOT NULL,
+`val2` varchar(255) NOT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO federated.test_local VALUES (1, 'foo', 'bar'),
+(2, 'bar', 'foo');
+CREATE TABLE federated.test_remote (
+`id` int(11) NOT NULL,
+`val1` varchar(255) NOT NULL,
+`val2` varchar(255) NOT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=FEDERATED DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/test';
+insert into federated.test_remote select * from federated.test_local;
+select * from federated.test_remote;
+id val1 val2
+1 foo bar
+2 bar foo
+delete from federated.test_remote where id in (1,2);
+insert into federated.test_remote select * from federated.test_local;
+select * from federated.test_remote;
+id val1 val2
+2 bar foo
+1 foo bar
+DROP TABLE federated.test_local;
+DROP TABLE federated.test_remote;
+DROP TABLE federated.test;
+drop table if exists federated.t1;
+create table federated.t1 (a int, b int, c int);
+drop table if exists federated.t1;
+drop table if exists federated.t2;
+create table federated.t1 (a int, b int, c int) engine=federated connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
+create trigger federated.t1_bi before insert on federated.t1 for each row set new.c= new.a * new.b;
+create table federated.t2 (a int, b int);
+insert into federated.t2 values (13, 17), (19, 23);
+insert into federated.t1 (a, b) values (1, 2), (3, 5), (7, 11);
+select * from federated.t1 order by a;
+a b c
+1 2 2
+3 5 15
+7 11 77
+delete from federated.t1;
+insert into federated.t1 (a, b) select * from federated.t2;
+select * from federated.t1 order by a;
+a b c
+13 17 221
+19 23 437
+delete from federated.t1;
+load data infile '../std_data_ln/loaddata5.dat' into table federated.t1 fields terminated by '' enclosed by '' ignore 1 lines (a, b);
+select * from federated.t1 order by a;
+a b c
+3 4 12
+5 6 30
+drop tables federated.t1, federated.t2;
+drop table federated.t1;
create table federated.t1 (i1 int, i2 int, i3 int);
create table federated.t2 (id int, c1 varchar(20), c2 varchar(20));
create table federated.t1 (i1 int, i2 int, i3 int) ENGINE=FEDERATED CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
@@ -1694,72 +1760,6 @@ id c1 c2
9 abc ppc
drop table federated.t1, federated.t2;
drop table federated.t1, federated.t2;
-DROP TABLE IF EXISTS federated.test;
-CREATE TABLE federated.test (
-`id` int(11) NOT NULL,
-`val1` varchar(255) NOT NULL,
-`val2` varchar(255) NOT NULL,
-PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-DROP TABLE IF EXISTS federated.test_local;
-DROP TABLE IF EXISTS federated.test_remote;
-CREATE TABLE federated.test_local (
-`id` int(11) NOT NULL,
-`val1` varchar(255) NOT NULL,
-`val2` varchar(255) NOT NULL,
-PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-INSERT INTO federated.test_local VALUES (1, 'foo', 'bar'),
-(2, 'bar', 'foo');
-CREATE TABLE federated.test_remote (
-`id` int(11) NOT NULL,
-`val1` varchar(255) NOT NULL,
-`val2` varchar(255) NOT NULL,
-PRIMARY KEY (`id`)
-) ENGINE=FEDERATED DEFAULT CHARSET=latin1
-CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/test';
-insert into federated.test_remote select * from federated.test_local;
-select * from federated.test_remote;
-id val1 val2
-1 foo bar
-2 bar foo
-delete from federated.test_remote where id in (1,2);
-insert into federated.test_remote select * from federated.test_local;
-select * from federated.test_remote;
-id val1 val2
-2 bar foo
-1 foo bar
-DROP TABLE federated.test_local;
-DROP TABLE federated.test_remote;
-DROP TABLE federated.test;
-drop table if exists federated.t1;
-create table federated.t1 (a int, b int, c int);
-drop table if exists federated.t1;
-drop table if exists federated.t2;
-create table federated.t1 (a int, b int, c int) engine=federated connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
-create trigger federated.t1_bi before insert on federated.t1 for each row set new.c= new.a * new.b;
-create table federated.t2 (a int, b int);
-insert into federated.t2 values (13, 17), (19, 23);
-insert into federated.t1 (a, b) values (1, 2), (3, 5), (7, 11);
-select * from federated.t1;
-a b c
-1 2 2
-3 5 15
-7 11 77
-delete from federated.t1;
-insert into federated.t1 (a, b) select * from federated.t2;
-select * from federated.t1;
-a b c
-13 17 221
-19 23 437
-delete from federated.t1;
-load data infile '../std_data_ln/loaddata5.dat' into table federated.t1 fields terminated by '' enclosed by '' ignore 1 lines (a, b);
-select * from federated.t1;
-a b c
-3 4 12
-5 6 30
-drop tables federated.t1, federated.t2;
-drop table federated.t1;
create table t1 (id int not null auto_increment primary key, val int);
create table t1
(id int not null auto_increment primary key, val int) engine=federated
@@ -1934,6 +1934,27 @@ 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
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'
+ DEFAULT CHARSET=utf8;
+SELECT transactions FROM information_schema.engines WHERE engine="FEDERATED";
+transactions
+NO
+INSERT INTO federated.t1 VALUES (1);
+SET autocommit=0;
+INSERT INTO federated.t1 VALUES (2);
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+SET autocommit=1;
+SELECT * FROM federated.t1;
+a
+1
+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;
@@ -2045,6 +2066,7 @@ select 1 from t1 order by a;
drop table t1;
drop table t1;
drop view v1;
+End of 5.1 tests
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
DROP TABLE IF EXISTS federated.t1;
diff --git a/mysql-test/r/federated_server.result b/mysql-test/r/federated_server.result
new file mode 100644
index 00000000000..32717b4f0e3
--- /dev/null
+++ b/mysql-test/r/federated_server.result
@@ -0,0 +1,295 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+stop slave;
+DROP DATABASE IF EXISTS federated;
+CREATE DATABASE federated;
+DROP DATABASE IF EXISTS federated;
+CREATE DATABASE federated;
+create database first_db;
+create database second_db;
+use first_db;
+DROP TABLE IF EXISTS first_db.t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE first_db.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+DEFAULT CHARSET=latin1;
+DROP TABLE IF EXISTS first_db.t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TABLE first_db.t2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+DEFAULT CHARSET=latin1;
+use second_db;
+DROP TABLE IF EXISTS second_db.t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE second_db.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+DEFAULT CHARSET=latin1;
+DROP TABLE IF EXISTS second_db.t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TABLE second_db.t2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+DEFAULT CHARSET=latin1;
+drop server if exists 'server_one';
+create server 'server_one' foreign data wrapper 'mysql' options
+(HOST '127.0.0.1',
+DATABASE 'first_db',
+USER 'root',
+PASSWORD '',
+PORT SLAVE_PORT,
+SOCKET '',
+OWNER 'root');
+drop server if exists 'server_two';
+create server 'server_two' foreign data wrapper 'mysql' options
+(HOST '127.0.0.1',
+DATABASE 'second_db',
+USER 'root',
+PASSWORD '',
+PORT SLAVE_PORT,
+SOCKET '',
+OWNER 'root');
+select * from mysql.servers;
+Server_name Host Db Username Password Port Socket Wrapper Owner
+server_one 127.0.0.1 first_db root SLAVE_PORT mysql root
+server_two 127.0.0.1 second_db root SLAVE_PORT mysql root
+DROP TABLE IF EXISTS federated.old;
+Warnings:
+Note 1051 Unknown table 'old'
+CREATE TABLE federated.old (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/first_db/t1';
+INSERT INTO federated.old (id, name) values (1, 'federated.old-> first_db.t1, url format');
+SELECT * FROM federated.old;
+id name
+1 federated.old-> first_db.t1, url format
+DROP TABLE IF EXISTS federated.old2;
+Warnings:
+Note 1051 Unknown table 'old2'
+CREATE TABLE federated.old2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/first_db/t2';
+INSERT INTO federated.old2 (id, name) values (1, 'federated.old2-> first_db.t2, url format');
+SELECT * FROM federated.old2;
+id name
+1 federated.old2-> first_db.t2, url format
+DROP TABLE IF EXISTS federated.urldb2t1;
+Warnings:
+Note 1051 Unknown table 'urldb2t1'
+CREATE TABLE federated.urldb2t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/second_db/t1';
+INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> second_db.t1, url format');
+SELECT * FROM federated.urldb2t1;
+id name
+1 federated.urldb2t1 -> second_db.t1, url format
+DROP TABLE IF EXISTS federated.urldb2t2;
+Warnings:
+Note 1051 Unknown table 'urldb2t2'
+CREATE TABLE federated.urldb2t2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/second_db/t2';
+INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> second_db.t2, url format');
+SELECT * FROM federated.urldb2t2;
+id name
+1 federated.urldb2t2 -> second_db.t2, url format
+DROP TABLE IF EXISTS federated.t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE federated.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='server_one';
+INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, first_db.t1');
+SELECT * FROM federated.t1;
+id name
+1 federated.old-> first_db.t1, url format
+1 server_one, new scheme, first_db.t1
+DROP TABLE IF EXISTS federated.whatever;
+Warnings:
+Note 1051 Unknown table 'whatever'
+CREATE TABLE federated.whatever (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='server_one/t1';
+INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever, first_db.t1');
+SELECT * FROM federated.whatever;
+id name
+1 federated.old-> first_db.t1, url format
+1 server_one, new scheme, first_db.t1
+1 server_one, new scheme, whatever, first_db.t1
+ALTER SERVER 'server_one' options(DATABASE 'second_db');
+INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, second_db.t1');
+SELECT * FROM federated.t1;
+id name
+1 federated.urldb2t1 -> second_db.t1, url format
+1 server_two, new scheme, second_db.t1
+INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever, second_db.t1');
+SELECT * FROM federated.whatever;
+id name
+1 federated.urldb2t1 -> second_db.t1, url format
+1 server_two, new scheme, second_db.t1
+1 server_two, new scheme, whatever, second_db.t1
+drop table federated.t1;
+drop server 'server_one';
+drop server 'server_two';
+select * from mysql.servers;
+Server_name Host Db Username Password Port Socket Wrapper Owner
+drop table first_db.t1;
+drop table second_db.t1;
+drop database first_db;
+drop database second_db;
+create database db_legitimate;
+create database db_bogus;
+use db_legitimate;
+CREATE TABLE db_legitimate.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ );
+INSERT INTO db_legitimate.t1 VALUES ('1','this is legitimate');
+use db_bogus;
+CREATE TABLE db_bogus.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ )
+;
+INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
+create server 's1' foreign data wrapper 'mysql' options
+(HOST '127.0.0.1',
+DATABASE 'db_legitimate',
+USER 'root',
+PASSWORD '',
+PORT SLAVE_PORT,
+SOCKET '',
+OWNER 'root');
+create user guest_select@localhost;
+grant select on federated.* to guest_select@localhost;
+create user guest_super@localhost;
+grant select,SUPER,RELOAD on *.* to guest_super@localhost;
+create user guest_usage@localhost;
+grant usage on *.* to guest_usage@localhost;
+CREATE TABLE federated.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+ ) ENGINE = FEDERATED CONNECTION = 's1';
+select * from federated.t1;
+id name
+1 this is legitimate
+alter server s1 options (database 'db_bogus');
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+flush tables;
+select * from federated.t1;
+id name
+1 this is legitimate
+alter server s1 options (database 'db_bogus');
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+flush tables;
+select * from federated.t1;
+id name
+1 this is legitimate
+alter server s1 options (database 'db_bogus');
+flush tables;
+select * from federated.t1;
+id name
+2 this is bogus
+drop server if exists 's1';
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+create server 's1' foreign data wrapper 'mysql' options
+(HOST '127.0.0.1',
+DATABASE 'db_legitimate',
+USER 'root',
+PASSWORD '',
+PORT SLAVE_PORT,
+SOCKET '',
+OWNER 'root');
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+drop server 's1';
+create server 's1' foreign data wrapper 'mysql' options
+(HOST '127.0.0.1',
+DATABASE 'db_legitimate',
+USER 'root',
+PASSWORD '',
+PORT SLAVE_PORT,
+SOCKET '',
+OWNER 'root');
+flush tables;
+select * from federated.t1;
+id name
+1 this is legitimate
+drop database db_legitimate;
+drop database db_bogus;
+drop user guest_super@localhost;
+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 ()
+begin
+DECLARE v INT DEFAULT 0;
+DECLARE e INT DEFAULT 0;
+DECLARE i INT;
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
+SET i = sleep(5);
+WHILE v < 10000 do
+CREATE SERVER s
+FOREIGN DATA WRAPPER mysql
+OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
+ALTER SERVER s OPTIONS (USER 'Remote');
+DROP SERVER s;
+SET v = v + 1;
+END WHILE;
+SELECT e > 0;
+END//
+use test;
+call p1();
+call p1();
+e > 0
+1
+e > 0
+1
+drop procedure p1;
+drop server if exists s;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/r/federated_transactions.result b/mysql-test/r/federated_transactions.result
new file mode 100644
index 00000000000..40644e3535e
--- /dev/null
+++ b/mysql-test/r/federated_transactions.result
@@ -0,0 +1,49 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+stop slave;
+DROP DATABASE IF EXISTS federated;
+CREATE DATABASE federated;
+DROP DATABASE IF EXISTS federated;
+CREATE DATABASE federated;
+DROP TABLE IF EXISTS federated.t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE federated.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(32) NOT NULL default ''
+ )
+DEFAULT CHARSET=latin1 ENGINE=innodb;
+DROP TABLE IF EXISTS federated.t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE federated.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(32) NOT NULL default ''
+ )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
+set autocommit=0;
+INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
+INSERT INTO federated.t1 (id, name) VALUES (2, 'fee');
+COMMIT;
+INSERT INTO federated.t1 (id, name) VALUES (3, 'fie');
+INSERT INTO federated.t1 (id, name) VALUES (4, 'fum');
+ROLLBACK;
+set autocommit=1;
+INSERT INTO federated.t1 (id, name) VALUES (5, 'foe');
+INSERT INTO federated.t1 (id, name) VALUES (6, 'fig');
+SELECT * FROM federated.t1;
+id name
+1 foo
+2 fee
+5 foe
+6 fig
+DELETE FROM federated.t1;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/r/flush.result b/mysql-test/r/flush.result
index ce64e09c1d3..f1b6c471943 100644
--- a/mysql-test/r/flush.result
+++ b/mysql-test/r/flush.result
@@ -72,3 +72,19 @@ 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;
+set global general_log= on;
+flush tables with read lock;
+flush logs;
+unlock tables;
+set global read_only=1;
+flush logs;
+unlock tables;
+flush tables with read lock;
+flush logs;
+unlock tables;
+set global general_log= @old_general_log;
+set global read_only= @old_read_only;
+End of 5.1 tests
diff --git a/mysql-test/r/flush2.result b/mysql-test/r/flush2.result
index 13bcc371ef6..5056955c7b7 100644
--- a/mysql-test/r/flush2.result
+++ b/mysql-test/r/flush2.result
@@ -4,9 +4,11 @@ show variables like 'log_bin%';
Variable_name Value
log_bin OFF
log_bin_trust_function_creators ON
+log_bin_trust_routine_creators ON
flush logs;
show variables like 'log_bin%';
Variable_name Value
log_bin OFF
log_bin_trust_function_creators ON
+log_bin_trust_routine_creators ON
set global expire_logs_days = 0;
diff --git a/mysql-test/r/flush_block_commit_notembedded.result b/mysql-test/r/flush_block_commit_notembedded.result
index 599efeb3e2d..16fb143ee4c 100644
--- a/mysql-test/r/flush_block_commit_notembedded.result
+++ b/mysql-test/r/flush_block_commit_notembedded.result
@@ -5,11 +5,11 @@ insert t1 values (1);
flush tables with read lock;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
+master-bin.000001 106
commit;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
+master-bin.000001 106
unlock tables;
drop table t1;
set autocommit=1;
diff --git a/mysql-test/r/flush_table.result b/mysql-test/r/flush_table.result
index db54d2e53ef..8821bade6b4 100644
--- a/mysql-test/r/flush_table.result
+++ b/mysql-test/r/flush_table.result
@@ -6,6 +6,37 @@ flush table t1;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
+unlock tables;
+lock table t1 read;
+lock table t1 read;
+flush table t1;
+select * from t1;
+a
+1
+unlock tables;
+select * from t1;
+a
+1
+unlock tables;
+lock table t1 write;
+lock table t1 read;
+flush table t1;
+select * from t1;
+a
+1
+unlock tables;
+unlock tables;
+lock table t1 read;
+lock table t1 write;
+flush table t1;
+select * from t1;
+a
+1
+unlock tables;
+unlock tables;
+select * from t1;
+a
+1
drop table t1;
create table t1(table_id char(20) primary key);
create table t2(table_id char(20) primary key);
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index 29fb430bb97..c3fa427127b 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -14,8 +14,8 @@ a b
Only MyISAM tables support collections
Full-text indexes are called collections
explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 fulltext a a 0 1 Using where
+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'))
select * from t1 where MATCH(a,b) AGAINST ("indexes");
@@ -41,6 +41,15 @@ a b
Full-text indexes are called collections
Only MyISAM tables support collections
MySQL has now support for full-text search
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE);
+a b
+Full-text indexes are called collections
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION);
+a b
+Full-text indexes are called collections
+Only MyISAM tables support collections
+select * from t1 where MATCH(a,b) AGAINST ("indexes" IN BOOLEAN MODE WITH QUERY EXPANSION);
+ERROR 42000: You 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 QUERY EXPANSION)' at line 1
explain select * from t1 where MATCH(a,b) AGAINST ("collections");
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 fulltext a a 0 1 Using where
@@ -75,8 +84,8 @@ select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE
a b
MySQL has now support for full-text search
explain extended select * from t1 where MATCH(a,b) AGAINST("support -collections" IN BOOLEAN MODE);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 fulltext a a 0 1 Using where
+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))
select * from t1 where MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE);
@@ -182,13 +191,13 @@ create table t1 (a varchar(200) not null, fulltext (a));
insert t1 values ("aaa10 bbb20"), ("aaa20 bbb15"), ("aaa30 bbb10");
select * from t1 where match a against ("+aaa* +bbb*" in boolean mode);
a
-aaa10 bbb20
-aaa20 bbb15
aaa30 bbb10
+aaa20 bbb15
+aaa10 bbb20
select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode);
a
-aaa20 bbb15
aaa30 bbb10
+aaa20 bbb15
select * from t1 where match a against ("+aaa* +ccc*" in boolean mode);
a
select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
@@ -196,12 +205,12 @@ a
aaa10 bbb20
select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
a
-aaa20 bbb15
aaa30 bbb10
+aaa20 bbb15
select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
a
-aaa20 bbb15
aaa30 bbb10
+aaa20 bbb15
drop table t1;
CREATE TABLE t1 (
id int(11),
@@ -239,7 +248,7 @@ t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `ticket` int(11) default NULL,
+ `ticket` int(11) DEFAULT NULL,
`inhalt` text,
KEY `tig` (`ticket`),
FULLTEXT KEY `tix` (`inhalt`)
@@ -436,12 +445,16 @@ testword''
SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE);
a
testword''
+INSERT INTO t1 VALUES('test\'s');
+SELECT a FROM t1 WHERE MATCH a AGAINST('test' IN BOOLEAN MODE);
+a
+test's
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(10000), FULLTEXT(a));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10000) default NULL,
+ `a` varchar(10000) DEFAULT NULL,
FULLTEXT KEY `a` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -469,3 +482,15 @@ 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);
+a
+City Of God
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE);
+a
+City Of God
+SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE);
+a
+City Of God
+DROP TABLE t1;
diff --git a/mysql-test/r/fulltext2.result b/mysql-test/r/fulltext2.result
index f6a4b20bc22..7e3e25370d3 100644
--- a/mysql-test/r/fulltext2.result
+++ b/mysql-test/r/fulltext2.result
@@ -241,3 +241,11 @@ select * from t1 where match a against('ab c' in boolean mode);
a
drop table t1;
set names latin1;
+SET NAMES utf8;
+CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+INSERT INTO t1 VALUES('„MySQL“');
+SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE);
+a
+„MySQL“
+DROP TABLE t1;
+SET NAMES latin1;
diff --git a/mysql-test/r/fulltext3.result b/mysql-test/r/fulltext3.result
index 019d5f472ed..4ec48369ad1 100644
--- a/mysql-test/r/fulltext3.result
+++ b/mysql-test/r/fulltext3.result
@@ -11,3 +11,7 @@ Table Op Msg_type Msg_text
test.t1 check status OK
SET NAMES latin1;
DROP TABLE t1;
+CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci,
+FULLTEXT(a));
+INSERT INTO t1 VALUES(0xA3C2);
+DROP TABLE t1;
diff --git a/mysql-test/r/func_compress.result b/mysql-test/r/func_compress.result
index 4a3454cf658..715f319198c 100644
--- a/mysql-test/r/func_compress.result
+++ b/mysql-test/r/func_compress.result
@@ -8,16 +8,16 @@ select uncompress(compress(@test_compress_string));
uncompress(compress(@test_compress_string))
string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
explain extended select uncompress(compress(@test_compress_string));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 uncompress(compress((@test_compress_string))) AS `uncompress(compress(@test_compress_string))`
select uncompressed_length(compress(@test_compress_string))=length(@test_compress_string);
uncompressed_length(compress(@test_compress_string))=length(@test_compress_string)
1
explain extended select uncompressed_length(compress(@test_compress_string))=length(@test_compress_string);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (uncompressed_length(compress((@test_compress_string))) = length((@test_compress_string))) AS `uncompressed_length(compress(@test_compress_string))=length(@test_compress_string)`
select uncompressed_length(compress(@test_compress_string));
diff --git a/mysql-test/r/func_crypt.result b/mysql-test/r/func_crypt.result
index afdec0f4d06..32377c9ba63 100644
--- a/mysql-test/r/func_crypt.result
+++ b/mysql-test/r/func_crypt.result
@@ -88,8 +88,8 @@ select old_password(' i d k f a ');
old_password(' i d k f a ')
5c078dc54ca0fcca
explain extended select password('idkfa '), old_password('idkfa');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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')`
select encrypt('1234','_.');
diff --git a/mysql-test/r/func_default.result b/mysql-test/r/func_default.result
index 84ead3b73c7..a8f59f73e88 100644
--- a/mysql-test/r/func_default.result
+++ b/mysql-test/r/func_default.result
@@ -5,8 +5,8 @@ select default(str), default(strnull), default(intg), default(rel) from t1;
default(str) default(strnull) default(intg) default(rel)
def NULL 10 3.14
explain extended select default(str), default(strnull), default(intg), default(rel) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 default('') AS `default(str)`,default('') AS `default(strnull)`,default('0') AS `default(intg)`,default('0') AS `default(rel)` from `test`.`t1`
select * from t1 where str <> default(str);
diff --git a/mysql-test/r/func_encrypt.result b/mysql-test/r/func_encrypt.result
index 3eb8ec4354c..dc2b5498b2a 100644
--- a/mysql-test/r/func_encrypt.result
+++ b/mysql-test/r/func_encrypt.result
@@ -179,7 +179,7 @@ NULL
Warnings:
Error 1108 Incorrect parameters to procedure 'des_decrypt'
explain extended select des_decrypt(des_encrypt("hello",4),'password2'), des_decrypt(des_encrypt("hello","hidden"));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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"))`
diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result
index 19b5f03de6b..b5bfadf1f57 100644
--- a/mysql-test/r/func_gconcat.result
+++ b/mysql-test/r/func_gconcat.result
@@ -15,8 +15,8 @@ grp group_concat(c)
2 b,c
3 E,C,D,d,d,D
explain extended select grp,group_concat(c) from t1 group by grp;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 9 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 9 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`grp` AS `grp`,group_concat(`test`.`t1`.`c` separator ',') AS `group_concat(c)` from `test`.`t1` group by `test`.`t1`.`grp`
select grp,group_concat(a,c) from t1 group by grp;
@@ -85,8 +85,8 @@ grp group_concat(distinct c order by c desc)
2 c,b
3 E,D,C
explain extended select grp,group_concat(distinct c order by c desc) from t1 group by grp;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 9 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 9 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`grp` AS `grp`,group_concat(distinct `test`.`t1`.`c` order by `test`.`t1`.`c` DESC separator ',') AS `group_concat(distinct c order by c desc)` from `test`.`t1` group by `test`.`t1`.`grp`
select grp,group_concat(c order by c separator ",") from t1 group by grp;
@@ -105,8 +105,8 @@ grp group_concat(distinct c order by c separator ",")
2 b,c
3 C,D,E
explain extended select grp,group_concat(distinct c order by c separator ",") from t1 group by grp;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 9 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 9 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`grp` AS `grp`,group_concat(distinct `test`.`t1`.`c` order by `test`.`t1`.`c` ASC separator ',') AS `group_concat(distinct c order by c separator ",")` from `test`.`t1` group by `test`.`t1`.`grp`
select grp,group_concat(distinct c order by c desc separator ",") from t1 group by grp;
@@ -304,6 +304,12 @@ a grp
1 2
2 4,3
3 5
+select group_concat(c order by (select concat(5-t1.c,group_concat(c order by a)) from t2 where t2.a=t1.a)) as grp from t1;
+grp
+5,4,3,2
+select group_concat(c order by (select concat(t1.c,group_concat(c)) from t2 where a=t1.a)) as grp from t1;
+grp
+2,3,4,5
select a,c,(select group_concat(c order by a) from t2 where a=t1.a) as grp from t1 order by grp;
a c grp
3 5 3,3
@@ -453,7 +459,7 @@ create table t2 select group_concat(a) as a from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(400) character set cp1250 default NULL
+ `a` varchar(400) CHARACTER SET cp1250 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select collation(group_concat(a,_koi8r'test')) from t1;
collation(group_concat(a,_koi8r'test'))
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result
index 1e130877088..abf717091af 100644
--- a/mysql-test/r/func_group.result
+++ b/mysql-test/r/func_group.result
@@ -287,8 +287,8 @@ a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b) bit_xor(b)
2 1 1 1.00000 0.00000 1 1 1 1 1
3 1 1 1.00000 0.00000 1 1 1 1 1
explain extended select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b), bit_xor(b) from t1 group by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00 Using filesort
Warnings:
Note 1003 select sql_big_result `test`.`t1`.`a` AS `a`,count(`test`.`t1`.`b`) AS `count(b)`,sum(`test`.`t1`.`b`) AS `sum(b)`,avg(`test`.`t1`.`b`) AS `avg(b)`,std(`test`.`t1`.`b`) AS `std(b)`,min(`test`.`t1`.`b`) AS `min(b)`,max(`test`.`t1`.`b`) AS `max(b)`,bit_and(`test`.`t1`.`b`) AS `bit_and(b)`,bit_or(`test`.`t1`.`b`) AS `bit_or(b)`,bit_xor(`test`.`t1`.`b`) AS `bit_xor(b)` from `test`.`t1` group by `test`.`t1`.`a`
drop table t1;
@@ -614,7 +614,7 @@ explain
select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 > 'CA';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range k1 k1 7 NULL 1 Using where; Using index
-1 SIMPLE t2 range k1 k1 3 NULL 4 Using where; Using index
+1 SIMPLE t2 range k1 k1 3 NULL 4 Using where; Using index; Using join buffer
explain
select min(a4 - 0.01) from t1;
id select_type table type possible_keys key key_len ref rows Extra
@@ -651,17 +651,8 @@ explain
select concat(min(t1.a1),min(t2.a4)) from t1, t2 where t2.a4 <> 'AME';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index
-1 SIMPLE t1 index NULL PRIMARY 3 NULL 15 Using index
+1 SIMPLE t1 index NULL PRIMARY 3 NULL 15 Using index; Using join buffer
drop table t1, t2;
-create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
-insert into t1 values (1, 3);
-select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
-count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
-1
-select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
-Case When Count(*) < MAX_REQ Then 1 Else 0 End
-1
-drop table t1;
create table t1 (a char(10));
insert into t1 values ('a'),('b'),('c');
select coercibility(max(a)) from t1;
@@ -677,21 +668,21 @@ latin2 2 latin2 2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(1) character set latin2 default NULL
+ `a` char(1) CHARACTER SET latin2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t2 select max(a),min(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `max(a)` char(1) character set latin2 default NULL,
- `min(a)` char(1) character set latin2 default NULL
+ `max(a)` char(1) CHARACTER SET latin2 DEFAULT NULL,
+ `min(a)` char(1) CHARACTER SET latin2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2;
create table t2 select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(1) character set latin2 default NULL
+ `concat(a)` varchar(1) CHARACTER SET latin2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2,t1;
create table t1 (a int);
@@ -780,7 +771,7 @@ create table t2 select MAX(b) from t1 group by a;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `MAX(b)` datetime default NULL
+ `MAX(b)` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1(f1 datetime);
@@ -1019,14 +1010,14 @@ create table t1 select variance(0);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `variance(0)` double(8,4) default NULL
+ `variance(0)` double(8,4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select stddev(0);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `stddev(0)` double(8,4) default NULL
+ `stddev(0)` double(8,4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table bug22555 (i smallint primary key auto_increment, s1 smallint, s2 smallint, e decimal(30,10), o double);
diff --git a/mysql-test/r/func_group_innodb.result b/mysql-test/r/func_group_innodb.result
new file mode 100644
index 00000000000..908e85c1652
--- /dev/null
+++ b/mysql-test/r/func_group_innodb.result
@@ -0,0 +1,147 @@
+create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
+insert into t1 values (1, 3);
+select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
+count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
+1
+select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
+Case When Count(*) < MAX_REQ Then 1 Else 0 End
+1
+drop table t1;
+create table t1m (a int) engine=myisam;
+create table t1i (a int) engine=innodb;
+create table t2m (a int) engine=myisam;
+create table t2i (a int) engine=innodb;
+insert into t2m values (5);
+insert into t2i values (5);
+select min(a) from t1m;
+min(a)
+NULL
+select min(7) from t1m;
+min(7)
+NULL
+select min(7) from DUAL;
+min(7)
+7
+explain select min(7) from t2m join t1m;
+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(7) from t2m join t1m;
+min(7)
+NULL
+select max(a) from t1m;
+max(a)
+NULL
+select max(7) from t1m;
+max(7)
+NULL
+select max(7) from DUAL;
+max(7)
+7
+explain select max(7) from t2m join t1m;
+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 max(7) from t2m join t1m;
+max(7)
+NULL
+select 1, min(a) from t1m where a=99;
+1 min(a)
+1 NULL
+select 1, min(a) from t1m where 1=99;
+1 min(a)
+1 NULL
+select 1, min(1) from t1m where a=99;
+1 min(1)
+1 NULL
+select 1, min(1) from t1m where 1=99;
+1 min(1)
+1 NULL
+select 1, max(a) from t1m where a=99;
+1 max(a)
+1 NULL
+select 1, max(a) from t1m where 1=99;
+1 max(a)
+1 NULL
+select 1, max(1) from t1m where a=99;
+1 max(1)
+1 NULL
+select 1, max(1) from t1m where 1=99;
+1 max(1)
+1 NULL
+select min(a) from t1i;
+min(a)
+NULL
+select min(7) from t1i;
+min(7)
+NULL
+select min(7) from DUAL;
+min(7)
+7
+explain select min(7) from t2i join t1i;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2i ALL NULL NULL NULL NULL 1
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer
+select min(7) from t2i join t1i;
+min(7)
+NULL
+select max(a) from t1i;
+max(a)
+NULL
+select max(7) from t1i;
+max(7)
+NULL
+select max(7) from DUAL;
+max(7)
+7
+explain select max(7) from t2i join t1i;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2i ALL NULL NULL NULL NULL 1
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer
+select max(7) from t2i join t1i;
+max(7)
+NULL
+select 1, min(a) from t1i where a=99;
+1 min(a)
+1 NULL
+select 1, min(a) from t1i where 1=99;
+1 min(a)
+1 NULL
+select 1, min(1) from t1i where a=99;
+1 min(1)
+1 NULL
+select 1, min(1) from t1i where 1=99;
+1 min(1)
+1 NULL
+select 1, max(a) from t1i where a=99;
+1 max(a)
+1 NULL
+select 1, max(a) from t1i where 1=99;
+1 max(a)
+1 NULL
+select 1, max(1) from t1i where a=99;
+1 max(1)
+1 NULL
+select 1, max(1) from t1i where 1=99;
+1 max(1)
+1 NULL
+explain select count(*), min(7), max(7) from t1m, t1i;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1
+select count(*), min(7), max(7) from t1m, t1i;
+count(*) min(7) max(7)
+0 NULL NULL
+explain select count(*), min(7), max(7) from t1m, t2i;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
+1 SIMPLE t2i ALL NULL NULL NULL NULL 1
+select count(*), min(7), max(7) from t1m, t2i;
+count(*) min(7) max(7)
+0 NULL NULL
+explain select count(*), min(7), max(7) from t2m, t1i;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2m system NULL NULL NULL NULL 1
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1
+select count(*), min(7), max(7) from t2m, t1i;
+count(*) min(7) max(7)
+0 NULL NULL
+drop table t1m, t1i, t2m, t2i;
diff --git a/mysql-test/r/func_if.result b/mysql-test/r/func_if.result
index c75e37fa0a4..e9a17324397 100644
--- a/mysql-test/r/func_if.result
+++ b/mysql-test/r/func_if.result
@@ -40,8 +40,8 @@ a
aa
aaa
explain extended select if(u=1,st,binary st) s from t1 where st like "%a%" order by s;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where; Using filesort
+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))
select nullif(u, 1) from t1;
@@ -54,8 +54,8 @@ NULL
0
0
explain extended select nullif(u, 1) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 7
+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
Warnings:
Note 1003 select nullif(`test`.`t1`.`u`,1) AS `nullif(u, 1)` from `test`.`t1`
drop table t1;
diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result
index 99b16d29eb9..80fa8f17a2a 100644
--- a/mysql-test/r/func_in.result
+++ b/mysql-test/r/func_in.result
@@ -143,8 +143,8 @@ select * from t1 where 'a' in (a,b,c collate latin1_bin);
a b c
a c c
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 Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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)))
drop table t1;
@@ -225,8 +225,8 @@ a
46
CREATE VIEW v1 AS SELECT * FROM t1 WHERE a NOT IN (45);
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` from `t1` where (`t1`.`a` <> 45)
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` <> 45) latin1 latin1_swedish_ci
SELECT * FROM v1;
a
44
@@ -358,11 +358,12 @@ drop table t1;
CREATE TABLE t1 (a int, b int, PRIMARY KEY (a));
INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1);
CREATE TABLE t2 (a int, b int, PRIMARY KEY (a));
-INSERT INTO t2 VALUES (3,2),(4,2);
+INSERT INTO t2 VALUES (3,2),(4,2),(100,100),(101,201),(102,102);
CREATE TABLE t3 (a int PRIMARY KEY);
INSERT INTO t3 VALUES (1),(2),(3),(4);
-CREATE TABLE t4 (a int PRIMARY KEY);
-INSERT INTO t4 VALUES (1),(2);
+CREATE TABLE t4 (a int PRIMARY KEY,b int);
+INSERT INTO t4 VALUES (1,1),(2,2),(1000,1000),(1001,1001),(1002,1002),
+(1003,1003),(1004,1004);
EXPLAIN SELECT STRAIGHT_JOIN * FROM t3
JOIN t1 ON t3.a=t1.a
JOIN t2 ON t3.a=t2.a
@@ -371,16 +372,16 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 index PRIMARY PRIMARY 4 NULL 4 Using index
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t3.a 1
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t3.a 1
-1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 2 Range checked for each record (index map: 0x1)
+1 SIMPLE t4 ALL PRIMARY NULL NULL NULL 7 Range checked for each record (index map: 0x1)
SELECT STRAIGHT_JOIN * FROM t3
JOIN t1 ON t3.a=t1.a
JOIN t2 ON t3.a=t2.a
JOIN t4 WHERE t4.a IN (t1.b, t2.b);
-a a b a b a
-3 3 1 3 2 1
-3 3 1 3 2 2
-4 4 1 4 2 1
-4 4 1 4 2 2
+a a b a b a b
+3 3 1 3 2 1 1
+3 3 1 3 2 2 2
+4 4 1 4 2 1 1
+4 4 1 4 2 2 2
EXPLAIN SELECT STRAIGHT_JOIN
(SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b))
FROM t3, t1, t2
@@ -389,7 +390,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t3 index PRIMARY PRIMARY 4 NULL 4 Using index
1 PRIMARY t1 eq_ref PRIMARY PRIMARY 4 test.t3.a 1
1 PRIMARY t2 eq_ref PRIMARY PRIMARY 4 test.t3.a 1
-2 DEPENDENT SUBQUERY t4 index NULL PRIMARY 4 NULL 2 Using where; Using index
+2 DEPENDENT SUBQUERY t4 index NULL PRIMARY 4 NULL 7 Using where; Using index
SELECT STRAIGHT_JOIN
(SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b))
FROM t3, t1, t2
@@ -486,3 +487,86 @@ SELECT id FROM t1 WHERE id IN(4564, (SELECT IF(1=0,1,1/0)) );
id
DROP TABLE t1;
End of 5.0 tests
+create table t1(f1 char(1));
+insert into t1 values ('a'),('b'),('1');
+select f1 from t1 where f1 in ('a',1);
+f1
+a
+1
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+select f1, case f1 when 'a' then '+' when 1 then '-' end from t1;
+f1 case f1 when 'a' then '+' when 1 then '-' end
+a +
+b NULL
+1 -
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+create index t1f1_idx on t1(f1);
+select f1 from t1 where f1 in ('a',1);
+f1
+1
+a
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+explain select f1 from t1 where f1 in ('a',1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index t1f1_idx t1f1_idx 2 NULL 3 Using where; Using index
+select f1 from t1 where f1 in ('a','b');
+f1
+a
+b
+explain select f1 from t1 where f1 in ('a','b');
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index t1f1_idx t1f1_idx 2 NULL 3 Using where; Using index
+select f1 from t1 where f1 in (2,1);
+f1
+1
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+explain select f1 from t1 where f1 in (2,1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index t1f1_idx t1f1_idx 2 NULL 3 Using where; Using index
+create table t2(f2 int, index t2f2(f2));
+insert into t2 values(0),(1),(2);
+select f2 from t2 where f2 in ('a',2);
+f2
+0
+2
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+explain select f2 from t2 where f2 in ('a',2);
+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
+select f2 from t2 where f2 in ('a','b');
+f2
+0
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+explain select f2 from t2 where f2 in ('a','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
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+select f2 from t2 where f2 in (1,'b');
+f2
+0
+1
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+Warning 1292 Truncated incorrect DOUBLE value: 'b'
+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 7e6fedb9403..5de5962efeb 100644
--- a/mysql-test/r/func_like.result
+++ b/mysql-test/r/func_like.result
@@ -1,12 +1,16 @@
drop table if exists t1;
create table t1 (a varchar(10), key(a));
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
-explain select * from t1 where a like 'abc%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index a a 13 NULL 5 Using where; Using index
-explain select * from t1 where a like concat('abc','%');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index a a 13 NULL 5 Using where; Using index
+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%')
+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'%'))
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 150b6003dbe..6a476d12896 100644
--- a/mysql-test/r/func_math.result
+++ b/mysql-test/r/func_math.result
@@ -3,32 +3,32 @@ select floor(5.5),floor(-5.5);
floor(5.5) floor(-5.5)
5 -6
explain extended select floor(5.5),floor(-5.5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 floor(5.5) AS `floor(5.5)`,floor(-(5.5)) AS `floor(-5.5)`
select ceiling(5.5),ceiling(-5.5);
ceiling(5.5) ceiling(-5.5)
6 -5
explain extended select ceiling(5.5),ceiling(-5.5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 ceiling(5.5) AS `ceiling(5.5)`,ceiling(-(5.5)) AS `ceiling(-5.5)`
select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2), truncate(-52.64,1),truncate(-52.64,-1);
truncate(52.64,1) truncate(52.64,2) truncate(52.64,-1) truncate(52.64,-2) truncate(-52.64,1) truncate(-52.64,-1)
52.6 52.64 50 0 -52.6 -50
explain extended select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2), truncate(-52.64,1),truncate(-52.64,-1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 truncate(52.64,1) AS `truncate(52.64,1)`,truncate(52.64,2) AS `truncate(52.64,2)`,truncate(52.64,-(1)) AS `truncate(52.64,-1)`,truncate(52.64,-(2)) AS `truncate(52.64,-2)`,truncate(-(52.64),1) AS `truncate(-52.64,1)`,truncate(-(52.64),-(1)) AS `truncate(-52.64,-1)`
select round(5.5),round(-5.5);
round(5.5) round(-5.5)
6 -6
explain extended select round(5.5),round(-5.5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 round(5.5,0) AS `round(5.5)`,round(-(5.5),0) AS `round(-5.5)`
select round(5.64,1),round(5.64,2),round(5.64,-1),round(5.64,-2);
@@ -38,48 +38,48 @@ select abs(-10), sign(-5), sign(5), sign(0);
abs(-10) sign(-5) sign(5) sign(0)
10 -1 1 0
explain extended select abs(-10), sign(-5), sign(5), sign(0);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 abs(-(10)) AS `abs(-10)`,sign(-(5)) AS `sign(-5)`,sign(5) AS `sign(5)`,sign(0) AS `sign(0)`
select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
log(exp(10)) exp(log(sqrt(10))*2) log(-1) log(NULL) log(1,1) log(3,9) log(-1,2) log(NULL,2)
10 10 NULL NULL NULL 2 NULL NULL
explain extended select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 log(exp(10)) AS `log(exp(10))`,exp((log(sqrt(10)) * 2)) AS `exp(log(sqrt(10))*2)`,log(-(1)) AS `log(-1)`,log(NULL) AS `log(NULL)`,log(1,1) AS `log(1,1)`,log(3,9) AS `log(3,9)`,log(-(1),2) AS `log(-1,2)`,log(NULL,2) AS `log(NULL,2)`
select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
ln(exp(10)) exp(ln(sqrt(10))*2) ln(-1) ln(0) ln(NULL)
10 10 NULL NULL NULL
explain extended select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 ln(exp(10)) AS `ln(exp(10))`,exp((ln(sqrt(10)) * 2)) AS `exp(ln(sqrt(10))*2)`,ln(-(1)) AS `ln(-1)`,ln(0) AS `ln(0)`,ln(NULL) AS `ln(NULL)`
select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
log2(8) log2(15) log2(-2) log2(0) log2(NULL)
3 3.9068905956085 NULL NULL NULL
explain extended select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 log2(8) AS `log2(8)`,log2(15) AS `log2(15)`,log2(-(2)) AS `log2(-2)`,log2(0) AS `log2(0)`,log2(NULL) AS `log2(NULL)`
select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
log10(100) log10(18) log10(-4) log10(0) log10(NULL)
2 1.2552725051033 NULL NULL NULL
explain extended select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 log10(100) AS `log10(100)`,log10(18) AS `log10(18)`,log10(-(4)) AS `log10(-4)`,log10(0) AS `log10(0)`,log10(NULL) AS `log10(NULL)`
select pow(10,log10(10)),power(2,4);
pow(10,log10(10)) power(2,4)
10 16
explain extended select pow(10,log10(10)),power(2,4);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 pow(10,log10(10)) AS `pow(10,log10(10))`,pow(2,4) AS `power(2,4)`
set @@rand_seed1=10000000,@@rand_seed2=1000000;
@@ -87,21 +87,33 @@ select rand(999999),rand();
rand(999999) rand()
0.014231365187309 0.028870999839968
explain extended select rand(999999),rand();
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 rand(999999) AS `rand(999999)`,rand() AS `rand()`
select pi(),format(sin(pi()/2),6),format(cos(pi()/2),6),format(abs(tan(pi())),6),format(cot(1),6),format(asin(1),6),format(acos(0),6),format(atan(1),6);
pi() format(sin(pi()/2),6) format(cos(pi()/2),6) format(abs(tan(pi())),6) format(cot(1),6) format(asin(1),6) format(acos(0),6) format(atan(1),6)
3.141593 1.000000 0.000000 0.000000 0.642093 1.570796 1.570796 0.785398
explain extended select pi(),format(sin(pi()/2),6),format(cos(pi()/2),6),format(abs(tan(pi())),6),format(cot(1),6),format(asin(1),6),format(acos(0),6),format(atan(1),6);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 pi() AS `pi()`,format(sin((pi() / 2)),6) AS `format(sin(pi()/2),6)`,format(cos((pi() / 2)),6) AS `format(cos(pi()/2),6)`,format(abs(tan(pi())),6) AS `format(abs(tan(pi())),6)`,format((1 / tan(1)),6) AS `format(cot(1),6)`,format(asin(1),6) AS `format(asin(1),6)`,format(acos(0),6) AS `format(acos(0),6)`,format(atan(1),6) AS `format(atan(1),6)`
select degrees(pi()),radians(360);
degrees(pi()) radians(360)
180 6.2831853071796
+select format(atan(-2, 2), 6);
+format(atan(-2, 2), 6)
+-0.785398
+select format(atan(pi(), 0), 6);
+format(atan(pi(), 0), 6)
+1.570796
+select format(atan2(-2, 2), 6);
+format(atan2(-2, 2), 6)
+-0.785398
+select format(atan2(pi(), 0), 6);
+format(atan2(pi(), 0), 6)
+1.570796
SELECT ACOS(1.0);
ACOS(1.0)
0
@@ -124,8 +136,8 @@ select format(4.55, 1), format(4.551, 1);
format(4.55, 1) format(4.551, 1)
4.6 4.6
explain extended select degrees(pi()),radians(360);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 degrees(pi()) AS `degrees(pi())`,radians(360) AS `radians(360)`
select rand(rand);
@@ -153,7 +165,7 @@ create table t1 select round(1, 6);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `round(1, 6)` int(1) NOT NULL default '0'
+ `round(1, 6)` int(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
round(1, 6)
@@ -162,11 +174,46 @@ drop table t1;
select abs(-2) * -2;
abs(-2) * -2
-4
-create table t1 (i int);
-insert into t1 values (1);
-select rand(i) from t1;
-ERROR HY000: Incorrect arguments to RAND
-drop table t1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(1),(1),(2);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+858 656
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1 WHERE a = 1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+INSERT INTO t1 VALUES (3);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+858 656
+354 906
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1 WHERE a = 1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+PREPARE stmt FROM
+"SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(?) * 1000 AS UNSIGNED)
+ FROM t1 WHERE a = 1";
+set @var=2;
+EXECUTE stmt USING @var;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(?) * 1000 AS UNSIGNED)
+656 656
+122 122
+645 645
+DROP TABLE t1;
create table t1 (a varchar(90), ts datetime not null, index (a)) engine=innodb default charset=utf8;
insert into t1 values ('http://www.foo.com/', now());
select a from t1 where a='http://www.foo.com/' order by abs(timediff(ts, 0));
diff --git a/mysql-test/r/func_misc.result b/mysql-test/r/func_misc.result
index 4f6b6d3a0d8..745a340ec94 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
@@ -22,6 +23,11 @@ hex(inet_aton('127.1.1'))
select length(uuid()), charset(uuid()), length(unhex(replace(uuid(),_utf8'-',_utf8'')));
length(uuid()) charset(uuid()) length(unhex(replace(uuid(),_utf8'-',_utf8'')))
36 utf8 16
+set @a= uuid_short();
+set @b= uuid_short();
+select cast(@a - @b as signed);
+cast(@a - @b as signed)
+-1
select length(format('nan', 2)) > 0;
length(format('nan', 2)) > 0
1
@@ -51,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);
@@ -95,8 +100,8 @@ create table t1 as select uuid(), length(uuid());
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `uuid()` varchar(36) character set utf8 NOT NULL default '',
- `length(uuid())` int(10) NOT NULL default '0'
+ `uuid()` varchar(36) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `length(uuid())` int(10) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a timestamp default '2005-05-05 01:01:01',
@@ -138,7 +143,7 @@ create table t1 select INET_ATON('255.255.0.1') as `a`;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(21) unsigned default NULL
+ `a` bigint(21) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
drop table if exists table_26093;
@@ -226,3 +231,7 @@ min(a)
-2
drop table t1;
End of 5.0 tests
+select connection_id() > 0;
+connection_id() > 0
+1
+End of tests
diff --git a/mysql-test/r/func_op.result b/mysql-test/r/func_op.result
index 24685d07f3d..636163e6b29 100644
--- a/mysql-test/r/func_op.result
+++ b/mysql-test/r/func_op.result
@@ -2,16 +2,16 @@ select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
1+1 1-1 1+1*2 8/5 8%5 mod(8,5) mod(8,5)|0 -(1+1)*-2
2 0 3 1.6000 3 3 3 4
explain extended select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (1 + 1) AS `1+1`,(1 - 1) AS `1-1`,(1 + (1 * 2)) AS `1+1*2`,(8 / 5) AS `8/5`,(8 % 5) AS `8%5`,(8 % 5) AS `mod(8,5)`,((8 % 5) | 0) AS `mod(8,5)|0`,(-((1 + 1)) * -(2)) AS `-(1+1)*-2`
select 1 | (1+1),5 & 3,bit_count(7) ;
1 | (1+1) 5 & 3 bit_count(7)
3 1 3
explain extended select 1 | (1+1),5 & 3,bit_count(7) ;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (1 | (1 + 1)) AS `1 | (1+1)`,(5 & 3) AS `5 & 3`,bit_count(7) AS `bit_count(7)`
select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
diff --git a/mysql-test/r/func_regexp.result b/mysql-test/r/func_regexp.result
index c2dbfc3c331..9d85b1d3e7f 100644
--- a/mysql-test/r/func_regexp.result
+++ b/mysql-test/r/func_regexp.result
@@ -8,8 +8,8 @@ select null, null;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `s1` varchar(64) default NULL,
- `s2` varchar(64) default NULL
+ `s1` varchar(64) DEFAULT NULL,
+ `s2` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
delete from t1;
insert into t1 values('aaa','aaa');
@@ -49,8 +49,8 @@ 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
explain extended select * from t1 where xxx regexp('is a test of some long text to');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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')
select * from t1 where xxx regexp('is a test of some long text to ');
diff --git a/mysql-test/r/func_sapdb.result b/mysql-test/r/func_sapdb.result
index 4db0416bdce..942073e3fbd 100644
--- a/mysql-test/r/func_sapdb.result
+++ b/mysql-test/r/func_sapdb.result
@@ -68,7 +68,7 @@ select datediff("1997-11-31 23:59:59.000001","1997-12-31");
datediff("1997-11-31 23:59:59.000001","1997-12-31")
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1997-11-31 23:59:59.000001'
+Warning 1292 Incorrect datetime value: '1997-11-31 23:59:59.000001'
select datediff("1997-11-30 23:59:59.000001",null);
datediff("1997-11-30 23:59:59.000001",null)
NULL
@@ -150,7 +150,7 @@ select timestamp("2001-13-01", "01:01:01.000001");
timestamp("2001-13-01", "01:01:01.000001")
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2001-13-01'
+Warning 1292 Incorrect datetime value: '2001-13-01'
select timestamp("2001-12-01", "25:01:01");
timestamp("2001-12-01", "25:01:01")
2001-12-02 01:01:01
@@ -170,7 +170,7 @@ select date("1997-13-31 23:59:59.000001");
date("1997-13-31 23:59:59.000001")
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1997-13-31 23:59:59.000001'
+Warning 1292 Incorrect datetime value: '1997-13-31 23:59:59.000001'
select time("1997-12-31 23:59:59.000001");
time("1997-12-31 23:59:59.000001")
23:59:59.000001
diff --git a/mysql-test/r/func_set.result b/mysql-test/r/func_set.result
index ef5526ca13e..4dd11cafdcd 100644
--- a/mysql-test/r/func_set.result
+++ b/mysql-test/r/func_set.result
@@ -2,8 +2,8 @@ select interval(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),fie
interval(55,10,20,30,40,50,60,70,80,90,100) interval(3,1,1+1,1+1+1+1) field("IBM","NCA","ICL","SUN","IBM","DIGITAL") field("A","B","C") elt(2,"ONE","TWO","THREE") interval(0,1,2,3,4) elt(1,1,2,3)|0 elt(1,1.1,1.2,1.3)+0
5 2 4 0 TWO 0 1 1.1
explain extended select INTERVAL(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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`
SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56);
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result
index d0809eca65b..6f6edd5112b 100644
--- a/mysql-test/r/func_str.result
+++ b/mysql-test/r/func_str.result
@@ -722,37 +722,37 @@ 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) 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(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 '',
- `lcase(_latin2'a')` varchar(1) character set latin2 NOT NULL default '',
- `ucase(_latin2'a')` varchar(1) character set latin2 NOT NULL default '',
- `substring(_latin2'a',1,1)` varchar(1) character set latin2 NOT NULL default '',
- `concat(_latin2'a',_latin2'b')` varchar(2) character set latin2 NOT NULL default '',
- `lpad(_latin2'a',4,_latin2'b')` varchar(4) character set latin2 NOT NULL default '',
- `rpad(_latin2'a',4,_latin2'b')` varchar(4) character set latin2 NOT NULL default '',
- `concat_ws(_latin2'a',_latin2'b')` varchar(1) character set latin2 NOT NULL default '',
- `make_set(255,_latin2'a',_latin2'b',_latin2'c')` varchar(5) character set latin2 NOT NULL default '',
- `export_set(255,_latin2'y',_latin2'n',_latin2' ')` varchar(127) character set latin2 NOT NULL default '',
- `trim(_latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `ltrim(_latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `rtrim(_latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `trim(LEADING _latin2' ' FROM _latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `trim(TRAILING _latin2' ' FROM _latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `trim(BOTH _latin2' ' FROM _latin2' a ')` varchar(3) character set latin2 NOT NULL default '',
- `repeat(_latin2'a',10)` varchar(10) character set latin2 NOT NULL default '',
- `reverse(_latin2'ab')` varchar(2) character set latin2 NOT NULL default '',
- `quote(_latin2'ab')` varchar(6) character set latin2 NOT NULL default '',
- `soundex(_latin2'ab')` varchar(4) character set latin2 NOT NULL default '',
- `substring(_latin2'ab',1)` varchar(2) character set latin2 NOT NULL default '',
- `insert(_latin2'abcd',2,3,_latin2'ef')` varchar(6) character set latin2 NOT NULL default '',
- `replace(_latin2'abcd',_latin2'b',_latin2'B')` varchar(4) character set latin2 NOT NULL default '',
- `encode('abcd','ab')` varbinary(4) 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(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 '',
+ `lcase(_latin2'a')` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `ucase(_latin2'a')` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `substring(_latin2'a',1,1)` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `concat(_latin2'a',_latin2'b')` varchar(2) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `lpad(_latin2'a',4,_latin2'b')` varchar(4) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `rpad(_latin2'a',4,_latin2'b')` varchar(4) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `concat_ws(_latin2'a',_latin2'b')` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `make_set(255,_latin2'a',_latin2'b',_latin2'c')` varchar(5) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `export_set(255,_latin2'y',_latin2'n',_latin2' ')` varchar(127) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `trim(_latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `ltrim(_latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `rtrim(_latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `trim(LEADING _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `trim(TRAILING _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `trim(BOTH _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `repeat(_latin2'a',10)` varchar(10) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `reverse(_latin2'ab')` varchar(2) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `quote(_latin2'ab')` varchar(6) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `soundex(_latin2'ab')` varchar(4) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `substring(_latin2'ab',1)` varchar(2) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `insert(_latin2'abcd',2,3,_latin2'ef')` varchar(6) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `replace(_latin2'abcd',_latin2'b',_latin2'B')` varchar(4) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `encode('abcd','ab')` varbinary(4) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a char character set latin2);
@@ -813,11 +813,231 @@ drop table t7;
select substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2),substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2);
substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2) substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2)
1abcd;2abcd 3abcd;4abcd
-explain extended select md5('hello'), sha('abc'), sha1('abc'), soundex(''), 'mood' sounds like 'mud', aes_decrypt(aes_encrypt('abc','1'),'1'),concat('*',space(5),'*'), reverse('abc'), rpad('a',4,'1'), lpad('a',4,'1'), concat_ws(',','',NULL,'a'),make_set(255,_latin2'a',_latin2'b',_latin2'c'),elt(2,1),locate("a","b",2),format(130,10),char(0),conv(130,16,10),hex(130),binary 'HE', export_set(255,_latin2'y',_latin2'n',_latin2' '),FIELD('b' COLLATE latin1_bin,'A','B'),FIND_IN_SET(_latin1'B',_latin1'a,b,c,d'),collation(conv(130,16,10)), coercibility(conv(130,16,10)),length('\n\t\r\b\0\_\%\\'),bit_length('\n\t\r\b\0\_\%\\'),bit_length('\n\t\r\b\0\_\%\\'),concat('monty',' was here ','again'),length('hello'),char(ascii('h')),ord('h'),quote(1/0),crc32("123"),replace('aaaa','a','b'),insert('txs',2,1,'hi'),left(_latin2'a',1),right(_latin2'a',1),lcase(_latin2'a'),ucase(_latin2'a'),SUBSTR('abcdefg',3,2),substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2),trim(_latin2' a '),ltrim(_latin2' a '),rtrim(_latin2' a '), decode(encode(repeat("a",100000),"monty"),"monty");
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
-Warnings:
-Note 1003 select md5(_latin1'hello') AS `md5('hello')`,sha(_latin1'abc') AS `sha('abc')`,sha(_latin1'abc') AS `sha1('abc')`,soundex(_latin1'') AS `soundex('')`,(soundex(_latin1'mood') = soundex(_latin1'mud')) AS `'mood' sounds like 'mud'`,aes_decrypt(aes_encrypt(_latin1'abc',_latin1'1'),_latin1'1') AS `aes_decrypt(aes_encrypt('abc','1'),'1')`,concat(_latin1'*',repeat(_latin1' ',5),_latin1'*') AS `concat('*',space(5),'*')`,reverse(_latin1'abc') AS `reverse('abc')`,rpad(_latin1'a',4,_latin1'1') AS `rpad('a',4,'1')`,lpad(_latin1'a',4,_latin1'1') AS `lpad('a',4,'1')`,concat_ws(_latin1',',_latin1'',NULL,_latin1'a') AS `concat_ws(',','',NULL,'a')`,make_set(255,_latin2'a',_latin2'b',_latin2'c') AS `make_set(255,_latin2'a',_latin2'b',_latin2'c')`,elt(2,1) AS `elt(2,1)`,locate(_latin1'a',_latin1'b',2) AS `locate("a","b",2)`,format(130,10) AS `format(130,10)`,char(0) AS `char(0)`,conv(130,16,10) AS `conv(130,16,10)`,hex(130) AS `hex(130)`,cast(_latin1'HE' as char charset binary) AS `binary 'HE'`,export_set(255,_latin2'y',_latin2'n',_latin2' ') AS `export_set(255,_latin2'y',_latin2'n',_latin2' ')`,field((_latin1'b' collate latin1_bin),_latin1'A',_latin1'B') AS `FIELD('b' COLLATE latin1_bin,'A','B')`,find_in_set(_latin1'B',_latin1'a,b,c,d') AS `FIND_IN_SET(_latin1'B',_latin1'a,b,c,d')`,collation(conv(130,16,10)) AS `collation(conv(130,16,10))`,coercibility(conv(130,16,10)) AS `coercibility(conv(130,16,10))`,length(_latin1'\n \r\0\\_\\%\\') AS `length('\n\t\r\b\0\_\%\\')`,bit_length(_latin1'\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`,bit_length(_latin1'\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')`,concat(_latin1'monty',_latin1' was here ',_latin1'again') AS `concat('monty',' was here ','again')`,length(_latin1'hello') AS `length('hello')`,char(ascii(_latin1'h')) AS `char(ascii('h'))`,ord(_latin1'h') AS `ord('h')`,quote((1 / 0)) AS `quote(1/0)`,crc32(_latin1'123') AS `crc32("123")`,replace(_latin1'aaaa',_latin1'a',_latin1'b') AS `replace('aaaa','a','b')`,insert(_latin1'txs',2,1,_latin1'hi') AS `insert('txs',2,1,'hi')`,left(_latin2'a',1) AS `left(_latin2'a',1)`,right(_latin2'a',1) AS `right(_latin2'a',1)`,lcase(_latin2'a') AS `lcase(_latin2'a')`,ucase(_latin2'a') AS `ucase(_latin2'a')`,substr(_latin1'abcdefg',3,2) AS `SUBSTR('abcdefg',3,2)`,substring_index(_latin1'1abcd;2abcd;3abcd;4abcd',_latin1';',2) AS `substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2)`,trim(_latin2' a ') AS `trim(_latin2' a ')`,ltrim(_latin2' a ') AS `ltrim(_latin2' a ')`,rtrim(_latin2' a ') AS `rtrim(_latin2' a ')`,decode(encode(repeat(_latin1'a',100000),'monty'),'monty') AS `decode(encode(repeat("a",100000),"monty"),"monty")`
+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')`
+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')`
+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')`
+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('')`
+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'`
+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')`
+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),'*')`
+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')`
+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')`
+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')`
+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')`
+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
+Warnings:
+Note 1003 select make_set(255,_latin2'a',_latin2'b',_latin2'c') AS `make_set(255,_latin2'a', _latin2'b', _latin2'c')`
+explain extended select elt(2,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 elt(2,1) AS `elt(2,1)`
+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)`
+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
+Warnings:
+Note 1003 select format(130,10) AS `format(130,10)`
+explain extended select char(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 char(0) AS `char(0)`
+explain extended select conv(130,16,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
+Warnings:
+Note 1003 select conv(130,16,10) AS `conv(130,16,10)`
+explain extended select hex(130);
+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 hex(130) AS `hex(130)`
+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'`
+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
+Warnings:
+Note 1003 select export_set(255,_latin2'y',_latin2'n',_latin2' ') AS `export_set(255,_latin2'y', _latin2'n', _latin2' ')`
+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')`
+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
+Warnings:
+Note 1003 select find_in_set(_latin1'B',_latin1'a,b,c,d') AS `FIND_IN_SET(_latin1'B', _latin1'a,b,c,d')`
+explain extended select collation(conv(130,16,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
+Warnings:
+Note 1003 select collation(conv(130,16,10)) AS `collation(conv(130,16,10))`
+explain extended select coercibility(conv(130,16,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
+Warnings:
+Note 1003 select coercibility(conv(130,16,10)) AS `coercibility(conv(130,16,10))`
+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\_\%\\')`
+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\_\%\\')`
+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\_\%\\')`
+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')`
+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')`
+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'))`
+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')`
+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
+Warnings:
+Note 1003 select quote((1 / 0)) AS `quote(1/0)`
+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")`
+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')`
+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')`
+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
+Warnings:
+Note 1003 select left(_latin2'a',1) AS `left(_latin2'a',1)`
+explain extended select right(_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
+Warnings:
+Note 1003 select right(_latin2'a',1) AS `right(_latin2'a',1)`
+explain extended select lcase(_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
+Warnings:
+Note 1003 select lcase(_latin2'a') AS `lcase(_latin2'a')`
+explain extended select ucase(_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
+Warnings:
+Note 1003 select ucase(_latin2'a') AS `ucase(_latin2'a')`
+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)`
+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)`
+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
+Warnings:
+Note 1003 select trim(_latin2' a ') AS `trim(_latin2' a ')`
+explain extended select ltrim(_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
+Warnings:
+Note 1003 select ltrim(_latin2' a ') AS `ltrim(_latin2' a ')`
+explain extended select rtrim(_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
+Warnings:
+Note 1003 select rtrim(_latin2' a ') AS `rtrim(_latin2' a ')`
+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")`
SELECT lpad(12345, 5, "#");
lpad(12345, 5, "#")
12345
@@ -840,16 +1060,16 @@ drop table t1, t2;
create table t1 (c1 INT, c2 INT UNSIGNED);
insert into t1 values ('21474836461','21474836461');
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
insert into t1 values ('-21474836461','-21474836461');
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
show warnings;
Level Code Message
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
select * from t1;
c1 c2
2147483647 4294967295
@@ -1059,42 +1279,42 @@ DROP TABLE t1;
CREATE TABLE t1 (s varchar(10));
INSERT INTO t1 VALUES ('yadda'), ('yaddy');
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(s) > 'ab';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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')
EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM('y' FROM s) > 'ab';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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')
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 Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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')
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 Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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')
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 Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+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')
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 Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
+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('','zxcv') AS `enc` from `test`.`t1`
+Note 1003 select encode('',_latin1'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 Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
+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('','zxcv') AS `enc` from `test`.`t1`
+Note 1003 select decode('',_latin1'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;
@@ -1166,12 +1386,125 @@ A12 a12
EXPLAIN EXTENDED
SELECT * FROM t1 INNER JOIN t2 ON code=id
WHERE id='a12' AND (LENGTH(code)=5 OR code < 'a00');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 const PRIMARY PRIMARY 12 const 1 Using index
-1 SIMPLE t1 ref code code 13 const 3 Using where; Using index
+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))
DROP TABLE t1,t2;
+select encode(NULL, NULL);
+encode(NULL, NULL)
+NULL
+select encode("data", NULL);
+encode("data", NULL)
+NULL
+select encode(NULL, "password");
+encode(NULL, "password")
+NULL
+select decode(NULL, NULL);
+decode(NULL, NULL)
+NULL
+select decode("data", NULL);
+decode("data", NULL)
+NULL
+select decode(NULL, "password");
+decode(NULL, "password")
+NULL
+select format(NULL, NULL);
+format(NULL, NULL)
+NULL
+select format(pi(), NULL);
+format(pi(), NULL)
+NULL
+select format(NULL, 2);
+format(NULL, 2)
+NULL
+select benchmark(NULL, NULL);
+benchmark(NULL, NULL)
+NULL
+select benchmark(0, NULL);
+benchmark(0, NULL)
+0
+select benchmark(100, NULL);
+benchmark(100, NULL)
+0
+select benchmark(NULL, 1+1);
+benchmark(NULL, 1+1)
+NULL
+set @password="password";
+set @my_data="clear text to encode";
+select md5(encode(@my_data, "password"));
+md5(encode(@my_data, "password"))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, _utf8 "password"));
+md5(encode(@my_data, _utf8 "password"))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, binary "password"));
+md5(encode(@my_data, binary "password"))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, _latin1 "password"));
+md5(encode(@my_data, _latin1 "password"))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, _koi8r "password"));
+md5(encode(@my_data, _koi8r "password"))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, (select "password" from dual)));
+md5(encode(@my_data, (select "password" from dual)))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, concat("pass", "word")));
+md5(encode(@my_data, concat("pass", "word")))
+44320fd2b4a0ec92faa2da2122def917
+select md5(encode(@my_data, @password));
+md5(encode(@my_data, @password))
+44320fd2b4a0ec92faa2da2122def917
+set @my_data="binary encoded data";
+select md5(decode(@my_data, "password"));
+md5(decode(@my_data, "password"))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, _utf8 "password"));
+md5(decode(@my_data, _utf8 "password"))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, binary "password"));
+md5(decode(@my_data, binary "password"))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, _latin1 "password"));
+md5(decode(@my_data, _latin1 "password"))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, _koi8r "password"));
+md5(decode(@my_data, _koi8r "password"))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, (select "password" from dual)));
+md5(decode(@my_data, (select "password" from dual)))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, concat("pass", "word")));
+md5(decode(@my_data, concat("pass", "word")))
+5bea8c394368dbc03b76684483b7756b
+select md5(decode(@my_data, @password));
+md5(decode(@my_data, @password))
+5bea8c394368dbc03b76684483b7756b
+set @dec=5;
+select format(pi(), (1+1));
+format(pi(), (1+1))
+3.14
+select format(pi(), (select 3 from dual));
+format(pi(), (select 3 from dual))
+3.142
+select format(pi(), @dec);
+format(pi(), @dec)
+3.14159
+set @bench_count=10;
+select benchmark(10, pi());
+benchmark(10, pi())
+0
+select benchmark(5+5, pi());
+benchmark(5+5, pi())
+0
+select benchmark((select 10 from dual), pi());
+benchmark((select 10 from dual), pi())
+0
+select benchmark(@bench_count, pi());
+benchmark(@bench_count, pi())
+0
select locate('he','hello',-2);
locate('he','hello',-2)
0
diff --git a/mysql-test/r/func_system.result b/mysql-test/r/func_system.result
index 00bef09715d..fa05021eb47 100644
--- a/mysql-test/r/func_system.result
+++ b/mysql-test/r/func_system.result
@@ -38,17 +38,17 @@ select charset(version());
charset(version())
utf8
explain extended select database(), user();
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 database() AS `database()`,user() AS `user()`
-create table t1 (version char(40)) select database(), user(), version() as 'version';
+create table t1 (version char(60)) select database(), user(), version() as 'version';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `database()` varchar(34) character set utf8 default NULL,
- `user()` varchar(77) character set utf8 NOT NULL default '',
- `version` char(40) default NULL
+ `database()` varchar(34) CHARACTER SET utf8 DEFAULT NULL,
+ `user()` varchar(77) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `version` char(60) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select charset(charset(_utf8'a')), charset(collation(_utf8'a'));
@@ -61,8 +61,8 @@ create table t1 select charset(_utf8'a'), collation(_utf8'a');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `charset(_utf8'a')` varchar(64) character set utf8 NOT NULL default '',
- `collation(_utf8'a')` varchar(64) character set utf8 NOT NULL default ''
+ `charset(_utf8'a')` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `collation(_utf8'a')` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select TRUE,FALSE,NULL;
diff --git a/mysql-test/r/func_test.result b/mysql-test/r/func_test.result
index 65293398155..a97e6869d09 100644
--- a/mysql-test/r/func_test.result
+++ b/mysql-test/r/func_test.result
@@ -45,8 +45,8 @@ select 3 ^ 11, 1 ^ 1, 1 ^ 0, 1 ^ NULL, NULL ^ 1;
3 ^ 11 1 ^ 1 1 ^ 0 1 ^ NULL NULL ^ 1
8 0 1 NULL NULL
explain extended select 3 ^ 11, 1 ^ 1, 1 ^ 0, 1 ^ NULL, NULL ^ 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (3 ^ 11) AS `3 ^ 11`,(1 ^ 1) AS `1 ^ 1`,(1 ^ 0) AS `1 ^ 0`,(1 ^ NULL) AS `1 ^ NULL`,(NULL ^ 1) AS `NULL ^ 1`
select 1 XOR 1, 1 XOR 0, 0 XOR 1, 0 XOR 0, NULL XOR 1, 1 XOR NULL, 0 XOR NULL;
@@ -59,16 +59,16 @@ select 10 % 7, 10 mod 7, 10 div 3;
10 % 7 10 mod 7 10 div 3
3 3 3
explain extended select 10 % 7, 10 mod 7, 10 div 3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (10 % 7) AS `10 % 7`,(10 % 7) AS `10 mod 7`,(10 DIV 3) AS `10 div 3`
select (1 << 64)-1, ((1 << 64)-1) DIV 1, ((1 << 64)-1) DIV 2;
(1 << 64)-1 ((1 << 64)-1) DIV 1 ((1 << 64)-1) DIV 2
18446744073709551615 18446744073709551615 9223372036854775807
explain extended select (1 << 64)-1, ((1 << 64)-1) DIV 1, ((1 << 64)-1) DIV 2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 ((1 << 64) - 1) AS `(1 << 64)-1`,(((1 << 64) - 1) DIV 1) AS `((1 << 64)-1) DIV 1`,(((1 << 64) - 1) DIV 2) AS `((1 << 64)-1) DIV 2`
create table t1 (a int);
@@ -76,16 +76,16 @@ insert t1 values (1);
select * from t1 where 1 xor 1;
a
explain extended select * from t1 where 1 xor 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
+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
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where 0
select - a from t1;
- a
-1
explain extended select - a from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 -('1') AS `- a` from `test`.`t1`
drop table t1;
@@ -105,8 +105,8 @@ select _koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci;
_koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci
1
explain extended select _koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (_koi8r'a' = (_koi8r'A' collate koi8r_general_ci)) AS `_koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci`
select _koi8r'a' = _koi8r'A' COLLATE koi8r_bin;
diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result
index f25f9ed9e0a..4dd8fb1531d 100644
--- a/mysql-test/r/func_time.result
+++ b/mysql-test/r/func_time.result
@@ -312,7 +312,7 @@ select date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND);
date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND)
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 00:00:00'
+Warning 1292 Incorrect datetime value: '0000-00-00 00:00:00'
select date_add('1998-01-30',Interval 1 month);
date_add('1998-01-30',Interval 1 month)
1998-02-28
@@ -473,12 +473,12 @@ SELECT month(updated) from t1;
month(updated)
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
+Warning 1292 Incorrect datetime value: ''
SELECT year(updated) from t1;
year(updated)
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: ''
+Warning 1292 Incorrect datetime value: ''
drop table t1;
create table t1 (d date, dt datetime, t timestamp, c char(10));
insert into t1 values ("0000-00-00", "0000-00-00", "0000-00-00", "0000-00-00");
@@ -486,8 +486,8 @@ select dayofyear("0000-00-00"),dayofyear(d),dayofyear(dt),dayofyear(t),dayofyear
dayofyear("0000-00-00") dayofyear(d) dayofyear(dt) dayofyear(t) dayofyear(c)
NULL NULL NULL NULL NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
select dayofmonth("0000-00-00"),dayofmonth(d),dayofmonth(dt),dayofmonth(t),dayofmonth(c) from t1;
dayofmonth("0000-00-00") dayofmonth(d) dayofmonth(dt) dayofmonth(t) dayofmonth(c)
0 0 0 0 0
@@ -501,8 +501,8 @@ select week("0000-00-00"),week(d),week(dt),week(t),week(c) from t1;
week("0000-00-00") week(d) week(dt) week(t) week(c)
NULL NULL NULL NULL NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
select year("0000-00-00"),year(d),year(dt),year(t),year(c) from t1;
year("0000-00-00") year(d) year(dt) year(t) year(c)
0 0 0 0 0
@@ -510,14 +510,14 @@ select yearweek("0000-00-00"),yearweek(d),yearweek(dt),yearweek(t),yearweek(c) f
yearweek("0000-00-00") yearweek(d) yearweek(dt) yearweek(t) yearweek(c)
NULL NULL NULL NULL NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
select to_days("0000-00-00"),to_days(d),to_days(dt),to_days(t),to_days(c) from t1;
to_days("0000-00-00") to_days(d) to_days(dt) to_days(t) to_days(c)
NULL NULL NULL NULL NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
select extract(MONTH FROM "0000-00-00"),extract(MONTH FROM d),extract(MONTH FROM dt),extract(MONTH FROM t),extract(MONTH FROM c) from t1;
extract(MONTH FROM "0000-00-00") extract(MONTH FROM d) extract(MONTH FROM dt) extract(MONTH FROM t) extract(MONTH FROM c)
0 0 0 0 0
@@ -781,7 +781,7 @@ select date_add(time,INTERVAL 1 SECOND) from t1;
date_add(time,INTERVAL 1 SECOND)
NULL
Warnings:
-Warning 1264 Out of range value adjusted for column 'time' at row 1
+Warning 1264 Out of range value for column 'time' at row 1
drop table t1;
select last_day('2000-02-05') as f1, last_day('2002-12-31') as f2,
last_day('2003-03-32') as f3, last_day('2003-04-01') as f4,
@@ -790,7 +790,7 @@ last_day('2001-02-12');
f1 f2 f3 f4 f5 last_day(NULL) last_day('2001-02-12')
2000-02-29 2002-12-31 NULL 2003-04-30 2001-01-31 NULL 2001-02-28
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2003-03-32'
+Warning 1292 Incorrect datetime value: '2003-03-32'
create table t1 select last_day('2000-02-05') as a,
from_days(to_days("960101")) as b;
describe t1;
@@ -836,8 +836,8 @@ select strcmp(concat(utc_date(),' ',utc_time()),utc_timestamp())=0;
strcmp(concat(utc_date(),' ',utc_time()),utc_timestamp())=0
1
explain extended select period_add("9602",-12),period_diff(199505,"9404"),from_days(to_days("960101")),dayofmonth("1997-01-02"), month("1997-01-02"), monthname("1972-03-04"),dayofyear("0000-00-00"),HOUR("1997-03-03 23:03:22"),MINUTE("23:03:22"),SECOND(230322),QUARTER(980303),WEEK("1998-03-03"),yearweek("2000-01-01",1),week(19950101,1),year("98-02-03"),weekday(curdate())-weekday(now()),dayname("1962-03-03"),unix_timestamp(),sec_to_time(time_to_sec("0:30:47")/6.21),curtime(),utc_time(),curdate(),utc_date(),utc_timestamp(),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")),"1997-12-31 23:59:59" + INTERVAL 1 SECOND,"1998-01-01 00:00:00" - INTERVAL 1 SECOND,INTERVAL 1 DAY + "1997-12-31", extract(YEAR FROM "1999-01-02 10:11:12"),date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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)`
SET @TMP='2007-08-01 12:22:49';
@@ -853,17 +853,17 @@ select last_day('2005-00-00');
last_day('2005-00-00')
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-00-00'
+Warning 1292 Incorrect datetime value: '2005-00-00'
select last_day('2005-00-01');
last_day('2005-00-01')
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-00-01'
+Warning 1292 Incorrect datetime value: '2005-00-01'
select last_day('2005-01-00');
last_day('2005-01-00')
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-01-00'
+Warning 1292 Incorrect datetime value: '2005-01-00'
select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')),
monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m'));
monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m'))
@@ -908,8 +908,8 @@ f1
select f1 from t1 where cast("2006-1-1" as date) between f1 and cast('zzz' as date);
f1
Warnings:
-Warning 1292 Truncated incorrect datetime value: 'zzz'
-Warning 1292 Truncated incorrect datetime value: 'zzz'
+Warning 1292 Incorrect datetime value: 'zzz'
+Warning 1292 Incorrect datetime value: 'zzz'
select f1 from t1 where makedate(2006,1) between date(f1) and date(f3);
f1
2006-01-01
@@ -922,10 +922,10 @@ sec_to_time(1) + 0, from_unixtime(1) + 0;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `now() - now()` double(23,6) NOT NULL default '0.000000',
- `curtime() - curtime()` double(23,6) NOT NULL default '0.000000',
- `sec_to_time(1) + 0` double(23,6) default NULL,
- `from_unixtime(1) + 0` double(23,6) default NULL
+ `now() - now()` double(23,6) NOT NULL DEFAULT '0.000000',
+ `curtime() - curtime()` double(23,6) NOT NULL DEFAULT '0.000000',
+ `sec_to_time(1) + 0` double(23,6) DEFAULT NULL,
+ `from_unixtime(1) + 0` double(23,6) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
SELECT SEC_TO_TIME(3300000);
@@ -1005,7 +1005,7 @@ CREATE TABLE t1(f1 TIME);
INSERT INTO t1 VALUES('916:00:00 a');
Warnings:
Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
SELECT * FROM t1;
f1
838:59:59
@@ -1066,30 +1066,17 @@ isnull(week(now() + 0)) isnull(week(now() + 0.2)) week(20061108) week(20061108.0
End of 4.1 tests
explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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`
-select last_day('2005-00-00');
-last_day('2005-00-00')
-NULL
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-00-00'
-select last_day('2005-00-01');
-last_day('2005-00-01')
-NULL
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-00-01'
-select last_day('2005-01-00');
-last_day('2005-01-00')
-NULL
-Warnings:
-Warning 1292 Truncated incorrect datetime value: '2005-01-00'
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
+SET GLOBAL log_bin_trust_function_creators = 1;
create table t1 (a timestamp default '2005-05-05 01:01:01',
b timestamp default '2005-05-05 01:01:01');
+drop function if exists t_slow_sysdate;
create function t_slow_sysdate() returns timestamp
begin
do sleep(2);
@@ -1110,6 +1097,7 @@ a != b
drop trigger t_before;
drop function t_slow_sysdate;
drop table t1;
+SET GLOBAL log_bin_trust_function_creators = 0;
create table t1 (a datetime, i int, b datetime);
insert into t1 select sysdate(), sleep(1), sysdate() from dual;
select a != b from t1;
@@ -1205,18 +1193,6 @@ id day id day
3 2005-07-01 3 2005-07-15
DROP TABLE t1,t2;
set time_zone= @@global.time_zone;
-SET NAMES latin1;
-SET character_set_results = NULL;
-SHOW VARIABLES LIKE 'character_set_results';
-Variable_name Value
-character_set_results
-CREATE TABLE testBug8868 (field1 DATE, field2 VARCHAR(32) CHARACTER SET BINARY);
-INSERT INTO testBug8868 VALUES ('2006-09-04', 'abcd');
-SELECT DATE_FORMAT(field1,'%b-%e %l:%i%p') as fmtddate, field2 FROM testBug8868;
-fmtddate field2
-Sep-4 12:00AM abcd
-DROP TABLE testBug8868;
-SET NAMES DEFAULT;
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
@@ -1286,3 +1262,37 @@ 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
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)
+0049-12-31 23:59:59
+select date_sub("0199-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("0199-01-01 00:00:01",INTERVAL 2 SECOND)
+0198-12-31 23:59:59
+select date_add("0199-12-31 23:59:59",INTERVAL 2 SECOND);
+date_add("0199-12-31 23:59:59",INTERVAL 2 SECOND)
+0200-01-01 00:00:01
+select date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND)
+0199-12-31 23:59:59
+select date_sub("0200-01-01 00:00:01",INTERVAL 1 SECOND);
+date_sub("0200-01-01 00:00:01",INTERVAL 1 SECOND)
+0200-01-01 00:00:00
+select date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("0200-01-01 00:00:01",INTERVAL 2 SECOND)
+0199-12-31 23:59:59
+select date_add("2001-01-01 23:59:59",INTERVAL -2000 YEAR);
+date_add("2001-01-01 23:59:59",INTERVAL -2000 YEAR)
+0001-01-01 23:59:59
+select date_sub("50-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("50-01-01 00:00:01",INTERVAL 2 SECOND)
+2049-12-31 23:59:59
+select date_sub("90-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("90-01-01 00:00:01",INTERVAL 2 SECOND)
+1989-12-31 23:59:59
+select date_sub("0069-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("0069-01-01 00:00:01",INTERVAL 2 SECOND)
+0068-12-31 23:59:59
+select date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND);
+date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND)
+0168-12-31 23:59:59
+End of 5.1 tests
diff --git a/mysql-test/r/gis-rtree.result b/mysql-test/r/gis-rtree.result
index 99bfede3ee0..f8e0085bf59 100644
--- a/mysql-test/r/gis-rtree.result
+++ b/mysql-test/r/gis-rtree.result
@@ -7,9 +7,9 @@ SPATIAL KEY(g)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `fid` int(11) NOT NULL auto_increment,
+ `fid` int(11) NOT NULL AUTO_INCREMENT,
`g` geometry NOT NULL,
- PRIMARY KEY (`fid`),
+ PRIMARY KEY (`fid`),
SPATIAL KEY `g` (`g`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(150 150, 150 150)'));
@@ -290,9 +290,9 @@ ALTER TABLE t2 ADD SPATIAL KEY(g);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `fid` int(11) NOT NULL auto_increment,
+ `fid` int(11) NOT NULL AUTO_INCREMENT,
`g` geometry NOT NULL,
- PRIMARY KEY (`fid`),
+ PRIMARY KEY (`fid`),
SPATIAL KEY `g` (`g`)
) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1
SELECT count(*) FROM t2;
@@ -803,7 +803,7 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
INSERT INTO t2 SELECT GeomFromText(st) FROM t1;
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
drop table t1, t2;
-CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`(32))) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Warnings:
Warning 1101 BLOB/TEXT column 'geometry' can't have a default value
INSERT INTO t1 (geometry) VALUES
@@ -820,7 +820,7 @@ test.t1 check status OK
drop table t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
-SPATIAL KEY i1 (c1(32))
+SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Warnings:
Warning 1101 BLOB/TEXT column 'c1' can't have a default value
@@ -836,7 +836,7 @@ test.t1 check status OK
DROP TABLE t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
-SPATIAL KEY i1 (c1(32))
+SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Warnings:
Warning 1101 BLOB/TEXT column 'c1' can't have a default value
@@ -879,7 +879,7 @@ c1 varchar(15) collate utf8_bin default NULL,
c3 varchar(10) collate utf8_bin default NULL,
spatial_point point NOT NULL,
PRIMARY KEY(id),
-SPATIAL KEY (spatial_point(32))
+SPATIAL KEY (spatial_point)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
('y', 's', 'j', GeomFromText('POINT(167 74)')),
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result
index ac6356f8203..73fb9cc69e0 100644
--- a/mysql-test/r/gis.result
+++ b/mysql-test/r/gis.result
@@ -225,8 +225,8 @@ fid AsText(Envelope(g))
120 POLYGON((0 0,10 0,10 10,0 10,0 0))
121 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00
Warnings:
Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
SELECT fid, X(g) FROM gis_point;
@@ -242,8 +242,8 @@ fid Y(g)
103 20
104 20
explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00
Warnings:
Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
SELECT fid, AsText(StartPoint(g)) FROM gis_line;
@@ -277,8 +277,8 @@ fid IsClosed(g)
106 1
107 0
explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
SELECT fid, AsText(Centroid(g)) FROM gis_polygon;
@@ -307,8 +307,8 @@ fid AsText(InteriorRingN(g, 1))
109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
110 NULL
explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, IsClosed(g) FROM gis_multi_line;
@@ -346,8 +346,8 @@ fid NumGeometries(g)
120 2
121 2
explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
@@ -374,8 +374,8 @@ fid AsText(GeometryN(g, 1))
120 POINT(0 0)
121 POINT(44 6)
explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -393,9 +393,9 @@ Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
@@ -436,26 +436,26 @@ SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))));
AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))))
POINT(1 4)
explain extended SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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)'))))`
explain extended SELECT AsText(GeometryFromWKB(AsWKB(PointFromText('POINT(1 4)'))));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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)'))))`
SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));
SRID(GeomFromText('LineString(1 1,2 2)',101))
101
explain extended SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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))`
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 Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 issimple(multipoint(point(3,6),point(4,10))) AS `issimple(MultiPoint(Point(3, 6), Point(4, 10)))`,issimple(point(3,6)) AS `issimple(Point(3, 6))`
create table t1 (a geometry not null);
@@ -578,7 +578,7 @@ create table t1 select GeomFromWKB(POINT(1,3));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `GeomFromWKB(POINT(1,3))` geometry default NULL
+ `GeomFromWKB(POINT(1,3))` geometry DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo`
@@ -686,7 +686,7 @@ drop table t1;
create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b));
alter table t1 disable keys;
load data infile '../std_data_ln/bad_gis_data.dat' into table t1;
-ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 1
+ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'b' at row 1
alter table t1 enable keys;
drop table t1;
create table t1 (a int, b blob);
@@ -781,11 +781,12 @@ insert into t1 values (null,null);
ERROR 23000: Column 's1' cannot be null
drop table t1;
drop procedure if exists fn3;
-create function fn3 () returns point return GeomFromText("point(1 1)");
+create function fn3 () returns point deterministic return GeomFromText("point(1 1)");
show create function fn3;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
fn3 CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS point
-return GeomFromText("point(1 1)")
+ DETERMINISTIC
+return GeomFromText("point(1 1)") latin1 latin1_swedish_ci latin1_swedish_ci
select astext(fn3());
astext(fn3())
POINT(1 1)
@@ -972,3 +973,15 @@ 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;
+desc v1;
+Field Type Null Key Default Extra
+f1 tinyint(1) YES NULL
+f2 char(1) YES NULL
+f3 varchar(1) YES NULL
+f4 geometry YES NULL
+f5 datetime YES NULL
+drop view v1;
+drop table t1;
+End of 5.1 tests
diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result
index e27ef64af43..c46f29b787f 100644
--- a/mysql-test/r/grant.result
+++ b/mysql-test/r/grant.result
@@ -1,3 +1,4 @@
+SET GLOBAL log_bin_trust_function_creators = 1;
drop table if exists t1;
drop database if exists mysqltest;
SET NAMES binary;
@@ -11,8 +12,8 @@ GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3
GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
grant delete on mysqltest.* to mysqltest_1@localhost;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N SPECIFIED EDH-RSA-DES-CBC3-SHA 0 0 0 0
+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 mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N SPECIFIED EDH-RSA-DES-CBC3-SHA 0 0 0 0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
@@ -42,15 +43,15 @@ delete from mysql.user where user='mysqltest_1';
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_queries_per_hour 10;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 10 0 0 0
+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 mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N 10 0 0 0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10
grant usage on *.* to mysqltest_1@localhost with max_updates_per_hour 20 max_connections_per_hour 30;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 10 20 30 0
+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 mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N 10 20 30 0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10 MAX_UPDATES_PER_HOUR 20 MAX_CONNECTIONS_PER_HOUR 30
@@ -85,7 +86,7 @@ revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
+GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
delete from mysql.user where user='mysqltest_1';
flush privileges;
@@ -463,6 +464,7 @@ Create view Tables To create new views
Create user Server Admin To create new users
Delete Tables To delete existing rows
Drop Databases,Tables To drop databases, tables, and views
+Event Server Admin To create, alter, drop and execute events
Execute Functions,Procedures To execute stored routines
File File access on server To read and write files on the server
Grant option Databases,Tables,Functions,Procedures To give to other users those privileges you possess
@@ -479,6 +481,7 @@ Show databases Server Admin To see all databases with SHOW DATABASES
Show view Tables To see views with SHOW CREATE VIEW
Shutdown Server Admin To shut down the server
Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
+Trigger Tables To use triggers
Update Tables To update existing rows
Usage Server Admin No privileges - allow connect only
create database mysqltest;
@@ -505,8 +508,8 @@ SELECT TABLE_SCHEMA, TABLE_NAME, GROUP_CONCAT(PRIVILEGE_TYPE ORDER BY
PRIVILEGE_TYPE SEPARATOR ', ') AS PRIVILEGES FROM TABLE_PRIVILEGES WHERE GRANTEE
= '\'dummy\'@\'localhost\'' GROUP BY TABLE_SCHEMA, TABLE_NAME;
TABLE_SCHEMA TABLE_NAME PRIVILEGES
-mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, UPDATE
-mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, UPDATE
+mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
+mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
FLUSH PRIVILEGES;
SHOW GRANTS FOR dummy@localhost;
Grants for dummy@localhost
@@ -517,8 +520,8 @@ SELECT TABLE_SCHEMA, TABLE_NAME, GROUP_CONCAT(PRIVILEGE_TYPE ORDER BY
PRIVILEGE_TYPE SEPARATOR ', ') AS PRIVILEGES FROM TABLE_PRIVILEGES WHERE GRANTEE
= '\'dummy\'@\'localhost\'' GROUP BY TABLE_SCHEMA, TABLE_NAME;
TABLE_SCHEMA TABLE_NAME PRIVILEGES
-mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, UPDATE
-mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, UPDATE
+mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
+mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
SHOW FIELDS FROM mysql.tables_priv;
Field Type Null Key Default Extra
Host char(60) NO PRI
@@ -526,8 +529,8 @@ 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
-Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') NO
+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;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM dummy@localhost;
@@ -609,7 +612,7 @@ flush privileges;
use test;
set @user123="non-existent";
select * from mysql.db where user=@user123;
-Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv
+Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
set names koi8r;
create database ;
grant select on .* to root@localhost;
@@ -904,11 +907,11 @@ ERROR 42000: SHOW VIEW command denied to user 'mysqltest_1'@'localhost' for tabl
SHOW CREATE TABLE mysqltest2.v_yn;
ERROR 42000: SHOW VIEW command denied to user 'mysqltest_1'@'localhost' for table 'v_yn'
SHOW CREATE TABLE mysqltest2.v_ny;
-View Create View
-v_ny CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_ny` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn`
+View Create View character_set_client collation_connection
+v_ny CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_ny` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` latin1 latin1_swedish_ci
SHOW CREATE VIEW mysqltest2.v_ny;
-View Create View
-v_ny CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_ny` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn`
+View Create View character_set_client collation_connection
+v_ny CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_ny` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` latin1 latin1_swedish_ci
SHOW CREATE TABLE mysqltest3.t_nn;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't_nn'
SHOW CREATE VIEW mysqltest3.t_nn;
@@ -920,26 +923,26 @@ ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table '
SHOW CREATE TABLE mysqltest2.t_nn;
Table Create Table
t_nn CREATE TABLE `t_nn` (
- `c1` int(11) default NULL
+ `c1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW CREATE VIEW mysqltest2.t_nn;
ERROR HY000: 'mysqltest2.t_nn' is not VIEW
SHOW CREATE VIEW mysqltest2.v_yy;
-View Create View
-v_yy CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_yy` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` where (`mysqltest2`.`t_nn`.`c1` = 55)
+View Create View character_set_client collation_connection
+v_yy CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_yy` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` where (`mysqltest2`.`t_nn`.`c1` = 55) latin1 latin1_swedish_ci
SHOW CREATE TABLE mysqltest2.v_yy;
-View Create View
-v_yy CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_yy` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` where (`mysqltest2`.`t_nn`.`c1` = 55)
+View Create View character_set_client collation_connection
+v_yy CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest2`.`v_yy` AS select `mysqltest2`.`t_nn`.`c1` AS `c1` from `mysqltest2`.`t_nn` where (`mysqltest2`.`t_nn`.`c1` = 55) latin1 latin1_swedish_ci
SHOW CREATE TABLE mysqltest2.v_nn;
-View Create View
-v_nn CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_nn` AS select `t_nn`.`c1` AS `c1` from `t_nn`
+View Create View character_set_client collation_connection
+v_nn CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_nn` AS select `t_nn`.`c1` AS `c1` from `t_nn` latin1 latin1_swedish_ci
SHOW CREATE VIEW mysqltest2.v_nn;
-View Create View
-v_nn CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_nn` AS select `t_nn`.`c1` AS `c1` from `t_nn`
+View Create View character_set_client collation_connection
+v_nn CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_nn` AS select `t_nn`.`c1` AS `c1` from `t_nn` latin1 latin1_swedish_ci
SHOW CREATE TABLE mysqltest2.t_nn;
Table Create Table
t_nn CREATE TABLE `t_nn` (
- `c1` int(11) default NULL
+ `c1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW CREATE VIEW mysqltest2.t_nn;
ERROR HY000: 'mysqltest2.t_nn' is not VIEW
@@ -957,6 +960,72 @@ DROP USER 'mysqltest_1'@'localhost';
use test;
create user mysqltest1_thisisreallytoolong;
ERROR HY000: String 'mysqltest1_thisisreallytoolong' is too long for user name (should be no longer than 16)
+CREATE DATABASE mysqltest1;
+CREATE TABLE mysqltest1.t1 (
+int_field INTEGER UNSIGNED NOT NULL,
+char_field CHAR(10),
+INDEX(`int_field`)
+);
+CREATE TABLE mysqltest1.t2 (int_field INT);
+"Now check that we require equivalent grants for "
+"RENAME TABLE and ALTER TABLE"
+CREATE USER mysqltest_1@localhost;
+GRANT SELECT ON mysqltest1.t1 TO mysqltest_1@localhost;
+SELECT USER();
+USER()
+mysqltest_1@localhost
+SHOW GRANTS;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT ON `mysqltest1`.`t1` TO 'mysqltest_1'@'localhost'
+RENAME TABLE t1 TO t2;
+ERROR 42000: DROP,ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1'
+ALTER TABLE t1 RENAME TO t2;
+ERROR 42000: DROP,ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1'
+GRANT DROP ON mysqltest1.t1 TO mysqltest_1@localhost;
+RENAME TABLE t1 TO t2;
+ERROR 42000: ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1'
+ALTER TABLE t1 RENAME TO t2;
+ERROR 42000: ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1'
+GRANT ALTER ON mysqltest1.t1 TO mysqltest_1@localhost;
+SHOW GRANTS;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT, DROP, ALTER ON `mysqltest1`.`t1` TO 'mysqltest_1'@'localhost'
+RENAME TABLE t1 TO t2;
+ERROR 42000: INSERT,CREATE command denied to user 'mysqltest_1'@'localhost' for table 't2'
+ALTER TABLE t1 RENAME TO t2;
+ERROR 42000: INSERT,CREATE command denied to user 'mysqltest_1'@'localhost' for table 't2'
+GRANT INSERT, CREATE ON mysqltest1.t1 TO mysqltest_1@localhost;
+SHOW GRANTS;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT, INSERT, CREATE, DROP, ALTER ON `mysqltest1`.`t1` TO 'mysqltest_1'@'localhost'
+GRANT INSERT, SELECT, CREATE, ALTER, DROP ON mysqltest1.t2 TO mysqltest_1@localhost;
+DROP TABLE mysqltest1.t2;
+SHOW GRANTS;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT, INSERT, CREATE, DROP, ALTER ON `mysqltest1`.`t2` TO 'mysqltest_1'@'localhost'
+GRANT SELECT, INSERT, CREATE, DROP, ALTER ON `mysqltest1`.`t1` TO 'mysqltest_1'@'localhost'
+RENAME TABLE t1 TO t2;
+RENAME TABLE t2 TO t1;
+ALTER TABLE t1 RENAME TO t2;
+ALTER TABLE t2 RENAME TO t1;
+REVOKE DROP, INSERT ON mysqltest1.t1 FROM mysqltest_1@localhost;
+REVOKE DROP, INSERT ON mysqltest1.t2 FROM mysqltest_1@localhost;
+SHOW GRANTS;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT, CREATE, ALTER ON `mysqltest1`.`t2` TO 'mysqltest_1'@'localhost'
+GRANT SELECT, CREATE, ALTER ON `mysqltest1`.`t1` TO 'mysqltest_1'@'localhost'
+RENAME TABLE t1 TO t2;
+ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 't1'
+ALTER TABLE t1 RENAME TO t2;
+ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 't1'
+DROP USER mysqltest_1@localhost;
+DROP DATABASE mysqltest1;
+USE test;
GRANT CREATE ON mysqltest.* TO 1234567890abcdefGHIKL@localhost;
ERROR HY000: String '1234567890abcdefGHIKL' is too long for user name (should be no longer than 16)
GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
@@ -981,6 +1050,26 @@ REVOKE EXECUTE ON PROCEDURE p1 FROM 1234567890abcdefGHIKL@localhost;
ERROR HY000: String '1234567890abcdefGHIKL' is too long for user name (should be no longer than 16)
REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+CREATE USER bug23556@localhost;
+CREATE DATABASE bug23556;
+GRANT SELECT ON bug23556.* TO bug23556@localhost;
+USE bug23556;
+CREATE TABLE t1 (a INT PRIMARY KEY);
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
+GRANT DELETE ON t1 TO bug23556@localhost;
+USE bug23556;
+TRUNCATE t1;
+ERROR 42000: DROP command denied to user 'bug23556'@'localhost' for table 't1'
+USE bug23556;
+REVOKE DELETE ON t1 FROM bug23556@localhost;
+GRANT DROP ON t1 TO bug23556@localhost;
+USE bug23556;
+TRUNCATE t1;
+USE bug23556;
+DROP TABLE t1;
+USE test;
+DROP DATABASE bug23556;
+DROP USER bug23556@localhost;
GRANT PROCESS ON * TO user@localhost;
ERROR 3D000: No database selected
DROP DATABASE IF EXISTS mysqltest1;
@@ -1130,3 +1219,70 @@ DROP DATABASE db27878;
use test;
DROP TABLE t1;
End of 5.0 tests
+set names utf8;
+grant select on test.* to юзер_юзер@localhost;
+user()
+юзер_юзер@localhost
+revoke all on test.* from юзер_юзер@localhost;
+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;
+Warnings:
+Error 1146 Table 'mysql.procs_priv' doesn't exist
+Error 1548 Cannot load from mysql.mysql.procs_priv. The table is probably corrupted
+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;
+FLUSH PRIVILEGES;
+End of 5.1 tests
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result
index e3c92ecc7c8..b94de265d0c 100644
--- a/mysql-test/r/grant2.result
+++ b/mysql-test/r/grant2.result
@@ -348,15 +348,14 @@ create database TESTDB;
create table t2(a int);
create temporary table t1 as select * from mysql.user;
delete from mysql.user where host='localhost';
-INSERT INTO mysql.user VALUES
-('%','mysqltest_1',password('password'),'N','N','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);
-INSERT INTO mysql.db VALUES
-('%','TESTDB','mysqltest_1','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','N','Y','Y','Y','
-Y','N');
+INSERT INTO mysql.user (host, user, password) VALUES
+('%','mysqltest_1',password('password'));
Warnings:
-Warning 1265 Data truncated for column 'Alter_routine_priv' at row 1
+Warning 1364 Field 'ssl_cipher' doesn't have a default value
+Warning 1364 Field 'x509_issuer' doesn't have a default value
+Warning 1364 Field 'x509_subject' doesn't have a default value
+INSERT INTO mysql.db (host, db, user, select_priv) VALUES
+('%','TESTDB','mysqltest_1','Y');
FLUSH PRIVILEGES;
create database TEStdb;
Got one of the listed errors
@@ -366,13 +365,14 @@ insert into mysql.user select * from t1;
drop table t1, t2;
drop database TESTDB;
flush privileges;
+SET GLOBAL log_bin_trust_function_creators = 1;
grant all privileges on test.* to `a@`@localhost;
grant execute on * to `a@`@localhost;
create table t2 (s1 int);
insert into t2 values (1);
drop function if exists f2;
-create function f2 () returns int begin declare v int; select s1 from t2
-into v; return v; end//
+create function f2 () returns int
+begin declare v int; select s1 from t2 into v; return v; end//
select f2();
f2()
1
@@ -380,6 +380,7 @@ drop function f2;
drop table t2;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
drop user `a@`@localhost;
+SET GLOBAL log_bin_trust_function_creators = 0;
drop database if exists mysqltest_1;
drop database if exists mysqltest_2;
drop user mysqltest_u1@localhost;
@@ -396,7 +397,7 @@ grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
show create table mysqltest_2.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t1 like mysqltest_2.t1;
use test;
diff --git a/mysql-test/r/grant_cache_no_prot.result b/mysql-test/r/grant_cache_no_prot.result
new file mode 100644
index 00000000000..02360c4c325
--- /dev/null
+++ b/mysql-test/r/grant_cache_no_prot.result
@@ -0,0 +1,218 @@
+drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
+drop database if exists mysqltest;
+set GLOBAL query_cache_size=1355776;
+reset query cache;
+flush status;
+----- establish connection root -----
+show grants for current_user;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+create database if not exists mysqltest;
+create table mysqltest.t1 (a int,b int,c int);
+create table mysqltest.t2 (a int,b int,c int);
+insert into mysqltest.t1 values (1,1,1),(2,2,2);
+insert into mysqltest.t2 values (3,3,3);
+create table test.t1 (a char (10));
+insert into test.t1 values ("test.t1");
+select * from t1;
+a
+test.t1
+----- establish connection root2 -----
+select * from t1;
+a b c
+1 1 1
+2 2 2
+select a from t1;
+a
+1
+2
+select c from t1;
+c
+1
+2
+select * from t2;
+a b c
+3 3 3
+select * from mysqltest.t1,test.t1;
+a b c a
+1 1 1 test.t1
+2 2 2 test.t1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits%";
+Variable_name Value
+Qcache_hits 0
+grant SELECT on mysqltest.* to mysqltest_1@localhost;
+grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
+grant SELECT on test.t1 to mysqltest_2@localhost;
+grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
+----- establish connection user1 (user=mysqltest_1) -----
+show grants for current_user();
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 0
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 0
+select "user1";
+user1
+user1
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 0
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 1
+select * from t1;
+a b c
+1 1 1
+2 2 2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 1
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 1
+select a from t1 ;
+a
+1
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 2
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 1
+select c from t1;
+c
+1
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 3
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 1
+----- establish connection unkuser (user=unkuser) -----
+show grants for current_user();
+Grants for @localhost
+GRANT USAGE ON *.* TO ''@'localhost'
+----- establish connection user2 (user=mysqltest_2) -----
+select "user2";
+user2
+user2
+select * from t1;
+a b c
+1 1 1
+2 2 2
+select a from t1;
+a
+1
+2
+select c from t1;
+c
+1
+2
+select * from mysqltest.t1,test.t1;
+a b c a
+1 1 1 test.t1
+2 2 2 test.t1
+select * from t2;
+ERROR 42000: SELECT command denied to user 'mysqltest_2'@'localhost' for table 't2'
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 7
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 2
+----- establish connection user3 (user=mysqltest_3) -----
+select "user3";
+user3
+user3
+select * from t1;
+ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'b' in table 't1'
+select a from t1;
+a
+1
+2
+select c from t1;
+ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1'
+select * from t2;
+ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't2'
+select mysqltest.t1.c from test.t1,mysqltest.t1;
+ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1'
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 6
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 7
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 7
+----- establish connection user4 (user=mysqltest_1) -----
+select "user4";
+user4
+user4
+show grants;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
+select a from t1;
+ERROR 3D000: No database selected
+select * from mysqltest.t1,test.t1;
+a b c a
+1 1 1 test.t1
+2 2 2 test.t1
+select a from mysqltest.t1;
+a
+1
+2
+select a from mysqltest.t1;
+a
+1
+2
+show status like "Qcache_queries_in_cache";
+Variable_name Value
+Qcache_queries_in_cache 8
+show status like "Qcache_hits";
+Variable_name Value
+Qcache_hits 8
+show status like "Qcache_not_cached";
+Variable_name Value
+Qcache_not_cached 8
+----- switch to connection default and close connections -----
+set names binary;
+delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
+delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
+delete from mysql.tables_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
+delete from mysql.columns_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
+flush privileges;
+drop table test.t1,mysqltest.t1,mysqltest.t2;
+drop database mysqltest;
+set GLOBAL query_cache_size=default;
diff --git a/mysql-test/r/grant_cache.result b/mysql-test/r/grant_cache_ps_prot.result
index 925a5918c1b..1e2cd1baa3a 100644
--- a/mysql-test/r/grant_cache.result
+++ b/mysql-test/r/grant_cache_ps_prot.result
@@ -3,6 +3,7 @@ drop database if exists mysqltest;
set GLOBAL query_cache_size=1355776;
reset query cache;
flush status;
+----- establish connection root -----
show grants for current_user;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
@@ -19,6 +20,7 @@ insert into test.t1 values ("test.t1");
select * from t1;
a
test.t1
+----- establish connection root2 -----
select * from t1;
a b c
1 1 1
@@ -48,6 +50,7 @@ grant SELECT on mysqltest.* to mysqltest_1@localhost;
grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
grant SELECT on test.t1 to mysqltest_2@localhost;
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
+----- establish connection user1 (user=mysqltest_1) -----
show grants for current_user();
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
@@ -60,7 +63,7 @@ Variable_name Value
Qcache_hits 0
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 5
+Qcache_not_cached 0
select "user1";
user1
user1
@@ -72,7 +75,7 @@ Variable_name Value
Qcache_hits 0
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 9
+Qcache_not_cached 1
select * from t1;
a b c
1 1 1
@@ -85,7 +88,7 @@ Variable_name Value
Qcache_hits 1
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 12
+Qcache_not_cached 1
select a from t1 ;
a
1
@@ -98,7 +101,7 @@ Variable_name Value
Qcache_hits 2
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 15
+Qcache_not_cached 1
select c from t1;
c
1
@@ -111,10 +114,12 @@ Variable_name Value
Qcache_hits 3
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 18
+Qcache_not_cached 1
+----- establish connection unkuser (user=unkuser) -----
show grants for current_user();
Grants for @localhost
GRANT USAGE ON *.* TO ''@'localhost'
+----- establish connection user2 (user=mysqltest_2) -----
select "user2";
user2
user2
@@ -144,7 +149,8 @@ Variable_name Value
Qcache_hits 7
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 22
+Qcache_not_cached 2
+----- establish connection user3 (user=mysqltest_3) -----
select "user3";
user3
user3
@@ -168,7 +174,8 @@ Variable_name Value
Qcache_hits 7
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 30
+Qcache_not_cached 4
+----- establish connection user4 (user=mysqltest_1) -----
select "user4";
user4
user4
@@ -198,7 +205,8 @@ Variable_name Value
Qcache_hits 8
show status like "Qcache_not_cached";
Variable_name Value
-Qcache_not_cached 34
+Qcache_not_cached 5
+----- switch to connection default and close connections -----
set names binary;
delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
diff --git a/mysql-test/r/greedy_optimizer.result b/mysql-test/r/greedy_optimizer.result
index 1da49fbedb0..9e8c66722e3 100644
--- a/mysql-test/r/greedy_optimizer.result
+++ b/mysql-test/r/greedy_optimizer.result
@@ -121,11 +121,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -133,11 +133,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -145,11 +145,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -157,11 +157,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -169,11 +169,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
@@ -181,11 +181,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
@@ -201,11 +201,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -213,11 +213,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -225,51 +225,51 @@ Last_query_cost 821.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
set optimizer_search_depth=1;
select @@optimizer_search_depth;
@@optimizer_search_depth
@@ -277,11 +277,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -289,11 +289,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -304,9 +304,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -316,9 +316,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -328,9 +328,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -340,9 +340,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -353,11 +353,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -365,11 +365,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -377,51 +377,51 @@ Last_query_cost 821.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 6
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
-Last_query_cost 274.418727
+Last_query_cost 289.418727
set optimizer_prune_level=1;
select @@optimizer_prune_level;
@@optimizer_prune_level
@@ -433,11 +433,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -445,11 +445,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -457,11 +457,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -469,11 +469,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -481,11 +481,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
@@ -493,11 +493,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
@@ -509,11 +509,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -521,11 +521,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -536,9 +536,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -548,9 +548,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -560,9 +560,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -572,9 +572,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
show status like 'Last_query_cost';
Variable_name Value
Last_query_cost 794.837037
@@ -585,11 +585,11 @@ select @@optimizer_search_depth;
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -597,11 +597,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -609,11 +609,11 @@ Last_query_cost 821.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -621,11 +621,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index
show status like 'Last_query_cost';
Variable_name Value
@@ -633,11 +633,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
@@ -645,11 +645,11 @@ Last_query_cost 794.837037
explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join buffer
1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where; Using join buffer
1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where
show status like 'Last_query_cost';
Variable_name Value
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result
index 1693fa646eb..1472fdfdd7a 100644
--- a/mysql-test/r/group_by.result
+++ b/mysql-test/r/group_by.result
@@ -285,8 +285,8 @@ spid count(*)
2 2
1 1
explain extended select sql_big_result spid,sum(userid) from t1 group by spid desc;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 8 100.00 Using filesort
Warnings:
Note 1003 select sql_big_result `test`.`t1`.`spID` AS `spid`,sum(`test`.`t1`.`userID`) AS `sum(userid)` from `test`.`t1` group by `test`.`t1`.`spID` desc
explain select sql_big_result spid,sum(userid) from t1 group by spid desc order by null;
@@ -537,11 +537,11 @@ a b
explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort
-1 SIMPLE t2 ALL a NULL NULL NULL 3 Using where
+1 SIMPLE t2 ALL a NULL NULL NULL 4 Using where; Using join buffer
explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b ORDER BY NULL;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary
-1 SIMPLE t2 ALL a NULL NULL NULL 3 Using where
+1 SIMPLE t2 ALL a NULL NULL NULL 4 Using where; Using join buffer
drop table t1,t2;
create table t1 (a int, b int);
insert into t1 values (1, 4),(10, 40),(1, 4),(10, 43),(1, 4),(10, 41),(1, 4),(10, 43),(1, 4);
@@ -1065,55 +1065,6 @@ ERROR 42000: 'test.t.f1' isn't in GROUP BY
drop table t1;
SET SQL_MODE = '';
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);
-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
-DROP TABLE t1;
-CREATE TABLE t1(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 INT NOT NULL,
c2 INT NOT NULL,
@@ -1178,3 +1129,352 @@ id c1 c2
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));
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8);
+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 t1 SELECT a + 128,b FROM t1 limit 16;
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+EXPLAIN SELECT a FROM t1 WHERE a < 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
+EXPLAIN SELECT a FROM t1 WHERE a < 2 ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
+EXPLAIN SELECT a FROM t1 WHERE a < 2 GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
+EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY,i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR JOIN (PRIMARY,i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY,i2) GROUP 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
+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
+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
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
+EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY) IGNORE INDEX FOR ORDER BY (i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+EXPLAIN SELECT a FROM t1 FORCE INDEX (i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+EXPLAIN SELECT a FROM t1 USE INDEX ();
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1 USE INDEX () USE INDEX (i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1
+FORCE INDEX (PRIMARY)
+IGNORE INDEX FOR GROUP BY (i2)
+IGNORE INDEX FOR ORDER BY (i2)
+USE INDEX (i2);
+ERROR HY000: Incorrect usage of USE INDEX and FORCE INDEX
+EXPLAIN SELECT a FROM t1 USE INDEX (i2) USE INDEX ();
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+EXPLAIN SELECT a FROM t1 FORCE INDEX ();
+ERROR 42000: You 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
+EXPLAIN SELECT a FROM t1 IGNORE INDEX ();
+ERROR 42000: You 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
+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 # 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
+1 SIMPLE t1 range NULL i2 4 NULL 145 Using index for group-by
+EXPLAIN SELECT a FROM t1 USE INDEX () IGNORE INDEX (i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1 IGNORE INDEX (i2) USE INDEX ();
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+EXPLAIN SELECT a FROM t1
+USE INDEX FOR GROUP BY (i2)
+USE INDEX FOR ORDER BY (i2)
+USE INDEX FOR JOIN (i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+EXPLAIN SELECT a FROM t1
+USE INDEX FOR JOIN (i2)
+USE INDEX FOR JOIN (i2)
+USE INDEX FOR JOIN (i2,i2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
+EXPLAIN SELECT 1 FROM t1 WHERE a IN
+(SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL PRIMARY 4 NULL 144 Using where; Using index
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 144 Using where
+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 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
+EXPLAIN SELECT 1 FROM t2 WHERE a IN
+(SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 144 Using where
+SHOW VARIABLES LIKE 'old';
+Variable_name Value
+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;
diff --git a/mysql-test/r/group_min_max.result b/mysql-test/r/group_min_max.result
index 5982931e677..103a7f5515a 100644
--- a/mysql-test/r/group_min_max.result
+++ b/mysql-test/r/group_min_max.result
@@ -1558,9 +1558,11 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select distinct a1,a2,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 range NULL idx_t1_1 147 NULL 17 Using where; Using index for group-by
-explain select distinct a1,a2,b,c from t1 where (a2 >= 'b') and (b = 'a') and (c = 'i121');
-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
+explain extended select distinct a1,a2,b,c from t1 where (a2 >= 'b') and (b = 'a') and (c = 'i121');
+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'))
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
@@ -1573,9 +1575,11 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select distinct a1,a2,b from t2 where (a2 >= 'b') and (b = 'a');
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range NULL idx_t2_1 146 NULL # Using where; Using index for group-by
-explain select distinct a1,a2,b,c from t2 where (a2 >= 'b') and (b = 'a') and (c = 'i121');
-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
+explain extended select distinct a1,a2,b,c from t2 where (a2 >= 'b') and (b = 'a') and (c = 'i121');
+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'))
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
@@ -1800,15 +1804,19 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select count(distinct a1,a2,b,c) from t1 where (a2 >= 'b') and (b = 'a') and (c = 'i121');
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
-explain select count(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 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 Using where; Using index
+explain extended select count(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 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'))
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
-explain select ord(a1) + count(distinct a1,a2,b) from t1 where (a1 > 'a') and (a2 > 'a');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 Using where; Using index
+explain extended select ord(a1) + count(distinct a1,a2,b) from t1 where (a1 > 'a') and (a2 > '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'))
select count(distinct a1,a2,b) from t1 where (a2 >= 'b') and (b = 'a');
count(distinct a1,a2,b)
4
@@ -1911,24 +1919,32 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select a1,a2,b,d from t1 group by a1,a2,b;
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,min(b),max(b) from t1
+explain extended select a1,a2,min(b),max(b) from t1
where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (c > 'a111') group by a1,a2;
-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 130 NULL 76 Using where; Using index
-explain select a1,a2,b,min(c),max(c) from t1
+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`
+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 Extra
-1 SIMPLE t1 ALL idx_t1_0,idx_t1_1,idx_t1_2 NULL NULL NULL 128 Using where; Using temporary; Using filesort
-explain select a1,a2,b,c from t1
+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`
+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 Extra
-1 SIMPLE t1 ALL idx_t1_0,idx_t1_1,idx_t1_2 NULL NULL NULL 128 Using where; Using temporary; Using filesort
+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`
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
-explain select a1,a2,b from t1 where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (c > 'a111') group by a1,a2,b;
-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 130 NULL 76 Using where; Using index
+explain extended select a1,a2,b from t1 where (a1 = 'b' or a1 = 'd' or a1 = 'a' or a1 = 'c') and (a2 > 'a') and (c > 'a111') group by a1,a2,b;
+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`
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
@@ -1947,16 +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
-explain 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 Extra
-1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 Using where; Using index
-explain 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 Extra
-1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 Using where; 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_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`
+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_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`
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
@@ -2226,7 +2246,7 @@ EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE EXISTS
(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 index
-2 SUBQUERY t1 index NULL a 10 NULL 8 Using index
+2 SUBQUERY t1 index NULL a 10 NULL 15 Using index
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
@@ -2236,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 8 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
@@ -2247,7 +2267,7 @@ ON t1_outer1.a = (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2)
AND t1_outer1.b = t1_outer2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1_outer1 ref a a 5 const 1 Using where; Using index
-1 PRIMARY t1_outer2 index NULL a 10 NULL 15 Using where; Using index
+1 PRIMARY t1_outer2 index NULL a 10 NULL 15 Using where; Using index; Using join buffer
2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
EXPLAIN SELECT (SELECT (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) x
FROM t1 AS t1_outer) x2 FROM t1 AS t1_outer2;
@@ -2279,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
diff --git a/mysql-test/r/group_min_max_innodb.result b/mysql-test/r/group_min_max_innodb.result
new file mode 100644
index 00000000000..ae4b9d4d5dd
--- /dev/null
+++ b/mysql-test/r/group_min_max_innodb.result
@@ -0,0 +1,72 @@
+create table t4 (
+pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
+) engine=innodb;
+insert into t4 (a1, a2, b, c, d) values
+('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
+('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
+('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
+('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
+('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
+('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
+('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
+('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
+('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
+('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
+('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
+('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
+('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
+('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
+('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
+('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4'),
+('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
+('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
+('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
+('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
+('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
+('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
+('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
+('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
+('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
+('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
+('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
+('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
+('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
+('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
+('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
+('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4');
+create index idx12672_0 on t4 (a1);
+create index idx12672_1 on t4 (a1,a2,b,c);
+create index idx12672_2 on t4 (a1,a2,b);
+analyze table t4;
+Table Op Msg_type Msg_text
+test.t4 analyze status OK
+select distinct a1 from t4 where pk_col not in (1,2,3,4);
+a1
+a
+b
+c
+d
+drop table t4;
+create table t1 (
+a varchar(30), b varchar(30), primary key(a), key(b)
+) engine=innodb;
+select distinct a from t1;
+a
+drop table t1;
+create table t1(a int, key(a)) engine=innodb;
+insert into t1 values(1);
+select a, count(a) from t1 group by a with rollup;
+a count(a)
+1 1
+NULL 1
+drop table t1;
+create table t1 (f1 int, f2 char(1), primary key(f1,f2)) engine=innodb;
+insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
+alter table t1 drop primary key, add primary key (f2, f1);
+explain select distinct f1 a, f1 b from t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index; Using temporary
+explain select distinct f1, f2 from t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
+drop table t1;
diff --git a/mysql-test/r/handler_innodb.result b/mysql-test/r/handler_innodb.result
new file mode 100644
index 00000000000..9d269f78d10
--- /dev/null
+++ b/mysql-test/r/handler_innodb.result
@@ -0,0 +1,730 @@
+SET SESSION STORAGE_ENGINE = InnoDB;
+drop table if exists t1,t3,t4,t5;
+create table t1 (a int, b char(10), key a(a), key b(a,b));
+insert into t1 values
+(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
+(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
+(20,"ggg"),(21,"hhh"),(22,"iii");
+handler t1 open as t2;
+handler t2 read a=(SELECT 1);
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1)' at line 1
+handler t2 read a first;
+a b
+14 aaa
+handler t2 read a next;
+a b
+15 bbb
+handler t2 read a next;
+a b
+16 ccc
+handler t2 read a prev;
+a b
+15 bbb
+handler t2 read a last;
+a b
+22 iii
+handler t2 read a prev;
+a b
+21 hhh
+handler t2 read a prev;
+a b
+20 ggg
+handler t2 read a first;
+a b
+14 aaa
+handler t2 read a prev;
+a b
+handler t2 read a last;
+a b
+22 iii
+handler t2 read a prev;
+a b
+21 hhh
+handler t2 read a next;
+a b
+22 iii
+handler t2 read a next;
+a b
+handler t2 read a=(15);
+a b
+15 bbb
+handler t2 read a=(16);
+a b
+16 ccc
+handler t2 read a=(19,"fff");
+ERROR 42000: Too many key parts specified; max 1 parts allowed
+handler t2 read b=(19,"fff");
+a b
+19 fff
+handler t2 read b=(19,"yyy");
+a b
+19 yyy
+handler t2 read b=(19);
+a b
+19 fff
+handler t1 read a last;
+ERROR 42S02: Unknown table 't1' in HANDLER
+handler t2 read a=(11);
+a b
+handler t2 read a>=(11);
+a b
+14 aaa
+handler t2 read a=(18);
+a b
+18 eee
+handler t2 read a>=(18);
+a b
+18 eee
+handler t2 read a>(18);
+a b
+19 fff
+handler t2 read a<=(18);
+a b
+18 eee
+handler t2 read a<(18);
+a b
+17 ddd
+handler t2 read a first limit 5;
+a b
+14 aaa
+15 bbb
+16 ccc
+16 xxx
+17 ddd
+handler t2 read a next limit 3;
+a b
+18 eee
+19 fff
+19 yyy
+handler t2 read a prev limit 10;
+a b
+19 fff
+18 eee
+17 ddd
+16 xxx
+16 ccc
+15 bbb
+14 aaa
+handler t2 read a>=(16) limit 4;
+a b
+16 ccc
+16 xxx
+17 ddd
+18 eee
+handler t2 read a>=(16) limit 2,2;
+a b
+17 ddd
+18 eee
+handler t2 read a last limit 3;
+a b
+22 iii
+21 hhh
+20 ggg
+handler t2 read a=(19);
+a b
+19 fff
+handler t2 read a=(19) where b="yyy";
+a b
+19 yyy
+handler t2 read first;
+a b
+17 ddd
+handler t2 read next;
+a b
+18 eee
+handler t2 read next;
+a b
+19 fff
+handler t2 read last;
+ERROR 42000: You 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
+handler t2 close;
+handler t1 open;
+handler t1 read a next;
+a b
+14 aaa
+handler t1 read a next;
+a b
+15 bbb
+handler t1 close;
+handler t1 open;
+handler t1 read a prev;
+a b
+22 iii
+handler t1 read a prev;
+a b
+21 hhh
+handler t1 close;
+handler t1 open as t2;
+handler t2 read first;
+a b
+17 ddd
+alter table t1 engine = InnoDB;
+handler t2 read first;
+ERROR 42S02: Unknown table 't2' in HANDLER
+handler t1 open as t2;
+drop table t1;
+create table t1 (a int);
+insert into t1 values (17);
+handler t2 read first;
+ERROR 42S02: Unknown table 't2' in HANDLER
+handler t1 open as t2;
+alter table t1 engine=MEMORY;
+handler t2 read first;
+ERROR 42S02: Unknown table 't2' in HANDLER
+drop table t1;
+create table t1 (a int);
+insert into t1 values (1),(2),(3),(4),(5),(6);
+delete from t1 limit 2;
+handler t1 open;
+handler t1 read first;
+a
+3
+handler t1 read first limit 1,1;
+a
+4
+handler t1 read first limit 2,2;
+a
+5
+6
+delete from t1 limit 3;
+handler t1 read first;
+a
+6
+drop table t1;
+create table t1(a int, index(a));
+insert into t1 values (1), (2), (3);
+handler t1 open;
+handler t1 read a=(W);
+ERROR 42S22: Unknown column 'W' in 'field list'
+handler t1 read a=(a);
+ERROR HY000: Incorrect arguments to HANDLER ... READ
+drop table t1;
+create table t1 (a char(5));
+insert into t1 values ("Ok");
+handler t1 open as t;
+handler t read first;
+a
+Ok
+use mysql;
+handler t read first;
+a
+Ok
+handler t close;
+handler test.t1 open as t;
+handler t read first;
+a
+Ok
+handler t close;
+use test;
+drop table t1;
+create table t1 ( a int, b int, INDEX a (a) );
+insert into t1 values (1,2), (2,1);
+handler t1 open;
+handler t1 read a=(1) where b=2;
+a b
+1 2
+handler t1 read a=(1) where b=3;
+a b
+handler t1 read a=(1) where b=1;
+a b
+handler t1 close;
+drop table t1;
+drop database if exists test_test;
+create database test_test;
+use test_test;
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test_test.t1');
+insert into t1 values ('');
+handler t1 open;
+handler t1 read first limit 9;
+table_id
+
+test_test.t1
+create table t2(table_id char(20) primary key);
+insert into t2 values ('test_test.t2');
+insert into t2 values ('');
+handler t2 open;
+handler t2 read first limit 9;
+table_id
+
+test_test.t2
+use test;
+drop table if exists t1;
+create table t1(table_id char(20) primary key);
+insert into t1 values ('test.t1');
+insert into t1 values ('');
+handler t1 open;
+ERROR 42000: Not unique table/alias: 't1'
+use test;
+handler test.t1 read first limit 9;
+ERROR 42000: You 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 first limit 9' at line 1
+handler test_test.t1 read first limit 9;
+ERROR 42000: You 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 first limit 9' at line 1
+handler t1 read first limit 9;
+table_id
+
+test_test.t1
+handler test_test.t2 read first limit 9;
+ERROR 42000: You 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 first limit 9' at line 1
+handler t2 read first limit 9;
+table_id
+
+test_test.t2
+handler test_test.t1 close;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
+handler t1 close;
+drop table test_test.t1;
+handler test_test.t2 close;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
+handler t2 close;
+drop table test_test.t2;
+drop database test_test;
+use test;
+handler test.t1 close;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
+handler t1 close;
+ERROR 42S02: Unknown table 't1' in HANDLER
+drop table test.t1;
+drop database if exists test_test;
+drop table if exists t1;
+drop table if exists t2;
+drop table if exists t3;
+create database test_test;
+use test_test;
+create table t1 (c1 char(20));
+insert into t1 values ('test_test.t1');
+create table t3 (c1 char(20));
+insert into t3 values ('test_test.t3');
+handler t1 open;
+handler t1 read first limit 9;
+c1
+test_test.t1
+handler t1 open h1;
+handler h1 read first limit 9;
+c1
+test_test.t1
+use test;
+create table t1 (c1 char(20));
+create table t2 (c1 char(20));
+create table t3 (c1 char(20));
+insert into t1 values ('t1');
+insert into t2 values ('t2');
+insert into t3 values ('t3');
+handler t1 open;
+ERROR 42000: Not unique table/alias: 't1'
+handler t2 open t1;
+ERROR 42000: Not unique table/alias: 't1'
+handler t3 open t1;
+ERROR 42000: Not unique table/alias: 't1'
+handler t1 read first limit 9;
+c1
+test_test.t1
+handler test.t1 close;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
+handler test.t1 open h1;
+ERROR 42000: Not unique table/alias: 'h1'
+handler test_test.t1 open h1;
+ERROR 42000: Not unique table/alias: 'h1'
+handler test_test.t3 open h3;
+handler test.t1 open h2;
+handler t1 read first limit 9;
+c1
+test_test.t1
+handler h1 read first limit 9;
+c1
+test_test.t1
+handler h2 read first limit 9;
+c1
+t1
+handler h3 read first limit 9;
+c1
+test_test.t3
+handler h2 read first limit 9;
+c1
+t1
+handler test.h1 close;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
+handler t1 close;
+handler h1 close;
+handler h2 close;
+handler t1 read first limit 9;
+ERROR 42S02: Unknown table 't1' in HANDLER
+handler h1 read first limit 9;
+ERROR 42S02: Unknown table 'h1' in HANDLER
+handler h2 read first limit 9;
+ERROR 42S02: Unknown table 'h2' in HANDLER
+handler h3 read first limit 9;
+c1
+test_test.t3
+handler h3 read first limit 9;
+c1
+test_test.t3
+use test_test;
+handler h3 read first limit 9;
+c1
+test_test.t3
+handler test.h3 read first limit 9;
+ERROR 42000: You 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 first limit 9' at line 1
+handler h3 close;
+use test;
+drop table t3;
+drop table t2;
+drop table t1;
+drop database test_test;
+create table t1 (c1 char(20));
+insert into t1 values ("t1");
+handler t1 open as h1;
+handler h1 read first limit 9;
+c1
+t1
+create table t2 (c1 char(20));
+insert into t2 values ("t2");
+handler t2 open as h2;
+handler h2 read first limit 9;
+c1
+t2
+create table t3 (c1 char(20));
+insert into t3 values ("t3");
+handler t3 open as h3;
+handler h3 read first limit 9;
+c1
+t3
+create table t4 (c1 char(20));
+insert into t4 values ("t4");
+handler t4 open as h4;
+handler h4 read first limit 9;
+c1
+t4
+create table t5 (c1 char(20));
+insert into t5 values ("t5");
+handler t5 open as h5;
+handler h5 read first limit 9;
+c1
+t5
+alter table t1 engine=MyISAM;
+handler h1 read first limit 9;
+ERROR 42S02: Unknown table 'h1' in HANDLER
+handler h2 read first limit 9;
+c1
+t2
+handler h3 read first limit 9;
+c1
+t3
+handler h4 read first limit 9;
+c1
+t4
+handler h5 read first limit 9;
+c1
+t5
+alter table t5 engine=MyISAM;
+handler h1 read first limit 9;
+ERROR 42S02: Unknown table 'h1' in HANDLER
+handler h2 read first limit 9;
+c1
+t2
+handler h3 read first limit 9;
+c1
+t3
+handler h4 read first limit 9;
+c1
+t4
+handler h5 read first limit 9;
+ERROR 42S02: Unknown table 'h5' in HANDLER
+alter table t3 engine=MyISAM;
+handler h1 read first limit 9;
+ERROR 42S02: Unknown table 'h1' in HANDLER
+handler h2 read first limit 9;
+c1
+t2
+handler h3 read first limit 9;
+ERROR 42S02: Unknown table 'h3' in HANDLER
+handler h4 read first limit 9;
+c1
+t4
+handler h5 read first limit 9;
+ERROR 42S02: Unknown table 'h5' in HANDLER
+handler h2 close;
+handler h4 close;
+handler t1 open as h1_1;
+handler t1 open as h1_2;
+handler t1 open as h1_3;
+handler h1_1 read first limit 9;
+c1
+t1
+handler h1_2 read first limit 9;
+c1
+t1
+handler h1_3 read first limit 9;
+c1
+t1
+alter table t1 engine=InnoDB;
+handler h1_1 read first limit 9;
+ERROR 42S02: Unknown table 'h1_1' in HANDLER
+handler h1_2 read first limit 9;
+ERROR 42S02: Unknown table 'h1_2' in HANDLER
+handler h1_3 read first limit 9;
+ERROR 42S02: Unknown table 'h1_3' in HANDLER
+drop table t1;
+drop table t2;
+drop table t3;
+drop table t4;
+drop table t5;
+create table t1 (c1 int);
+insert into t1 values (1);
+handler t1 open;
+handler t1 read first;
+c1
+1
+send the below to another connection, do not wait for the result
+optimize table t1;
+proceed with the normal connection
+handler t1 read next;
+c1
+1
+handler t1 close;
+read the result from the other connection
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+proceed with the normal connection
+drop table t1;
+CREATE TABLE t1 ( no1 smallint(5) NOT NULL default '0', no2 int(10) NOT NULL default '0', PRIMARY KEY (no1,no2));
+INSERT INTO t1 VALUES (1,274),(1,275),(2,6),(2,8),(4,1),(4,2);
+HANDLER t1 OPEN;
+HANDLER t1 READ `primary` = (1, 1000);
+no1 no2
+HANDLER t1 READ `primary` PREV;
+no1 no2
+1 275
+DROP TABLE t1;
+create table t1 (c1 int);
+insert into t1 values (14397);
+flush tables with read lock;
+drop table t1;
+ERROR HY000: Can't execute the query because you have a conflicting read lock
+send the below to another connection, do not wait for the result
+drop table t1;
+proceed with the normal connection
+select * from t1;
+c1
+14397
+unlock tables;
+read the result from the other connection
+proceed with the normal connection
+select * from t1;
+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.result b/mysql-test/r/handler_myisam.result
index dc3750e16ea..0b27b07c4d2 100644
--- a/mysql-test/r/handler.result
+++ b/mysql-test/r/handler_myisam.result
@@ -1,3 +1,4 @@
+SET SESSION STORAGE_ENGINE = MyISAM;
drop table if exists t1,t3,t4,t5;
create table t1 (a int, b char(10), key a(a), key b(a,b));
insert into t1 values
@@ -137,6 +138,29 @@ a b
handler t2 read last;
ERROR 42000: You 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
handler t2 close;
+handler t1 open;
+handler t1 read a next;
+a b
+14 aaa
+handler t1 read a next;
+a b
+15 bbb
+handler t1 close;
+handler t1 open;
+handler t1 read a prev;
+a b
+22 iii
+handler t1 read a prev;
+a b
+21 hhh
+handler t1 close;
+handler t1 open as t2;
+handler t2 read first;
+a b
+17 ddd
+alter table t1 engine = MyISAM;
+handler t2 read first;
+ERROR 42S02: Unknown table 't2' in HANDLER
handler t1 open as t2;
drop table t1;
create table t1 (a int);
@@ -144,7 +168,7 @@ insert into t1 values (17);
handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER
handler t1 open as t2;
-alter table t1 engine=MyISAM;
+alter table t1 engine=MEMORY;
handler t2 read first;
ERROR 42S02: Unknown table 't2' in HANDLER
drop table t1;
@@ -463,6 +487,15 @@ Table Op Msg_type Msg_text
test.t1 optimize status OK
proceed with the normal connection
drop table t1;
+CREATE TABLE t1 ( no1 smallint(5) NOT NULL default '0', no2 int(10) NOT NULL default '0', PRIMARY KEY (no1,no2));
+INSERT INTO t1 VALUES (1,274),(1,275),(2,6),(2,8),(4,1),(4,2);
+HANDLER t1 OPEN;
+HANDLER t1 READ `primary` = (1, 1000);
+no1 no2
+HANDLER t1 READ `primary` PREV;
+no1 no2
+1 275
+DROP TABLE t1;
create table t1 (c1 int);
insert into t1 values (14397);
flush tables with read lock;
@@ -493,12 +526,205 @@ drop table if exists t1;
create table t1 (a int);
handler t1 open as t1_alias;
handler t1_alias read a next;
-ERROR HY000: Key 'a' doesn't exist in table 't1_alias'
+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 HY000: Key 'a' doesn't exist in table 't1_alias'
+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_innodb.require b/mysql-test/r/have_binlog_format_mixed.require
index 48a764a6c58..4b752cbb314 100644
--- a/mysql-test/r/have_innodb.require
+++ b/mysql-test/r/have_binlog_format_mixed.require
@@ -1,2 +1,2 @@
Variable_name Value
-have_innodb YES
+binlog_format MIXED
diff --git a/mysql-test/r/have_archive.require b/mysql-test/r/have_binlog_format_row.require
index c4b4ba24fcd..09ad32dbb9a 100644
--- a/mysql-test/r/have_archive.require
+++ b/mysql-test/r/have_binlog_format_row.require
@@ -1,2 +1,2 @@
Variable_name Value
-have_archive YES
+binlog_format ROW
diff --git a/mysql-test/r/have_binlog_format_statement.require b/mysql-test/r/have_binlog_format_statement.require
new file mode 100644
index 00000000000..81e2e31cd6c
--- /dev/null
+++ b/mysql-test/r/have_binlog_format_statement.require
@@ -0,0 +1,2 @@
+Variable_name Value
+binlog_format STATEMENT
diff --git a/mysql-test/r/have_blackhole.require b/mysql-test/r/have_blackhole.require
deleted file mode 100644
index 15029a460f6..00000000000
--- a/mysql-test/r/have_blackhole.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_blackhole_engine YES
diff --git a/mysql-test/r/have_cp1251.require b/mysql-test/r/have_cp1251.require
new file mode 100644
index 00000000000..465e8338084
--- /dev/null
+++ b/mysql-test/r/have_cp1251.require
@@ -0,0 +1,2 @@
+Collation Charset Id Default Compiled Sortlen
+cp1251_general_ci cp1251 51 Yes 0
diff --git a/mysql-test/r/have_cp866.require b/mysql-test/r/have_cp866.require
new file mode 100644
index 00000000000..da2a3e2f05e
--- /dev/null
+++ b/mysql-test/r/have_cp866.require
@@ -0,0 +1,2 @@
+Collation Charset Id Default Compiled Sortlen
+cp866_general_ci cp866 36 Yes 0
diff --git a/mysql-test/r/have_csv.require b/mysql-test/r/have_csv.require
deleted file mode 100644
index cc2fb28289c..00000000000
--- a/mysql-test/r/have_csv.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_csv YES
diff --git a/mysql-test/r/have_udf.require b/mysql-test/r/have_dynamic_loading.require
index 2d21f65e4ac..2d21f65e4ac 100644
--- a/mysql-test/r/have_udf.require
+++ b/mysql-test/r/have_dynamic_loading.require
diff --git a/mysql-test/r/have_example_plugin.require b/mysql-test/r/have_example_plugin.require
new file mode 100644
index 00000000000..291b8231cbb
--- /dev/null
+++ b/mysql-test/r/have_example_plugin.require
@@ -0,0 +1,2 @@
+have_example_plugin
+1
diff --git a/mysql-test/r/have_exampledb.require b/mysql-test/r/have_exampledb.require
deleted file mode 100644
index 29d0cf8b1a6..00000000000
--- a/mysql-test/r/have_exampledb.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_example_engine YES
diff --git a/mysql-test/r/have_federated_db.require b/mysql-test/r/have_federated_db.require
deleted file mode 100644
index f4c521a8f35..00000000000
--- a/mysql-test/r/have_federated_db.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_federated_engine YES
diff --git a/mysql-test/r/have_koi8r.require b/mysql-test/r/have_koi8r.require
new file mode 100644
index 00000000000..b109b9ae520
--- /dev/null
+++ b/mysql-test/r/have_koi8r.require
@@ -0,0 +1,2 @@
+Collation Charset Id Default Compiled Sortlen
+koi8r_general_ci koi8r 7 Yes 0
diff --git a/mysql-test/r/have_ndb.require b/mysql-test/r/have_ndb.require
deleted file mode 100644
index f0402b72c6a..00000000000
--- a/mysql-test/r/have_ndb.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_ndbcluster YES
diff --git a/mysql-test/r/have_ndb_extra.require b/mysql-test/r/have_ndb_extra.require
new file mode 100644
index 00000000000..8f7c125196a
--- /dev/null
+++ b/mysql-test/r/have_ndb_extra.require
@@ -0,0 +1,3 @@
+select 1;
+1
+1
diff --git a/mysql-test/r/have_ndb_status_ok.require b/mysql-test/r/have_ndb_status_ok.require
deleted file mode 100644
index 8a82871234b..00000000000
--- a/mysql-test/r/have_ndb_status_ok.require
+++ /dev/null
@@ -1,2 +0,0 @@
-ndb_status_ok
-YES
diff --git a/mysql-test/r/have_ndbapi_examples.require b/mysql-test/r/have_ndbapi_examples.require
new file mode 100644
index 00000000000..924d2d51708
--- /dev/null
+++ b/mysql-test/r/have_ndbapi_examples.require
@@ -0,0 +1,2 @@
+have_ndb_example
+1
diff --git a/mysql-test/r/have_partition.require b/mysql-test/r/have_partition.require
new file mode 100644
index 00000000000..324c04eed6f
--- /dev/null
+++ b/mysql-test/r/have_partition.require
@@ -0,0 +1,2 @@
+Variable_name Value
+have_partitioning YES
diff --git a/mysql-test/r/have_raid.require b/mysql-test/r/have_raid.require
deleted file mode 100644
index 8390f4dbb85..00000000000
--- a/mysql-test/r/have_raid.require
+++ /dev/null
@@ -1,2 +0,0 @@
-Variable_name Value
-have_raid YES
diff --git a/mysql-test/r/have_utf8.require b/mysql-test/r/have_utf8.require
new file mode 100644
index 00000000000..71f8ccfff47
--- /dev/null
+++ b/mysql-test/r/have_utf8.require
@@ -0,0 +1,2 @@
+Collation Charset Id Default Compiled Sortlen
+utf8_general_ci utf8 33 Yes Yes 1
diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result
index f113304c767..a5a96fd4958 100644
--- a/mysql-test/r/having.result
+++ b/mysql-test/r/having.result
@@ -9,8 +9,8 @@ select count(a) as b from t1 where a=0 having b >=0;
b
0
explain extended select count(a) as b from t1 where a=0 having b >=0;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+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 count('0') AS `b` from `test`.`t1` where 0 having (`b` >= 0)
drop table t1;
diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result
index 906c431b834..ddf675e2f73 100644
--- a/mysql-test/r/heap.result
+++ b/mysql-test/r/heap.result
@@ -166,7 +166,7 @@ alter table t1 add column new_col char(1) not null, add key (btn,new_col), drop
update t1 set new_col=left(btn,1);
explain select * from t1 where btn="a";
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL btn NULL NULL NULL 11 Using where
+1 SIMPLE t1 ALL btn NULL NULL NULL 14 Using where
explain select * from t1 where btn="a" and new_col="a";
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref btn btn 11 const,const 2 Using where
@@ -195,7 +195,7 @@ SELECT * FROM t1 WHERE b<=>NULL;
a b
99 NULL
INSERT INTO t1 VALUES (1,3);
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'b'
DROP TABLE t1;
CREATE TABLE t1 (
a int default NULL,
@@ -263,41 +263,41 @@ concat('*',v,'*',c,'*',t,'*')
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
create table t2 like t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
create table t3 select * from t1;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
alter table t1 modify c varchar(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(50) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
alter table t1 modify v char(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(50) default NULL
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
alter table t1 modify t varchar(10);
Warnings:
@@ -305,9 +305,9 @@ Warning 1265 Data truncated for column 't' at row 2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(10) default NULL
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(10) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
@@ -318,9 +318,9 @@ create table t1 (v varchar(10), c char(10), t varchar(50), key(v), key(c), key(t
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL,
KEY `v` (`v`),
KEY `c` (`c`),
KEY `t` (`t`(10))
@@ -384,7 +384,7 @@ explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a '
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref v v 13 const 10 Using where
alter table t1 add unique(v);
-ERROR 23000: Duplicate entry '{ ' for key 1
+ERROR 23000: Duplicate entry '{ ' for key 'v_2'
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a' order by length(concat('*',v,'*',c,'*',t,'*'));
qq
*a*a*a*
@@ -536,16 +536,16 @@ drop table t1;
create table t1 (a char(10), unique (a));
insert into t1 values ('a');
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a' for key 1
+ERROR 23000: Duplicate entry 'a' for key 'a'
alter table t1 modify a varchar(10);
insert into t1 values ('a '),('a '),('a '),('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
update t1 set a='a ' where a like 'a ';
update t1 set a='a ' where a like 'a ';
drop table t1;
@@ -553,12 +553,12 @@ create table t1 (v varchar(10), c char(10), t varchar(50), key using btree (v),
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL,
- KEY `v` USING BTREE (`v`),
- KEY `c` USING BTREE (`c`),
- KEY `t` USING BTREE (`t`(10))
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL,
+ KEY `v` (`v`) USING BTREE,
+ KEY `c` (`c`) USING BTREE,
+ KEY `t` (`t`(10)) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
select count(*) from t1;
count(*)
@@ -607,7 +607,7 @@ explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a '
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref v v 13 const # Using where
alter table t1 add unique(v);
-ERROR 23000: Duplicate entry '{ ' for key 1
+ERROR 23000: Duplicate entry '{ ' for key 'v_2'
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a' order by length(concat('*',v,'*',c,'*',t,'*'));
qq
*a*a*a*
@@ -627,16 +627,16 @@ drop table t1;
create table t1 (a char(10), unique using btree (a)) engine=heap;
insert into t1 values ('a');
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a' for key 1
+ERROR 23000: Duplicate entry 'a' for key 'a'
alter table t1 modify a varchar(10);
insert into t1 values ('a '),('a '),('a '),('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
update t1 set a='a ' where a like 'a ';
update t1 set a='a ' where a like 'a ';
drop table t1;
@@ -644,9 +644,9 @@ create table t1 (v varchar(10), c char(10), t varchar(50), key(v(5)), key(c(5)),
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
- `t` varchar(50) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` varchar(50) DEFAULT NULL,
KEY `v` (`v`(5)),
KEY `c` (`c`(5)),
KEY `t` (`t`(5))
@@ -656,7 +656,7 @@ create table t1 (v varchar(65530), key(v(10)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(65530) default NULL,
+ `v` varchar(65530) DEFAULT NULL,
KEY `v` (`v`(10))
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values(repeat('a',65530));
@@ -699,7 +699,7 @@ ERROR 42000: Incorrect table definition; there can be only one auto column and i
create table t1 (c char(255), primary key(c(90)));
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
-ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 1
+ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 'PRIMARY'
drop table t1;
CREATE TABLE t1 (a int, key(a)) engine=heap;
insert into t1 values (0);
@@ -731,3 +731,10 @@ SELECT COUNT(*) FROM t1 WHERE c=REPEAT('a',256);
COUNT(*)
2
DROP TABLE t1;
+CREATE TABLE t1(c1 VARCHAR(100), c2 INT) ENGINE=MEMORY;
+INSERT INTO t1 VALUES('', 0);
+ALTER TABLE t1 MODIFY c1 VARCHAR(101);
+SELECT c2 FROM t1;
+c2
+0
+DROP TABLE t1;
diff --git a/mysql-test/r/heap_btree.result b/mysql-test/r/heap_btree.result
index c20dfbe80d2..9db03855c01 100644
--- a/mysql-test/r/heap_btree.result
+++ b/mysql-test/r/heap_btree.result
@@ -224,7 +224,7 @@ SELECT * FROM t1 WHERE b<=>NULL;
a b
99 NULL
INSERT INTO t1 VALUES (1,3);
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'b'
DROP TABLE t1;
CREATE TABLE t1 (a int, b int, c int, key using BTREE (a, b, c)) engine=heap;
INSERT INTO t1 VALUES (1, NULL, NULL), (1, 1, NULL), (1, NULL, 1);
diff --git a/mysql-test/r/heap_hash.result b/mysql-test/r/heap_hash.result
index cb47573b502..bae49af462f 100644
--- a/mysql-test/r/heap_hash.result
+++ b/mysql-test/r/heap_hash.result
@@ -166,7 +166,7 @@ alter table t1 add column new_col char(1) not null, add key using HASH (btn,new_
update t1 set new_col=left(btn,1);
explain select * from t1 where btn="a";
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL btn NULL NULL NULL 11 Using where
+1 SIMPLE t1 ALL btn NULL NULL NULL 14 Using where
explain select * from t1 where btn="a" and new_col="a";
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref btn btn 11 const,const 2 Using where
@@ -195,7 +195,7 @@ SELECT * FROM t1 WHERE b<=>NULL;
a b
99 NULL
INSERT INTO t1 VALUES (1,3);
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'b'
DROP TABLE t1;
CREATE TABLE t1 (a int not null, primary key using HASH (a)) engine=heap;
INSERT into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11);
@@ -372,13 +372,13 @@ col2 VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
UNIQUE KEY key1 USING HASH (col1, col2)) ENGINE=MEMORY;
INSERT INTO t1 VALUES('A', 'A');
INSERT INTO t1 VALUES('A ', 'A ');
-ERROR 23000: Duplicate entry 'A -A ' for key 1
+ERROR 23000: Duplicate entry 'A -A ' for key 'key1'
DROP TABLE t1;
CREATE TABLE t1(col1 VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
col2 VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
UNIQUE KEY key1 USING HASH (col1, col2)) ENGINE=MEMORY;
INSERT INTO t1 VALUES('A', 'A');
INSERT INTO t1 VALUES('A ', 'A ');
-ERROR 23000: Duplicate entry 'A -A ' for key 1
+ERROR 23000: Duplicate entry 'A -A ' for key 'key1'
DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/help.result b/mysql-test/r/help.result
index de8ed249528..16719cc8193 100644
--- a/mysql-test/r/help.result
+++ b/mysql-test/r/help.result
@@ -257,3 +257,12 @@ delete from mysql.help_relation where help_keyword_id=@keyword1_id and help_topi
delete from mysql.help_relation where help_keyword_id=@keyword2_id and help_topic_id=@topic1_id;
delete from mysql.help_relation where help_keyword_id=@keyword3_id and help_topic_id=@topic3_id;
delete from mysql.help_relation where help_keyword_id=@keyword3_id and help_topic_id=@topic4_id;
+End of 4.1 tests.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (i INT);
+LOCK TABLES t1 WRITE;
+HELP no_such_topic;
+name is_it_category
+UNLOCK TABLES;
+DROP TABLE t1;
+End of 5.1 tests.
diff --git a/mysql-test/r/im_daemon_life_cycle.result b/mysql-test/r/im_daemon_life_cycle.result
deleted file mode 100644
index 1a0741e7caf..00000000000
--- a/mysql-test/r/im_daemon_life_cycle.result
+++ /dev/null
@@ -1,26 +0,0 @@
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-Killing the process...
-Waiting...
-Success: the process was restarted.
-Success: server is ready to accept connection on socket.
-
---------------------------------------------------------------------
--- Test for BUG#12751
---------------------------------------------------------------------
-START INSTANCE mysqld2;
-Success: the process has been started.
-Killing the process...
-Waiting...
-Success: the process was restarted.
-Success: server is ready to accept connection on socket.
-SHOW INSTANCE STATUS mysqld1;
-instance_name status version
-mysqld1 STATE VERSION
-STOP INSTANCE mysqld2;
-Success: the process has been stopped.
diff --git a/mysql-test/r/im_life_cycle.result b/mysql-test/r/im_life_cycle.result
deleted file mode 100644
index a9ad85d5947..00000000000
--- a/mysql-test/r/im_life_cycle.result
+++ /dev/null
@@ -1,73 +0,0 @@
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-
---------------------------------------------------------------------
--- 1.1.2.
---------------------------------------------------------------------
-START INSTANCE mysqld2;
-Success: the process has been started.
-SHOW VARIABLES LIKE 'port';
-Variable_name Value
-port IM_MYSQLD2_PORT
-
---------------------------------------------------------------------
--- 1.1.3.
---------------------------------------------------------------------
-STOP INSTANCE mysqld2;
-Success: the process has been stopped.
-
---------------------------------------------------------------------
--- 1.1.4.
---------------------------------------------------------------------
-START INSTANCE mysqld3;
-ERROR HY000: Bad instance name. Check that the instance with such a name exists
-START INSTANCE mysqld1;
-ERROR HY000: The instance is already started
-
---------------------------------------------------------------------
--- 1.1.5.
---------------------------------------------------------------------
-STOP INSTANCE mysqld3;
-ERROR HY000: Bad instance name. Check that the instance with such a name exists
-
---------------------------------------------------------------------
--- 1.1.6.
---------------------------------------------------------------------
-Killing the process...
-Waiting...
-Success: the process was restarted.
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-
---------------------------------------------------------------------
--- 1.1.7.
---------------------------------------------------------------------
-START INSTANCE mysqld2;
-Success: the process has been started.
-Killing the process...
-Waiting...
-Success: the process was killed.
-
---------------------------------------------------------------------
--- 1.1.8.
---------------------------------------------------------------------
-SHOW INSTANCE STATUS;
-ERROR 42000: You have an error in your command syntax. Check the manual that corresponds to your MySQL Instance Manager version for the right syntax to use
-
---------------------------------------------------------------------
--- BUG#12813
---------------------------------------------------------------------
-START INSTANCE mysqld1,mysqld2,mysqld3;
-ERROR 42000: You have an error in your command syntax. Check the manual that corresponds to your MySQL Instance Manager version for the right syntax to use
-STOP INSTANCE mysqld1,mysqld2,mysqld3;
-ERROR 42000: You have an error in your command syntax. Check the manual that corresponds to your MySQL Instance Manager version for the right syntax to use
-STOP INSTANCE mysqld2;
-ERROR HY000: Cannot stop instance. Perhaps the instance is not started, or was started manually, so IM cannot find the pidfile.
-End of 5.0 tests
diff --git a/mysql-test/r/im_options_set.result b/mysql-test/r/im_options_set.result
deleted file mode 100644
index f7b7e8eaef7..00000000000
--- a/mysql-test/r/im_options_set.result
+++ /dev/null
@@ -1,22 +0,0 @@
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-SET mysqld1.server_id = 11;
-server_id =11
-server_id = 2
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SET mysqld2.server_id = 12;
-server_id =11
-server_id =12
-FLUSH INSTANCES;
-server_id =11
-server_id =12
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
diff --git a/mysql-test/r/im_options_unset.result b/mysql-test/r/im_options_unset.result
deleted file mode 100644
index 2ab775e611a..00000000000
--- a/mysql-test/r/im_options_unset.result
+++ /dev/null
@@ -1,17 +0,0 @@
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-UNSET mysqld1.server_id;
-server_id = 2
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-UNSET mysqld2.server_id;
-FLUSH INSTANCES;
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
diff --git a/mysql-test/r/im_utils.result b/mysql-test/r/im_utils.result
deleted file mode 100644
index 626f24b4635..00000000000
--- a/mysql-test/r/im_utils.result
+++ /dev/null
@@ -1,96 +0,0 @@
-SHOW VARIABLES LIKE 'server_id';
-Variable_name Value
-server_id 1
-SHOW INSTANCES;
-instance_name status
-mysqld1 online
-mysqld2 offline
-SHOW INSTANCE OPTIONS mysqld1;
-option_name value
-instance_name VALUE
-mysqld-path VALUE
-socket VALUE
-pid-file VALUE
-port VALUE
-datadir VALUE
-log VALUE
-log-error VALUE
-log-slow-queries VALUE
-language VALUE
-character-sets-dir VALUE
-basedir VALUE
-server_id VALUE
-skip-stack-trace VALUE
-skip-innodb VALUE
-skip-ndbcluster VALUE
-skip-bdb VALUE
-SHOW INSTANCE OPTIONS mysqld2;
-option_name value
-instance_name VALUE
-mysqld-path VALUE
-nonguarded VALUE
-socket VALUE
-pid-file VALUE
-port VALUE
-datadir VALUE
-log VALUE
-log-error VALUE
-log-slow-queries VALUE
-language VALUE
-character-sets-dir VALUE
-basedir VALUE
-server_id VALUE
-skip-stack-trace VALUE
-skip-innodb VALUE
-skip-ndbcluster VALUE
-skip-bdb VALUE
-START INSTANCE mysqld2;
-Success: the process has been started.
-STOP INSTANCE mysqld2;
-Success: the process has been stopped.
-SHOW mysqld1 LOG FILES;
-Logfile Path File size
-ERROR LOG PATH FILE_SIZE
-GENERAL LOG PATH FILE_SIZE
-SLOW LOG PATH FILE_SIZE
-SHOW mysqld2 LOG FILES;
-Logfile Path File size
-ERROR LOG PATH FILE_SIZE
-GENERAL LOG PATH FILE_SIZE
-SLOW LOG PATH FILE_SIZE
-SHOW mysqld1 LOG ERROR 10;
-Log
-LOG_DATA
-SHOW mysqld1 LOG SLOW 10;
-Log
-LOG_DATA
-SHOW mysqld1 LOG GENERAL 10;
-Log
-LOG_DATA
-SHOW mysqld1 LOG ERROR 10, 2;
-Log
-LOG_DATA
-SHOW mysqld1 LOG SLOW 10, 2;
-Log
-LOG_DATA
-SHOW mysqld1 LOG GENERAL 10, 2;
-Log
-LOG_DATA
-SHOW mysqld2 LOG ERROR 10;
-Log
-LOG_DATA
-SHOW mysqld2 LOG SLOW 10;
-Log
-LOG_DATA
-SHOW mysqld2 LOG GENERAL 10;
-Log
-LOG_DATA
-SHOW mysqld2 LOG ERROR 10, 2;
-Log
-LOG_DATA
-SHOW mysqld2 LOG SLOW 10, 2;
-Log
-LOG_DATA
-SHOW mysqld2 LOG GENERAL 10, 2;
-Log
-LOG_DATA
diff --git a/mysql-test/r/index_merge.result b/mysql-test/r/index_merge.result
deleted file mode 100644
index 3a152fb2327..00000000000
--- a/mysql-test/r/index_merge.result
+++ /dev/null
@@ -1,520 +0,0 @@
-drop table if exists t0, t1, t2, t3, t4;
-create table t0
-(
-key1 int not null,
-INDEX i1(key1)
-);
-alter table t0 add key2 int not null, add index i2(key2);
-alter table t0 add key3 int not null, add index i3(key3);
-alter table t0 add key4 int not null, add index i4(key4);
-alter table t0 add key5 int not null, add index i5(key5);
-alter table t0 add key6 int not null, add index i6(key6);
-alter table t0 add key7 int not null, add index i7(key7);
-alter table t0 add key8 int not null, add index i8(key8);
-update t0 set key2=key1,key3=key1,key4=key1,key5=key1,key6=key1,key7=key1,key8=1024-key1;
-analyze table t0;
-Table Op Msg_type Msg_text
-test.t0 analyze status OK
-explain select * from t0 where key1 < 3 or key1 > 1020;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 range i1 i1 4 NULL 78 Using where
-explain
-select * from t0 where key1 < 3 or key2 > 1020;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 45 Using sort_union(i1,i2); Using where
-select * from t0 where key1 < 3 or key2 > 1020;
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 1023
-2 2 2 2 2 2 2 1022
-1021 1021 1021 1021 1021 1021 1021 3
-1022 1022 1022 1022 1022 1022 1022 2
-1023 1023 1023 1023 1023 1023 1023 1
-1024 1024 1024 1024 1024 1024 1024 0
-explain select * from t0 where key1 < 3 or key2 <4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
-explain
-select * from t0 where (key1 > 30 and key1<35) or (key2 >32 and key2 < 40);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 11 Using sort_union(i1,i2); Using where
-select * from t0 where (key1 > 30 and key1<35) or (key2 >32 and key2 < 40);
-key1 key2 key3 key4 key5 key6 key7 key8
-31 31 31 31 31 31 31 993
-32 32 32 32 32 32 32 992
-33 33 33 33 33 33 33 991
-34 34 34 34 34 34 34 990
-35 35 35 35 35 35 35 989
-36 36 36 36 36 36 36 988
-37 37 37 37 37 37 37 987
-38 38 38 38 38 38 38 986
-39 39 39 39 39 39 39 985
-explain select * from t0 ignore index (i2) where key1 < 3 or key2 <4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1 NULL NULL NULL 1024 Using where
-explain select * from t0 where (key1 < 3 or key2 <4) and key3 = 50;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ref i1,i2,i3 i3 4 const 1 Using where
-explain select * from t0 use index (i1,i2) where (key1 < 3 or key2 <4) and key3 = 50;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
-explain select * from t0 where (key1 > 1 or key2 > 2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
-explain select * from t0 force index (i1,i2) where (key1 > 1 or key2 > 2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 1024 Using sort_union(i1,i2); Using where
-explain
-select * from t0 where key1<3 or key2<3 or (key1>5 and key1<8) or
-(key1>10 and key1<12) or (key2>100 and key2<110);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 17 Using sort_union(i1,i2); Using where
-explain select * from t0 where key2 = 45 or key1 <=> null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 range i1,i2 i2 4 NULL 1 Using where
-explain select * from t0 where key2 = 45 or key1 is not null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
-explain select * from t0 where key2 = 45 or key1 is null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ref i2 i2 4 const 1
-explain select * from t0 where key2=10 or key3=3 or key4 <=> null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i2,i3,i4 i2,i3 4,4 NULL 2 Using union(i2,i3); Using where
-explain select * from t0 where key2=10 or key3=3 or key4 is null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i2,i3 i2,i3 4,4 NULL 2 Using union(i2,i3); Using where
-explain select key1 from t0 where (key1 <=> null) or (key2 < 5) or
-(key3=10) or (key4 <=> null);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i4 i2,i3 4,4 NULL 6 Using sort_union(i2,i3); Using where
-explain select key1 from t0 where (key1 <=> null) or (key1 < 5) or
-(key3=10) or (key4 <=> null);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i3,i4 i1,i3 4,4 NULL 6 Using sort_union(i1,i3); Using where
-explain select * from t0 where
-(key1 < 3 or key2 < 3) and (key3 < 4 or key4 < 4) and (key5 < 5 or key6 < 5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i4,i5,i6 i1,i2 4,4 NULL 6 Using sort_union(i1,i2); Using where
-explain
-select * from t0 where (key1 < 3 or key2 < 6) and (key1 < 7 or key3 < 4);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3 i1,i2 4,4 NULL 9 Using sort_union(i1,i2); Using where
-select * from t0 where (key1 < 3 or key2 < 6) and (key1 < 7 or key3 < 4);
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 1023
-2 2 2 2 2 2 2 1022
-3 3 3 3 3 3 3 1021
-4 4 4 4 4 4 4 1020
-5 5 5 5 5 5 5 1019
-explain select * from t0 where
-(key1 < 3 or key2 < 3) and (key3 < 4 or key4 < 4) and (key5 < 2 or key6 < 2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i4,i5,i6 i1,i2 4,4 NULL 6 Using sort_union(i1,i2); Using where
-explain select * from t0 where
-(key1 < 3 or key2 < 3) and (key3 < 100);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 range i1,i2,i3 i3 4 NULL 95 Using where
-explain select * from t0 where
-(key1 < 3 or key2 < 3) and (key3 < 1000);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2,i3 NULL NULL NULL 1024 Using where
-explain select * from t0 where
-((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
-or
-key2 > 5;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2,i3 NULL NULL NULL 1024 Using where
-explain select * from t0 where
-((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
-or
-key1 < 7;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
-select * from t0 where
-((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
-or
-key1 < 7;
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 1023
-2 2 2 2 2 2 2 1022
-3 3 3 3 3 3 3 1021
-4 4 4 4 4 4 4 1020
-5 5 5 5 5 5 5 1019
-6 6 6 6 6 6 6 1018
-explain select * from t0 where
-((key1 < 4 or key2 < 4) and (key3 <5 or key5 < 4))
-or
-((key5 < 5 or key6 < 6) and (key7 <7 or key8 < 4));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7,i8 i1,i2,i5,i6 4,4,4,4 NULL 19 Using sort_union(i1,i2,i5,i6); Using where
-explain select * from t0 where
-((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
-or
-((key7 <7 or key8 < 4) and (key5 < 5 or key6 < 6));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7,i8 i3,i5,i7,i8 4,4,4,4 NULL 20 Using sort_union(i3,i5,i7,i8); Using where
-explain select * from t0 where
-((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
-or
-((key3 <7 or key5 < 2) and (key5 < 5 or key6 < 6));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i5,i6 i3,i5 4,4 NULL 11 Using sort_union(i3,i5); Using where
-explain select * from t0 where
-((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
-or
-(((key3 <7 and key7 < 6) or key5 < 2) and (key5 < 5 or key6 < 6));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7 i3,i5 4,4 NULL 11 Using sort_union(i3,i5); Using where
-explain select * from t0 where
-((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
-or
-((key3 >=5 or key5 < 2) and (key5 < 5 or key6 < 6));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2,i3,i5,i6 NULL NULL NULL 1024 Using where
-explain select * from t0 force index(i1, i2, i3, i4, i5, i6 ) where
-((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
-or
-((key3 >=5 or key5 < 2) and (key5 < 5 or key6 < 6));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2,i3,i5,i6 i3,i5 0,4 NULL 1024 Using sort_union(i3,i5); Using where
-select * from t0 where key1 < 5 or key8 < 4 order by key1;
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 1023
-2 2 2 2 2 2 2 1022
-3 3 3 3 3 3 3 1021
-4 4 4 4 4 4 4 1020
-1021 1021 1021 1021 1021 1021 1021 3
-1022 1022 1022 1022 1022 1022 1022 2
-1023 1023 1023 1023 1023 1023 1023 1
-1024 1024 1024 1024 1024 1024 1024 0
-explain
-select * from t0 where key1 < 5 or key8 < 4 order by key1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i8 i1,i8 4,4 NULL 9 Using sort_union(i1,i8); Using where; Using filesort
-create table t2 like t0;
-insert into t2 select * from t0;
-alter table t2 add index i1_3(key1, key3);
-alter table t2 add index i2_3(key2, key3);
-alter table t2 drop index i1;
-alter table t2 drop index i2;
-alter table t2 add index i321(key3, key2, key1);
-explain select key3 from t2 where key1 = 100 or key2 = 100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 index_merge i1_3,i2_3 i1_3,i2_3 4,4 NULL 2 Using sort_union(i1_3,i2_3); Using where
-explain select key3 from t2 where key1 <100 or key2 < 100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 index i1_3,i2_3 i321 12 NULL 1024 Using where; Using index
-explain select key7 from t2 where key1 <100 or key2 < 100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL i1_3,i2_3 NULL NULL NULL 1024 Using where
-create table t4 (
-key1a int not null,
-key1b int not null,
-key2 int not null,
-key2_1 int not null,
-key2_2 int not null,
-key3 int not null,
-index i1a (key1a, key1b),
-index i1b (key1b, key1a),
-index i2_1(key2, key2_1),
-index i2_2(key2, key2_1)
-);
-insert into t4 select key1,key1,key1 div 10, key1 % 10, key1 % 10, key1 from t0;
-select * from t4 where key1a = 3 or key1b = 4;
-key1a key1b key2 key2_1 key2_2 key3
-3 3 0 3 3 3
-4 4 0 4 4 4
-explain select * from t4 where key1a = 3 or key1b = 4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 index_merge i1a,i1b i1a,i1b 4,4 NULL 2 Using sort_union(i1a,i1b); Using where
-explain select * from t4 where key2 = 1 and (key2_1 = 1 or key3 = 5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 ref i2_1,i2_2 i2_1 4 const 10 Using where
-explain select * from t4 where key2 = 1 and (key2_1 = 1 or key2_2 = 5);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 ref i2_1,i2_2 i2_1 4 const 10 Using where
-explain select * from t4 where key2_1 = 1 or key2_2 = 5;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 ALL NULL NULL NULL NULL 1024 Using where
-create table t1 like t0;
-insert into t1 select * from t0;
-explain select * from t0 left join t1 on (t0.key1=t1.key1)
-where t0.key1=3 or t0.key2=4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
-1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
-select * from t0 left join t1 on (t0.key1=t1.key1)
-where t0.key1=3 or t0.key2=4;
-key1 key2 key3 key4 key5 key6 key7 key8 key1 key2 key3 key4 key5 key6 key7 key8
-3 3 3 3 3 3 3 1021 3 3 3 3 3 3 3 1021
-4 4 4 4 4 4 4 1020 4 4 4 4 4 4 4 1020
-explain
-select * from t0,t1 where (t0.key1=t1.key1) and ( t0.key1=3 or t0.key2=4);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
-1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
-explain
-select * from t0,t1 where (t0.key1=t1.key1) and
-(t0.key1=3 or t0.key2=4) and t1.key1<200;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
-1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
-explain
-select * from t0,t1 where (t0.key1=t1.key1) and
-(t0.key1=3 or t0.key2<4) and t1.key1=2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ref i1,i2 i1 4 const 1 Using where
-1 SIMPLE t1 ref i1 i1 4 const 1
-explain select * from t0,t1 where t0.key1 = 5 and
-(t1.key1 = t0.key1 or t1.key8 = t0.key1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ref i1 i1 4 const 1
-1 SIMPLE t1 index_merge i1,i8 i1,i8 4,4 NULL 2 Using union(i1,i8); Using where
-explain select * from t0,t1 where t0.key1 < 3 and
-(t1.key1 = t0.key1 or t1.key8 = t0.key1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 range i1 i1 4 NULL 3 Using where
-1 SIMPLE t1 ALL i1,i8 NULL NULL NULL 1024 Range checked for each record (index map: 0x81)
-explain select * from t1 where key1=3 or key2=4
-union select * from t1 where key1<4 or key3=5;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
-2 UNION t1 index_merge i1,i3 i1,i3 4,4 NULL 5 Using sort_union(i1,i3); Using where
-NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
-explain select * from (select * from t1 where key1 = 3 or key2 =3) as Z where key8 >5;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> system NULL NULL NULL NULL 1
-2 DERIVED t1 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where; Using index
-create table t3 like t0;
-insert into t3 select * from t0;
-alter table t3 add key9 int not null, add index i9(key9);
-alter table t3 add keyA int not null, add index iA(keyA);
-alter table t3 add keyB int not null, add index iB(keyB);
-alter table t3 add keyC int not null, add index iC(keyC);
-update t3 set key9=key1,keyA=key1,keyB=key1,keyC=key1;
-explain select * from t3 where
-key1=1 or key2=2 or key3=3 or key4=4 or
-key5=5 or key6=6 or key7=7 or key8=8 or
-key9=9 or keyA=10 or keyB=11 or keyC=12;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 index_merge i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC 4,4,4,4,4,4,4,4,4,4,4,4 NULL 12 Using union(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC); Using where
-select * from t3 where
-key1=1 or key2=2 or key3=3 or key4=4 or
-key5=5 or key6=6 or key7=7 or key8=8 or
-key9=9 or keyA=10 or keyB=11 or keyC=12;
-key1 key2 key3 key4 key5 key6 key7 key8 key9 keyA keyB keyC
-1 1 1 1 1 1 1 1023 1 1 1 1
-2 2 2 2 2 2 2 1022 2 2 2 2
-3 3 3 3 3 3 3 1021 3 3 3 3
-4 4 4 4 4 4 4 1020 4 4 4 4
-5 5 5 5 5 5 5 1019 5 5 5 5
-6 6 6 6 6 6 6 1018 6 6 6 6
-7 7 7 7 7 7 7 1017 7 7 7 7
-9 9 9 9 9 9 9 1015 9 9 9 9
-10 10 10 10 10 10 10 1014 10 10 10 10
-11 11 11 11 11 11 11 1013 11 11 11 11
-12 12 12 12 12 12 12 1012 12 12 12 12
-1016 1016 1016 1016 1016 1016 1016 8 1016 1016 1016 1016
-explain select * from t0 where key1 < 3 or key2 < 4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
-select * from t0 where key1 < 3 or key2 < 4;
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 1023
-2 2 2 2 2 2 2 1022
-3 3 3 3 3 3 3 1021
-update t0 set key8=123 where key1 < 3 or key2 < 4;
-select * from t0 where key1 < 3 or key2 < 4;
-key1 key2 key3 key4 key5 key6 key7 key8
-1 1 1 1 1 1 1 123
-2 2 2 2 2 2 2 123
-3 3 3 3 3 3 3 123
-delete from t0 where key1 < 3 or key2 < 4;
-select * from t0 where key1 < 3 or key2 < 4;
-key1 key2 key3 key4 key5 key6 key7 key8
-select count(*) from t0;
-count(*)
-1021
-drop table t4;
-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)
-and (B.key1 < 500000 or B.key2 < 3);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where
-1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where
-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)
-and (B.key1 < 500000 or B.key2 < 3);
-max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
-10240
-update t0 set key1=1;
-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 = 1 or A.key2 = 1)
-and (B.key1 = 1 or B.key2 = 1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where
-1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where
-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 = 1 or A.key2 = 1)
-and (B.key1 = 1 or B.key2 = 1);
-max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
-8194
-alter table t0 add filler1 char(200), add filler2 char(200), add filler3 char(200);
-update t0 set key2=1, key3=1, key4=1, key5=1,key6=1,key7=1 where key7 < 500;
-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, t0 as B
-where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
-and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE A index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where
-1 SIMPLE B index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where
-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, t0 as B
-where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
-and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
-max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
-8186
-set join_buffer_size= @save_join_buffer_size;
-drop table t0, t1, t2, t3, t4;
-CREATE TABLE t1 (
-cola char(3) not null, colb char(3) not null, filler char(200),
-key(cola), key(colb)
-);
-INSERT INTO t1 VALUES ('foo','bar', 'ZZ'),('fuz','baz', 'ZZ');
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-select count(*) from t1;
-count(*)
-8704
-explain select * from t1 WHERE cola = 'foo' AND colb = 'bar';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge cola,colb cola,colb 3,3 NULL 24 Using intersect(cola,colb); Using where
-explain select * from t1 force index(cola,colb) WHERE cola = 'foo' AND colb = 'bar';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge cola,colb cola,colb 3,3 NULL 24 Using intersect(cola,colb); Using where
-drop table t1;
-create table t0 (a int);
-insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
-create table t1 (
-a int, b int,
-filler1 char(200), filler2 char(200),
-key(a),key(b)
-);
-insert into t1 select @v:= A.a, @v, 't1', 'filler2' from t0 A, t0 B, t0 C;
-create table t2 like t1;
-create table t3 (
-a int, b int,
-filler1 char(200), filler2 char(200),
-key(a),key(b)
-) engine=merge union=(t1,t2);
-explain select * from t1 where a=1 and b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge a,b a,b 5,5 NULL # Using intersect(a,b); Using where
-explain select * from t3 where a=1 and b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 index_merge a,b a,b 5,5 NULL # Using intersect(a,b); Using where
-drop table t3;
-drop table t0, t1, t2;
-CREATE TABLE t1(a INT);
-INSERT INTO t1 VALUES(1);
-CREATE TABLE t2(a INT, b INT, dummy CHAR(16) DEFAULT '', KEY(a), KEY(b));
-INSERT INTO t2(a,b) 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,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
-(1,2);
-LOCK TABLES t1 WRITE, t2 WRITE;
-INSERT INTO t2(a,b) VALUES(1,2);
-SELECT t2.a FROM t1,t2 WHERE t2.b=2 AND t2.a=1;
-a
-1
-1
-UNLOCK TABLES;
-DROP TABLE t1, t2;
-CREATE TABLE `t1` (
-`a` int(11) DEFAULT NULL,
-`filler` char(200) DEFAULT NULL,
-`b` int(11) DEFAULT NULL,
-KEY `a` (`a`),
-KEY `b` (`b`)
-) ENGINE=MEMORY DEFAULT CHARSET=latin1;
-insert into t1 values
-(0, 'filler', 0), (1, 'filler', 1), (2, 'filler', 2), (3, 'filler', 3),
-(4, 'filler', 4), (5, 'filler', 5), (6, 'filler', 6), (7, 'filler', 7),
-(8, 'filler', 8), (9, 'filler', 9), (0, 'filler', 0), (1, 'filler', 1),
-(2, 'filler', 2), (3, 'filler', 3), (4, 'filler', 4), (5, 'filler', 5),
-(6, 'filler', 6), (7, 'filler', 7), (8, 'filler', 8), (9, 'filler', 9),
-(10, 'filler', 10), (11, 'filler', 11), (12, 'filler', 12), (13, 'filler', 13),
-(14, 'filler', 14), (15, 'filler', 15), (16, 'filler', 16), (17, 'filler', 17),
-(18, 'filler', 18), (19, 'filler', 19), (4, '5 ', 0), (5, '4 ', 0),
-(4, '4 ', 0), (4, 'qq ', 5), (5, 'qq ', 4), (4, 'zz ', 4);
-create table t2(
-`a` int(11) DEFAULT NULL,
-`filler` char(200) DEFAULT NULL,
-`b` int(11) DEFAULT NULL,
-KEY USING BTREE (`a`),
-KEY USING BTREE (`b`)
-) ENGINE=MEMORY DEFAULT CHARSET=latin1;
-insert into t2 select * from t1;
-must use sort-union rather than union:
-explain select * from t1 where a=4 or b=4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge a,b a,b 5,5 NULL # Using sort_union(a,b); Using where
-select * from t1 where a=4 or b=4;
-a filler b
-4 4 0
-4 5 0
-4 filler 4
-4 filler 4
-4 qq 5
-4 zz 4
-5 qq 4
-select * from t1 ignore index(a,b) where a=4 or b=4;
-a filler b
-4 4 0
-4 5 0
-4 filler 4
-4 filler 4
-4 qq 5
-4 zz 4
-5 qq 4
-must use union, not sort-union:
-explain select * from t2 where a=4 or b=4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 index_merge a,b a,b 5,5 NULL # Using union(a,b); Using where
-select * from t2 where a=4 or b=4;
-a filler b
-4 4 0
-4 5 0
-4 filler 4
-4 filler 4
-4 qq 5
-4 zz 4
-5 qq 4
-drop table t1, t2;
diff --git a/mysql-test/r/index_merge_bdb.result b/mysql-test/r/index_merge_bdb.result
deleted file mode 100644
index 3113bf95d3a..00000000000
--- a/mysql-test/r/index_merge_bdb.result
+++ /dev/null
@@ -1,136 +0,0 @@
-drop table if exists t1;
-create table t1 (
-pk int primary key,
-key1 int,
-key2 int,
-filler char(200),
-filler2 char(200),
-index(key1),
-index(key2)
-) engine=bdb;
-select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 );
-pk key1 key2 filler filler2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-9 9 9 filler-data filler-data-2
-10 10 10 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-5 5 5 filler-data filler-data-2
-6 6 6 filler-data filler-data-2
-7 7 7 filler-data filler-data-2
-8 8 8 filler-data filler-data-2
-set @maxv=1000;
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or key1=18 or key1=60;
-pk key1 key2 filler filler2
-18 18 18 filler-data filler-data-2
-60 60 60 filler-data filler-data-2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or key1 < 3 or key1 > @maxv-11;
-pk key1 key2 filler filler2
-990 990 990 filler-data filler-data-2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or
-(key1 < 5) or (key1 > 10 and key1 < 15) or (key1 >= 50 and key1 < 55 ) or (key1 > @maxv-10);
-pk key1 key2 filler filler2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk > 10 and pk < 15) or (pk >= 50 and pk < 55 )
-or
-(key1 < 5) or (key1 > @maxv-10);
-pk key1 key2 filler filler2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-drop table t1;
diff --git a/mysql-test/r/index_merge_innodb.result b/mysql-test/r/index_merge_innodb.result
index c0c850ee310..588de70e6e5 100644
--- a/mysql-test/r/index_merge_innodb.result
+++ b/mysql-test/r/index_merge_innodb.result
@@ -1,11 +1,13 @@
+#---------------- Index merge test 2 -------------------------------------------
+SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1,t2;
create table t1
(
-key1 int not null,
-key2 int not null,
+key1 int not null,
+key2 int not null,
INDEX i1(key1),
INDEX i2(key2)
-) engine=innodb;
+);
explain select * from t1 where key1 < 5 or key2 > 197;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 8 Using sort_union(i1,i2); Using where
@@ -26,7 +28,7 @@ key1 key2
2 198
3 197
4 196
-alter table t1 add str1 char (255) not null,
+alter table t1 add str1 char (255) not null,
add zeroval int not null default 0,
add str2 char (255) not null,
add str3 char (255) not null;
@@ -60,7 +62,7 @@ key2 integer not null,
filler char (200),
index (key1),
index (key2)
-) engine=innodb;
+);
show warnings;
Level Code Message
explain select pk from t1 where key1 = 1 and key2 = 1;
@@ -91,14 +93,14 @@ filler1 char (200),
index i1(key1a, key1b),
index i2(key2a, key2b),
index i3(key3a, key3b)
-) engine=innodb;
+);
create table t2 (a int);
insert into t2 values (0),(1),(2),(3),(4),(NULL);
-insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
select A.a, B.a, C.a, D.a, C.a, D.a from t2 A,t2 B,t2 C, t2 D;
-insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
select key1a, key1b, key2a, key2b, key3a, key3b from t1;
-insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
select key1a, key1b, key2a, key2b, key3a, key3b from t1;
analyze table t1;
Table Op Msg_type Msg_text
@@ -106,19 +108,19 @@ test.t1 analyze status OK
select count(*) from t1;
count(*)
5184
-explain select count(*) from t1 where
+explain select count(*) from t1 where
key1a = 2 and key1b is null and key2a = 2 and key2b is null;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge i1,i2 i1,i2 10,10 NULL 3 Using intersect(i1,i2); Using where; Using index
-select count(*) from t1 where
+1 SIMPLE t1 index_merge i1,i2 i1,i2 10,10 NULL 4 Using intersect(i1,i2); Using where; Using index
+select count(*) from t1 where
key1a = 2 and key1b is null and key2a = 2 and key2b is null;
count(*)
4
-explain select count(*) from t1 where
+explain select count(*) from t1 where
key1a = 2 and key1b is null and key3a = 2 and key3b is null;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge i1,i3 i1,i3 10,10 NULL 3 Using intersect(i1,i3); Using where; Using index
-select count(*) from t1 where
+1 SIMPLE t1 index_merge i1,i3 i1,i3 10,10 NULL 4 Using intersect(i1,i3); Using where; Using index
+select count(*) from t1 where
key1a = 2 and key1b is null and key3a = 2 and key3b is null;
count(*)
4
@@ -127,8 +129,8 @@ create table t1 (
id1 int,
id2 date ,
index idx2 (id1,id2),
-index idx1 (id2)
-) engine = innodb;
+index idx1 (id2)
+);
insert into t1 values(1,'20040101'), (2,'20040102');
select * from t1 where id1 = 1 and id2= '20040101';
id1 id2
@@ -147,8 +149,8 @@ PRIMARY KEY (`oid`),
KEY `fk_bbk_niederlassung` (`fk_bbk_niederlassung`),
KEY `fk_wochentag` (`fk_wochentag`),
KEY `ix_version` (`version`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-insert into t1 values
+) DEFAULT CHARSET=latin1;
+insert into t1 values
(1, 38, 1, '08:00:00', '13:00:00', 0, 1),
(2, 38, 2, '08:00:00', '13:00:00', 0, 1),
(3, 38, 3, '08:00:00', '13:00:00', 0, 1),
@@ -174,25 +176,25 @@ insert into t1 values
(23, 7, 3, '08:00:00', '13:00:00', 0, 1),
(24, 7, 4, '08:00:00', '13:00:00', 0, 1),
(25, 7, 5, '08:00:00', '13:00:00', 0, 1);
-create view v1 as
-select
-zeit1.oid AS oid,
+create view v1 as
+select
+zeit1.oid AS oid,
zeit1.fk_bbk_niederlassung AS fk_bbk_niederlassung,
zeit1.fk_wochentag AS fk_wochentag,
-zeit1.uhrzeit_von AS uhrzeit_von,
-zeit1.uhrzeit_bis AS uhrzeit_bis,
+zeit1.uhrzeit_von AS uhrzeit_von,
+zeit1.uhrzeit_bis AS uhrzeit_bis,
zeit1.geloescht AS geloescht,
zeit1.version AS version
-from
+from
t1 zeit1
-where
-(zeit1.version =
+where
+(zeit1.version =
(select max(zeit2.version) AS `max(version)`
- from t1 zeit2
-where
-((zeit1.fk_bbk_niederlassung = zeit2.fk_bbk_niederlassung) and
-(zeit1.fk_wochentag = zeit2.fk_wochentag) and
-(zeit1.uhrzeit_von = zeit2.uhrzeit_von) and
+ from t1 zeit2
+where
+((zeit1.fk_bbk_niederlassung = zeit2.fk_bbk_niederlassung) and
+(zeit1.fk_wochentag = zeit2.fk_wochentag) and
+(zeit1.uhrzeit_von = zeit2.uhrzeit_von) and
(zeit1.uhrzeit_bis = zeit2.uhrzeit_bis)
)
)
@@ -213,7 +215,7 @@ filler2 char(250) default NULL,
PRIMARY KEY (t_cpac,t_vers,t_rele,t_cust),
UNIQUE KEY IX_4 (t_cust,t_cpac,t_vers,t_rele),
KEY IX_5 (t_vers,t_rele,t_cust)
-) ENGINE=InnoDB;
+);
insert into t1 values
('tm','2.5 ','a ',' ','',''), ('tm','2.5U','a ','stnd','',''),
('da','3.3 ','b ',' ','',''), ('da','3.3U','b ','stnd','',''),
@@ -244,9 +246,9 @@ t1 CREATE TABLE `t1` (
`t_vers` varchar(4) NOT NULL,
`t_rele` varchar(2) NOT NULL,
`t_cust` varchar(4) NOT NULL,
- `filler1` char(250) default NULL,
- `filler2` char(250) default NULL,
- PRIMARY KEY (`t_cpac`,`t_vers`,`t_rele`,`t_cust`),
+ `filler1` char(250) DEFAULT NULL,
+ `filler2` char(250) DEFAULT NULL,
+ PRIMARY KEY (`t_cpac`,`t_vers`,`t_rele`,`t_cust`),
UNIQUE KEY `IX_4` (`t_cust`,`t_cpac`,`t_vers`,`t_rele`),
KEY `IX_5` (`t_vers`,`t_rele`,`t_cust`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
@@ -275,10 +277,307 @@ primary key (pk),
key idx1(a,b,c),
key idx2(c),
key idx3(kp1,kp2,kp3,kp4,kp5)
-) engine=innodb default charset=latin1;
+) default charset=latin1;
set @fill=NULL;
-SELECT COUNT(*) FROM t1 WHERE b = 0 AND a = 0 AND c = 13286427 AND
+SELECT COUNT(*) FROM t1 WHERE b = 0 AND a = 0 AND c = 13286427 AND
kp1='279' AND kp2='ELM0678' AND kp3='6' AND kp4='10' AND kp5 = 'R ';
COUNT(*)
1
drop table t1;
+create table t1
+(
+key1 int not null,
+key2 int not null default 0,
+key3 int not null default 0
+);
+insert into t1(key1) values (1),(2),(3),(4),(5),(6),(7),(8);
+set @d=8;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+alter table t1 add index i2(key2);
+alter table t1 add index i3(key3);
+update t1 set key2=key1,key3=key1;
+explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL 9 Using sort_union(i3,i2); Using where
+select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+key1 key2 key3
+31 31 31
+32 32 32
+33 33 33
+34 34 34
+35 35 35
+36 36 36
+37 37 37
+38 38 38
+39 39 39
+drop table t1;
+#---------------- 2-sweeps read Index merge test 2 -------------------------------
+SET SESSION STORAGE_ENGINE = InnoDB;
+drop table if exists t1;
+create table t1 (
+pk int primary key,
+key1 int,
+key2 int,
+filler char(200),
+filler2 char(200),
+index(key1),
+index(key2)
+);
+select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 );
+pk key1 key2 filler filler2
+2 2 2 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+9 9 9 filler-data filler-data-2
+10 10 10 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+5 5 5 filler-data filler-data-2
+6 6 6 filler-data filler-data-2
+7 7 7 filler-data filler-data-2
+8 8 8 filler-data filler-data-2
+set @maxv=1000;
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or key1=18 or key1=60;
+pk key1 key2 filler filler2
+18 18 18 filler-data filler-data-2
+60 60 60 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+1000 1000 1000 filler-data filler-data-2
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or key1 < 3 or key1 > @maxv-11;
+pk key1 key2 filler filler2
+990 990 990 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+1000 1000 1000 filler-data filler-data-2
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or
+(key1 < 5) or (key1 > 10 and key1 < 15) or (key1 >= 50 and key1 < 55 ) or (key1 > @maxv-10);
+pk key1 key2 filler filler2
+1 1 1 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+1000 1000 1000 filler-data filler-data-2
+select * from t1 where
+(pk > 10 and pk < 15) or (pk >= 50 and pk < 55 )
+or
+(key1 < 5) or (key1 > @maxv-10);
+pk key1 key2 filler filler2
+1 1 1 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+1000 1000 1000 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+drop table t1;
+#---------------- Clustered PK ROR-index_merge tests -----------------------------
+SET SESSION STORAGE_ENGINE = InnoDB;
+drop table if exists t1;
+create table t1
+(
+pk1 int not null,
+pk2 int not null,
+key1 int not null,
+key2 int not null,
+pktail1ok int not null,
+pktail2ok int not null,
+pktail3bad int not null,
+pktail4bad int not null,
+pktail5bad int not null,
+pk2copy int not null,
+badkey int not null,
+filler1 char (200),
+filler2 char (200),
+key (key1),
+key (key2),
+/* keys with tails from CPK members */
+key (pktail1ok, pk1),
+key (pktail2ok, pk1, pk2),
+key (pktail3bad, pk2, pk1),
+key (pktail4bad, pk1, pk2copy),
+key (pktail5bad, pk1, pk2, pk2copy),
+primary key (pk1, pk2)
+);
+explain select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,key1 PRIMARY 8 NULL 9 Using where
+select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
+pk1 pk2 key1 key2 pktail1ok pktail2ok pktail3bad pktail4bad pktail5bad pk2copy badkey filler1 filler2
+1 10 0 0 0 0 0 0 0 10 0 filler-data-10 filler2
+1 11 0 0 0 0 0 0 0 11 0 filler-data-11 filler2
+1 12 0 0 0 0 0 0 0 12 0 filler-data-12 filler2
+1 13 0 0 0 0 0 0 0 13 0 filler-data-13 filler2
+1 14 0 0 0 0 0 0 0 14 0 filler-data-14 filler2
+1 15 0 0 0 0 0 0 0 15 0 filler-data-15 filler2
+1 16 0 0 0 0 0 0 0 16 0 filler-data-16 filler2
+1 17 0 0 0 0 0 0 0 17 0 filler-data-17 filler2
+1 18 0 0 0 0 0 0 0 18 0 filler-data-18 filler2
+1 19 0 0 0 0 0 0 0 19 0 filler-data-19 filler2
+explain select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where; Using index
+select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
+pk1 pk2
+95 50
+95 51
+95 52
+95 53
+95 54
+95 55
+95 56
+95 57
+95 58
+95 59
+explain select * from t1 where badkey=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1 key1 4 const 100 Using where
+explain select * from t1 where pk1 < 7500 and key1 = 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,key1 key1,PRIMARY 4,4 NULL ROWS Using intersect(key1,PRIMARY); Using where
+explain select * from t1 where pktail1ok=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,pktail1ok key1,pktail1ok 4,4 NULL 1 Using intersect(key1,pktail1ok); Using where
+explain select * from t1 where pktail2ok=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,pktail2ok key1,pktail2ok 4,4 NULL 1 Using intersect(key1,pktail2ok); Using where
+explain select * from t1 where (pktail2ok=1 and pk1< 50000) or key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,key1,pktail2ok pktail2ok,key1 8,4 NULL 199 Using sort_union(pktail2ok,key1); Using where
+explain select * from t1 where pktail3bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail3bad key1 4 const 100 Using where
+explain select * from t1 where pktail4bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail4bad key1 4 const 100 Using where
+explain select * from t1 where pktail5bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail5bad key1 4 const 100 Using where
+explain select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where; Using index
+select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
+pk1 pk2 key1 key2
+95 50 10 10
+95 51 10 10
+95 52 10 10
+95 53 10 10
+95 54 10 10
+95 55 10 10
+95 56 10 10
+95 57 10 10
+95 58 10 10
+95 59 10 10
+drop table t1;
+create table t1
+(
+RUNID varchar(22),
+SUBMITNR varchar(5),
+ORDERNR char(1),
+PROGRAMM varchar(8),
+TESTID varchar(4),
+UCCHECK char(1),
+ETEXT varchar(80),
+ETEXT_TYPE char(1),
+INFO char(1),
+SEVERITY tinyint(3),
+TADIRFLAG char(1),
+PRIMARY KEY (RUNID,SUBMITNR,ORDERNR,PROGRAMM,TESTID,UCCHECK),
+KEY `TVERM~KEY` (PROGRAMM,TESTID,UCCHECK)
+) DEFAULT CHARSET=latin1;
+update t1 set `ETEXT` = '', `ETEXT_TYPE`='', `INFO`='', `SEVERITY`='', `TADIRFLAG`=''
+WHERE
+`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
+`TESTID`='' AND `UCCHECK`='';
+drop table t1;
diff --git a/mysql-test/r/index_merge_innodb2.result b/mysql-test/r/index_merge_innodb2.result
deleted file mode 100644
index 91dd989fe90..00000000000
--- a/mysql-test/r/index_merge_innodb2.result
+++ /dev/null
@@ -1,136 +0,0 @@
-drop table if exists t1;
-create table t1 (
-pk int primary key,
-key1 int,
-key2 int,
-filler char(200),
-filler2 char(200),
-index(key1),
-index(key2)
-) engine=innodb;
-select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 );
-pk key1 key2 filler filler2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-9 9 9 filler-data filler-data-2
-10 10 10 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-5 5 5 filler-data filler-data-2
-6 6 6 filler-data filler-data-2
-7 7 7 filler-data filler-data-2
-8 8 8 filler-data filler-data-2
-set @maxv=1000;
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or key1=18 or key1=60;
-pk key1 key2 filler filler2
-18 18 18 filler-data filler-data-2
-60 60 60 filler-data filler-data-2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or key1 < 3 or key1 > @maxv-11;
-pk key1 key2 filler filler2
-990 990 990 filler-data filler-data-2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
-or
-(key1 < 5) or (key1 > 10 and key1 < 15) or (key1 >= 50 and key1 < 55 ) or (key1 > @maxv-10);
-pk key1 key2 filler filler2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-select * from t1 where
-(pk > 10 and pk < 15) or (pk >= 50 and pk < 55 )
-or
-(key1 < 5) or (key1 > @maxv-10);
-pk key1 key2 filler filler2
-1 1 1 filler-data filler-data-2
-2 2 2 filler-data filler-data-2
-3 3 3 filler-data filler-data-2
-4 4 4 filler-data filler-data-2
-991 991 991 filler-data filler-data-2
-992 992 992 filler-data filler-data-2
-993 993 993 filler-data filler-data-2
-994 994 994 filler-data filler-data-2
-995 995 995 filler-data filler-data-2
-996 996 996 filler-data filler-data-2
-997 997 997 filler-data filler-data-2
-998 998 998 filler-data filler-data-2
-999 999 999 filler-data filler-data-2
-1000 1000 1000 filler-data filler-data-2
-11 11 11 filler-data filler-data-2
-12 12 12 filler-data filler-data-2
-13 13 13 filler-data filler-data-2
-14 14 14 filler-data filler-data-2
-50 50 50 filler-data filler-data-2
-51 51 51 filler-data filler-data-2
-52 52 52 filler-data filler-data-2
-53 53 53 filler-data filler-data-2
-54 54 54 filler-data filler-data-2
-drop table t1;
diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result
new file mode 100644
index 00000000000..1827871861e
--- /dev/null
+++ b/mysql-test/r/index_merge_myisam.result
@@ -0,0 +1,1355 @@
+#---------------- Index merge test 1 -------------------------------------------
+SET SESSION STORAGE_ENGINE = MyISAM;
+drop table if exists t0, t1, t2, t3, t4;
+create table t0
+(
+key1 int not null,
+INDEX i1(key1)
+);
+alter table t0 add key2 int not null, add index i2(key2);
+alter table t0 add key3 int not null, add index i3(key3);
+alter table t0 add key4 int not null, add index i4(key4);
+alter table t0 add key5 int not null, add index i5(key5);
+alter table t0 add key6 int not null, add index i6(key6);
+alter table t0 add key7 int not null, add index i7(key7);
+alter table t0 add key8 int not null, add index i8(key8);
+update t0 set key2=key1,key3=key1,key4=key1,key5=key1,key6=key1,key7=key1,key8=1024-key1;
+analyze table t0;
+Table Op Msg_type Msg_text
+test.t0 analyze status OK
+explain select * from t0 where key1 < 3 or key1 > 1020;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 range i1 i1 4 NULL 78 Using where
+explain
+select * from t0 where key1 < 3 or key2 > 1020;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 45 Using sort_union(i1,i2); Using where
+select * from t0 where key1 < 3 or key2 > 1020;
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 1023
+2 2 2 2 2 2 2 1022
+1021 1021 1021 1021 1021 1021 1021 3
+1022 1022 1022 1022 1022 1022 1022 2
+1023 1023 1023 1023 1023 1023 1023 1
+1024 1024 1024 1024 1024 1024 1024 0
+explain select * from t0 where key1 < 3 or key2 <4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
+explain
+select * from t0 where (key1 > 30 and key1<35) or (key2 >32 and key2 < 40);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 11 Using sort_union(i1,i2); Using where
+select * from t0 where (key1 > 30 and key1<35) or (key2 >32 and key2 < 40);
+key1 key2 key3 key4 key5 key6 key7 key8
+31 31 31 31 31 31 31 993
+32 32 32 32 32 32 32 992
+33 33 33 33 33 33 33 991
+34 34 34 34 34 34 34 990
+35 35 35 35 35 35 35 989
+36 36 36 36 36 36 36 988
+37 37 37 37 37 37 37 987
+38 38 38 38 38 38 38 986
+39 39 39 39 39 39 39 985
+explain select * from t0 ignore index (i2) where key1 < 3 or key2 <4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1 NULL NULL NULL 1024 Using where
+explain select * from t0 where (key1 < 3 or key2 <4) and key3 = 50;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ref i1,i2,i3 i3 4 const 1 Using where
+explain select * from t0 use index (i1,i2) where (key1 < 3 or key2 <4) and key3 = 50;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
+explain select * from t0 where (key1 > 1 or key2 > 2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
+explain select * from t0 force index (i1,i2) where (key1 > 1 or key2 > 2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 1024 Using sort_union(i1,i2); Using where
+explain
+select * from t0 where key1<3 or key2<3 or (key1>5 and key1<8) or
+(key1>10 and key1<12) or (key2>100 and key2<110);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 17 Using sort_union(i1,i2); Using where
+explain select * from t0 where key2 = 45 or key1 <=> null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 range i1,i2 i2 4 NULL 1 Using where
+explain select * from t0 where key2 = 45 or key1 is not null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
+explain select * from t0 where key2 = 45 or key1 is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ref i2 i2 4 const 1
+explain select * from t0 where key2=10 or key3=3 or key4 <=> null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i2,i3,i4 i2,i3 4,4 NULL 2 Using union(i2,i3); Using where
+explain select * from t0 where key2=10 or key3=3 or key4 is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i2,i3 i2,i3 4,4 NULL 2 Using union(i2,i3); Using where
+explain select key1 from t0 where (key1 <=> null) or (key2 < 5) or
+(key3=10) or (key4 <=> null);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i4 i2,i3 4,4 NULL 6 Using sort_union(i2,i3); Using where
+explain select key1 from t0 where (key1 <=> null) or (key1 < 5) or
+(key3=10) or (key4 <=> null);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i3,i4 i1,i3 4,4 NULL 6 Using sort_union(i1,i3); Using where
+explain select * from t0 where
+(key1 < 3 or key2 < 3) and (key3 < 4 or key4 < 4) and (key5 < 5 or key6 < 5);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i4,i5,i6 i1,i2 4,4 NULL 6 Using sort_union(i1,i2); Using where
+explain
+select * from t0 where (key1 < 3 or key2 < 6) and (key1 < 7 or key3 < 4);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3 i1,i2 4,4 NULL 9 Using sort_union(i1,i2); Using where
+select * from t0 where (key1 < 3 or key2 < 6) and (key1 < 7 or key3 < 4);
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 1023
+2 2 2 2 2 2 2 1022
+3 3 3 3 3 3 3 1021
+4 4 4 4 4 4 4 1020
+5 5 5 5 5 5 5 1019
+explain select * from t0 where
+(key1 < 3 or key2 < 3) and (key3 < 4 or key4 < 4) and (key5 < 2 or key6 < 2);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i4,i5,i6 i1,i2 4,4 NULL 6 Using sort_union(i1,i2); Using where
+explain select * from t0 where
+(key1 < 3 or key2 < 3) and (key3 < 100);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 range i1,i2,i3 i3 4 NULL 95 Using where
+explain select * from t0 where
+(key1 < 3 or key2 < 3) and (key3 < 1000);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2,i3 NULL NULL NULL 1024 Using where
+explain select * from t0 where
+((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
+or
+key2 > 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2,i3 NULL NULL NULL 1024 Using where
+explain select * from t0 where
+((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
+or
+key1 < 7;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
+select * from t0 where
+((key1 < 4 or key2 < 4) and (key2 <5 or key3 < 4))
+or
+key1 < 7;
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 1023
+2 2 2 2 2 2 2 1022
+3 3 3 3 3 3 3 1021
+4 4 4 4 4 4 4 1020
+5 5 5 5 5 5 5 1019
+6 6 6 6 6 6 6 1018
+explain select * from t0 where
+((key1 < 4 or key2 < 4) and (key3 <5 or key5 < 4))
+or
+((key5 < 5 or key6 < 6) and (key7 <7 or key8 < 4));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7,i8 i1,i2,i5,i6 4,4,4,4 NULL 19 Using sort_union(i1,i2,i5,i6); Using where
+explain select * from t0 where
+((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
+or
+((key7 <7 or key8 < 4) and (key5 < 5 or key6 < 6));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7,i8 i3,i5,i7,i8 4,4,4,4 NULL 20 Using sort_union(i3,i5,i7,i8); Using where
+explain select * from t0 where
+((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
+or
+((key3 <7 or key5 < 2) and (key5 < 5 or key6 < 6));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i5,i6 i3,i5 4,4 NULL 11 Using sort_union(i3,i5); Using where
+explain select * from t0 where
+((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
+or
+(((key3 <7 and key7 < 6) or key5 < 2) and (key5 < 5 or key6 < 6));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i5,i6,i7 i3,i5 4,4 NULL 11 Using sort_union(i3,i5); Using where
+explain select * from t0 where
+((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
+or
+((key3 >=5 or key5 < 2) and (key5 < 5 or key6 < 6));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2,i3,i5,i6 NULL NULL NULL 1024 Using where
+explain select * from t0 force index(i1, i2, i3, i4, i5, i6 ) where
+((key3 <5 or key5 < 4) and (key1 < 4 or key2 < 4))
+or
+((key3 >=5 or key5 < 2) and (key5 < 5 or key6 < 6));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2,i3,i5,i6 i3,i5 0,4 NULL 1024 Using sort_union(i3,i5); Using where
+select * from t0 where key1 < 5 or key8 < 4 order by key1;
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 1023
+2 2 2 2 2 2 2 1022
+3 3 3 3 3 3 3 1021
+4 4 4 4 4 4 4 1020
+1021 1021 1021 1021 1021 1021 1021 3
+1022 1022 1022 1022 1022 1022 1022 2
+1023 1023 1023 1023 1023 1023 1023 1
+1024 1024 1024 1024 1024 1024 1024 0
+explain
+select * from t0 where key1 < 5 or key8 < 4 order by key1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i8 i1,i8 4,4 NULL 9 Using sort_union(i1,i8); Using where; Using filesort
+create table t2 like t0;
+insert into t2 select * from t0;
+alter table t2 add index i1_3(key1, key3);
+alter table t2 add index i2_3(key2, key3);
+alter table t2 drop index i1;
+alter table t2 drop index i2;
+alter table t2 add index i321(key3, key2, key1);
+explain select key3 from t2 where key1 = 100 or key2 = 100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index_merge i1_3,i2_3 i1_3,i2_3 4,4 NULL 2 Using sort_union(i1_3,i2_3); Using where
+explain select key3 from t2 where key1 <100 or key2 < 100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index i1_3,i2_3 i321 12 NULL 1024 Using where; Using index
+explain select key7 from t2 where key1 <100 or key2 < 100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL i1_3,i2_3 NULL NULL NULL 1024 Using where
+create table t4 (
+key1a int not null,
+key1b int not null,
+key2 int not null,
+key2_1 int not null,
+key2_2 int not null,
+key3 int not null,
+index i1a (key1a, key1b),
+index i1b (key1b, key1a),
+index i2_1(key2, key2_1),
+index i2_2(key2, key2_1)
+);
+insert into t4 select key1,key1,key1 div 10, key1 % 10, key1 % 10, key1 from t0;
+select * from t4 where key1a = 3 or key1b = 4;
+key1a key1b key2 key2_1 key2_2 key3
+3 3 0 3 3 3
+4 4 0 4 4 4
+explain select * from t4 where key1a = 3 or key1b = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 index_merge i1a,i1b i1a,i1b 4,4 NULL 2 Using sort_union(i1a,i1b); Using where
+explain select * from t4 where key2 = 1 and (key2_1 = 1 or key3 = 5);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ref i2_1,i2_2 i2_1 4 const 10 Using where
+explain select * from t4 where key2 = 1 and (key2_1 = 1 or key2_2 = 5);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ref i2_1,i2_2 i2_1 4 const 10 Using where
+explain select * from t4 where key2_1 = 1 or key2_2 = 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 ALL NULL NULL NULL NULL 1024 Using where
+create table t1 like t0;
+insert into t1 select * from t0;
+explain select * from t0 left join t1 on (t0.key1=t1.key1)
+where t0.key1=3 or t0.key2=4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
+1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
+select * from t0 left join t1 on (t0.key1=t1.key1)
+where t0.key1=3 or t0.key2=4;
+key1 key2 key3 key4 key5 key6 key7 key8 key1 key2 key3 key4 key5 key6 key7 key8
+3 3 3 3 3 3 3 1021 3 3 3 3 3 3 3 1021
+4 4 4 4 4 4 4 1020 4 4 4 4 4 4 4 1020
+explain
+select * from t0,t1 where (t0.key1=t1.key1) and ( t0.key1=3 or t0.key2=4);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
+1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
+explain
+select * from t0,t1 where (t0.key1=t1.key1) and
+(t0.key1=3 or t0.key2=4) and t1.key1<200;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ALL i1,i2 NULL NULL NULL 1024 Using where
+1 SIMPLE t1 ref i1 i1 4 test.t0.key1 1
+explain
+select * from t0,t1 where (t0.key1=t1.key1) and
+(t0.key1=3 or t0.key2<4) and t1.key1=2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ref i1,i2 i1 4 const 1 Using where
+1 SIMPLE t1 ref i1 i1 4 const 1
+explain select * from t0,t1 where t0.key1 = 5 and
+(t1.key1 = t0.key1 or t1.key8 = t0.key1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 ref i1 i1 4 const 1
+1 SIMPLE t1 index_merge i1,i8 i1,i8 4,4 NULL 2 Using union(i1,i8); Using where; Using join buffer
+explain select * from t0,t1 where t0.key1 < 3 and
+(t1.key1 = t0.key1 or t1.key8 = t0.key1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 range i1 i1 4 NULL 3 Using where
+1 SIMPLE t1 ALL i1,i8 NULL NULL NULL 1024 Range checked for each record (index map: 0x81)
+explain select * from t1 where key1=3 or key2=4
+union select * from t1 where key1<4 or key3=5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
+2 UNION t1 index_merge i1,i3 i1,i3 4,4 NULL 5 Using sort_union(i1,i3); Using where
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
+explain select * from (select * from t1 where key1 = 3 or key2 =3) as Z where key8 >5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <derived2> system NULL NULL NULL NULL 1
+2 DERIVED t1 index_merge i1,i2 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where; Using index
+create table t3 like t0;
+insert into t3 select * from t0;
+alter table t3 add key9 int not null, add index i9(key9);
+alter table t3 add keyA int not null, add index iA(keyA);
+alter table t3 add keyB int not null, add index iB(keyB);
+alter table t3 add keyC int not null, add index iC(keyC);
+update t3 set key9=key1,keyA=key1,keyB=key1,keyC=key1;
+explain select * from t3 where
+key1=1 or key2=2 or key3=3 or key4=4 or
+key5=5 or key6=6 or key7=7 or key8=8 or
+key9=9 or keyA=10 or keyB=11 or keyC=12;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index_merge i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC 4,4,4,4,4,4,4,4,4,4,4,4 NULL 12 Using union(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC); Using where
+select * from t3 where
+key1=1 or key2=2 or key3=3 or key4=4 or
+key5=5 or key6=6 or key7=7 or key8=8 or
+key9=9 or keyA=10 or keyB=11 or keyC=12;
+key1 key2 key3 key4 key5 key6 key7 key8 key9 keyA keyB keyC
+1 1 1 1 1 1 1 1023 1 1 1 1
+2 2 2 2 2 2 2 1022 2 2 2 2
+3 3 3 3 3 3 3 1021 3 3 3 3
+4 4 4 4 4 4 4 1020 4 4 4 4
+5 5 5 5 5 5 5 1019 5 5 5 5
+6 6 6 6 6 6 6 1018 6 6 6 6
+7 7 7 7 7 7 7 1017 7 7 7 7
+9 9 9 9 9 9 9 1015 9 9 9 9
+10 10 10 10 10 10 10 1014 10 10 10 10
+11 11 11 11 11 11 11 1013 11 11 11 11
+12 12 12 12 12 12 12 1012 12 12 12 12
+1016 1016 1016 1016 1016 1016 1016 8 1016 1016 1016 1016
+explain select * from t0 where key1 < 3 or key2 < 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t0 index_merge i1,i2 i1,i2 4,4 NULL 7 Using sort_union(i1,i2); Using where
+select * from t0 where key1 < 3 or key2 < 4;
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 1023
+2 2 2 2 2 2 2 1022
+3 3 3 3 3 3 3 1021
+update t0 set key8=123 where key1 < 3 or key2 < 4;
+select * from t0 where key1 < 3 or key2 < 4;
+key1 key2 key3 key4 key5 key6 key7 key8
+1 1 1 1 1 1 1 123
+2 2 2 2 2 2 2 123
+3 3 3 3 3 3 3 123
+delete from t0 where key1 < 3 or key2 < 4;
+select * from t0 where key1 < 3 or key2 < 4;
+key1 key2 key3 key4 key5 key6 key7 key8
+select count(*) from t0;
+count(*)
+1021
+drop table t4;
+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)
+and (B.key1 < 500000 or B.key2 < 3);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where
+1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where; Using join buffer
+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)
+and (B.key1 < 500000 or B.key2 < 3);
+max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
+10240
+update t0 set key1=1;
+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 = 1 or A.key2 = 1)
+and (B.key1 = 1 or B.key2 = 1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where
+1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where; Using join buffer
+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 = 1 or A.key2 = 1)
+and (B.key1 = 1 or B.key2 = 1);
+max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
+8194
+alter table t0 add filler1 char(200), add filler2 char(200), add filler3 char(200);
+update t0 set key2=1, key3=1, key4=1, key5=1,key6=1,key7=1 where key7 < 500;
+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, t0 as B
+where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
+and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE A index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where
+1 SIMPLE B index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where; Using join buffer
+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, t0 as B
+where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
+and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
+max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
+8186
+set join_buffer_size= @save_join_buffer_size;
+drop table t0, t1, t2, t3, t4;
+CREATE TABLE t1 (
+cola char(3) not null, colb char(3) not null, filler char(200),
+key(cola), key(colb)
+);
+INSERT INTO t1 VALUES ('foo','bar', 'ZZ'),('fuz','baz', 'ZZ');
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+select count(*) from t1;
+count(*)
+8704
+explain select * from t1 WHERE cola = 'foo' AND colb = 'bar';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge cola,colb cola,colb 3,3 NULL 32 Using intersect(cola,colb); Using where
+explain select * from t1 force index(cola,colb) WHERE cola = 'foo' AND colb = 'bar';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge cola,colb cola,colb 3,3 NULL 32 Using intersect(cola,colb); Using where
+drop table t1;
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (
+a int, b int,
+filler1 char(200), filler2 char(200),
+key(a),key(b)
+);
+insert into t1 select @v:= A.a, @v, 't1', 'filler2' from t0 A, t0 B, t0 C;
+create table t2 like t1;
+create table t3 (
+a int, b int,
+filler1 char(200), filler2 char(200),
+key(a),key(b)
+) engine=merge union=(t1,t2);
+explain select * from t1 where a=1 and b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge a,b a,b 5,5 NULL # Using intersect(a,b); Using where
+explain select * from t3 where a=1 and b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index_merge a,b a,b 5,5 NULL # Using intersect(a,b); Using where
+drop table t3;
+drop table t0, t1, t2;
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(1);
+CREATE TABLE t2(a INT, b INT, dummy CHAR(16) DEFAULT '', KEY(a), KEY(b));
+INSERT INTO t2(a,b) 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,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
+(1,2);
+LOCK TABLES t1 WRITE, t2 WRITE;
+INSERT INTO t2(a,b) VALUES(1,2);
+SELECT t2.a FROM t1,t2 WHERE t2.b=2 AND t2.a=1;
+a
+1
+1
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+CREATE TABLE `t1` (
+`a` int(11) DEFAULT NULL,
+`filler` char(200) DEFAULT NULL,
+`b` int(11) DEFAULT NULL,
+KEY `a` (`a`),
+KEY `b` (`b`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
+insert into t1 values
+(0, 'filler', 0), (1, 'filler', 1), (2, 'filler', 2), (3, 'filler', 3),
+(4, 'filler', 4), (5, 'filler', 5), (6, 'filler', 6), (7, 'filler', 7),
+(8, 'filler', 8), (9, 'filler', 9), (0, 'filler', 0), (1, 'filler', 1),
+(2, 'filler', 2), (3, 'filler', 3), (4, 'filler', 4), (5, 'filler', 5),
+(6, 'filler', 6), (7, 'filler', 7), (8, 'filler', 8), (9, 'filler', 9),
+(10, 'filler', 10), (11, 'filler', 11), (12, 'filler', 12), (13, 'filler', 13),
+(14, 'filler', 14), (15, 'filler', 15), (16, 'filler', 16), (17, 'filler', 17),
+(18, 'filler', 18), (19, 'filler', 19), (4, '5 ', 0), (5, '4 ', 0),
+(4, '4 ', 0), (4, 'qq ', 5), (5, 'qq ', 4), (4, 'zz ', 4);
+create table t2(
+`a` int(11) DEFAULT NULL,
+`filler` char(200) DEFAULT NULL,
+`b` int(11) DEFAULT NULL,
+KEY USING BTREE (`a`),
+KEY USING BTREE (`b`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
+insert into t2 select * from t1;
+must use sort-union rather than union:
+explain select * from t1 where a=4 or b=4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge a,b a,b 5,5 NULL # Using sort_union(a,b); Using where
+select * from t1 where a=4 or b=4;
+a filler b
+4 4 0
+4 5 0
+4 filler 4
+4 filler 4
+4 qq 5
+4 zz 4
+5 qq 4
+select * from t1 ignore index(a,b) where a=4 or b=4;
+a filler b
+4 4 0
+4 5 0
+4 filler 4
+4 filler 4
+4 qq 5
+4 zz 4
+5 qq 4
+must use union, not sort-union:
+explain select * from t2 where a=4 or b=4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index_merge a,b a,b 5,5 NULL # Using union(a,b); Using where
+select * from t2 where a=4 or b=4;
+a filler b
+4 4 0
+4 5 0
+4 filler 4
+4 filler 4
+4 qq 5
+4 zz 4
+5 qq 4
+drop table t1, t2;
+#---------------- ROR-index_merge tests -----------------------
+SET SESSION STORAGE_ENGINE = MyISAM;
+drop table if exists t0,t1,t2;
+create table t1
+(
+/* Field names reflect value(rowid) distribution, st=STairs, swt= SaWTooth */
+st_a int not null default 0,
+swt1a int not null default 0,
+swt2a int not null default 0,
+st_b int not null default 0,
+swt1b int not null default 0,
+swt2b int not null default 0,
+/* fields/keys for row retrieval tests */
+key1 int,
+key2 int,
+key3 int,
+key4 int,
+/* make rows much bigger then keys */
+filler1 char (200),
+filler2 char (200),
+filler3 char (200),
+filler4 char (200),
+filler5 char (200),
+filler6 char (200),
+/* order of keys is important */
+key sta_swt12a(st_a,swt1a,swt2a),
+key sta_swt1a(st_a,swt1a),
+key sta_swt2a(st_a,swt2a),
+key sta_swt21a(st_a,swt2a,swt1a),
+key st_a(st_a),
+key stb_swt1a_2b(st_b,swt1b,swt2a),
+key stb_swt1b(st_b,swt1b),
+key st_b(st_b),
+key(key1),
+key(key2),
+key(key3),
+key(key4)
+) ;
+create table t0 as select * from t1;
+# Printing of many insert into t0 values (....) disabled.
+alter table t1 disable keys;
+# Printing of many insert into t1 select .... from t0 disabled.
+# Printing of many insert into t1 (...) values (....) disabled.
+alter table t1 enable keys;
+select count(*) from t1;
+count(*)
+64801
+explain select key1,key2 from t1 where key1=100 and key2=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 77 Using intersect(key1,key2); Using where; Using index
+select key1,key2 from t1 where key1=100 and key2=100;
+key1 key2
+100 100
+explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
+select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+key1 key2 key3 key4 filler1
+100 100 100 100 key1-key2-key3-key4
+insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, -1, -1, 'key1-key2');
+insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, 100, 100, 'key4-key3');
+explain select key1,key2,filler1 from t1 where key1=100 and key2=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 77 Using intersect(key1,key2); Using where
+select key1,key2,filler1 from t1 where key1=100 and key2=100;
+key1 key2 filler1
+100 100 key1-key2-key3-key4
+100 100 key1-key2
+explain select key1,key2 from t1 where key1=100 and key2=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 77 Using intersect(key1,key2); Using where; Using index
+select key1,key2 from t1 where key1=100 and key2=100;
+key1 key2
+100 100
+100 100
+explain select key1,key2,key3,key4 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
+select key1,key2,key3,key4 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+key1 key2 key3 key4
+100 100 100 100
+100 100 -1 -1
+-1 -1 100 100
+explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
+select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+key1 key2 key3 key4 filler1
+100 100 100 100 key1-key2-key3-key4
+100 100 -1 -1 key1-key2
+-1 -1 100 100 key4-key3
+explain select key1,key2,key3 from t1 where key1=100 and key2=100 and key3=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3 key1,key2,key3 5,5,5 NULL 2 Using intersect(key1,key2,key3); Using where; Using index
+select key1,key2,key3 from t1 where key1=100 and key2=100 and key3=100;
+key1 key2 key3
+100 100 100
+insert into t1 (key1,key2,key3,key4,filler1) values (101,101,101,101, 'key1234-101');
+explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=101;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3 key1,key2,key3 5,5,5 NULL 83 Using union(intersect(key1,key2),key3); Using where
+select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=101;
+key1 key2 key3 key4 filler1
+100 100 100 100 key1-key2-key3-key4
+100 100 -1 -1 key1-key2
+101 101 101 101 key1234-101
+select key1,key2, filler1 from t1 where key1=100 and key2=100;
+key1 key2 filler1
+100 100 key1-key2-key3-key4
+100 100 key1-key2
+update t1 set filler1='to be deleted' where key1=100 and key2=100;
+update t1 set key1=200,key2=200 where key1=100 and key2=100;
+delete from t1 where key1=200 and key2=200;
+select key1,key2,filler1 from t1 where key2=100 and key2=200;
+key1 key2 filler1
+explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 152 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
+select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+key1 key2 key3 key4 filler1
+-1 -1 100 100 key4-key3
+delete from t1 where key3=100 and key4=100;
+explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 152 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
+select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
+key1 key2 key3 key4 filler1
+explain select key1,key2 from t1 where key1=100 and key2=100;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 76 Using intersect(key1,key2); Using where; Using index
+select key1,key2 from t1 where key1=100 and key2=100;
+key1 key2
+insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-1');
+insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-2');
+insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-3');
+explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 136 Using union(key3,intersect(key1,key2),key4); Using where
+select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+key1 key2 key3 key4 filler1
+100 100 200 200 key1-key2-key3-key4-3
+100 100 200 200 key1-key2-key3-key4-2
+100 100 200 200 key1-key2-key3-key4-1
+insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, -1, 200,'key4');
+explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 146 Using union(key3,intersect(key1,key2),key4); Using where
+select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+key1 key2 key3 key4 filler1
+100 100 200 200 key1-key2-key3-key4-3
+100 100 200 200 key1-key2-key3-key4-2
+100 100 200 200 key1-key2-key3-key4-1
+-1 -1 -1 200 key4
+insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, 200, -1,'key3');
+explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 156 Using union(key3,intersect(key1,key2),key4); Using where
+select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
+key1 key2 key3 key4 filler1
+100 100 200 200 key1-key2-key3-key4-3
+100 100 200 200 key1-key2-key3-key4-2
+100 100 200 200 key1-key2-key3-key4-1
+-1 -1 -1 200 key4
+-1 -1 200 -1 key3
+explain select * from t1 where st_a=1 and st_b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b st_a,st_b 4,4 NULL 3515 Using intersect(st_a,st_b); Using where
+explain select st_a,st_b from t1 where st_a=1 and st_b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b st_a,st_b 4,4 NULL 3515 Using intersect(st_a,st_b); Using where; Using index
+explain select st_a from t1 ignore index (st_a) where st_a=1 and st_b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,stb_swt1a_2b,stb_swt1b,st_b st_b 4 const 15093 Using where
+explain select * from t1 where st_a=1 and swt1a=1 and swt2a=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a sta_swt21a 12 const,const,const 971
+explain select * from t1 where st_b=1 and swt1b=1 and swt2b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref stb_swt1a_2b,stb_swt1b,st_b stb_swt1a_2b 8 const,const 3879 Using where
+explain select * from t1 where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt12a,stb_swt1a_2b 12,12 NULL 58 Using intersect(sta_swt12a,stb_swt1a_2b); Using where
+explain select * from t1 ignore index (sta_swt21a, stb_swt1a_2b)
+where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,st_a,stb_swt1b,st_b sta_swt12a,stb_swt1b 12,8 NULL 58 Using intersect(sta_swt12a,stb_swt1b); Using where
+explain select * from t1 ignore index (sta_swt21a, sta_swt12a, stb_swt1a_2b)
+where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt1a,sta_swt2a,st_a,stb_swt1b,st_b sta_swt1a,sta_swt2a,stb_swt1b 8,8,8 NULL 57 Using intersect(sta_swt1a,sta_swt2a,stb_swt1b); Using where
+explain select * from t1 ignore index (sta_swt21a, sta_swt12a, stb_swt1a_2b, stb_swt1b)
+where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt1a,sta_swt2a,st_a,st_b sta_swt1a,sta_swt2a,st_b 8,8,4 NULL 223 Using intersect(sta_swt1a,sta_swt2a,st_b); Using where
+explain select * from t1
+where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt12a,stb_swt1a_2b 12,12 NULL 58 Using intersect(sta_swt12a,stb_swt1a_2b); Using where
+explain select * from t1
+where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 232 Using intersect(sta_swt1a,stb_swt1b); Using where
+explain select st_a from t1
+where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 232 Using intersect(sta_swt1a,stb_swt1b); Using where; Using index
+explain select st_a from t1
+where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 232 Using intersect(sta_swt1a,stb_swt1b); Using where; Using index
+drop table t0,t1;
+create table t2 (
+a char(10),
+b char(10),
+filler1 char(255),
+filler2 char(255),
+key(a(5)),
+key(b(5))
+);
+select count(a) from t2 where a='BBBBBBBB';
+count(a)
+4
+select count(a) from t2 where b='BBBBBBBB';
+count(a)
+4
+expla_or_bin select count(a_or_b) from t2 where a_or_b='AAAAAAAA' a_or_bnd a_or_b='AAAAAAAA';
+id select_type ta_or_ba_or_ble type possia_or_ble_keys key key_len ref rows Extra_or_b
+1 SIMPLE t2 ref a_or_b,a_or_b a_or_b 6 const 4 Using where
+select count(a) from t2 where a='AAAAAAAA' and b='AAAAAAAA';
+count(a)
+4
+select count(a) from t2 ignore index(a,b) where a='AAAAAAAA' and b='AAAAAAAA';
+count(a)
+4
+insert into t2 values ('ab', 'ab', 'uh', 'oh');
+explain select a from t2 where a='ab';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref a a 6 const 1 Using where
+drop table t2;
+CREATE TABLE t1(c1 INT, c2 INT DEFAULT 0, c3 CHAR(255) DEFAULT '',
+KEY(c1), KEY(c2), KEY(c3));
+INSERT INTO t1(c1) 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);
+INSERT INTO t1 VALUES(0,0,0);
+CREATE TABLE t2(c1 int);
+INSERT INTO t2 VALUES(1);
+DELETE t1 FROM t1,t2 WHERE t1.c1=0 AND t1.c2=0;
+SELECT * FROM t1;
+c1 c2 c3
+DROP TABLE t1,t2;
+#---------------- Index merge test 2 -------------------------------------------
+SET SESSION STORAGE_ENGINE = MyISAM;
+drop table if exists t1,t2;
+create table t1
+(
+key1 int not null,
+key2 int not null,
+INDEX i1(key1),
+INDEX i2(key2)
+);
+explain select * from t1 where key1 < 5 or key2 > 197;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
+select * from t1 where key1 < 5 or key2 > 197;
+key1 key2
+0 200
+1 199
+2 198
+3 197
+4 196
+explain select * from t1 where key1 < 3 or key2 > 195;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
+select * from t1 where key1 < 3 or key2 > 195;
+key1 key2
+0 200
+1 199
+2 198
+3 197
+4 196
+alter table t1 add str1 char (255) not null,
+add zeroval int not null default 0,
+add str2 char (255) not null,
+add str3 char (255) not null;
+update t1 set str1='aaa', str2='bbb', str3=concat(key2, '-', key1 div 2, '_' ,if(key1 mod 2 = 0, 'a', 'A'));
+alter table t1 add primary key (str1, zeroval, str2, str3);
+explain select * from t1 where key1 < 5 or key2 > 197;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
+select * from t1 where key1 < 5 or key2 > 197;
+key1 key2 str1 zeroval str2 str3
+0 200 aaa 0 bbb 200-0_a
+1 199 aaa 0 bbb 199-0_A
+2 198 aaa 0 bbb 198-1_a
+3 197 aaa 0 bbb 197-1_A
+4 196 aaa 0 bbb 196-2_a
+explain select * from t1 where key1 < 3 or key2 > 195;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL 10 Using sort_union(i1,i2); Using where
+select * from t1 where key1 < 3 or key2 > 195;
+key1 key2 str1 zeroval str2 str3
+0 200 aaa 0 bbb 200-0_a
+1 199 aaa 0 bbb 199-0_A
+2 198 aaa 0 bbb 198-1_a
+3 197 aaa 0 bbb 197-1_A
+4 196 aaa 0 bbb 196-2_a
+drop table t1;
+create table t1 (
+pk integer not null auto_increment primary key,
+key1 integer,
+key2 integer not null,
+filler char (200),
+index (key1),
+index (key2)
+);
+show warnings;
+Level Code Message
+explain select pk from t1 where key1 = 1 and key2 = 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,key2 key1 5 const 4 Using where
+select pk from t1 where key2 = 1 and key1 = 1;
+pk
+26
+27
+select pk from t1 ignore index(key1,key2) where key2 = 1 and key1 = 1;
+pk
+26
+27
+drop table t1;
+create table t1 (
+pk int primary key auto_increment,
+key1a int,
+key2a int,
+key1b int,
+key2b int,
+dummy1 int,
+dummy2 int,
+dummy3 int,
+dummy4 int,
+key3a int,
+key3b int,
+filler1 char (200),
+index i1(key1a, key1b),
+index i2(key2a, key2b),
+index i3(key3a, key3b)
+);
+create table t2 (a int);
+insert into t2 values (0),(1),(2),(3),(4),(NULL);
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+select A.a, B.a, C.a, D.a, C.a, D.a from t2 A,t2 B,t2 C, t2 D;
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+select key1a, key1b, key2a, key2b, key3a, key3b from t1;
+insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b)
+select key1a, key1b, key2a, key2b, key3a, key3b from t1;
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+select count(*) from t1;
+count(*)
+5184
+explain select count(*) from t1 where
+key1a = 2 and key1b is null and key2a = 2 and key2b is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i2 i1,i2 10,10 NULL 2 Using intersect(i1,i2); Using where; Using index
+select count(*) from t1 where
+key1a = 2 and key1b is null and key2a = 2 and key2b is null;
+count(*)
+4
+explain select count(*) from t1 where
+key1a = 2 and key1b is null and key3a = 2 and key3b is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i1,i3 i1,i3 10,10 NULL 2 Using intersect(i1,i3); Using where; Using index
+select count(*) from t1 where
+key1a = 2 and key1b is null and key3a = 2 and key3b is null;
+count(*)
+4
+drop table t1,t2;
+create table t1 (
+id1 int,
+id2 date ,
+index idx2 (id1,id2),
+index idx1 (id2)
+);
+insert into t1 values(1,'20040101'), (2,'20040102');
+select * from t1 where id1 = 1 and id2= '20040101';
+id1 id2
+1 2004-01-01
+drop table t1;
+drop view if exists v1;
+CREATE TABLE t1 (
+`oid` int(11) unsigned NOT NULL auto_increment,
+`fk_bbk_niederlassung` int(11) unsigned NOT NULL,
+`fk_wochentag` int(11) unsigned NOT NULL,
+`uhrzeit_von` time NOT NULL COMMENT 'HH:MM',
+`uhrzeit_bis` time NOT NULL COMMENT 'HH:MM',
+`geloescht` tinyint(4) NOT NULL,
+`version` int(5) NOT NULL,
+PRIMARY KEY (`oid`),
+KEY `fk_bbk_niederlassung` (`fk_bbk_niederlassung`),
+KEY `fk_wochentag` (`fk_wochentag`),
+KEY `ix_version` (`version`)
+) DEFAULT CHARSET=latin1;
+insert into t1 values
+(1, 38, 1, '08:00:00', '13:00:00', 0, 1),
+(2, 38, 2, '08:00:00', '13:00:00', 0, 1),
+(3, 38, 3, '08:00:00', '13:00:00', 0, 1),
+(4, 38, 4, '08:00:00', '13:00:00', 0, 1),
+(5, 38, 5, '08:00:00', '13:00:00', 0, 1),
+(6, 38, 5, '08:00:00', '13:00:00', 1, 2),
+(7, 38, 3, '08:00:00', '13:00:00', 1, 2),
+(8, 38, 1, '08:00:00', '13:00:00', 1, 2),
+(9, 38, 2, '08:00:00', '13:00:00', 1, 2),
+(10, 38, 4, '08:00:00', '13:00:00', 1, 2),
+(11, 38, 1, '08:00:00', '13:00:00', 0, 3),
+(12, 38, 2, '08:00:00', '13:00:00', 0, 3),
+(13, 38, 3, '08:00:00', '13:00:00', 0, 3),
+(14, 38, 4, '08:00:00', '13:00:00', 0, 3),
+(15, 38, 5, '08:00:00', '13:00:00', 0, 3),
+(16, 38, 4, '08:00:00', '13:00:00', 0, 4),
+(17, 38, 5, '08:00:00', '13:00:00', 0, 4),
+(18, 38, 1, '08:00:00', '13:00:00', 0, 4),
+(19, 38, 2, '08:00:00', '13:00:00', 0, 4),
+(20, 38, 3, '08:00:00', '13:00:00', 0, 4),
+(21, 7, 1, '08:00:00', '13:00:00', 0, 1),
+(22, 7, 2, '08:00:00', '13:00:00', 0, 1),
+(23, 7, 3, '08:00:00', '13:00:00', 0, 1),
+(24, 7, 4, '08:00:00', '13:00:00', 0, 1),
+(25, 7, 5, '08:00:00', '13:00:00', 0, 1);
+create view v1 as
+select
+zeit1.oid AS oid,
+zeit1.fk_bbk_niederlassung AS fk_bbk_niederlassung,
+zeit1.fk_wochentag AS fk_wochentag,
+zeit1.uhrzeit_von AS uhrzeit_von,
+zeit1.uhrzeit_bis AS uhrzeit_bis,
+zeit1.geloescht AS geloescht,
+zeit1.version AS version
+from
+t1 zeit1
+where
+(zeit1.version =
+(select max(zeit2.version) AS `max(version)`
+ from t1 zeit2
+where
+((zeit1.fk_bbk_niederlassung = zeit2.fk_bbk_niederlassung) and
+(zeit1.fk_wochentag = zeit2.fk_wochentag) and
+(zeit1.uhrzeit_von = zeit2.uhrzeit_von) and
+(zeit1.uhrzeit_bis = zeit2.uhrzeit_bis)
+)
+)
+)
+and (zeit1.geloescht = 0);
+select * from v1 where oid = 21;
+oid fk_bbk_niederlassung fk_wochentag uhrzeit_von uhrzeit_bis geloescht version
+21 7 1 08:00:00 13:00:00 0 1
+drop view v1;
+drop table t1;
+CREATE TABLE t1(
+t_cpac varchar(2) NOT NULL,
+t_vers varchar(4) NOT NULL,
+t_rele varchar(2) NOT NULL,
+t_cust varchar(4) NOT NULL,
+filler1 char(250) default NULL,
+filler2 char(250) default NULL,
+PRIMARY KEY (t_cpac,t_vers,t_rele,t_cust),
+UNIQUE KEY IX_4 (t_cust,t_cpac,t_vers,t_rele),
+KEY IX_5 (t_vers,t_rele,t_cust)
+);
+insert into t1 values
+('tm','2.5 ','a ',' ','',''), ('tm','2.5U','a ','stnd','',''),
+('da','3.3 ','b ',' ','',''), ('da','3.3U','b ','stnd','',''),
+('tl','7.6 ','a ',' ','',''), ('tt','7.6 ','a ',' ','',''),
+('bc','B61 ','a ',' ','',''), ('bp','B61 ','a ',' ','',''),
+('ca','B61 ','a ',' ','',''), ('ci','B61 ','a ',' ','',''),
+('cp','B61 ','a ',' ','',''), ('dm','B61 ','a ',' ','',''),
+('ec','B61 ','a ',' ','',''), ('ed','B61 ','a ',' ','',''),
+('fm','B61 ','a ',' ','',''), ('nt','B61 ','a ',' ','',''),
+('qm','B61 ','a ',' ','',''), ('tc','B61 ','a ',' ','',''),
+('td','B61 ','a ',' ','',''), ('tf','B61 ','a ',' ','',''),
+('tg','B61 ','a ',' ','',''), ('ti','B61 ','a ',' ','',''),
+('tp','B61 ','a ',' ','',''), ('ts','B61 ','a ',' ','',''),
+('wh','B61 ','a ',' ','',''), ('bc','B61U','a ','stnd','',''),
+('bp','B61U','a ','stnd','',''), ('ca','B61U','a ','stnd','',''),
+('ci','B61U','a ','stnd','',''), ('cp','B61U','a ','stnd','',''),
+('dm','B61U','a ','stnd','',''), ('ec','B61U','a ','stnd','',''),
+('fm','B61U','a ','stnd','',''), ('nt','B61U','a ','stnd','',''),
+('qm','B61U','a ','stnd','',''), ('tc','B61U','a ','stnd','',''),
+('td','B61U','a ','stnd','',''), ('tf','B61U','a ','stnd','',''),
+('tg','B61U','a ','stnd','',''), ('ti','B61U','a ','stnd','',''),
+('tp','B61U','a ','stnd','',''), ('ts','B61U','a ','stnd','',''),
+('wh','B61U','a ','stnd','','');
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `t_cpac` varchar(2) NOT NULL,
+ `t_vers` varchar(4) NOT NULL,
+ `t_rele` varchar(2) NOT NULL,
+ `t_cust` varchar(4) NOT NULL,
+ `filler1` char(250) DEFAULT NULL,
+ `filler2` char(250) DEFAULT NULL,
+ PRIMARY KEY (`t_cpac`,`t_vers`,`t_rele`,`t_cust`),
+ UNIQUE KEY `IX_4` (`t_cust`,`t_cpac`,`t_vers`,`t_rele`),
+ KEY `IX_5` (`t_vers`,`t_rele`,`t_cust`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select t_vers,t_rele,t_cust,filler1 from t1 where t_vers = '7.6';
+t_vers t_rele t_cust filler1
+7.6 a
+7.6 a
+select t_vers,t_rele,t_cust,filler1 from t1 where t_vers = '7.6'
+ and t_rele='a' and t_cust = ' ';
+t_vers t_rele t_cust filler1
+7.6 a
+7.6 a
+drop table t1;
+create table t1 (
+pk int(11) not null auto_increment,
+a int(11) not null default '0',
+b int(11) not null default '0',
+c int(11) not null default '0',
+filler1 datetime, filler2 varchar(15),
+filler3 longtext,
+kp1 varchar(4), kp2 varchar(7),
+kp3 varchar(2), kp4 varchar(4),
+kp5 varchar(7),
+filler4 char(1),
+primary key (pk),
+key idx1(a,b,c),
+key idx2(c),
+key idx3(kp1,kp2,kp3,kp4,kp5)
+) default charset=latin1;
+set @fill=NULL;
+SELECT COUNT(*) FROM t1 WHERE b = 0 AND a = 0 AND c = 13286427 AND
+kp1='279' AND kp2='ELM0678' AND kp3='6' AND kp4='10' AND kp5 = 'R ';
+COUNT(*)
+1
+drop table t1;
+create table t1
+(
+key1 int not null,
+key2 int not null default 0,
+key3 int not null default 0
+);
+insert into t1(key1) values (1),(2),(3),(4),(5),(6),(7),(8);
+set @d=8;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+insert into t1 (key1) select key1+@d from t1;
+set @d=@d*2;
+alter table t1 add index i2(key2);
+alter table t1 add index i3(key3);
+update t1 set key2=key1,key3=key1;
+explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL 11 Using sort_union(i3,i2); Using where
+select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+key1 key2 key3
+31 31 31
+32 32 32
+33 33 33
+34 34 34
+35 35 35
+36 36 36
+37 37 37
+38 38 38
+39 39 39
+drop table t1;
+#---------------- 2-sweeps read Index merge test 2 -------------------------------
+SET SESSION STORAGE_ENGINE = MyISAM;
+drop table if exists t1;
+create table t1 (
+pk int primary key,
+key1 int,
+key2 int,
+filler char(200),
+filler2 char(200),
+index(key1),
+index(key2)
+);
+select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 );
+pk key1 key2 filler filler2
+10 10 10 filler-data filler-data-2
+9 9 9 filler-data filler-data-2
+8 8 8 filler-data filler-data-2
+7 7 7 filler-data filler-data-2
+6 6 6 filler-data filler-data-2
+5 5 5 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+set @maxv=1000;
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or key1=18 or key1=60;
+pk key1 key2 filler filler2
+1000 1000 1000 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+60 60 60 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+18 18 18 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or key1 < 3 or key1 > @maxv-11;
+pk key1 key2 filler filler2
+1000 1000 1000 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+990 990 990 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+select * from t1 where
+(pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10)
+or
+(key1 < 5) or (key1 > 10 and key1 < 15) or (key1 >= 50 and key1 < 55 ) or (key1 > @maxv-10);
+pk key1 key2 filler filler2
+1000 1000 1000 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+select * from t1 where
+(pk > 10 and pk < 15) or (pk >= 50 and pk < 55 )
+or
+(key1 < 5) or (key1 > @maxv-10);
+pk key1 key2 filler filler2
+1000 1000 1000 filler-data filler-data-2
+999 999 999 filler-data filler-data-2
+998 998 998 filler-data filler-data-2
+997 997 997 filler-data filler-data-2
+996 996 996 filler-data filler-data-2
+995 995 995 filler-data filler-data-2
+994 994 994 filler-data filler-data-2
+993 993 993 filler-data filler-data-2
+992 992 992 filler-data filler-data-2
+991 991 991 filler-data filler-data-2
+54 54 54 filler-data filler-data-2
+53 53 53 filler-data filler-data-2
+52 52 52 filler-data filler-data-2
+51 51 51 filler-data filler-data-2
+50 50 50 filler-data filler-data-2
+14 14 14 filler-data filler-data-2
+13 13 13 filler-data filler-data-2
+12 12 12 filler-data filler-data-2
+11 11 11 filler-data filler-data-2
+4 4 4 filler-data filler-data-2
+3 3 3 filler-data filler-data-2
+2 2 2 filler-data filler-data-2
+1 1 1 filler-data filler-data-2
+drop table t1;
+#---------------- Clustered PK ROR-index_merge tests -----------------------------
+SET SESSION STORAGE_ENGINE = MyISAM;
+drop table if exists t1;
+create table t1
+(
+pk1 int not null,
+pk2 int not null,
+key1 int not null,
+key2 int not null,
+pktail1ok int not null,
+pktail2ok int not null,
+pktail3bad int not null,
+pktail4bad int not null,
+pktail5bad int not null,
+pk2copy int not null,
+badkey int not null,
+filler1 char (200),
+filler2 char (200),
+key (key1),
+key (key2),
+/* keys with tails from CPK members */
+key (pktail1ok, pk1),
+key (pktail2ok, pk1, pk2),
+key (pktail3bad, pk2, pk1),
+key (pktail4bad, pk1, pk2copy),
+key (pktail5bad, pk1, pk2, pk2copy),
+primary key (pk1, pk2)
+);
+explain select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,key1 PRIMARY 8 NULL 7 Using where
+select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
+pk1 pk2 key1 key2 pktail1ok pktail2ok pktail3bad pktail4bad pktail5bad pk2copy badkey filler1 filler2
+1 10 0 0 0 0 0 0 0 10 0 filler-data-10 filler2
+1 11 0 0 0 0 0 0 0 11 0 filler-data-11 filler2
+1 12 0 0 0 0 0 0 0 12 0 filler-data-12 filler2
+1 13 0 0 0 0 0 0 0 13 0 filler-data-13 filler2
+1 14 0 0 0 0 0 0 0 14 0 filler-data-14 filler2
+1 15 0 0 0 0 0 0 0 15 0 filler-data-15 filler2
+1 16 0 0 0 0 0 0 0 16 0 filler-data-16 filler2
+1 17 0 0 0 0 0 0 0 17 0 filler-data-17 filler2
+1 18 0 0 0 0 0 0 0 18 0 filler-data-18 filler2
+1 19 0 0 0 0 0 0 0 19 0 filler-data-19 filler2
+explain select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where
+select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
+pk1 pk2
+95 59
+95 58
+95 57
+95 56
+95 55
+95 54
+95 53
+95 52
+95 51
+95 50
+explain select * from t1 where badkey=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1 key1 4 const 91 Using where
+explain select * from t1 where pk1 < 7500 and key1 = 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref PRIMARY,key1 key1 4 const ROWS Using where
+explain select * from t1 where pktail1ok=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail1ok pktail1ok 4 const 76 Using where
+explain select * from t1 where pktail2ok=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail2ok pktail2ok 4 const 82 Using where
+explain select * from t1 where (pktail2ok=1 and pk1< 50000) or key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,key1,pktail2ok pktail2ok,key1 8,4 NULL 173 Using sort_union(pktail2ok,key1); Using where
+explain select * from t1 where pktail3bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail3bad pktail3bad 4 const 73 Using where
+explain select * from t1 where pktail4bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail4bad pktail4bad 4 const 82 Using where
+explain select * from t1 where pktail5bad=1 and key1=10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref key1,pktail5bad pktail5bad 4 const 70 Using where
+explain select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where
+select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
+pk1 pk2 key1 key2
+104 49 10 10
+104 48 10 10
+104 47 10 10
+104 46 10 10
+104 45 10 10
+104 44 10 10
+104 43 10 10
+104 42 10 10
+104 41 10 10
+104 40 10 10
+drop table t1;
+create table t1
+(
+RUNID varchar(22),
+SUBMITNR varchar(5),
+ORDERNR char(1),
+PROGRAMM varchar(8),
+TESTID varchar(4),
+UCCHECK char(1),
+ETEXT varchar(80),
+ETEXT_TYPE char(1),
+INFO char(1),
+SEVERITY tinyint(3),
+TADIRFLAG char(1),
+PRIMARY KEY (RUNID,SUBMITNR,ORDERNR,PROGRAMM,TESTID,UCCHECK),
+KEY `TVERM~KEY` (PROGRAMM,TESTID,UCCHECK)
+) DEFAULT CHARSET=latin1;
+update t1 set `ETEXT` = '', `ETEXT_TYPE`='', `INFO`='', `SEVERITY`='', `TADIRFLAG`=''
+WHERE
+`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
+`TESTID`='' AND `UCCHECK`='';
+drop table t1;
diff --git a/mysql-test/r/index_merge_ror.result b/mysql-test/r/index_merge_ror.result
deleted file mode 100644
index 5d08125be53..00000000000
--- a/mysql-test/r/index_merge_ror.result
+++ /dev/null
@@ -1,207 +0,0 @@
-drop table if exists t0,t1,t2;
-select count(*) from t1;
-count(*)
-64801
-explain select key1,key2 from t1 where key1=100 and key2=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 58 Using intersect(key1,key2); Using where; Using index
-select key1,key2 from t1 where key1=100 and key2=100;
-key1 key2
-100 100
-explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
-select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-key1 key2 key3 key4 filler1
-100 100 100 100 key1-key2-key3-key4
-insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, -1, -1, 'key1-key2');
-insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, 100, 100, 'key4-key3');
-explain select key1,key2,filler1 from t1 where key1=100 and key2=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 58 Using intersect(key1,key2); Using where
-select key1,key2,filler1 from t1 where key1=100 and key2=100;
-key1 key2 filler1
-100 100 key1-key2-key3-key4
-100 100 key1-key2
-explain select key1,key2 from t1 where key1=100 and key2=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 58 Using intersect(key1,key2); Using where; Using index
-select key1,key2 from t1 where key1=100 and key2=100;
-key1 key2
-100 100
-100 100
-explain select key1,key2,key3,key4 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
-select key1,key2,key3,key4 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-key1 key2 key3 key4
-100 100 100 100
-100 100 -1 -1
--1 -1 100 100
-explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 154 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
-select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-key1 key2 key3 key4 filler1
-100 100 100 100 key1-key2-key3-key4
-100 100 -1 -1 key1-key2
--1 -1 100 100 key4-key3
-explain select key1,key2,key3 from t1 where key1=100 and key2=100 and key3=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3 key1,key2,key3 5,5,5 NULL 2 Using intersect(key1,key2,key3); Using where; Using index
-select key1,key2,key3 from t1 where key1=100 and key2=100 and key3=100;
-key1 key2 key3
-100 100 100
-insert into t1 (key1,key2,key3,key4,filler1) values (101,101,101,101, 'key1234-101');
-explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=101;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3 key1,key2,key3 5,5,5 NULL 83 Using union(intersect(key1,key2),key3); Using where
-select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=101;
-key1 key2 key3 key4 filler1
-100 100 100 100 key1-key2-key3-key4
-100 100 -1 -1 key1-key2
-101 101 101 101 key1234-101
-select key1,key2, filler1 from t1 where key1=100 and key2=100;
-key1 key2 filler1
-100 100 key1-key2-key3-key4
-100 100 key1-key2
-update t1 set filler1='to be deleted' where key1=100 and key2=100;
-update t1 set key1=200,key2=200 where key1=100 and key2=100;
-delete from t1 where key1=200 and key2=200;
-select key1,key2,filler1 from t1 where key2=100 and key2=200;
-key1 key2 filler1
-explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 152 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
-select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-key1 key2 key3 key4 filler1
--1 -1 100 100 key4-key3
-delete from t1 where key3=100 and key4=100;
-explain select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key1,key2,key3,key4 5,5,5,5 NULL 152 Using union(intersect(key1,key2),intersect(key3,key4)); Using where
-select key1,key2,key3,key4,filler1 from t1 where key1=100 and key2=100 or key3=100 and key4=100;
-key1 key2 key3 key4 filler1
-explain select key1,key2 from t1 where key1=100 and key2=100;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 57 Using intersect(key1,key2); Using where; Using index
-select key1,key2 from t1 where key1=100 and key2=100;
-key1 key2
-insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-1');
-insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-2');
-insert into t1 (key1, key2, key3, key4, filler1) values (100, 100, 200, 200,'key1-key2-key3-key4-3');
-explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 136 Using union(key3,intersect(key1,key2),key4); Using where
-select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-key1 key2 key3 key4 filler1
-100 100 200 200 key1-key2-key3-key4-3
-100 100 200 200 key1-key2-key3-key4-2
-100 100 200 200 key1-key2-key3-key4-1
-insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, -1, 200,'key4');
-explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 146 Using union(key3,intersect(key1,key2),key4); Using where
-select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-key1 key2 key3 key4 filler1
-100 100 200 200 key1-key2-key3-key4-3
-100 100 200 200 key1-key2-key3-key4-2
-100 100 200 200 key1-key2-key3-key4-1
--1 -1 -1 200 key4
-insert into t1 (key1, key2, key3, key4, filler1) values (-1, -1, 200, -1,'key3');
-explain select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2,key3,key4 key3,key1,key2,key4 5,5,5,5 NULL 156 Using union(key3,intersect(key1,key2),key4); Using where
-select key1,key2,key3,key4,filler1 from t1 where key3=200 or (key1=100 and key2=100) or key4=200;
-key1 key2 key3 key4 filler1
-100 100 200 200 key1-key2-key3-key4-3
-100 100 200 200 key1-key2-key3-key4-2
-100 100 200 200 key1-key2-key3-key4-1
--1 -1 -1 200 key4
--1 -1 200 -1 key3
-explain select * from t1 where st_a=1 and st_b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b st_a,st_b 4,4 NULL 2637 Using intersect(st_a,st_b); Using where
-explain select st_a,st_b from t1 where st_a=1 and st_b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b st_a,st_b 4,4 NULL 2637 Using intersect(st_a,st_b); Using where; Using index
-explain select st_a from t1 ignore index (st_a) where st_a=1 and st_b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,stb_swt1a_2b,stb_swt1b,st_b st_b 4 const 15093 Using where
-explain select * from t1 where st_a=1 and swt1a=1 and swt2a=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a sta_swt21a 12 const,const,const 971
-explain select * from t1 where st_b=1 and swt1b=1 and swt2b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref stb_swt1a_2b,stb_swt1b,st_b stb_swt1a_2b 8 const,const 3879 Using where
-explain select * from t1 where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt12a,stb_swt1a_2b 12,12 NULL 44 Using intersect(sta_swt12a,stb_swt1a_2b); Using where
-explain select * from t1 ignore index (sta_swt21a, stb_swt1a_2b)
-where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,st_a,stb_swt1b,st_b sta_swt12a,stb_swt1b 12,8 NULL 44 Using intersect(sta_swt12a,stb_swt1b); Using where
-explain select * from t1 ignore index (sta_swt21a, sta_swt12a, stb_swt1a_2b)
-where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt1a,sta_swt2a,st_a,stb_swt1b,st_b sta_swt1a,sta_swt2a,stb_swt1b 8,8,8 NULL 43 Using intersect(sta_swt1a,sta_swt2a,stb_swt1b); Using where
-explain select * from t1 ignore index (sta_swt21a, sta_swt12a, stb_swt1a_2b, stb_swt1b)
-where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1 and swt2b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt1a,sta_swt2a,st_a,st_b sta_swt1a,sta_swt2a,st_b 8,8,4 NULL 168 Using intersect(sta_swt1a,sta_swt2a,st_b); Using where
-explain select * from t1
-where st_a=1 and swt1a=1 and swt2a=1 and st_b=1 and swt1b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt12a,stb_swt1a_2b 12,12 NULL 44 Using intersect(sta_swt12a,stb_swt1a_2b); Using where
-explain select * from t1
-where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 174 Using intersect(sta_swt1a,stb_swt1b); Using where
-explain select st_a from t1
-where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 174 Using intersect(sta_swt1a,stb_swt1b); Using where; Using index
-explain select st_a from t1
-where st_a=1 and swt1a=1 and st_b=1 and swt1b=1 and swt1b=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge sta_swt12a,sta_swt1a,sta_swt2a,sta_swt21a,st_a,stb_swt1a_2b,stb_swt1b,st_b sta_swt1a,stb_swt1b 8,8 NULL 174 Using intersect(sta_swt1a,stb_swt1b); Using where; Using index
-drop table t0,t1;
-create table t2 (
-a char(10),
-b char(10),
-filler1 char(255),
-filler2 char(255),
-key(a(5)),
-key(b(5))
-);
-select count(a) from t2 where a='BBBBBBBB';
-count(a)
-4
-select count(a) from t2 where b='BBBBBBBB';
-count(a)
-4
-expla_or_bin select count(a_or_b) from t2 where a_or_b='AAAAAAAA' a_or_bnd a_or_b='AAAAAAAA';
-id select_type ta_or_ba_or_ble type possia_or_ble_keys key key_len ref rows Extra_or_b
-1 SIMPLE t2 ref a_or_b,a_or_b a_or_b 6 const 4 Using where
-select count(a) from t2 where a='AAAAAAAA' and b='AAAAAAAA';
-count(a)
-4
-select count(a) from t2 ignore index(a,b) where a='AAAAAAAA' and b='AAAAAAAA';
-count(a)
-4
-insert into t2 values ('ab', 'ab', 'uh', 'oh');
-explain select a from t2 where a='ab';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ref a a 6 const 1 Using where
-drop table t2;
-CREATE TABLE t1(c1 INT, c2 INT DEFAULT 0, c3 CHAR(255) DEFAULT '',
-KEY(c1), KEY(c2), KEY(c3));
-INSERT INTO t1(c1) 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);
-INSERT INTO t1 VALUES(0,0,0);
-CREATE TABLE t2(c1 int);
-INSERT INTO t2 VALUES(1);
-DELETE t1 FROM t1,t2 WHERE t1.c1=0 AND t1.c2=0;
-SELECT * FROM t1;
-c1 c2 c3
-DROP TABLE t1,t2;
diff --git a/mysql-test/r/index_merge_ror_cpk.result b/mysql-test/r/index_merge_ror_cpk.result
deleted file mode 100644
index 79bb1297abf..00000000000
--- a/mysql-test/r/index_merge_ror_cpk.result
+++ /dev/null
@@ -1,120 +0,0 @@
-drop table if exists t1;
-create table t1
-(
-pk1 int not null,
-pk2 int not null,
-key1 int not null,
-key2 int not null,
-pktail1ok int not null,
-pktail2ok int not null,
-pktail3bad int not null,
-pktail4bad int not null,
-pktail5bad int not null,
-pk2copy int not null,
-badkey int not null,
-filler1 char (200),
-filler2 char (200),
-key (key1),
-key (key2),
-/* keys with tails from CPK members */
-key (pktail1ok, pk1),
-key (pktail2ok, pk1, pk2),
-key (pktail3bad, pk2, pk1),
-key (pktail4bad, pk1, pk2copy),
-key (pktail5bad, pk1, pk2, pk2copy),
-primary key (pk1, pk2)
-) engine=innodb;
-explain select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range PRIMARY,key1 PRIMARY 8 NULL 9 Using where
-select * from t1 where pk1 = 1 and pk2 < 80 and key1=0;
-pk1 pk2 key1 key2 pktail1ok pktail2ok pktail3bad pktail4bad pktail5bad pk2copy badkey filler1 filler2
-1 10 0 0 0 0 0 0 0 10 0 filler-data-10 filler2
-1 11 0 0 0 0 0 0 0 11 0 filler-data-11 filler2
-1 12 0 0 0 0 0 0 0 12 0 filler-data-12 filler2
-1 13 0 0 0 0 0 0 0 13 0 filler-data-13 filler2
-1 14 0 0 0 0 0 0 0 14 0 filler-data-14 filler2
-1 15 0 0 0 0 0 0 0 15 0 filler-data-15 filler2
-1 16 0 0 0 0 0 0 0 16 0 filler-data-16 filler2
-1 17 0 0 0 0 0 0 0 17 0 filler-data-17 filler2
-1 18 0 0 0 0 0 0 0 18 0 filler-data-18 filler2
-1 19 0 0 0 0 0 0 0 19 0 filler-data-19 filler2
-explain select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where; Using index
-select pk1,pk2 from t1 where key1 = 10 and key2=10 and 2*pk1+1 < 2*96+1;
-pk1 pk2
-95 50
-95 51
-95 52
-95 53
-95 54
-95 55
-95 56
-95 57
-95 58
-95 59
-explain select * from t1 where badkey=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref key1 key1 4 const 100 Using where
-explain select * from t1 where pk1 < 7500 and key1 = 10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge PRIMARY,key1 key1,PRIMARY 4,4 NULL ROWS Using intersect(key1,PRIMARY); Using where
-explain select * from t1 where pktail1ok=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,pktail1ok key1,pktail1ok 4,4 NULL 1 Using intersect(key1,pktail1ok); Using where
-explain select * from t1 where pktail2ok=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,pktail2ok key1,pktail2ok 4,4 NULL 1 Using intersect(key1,pktail2ok); Using where
-select ' The following is actually a deficiency, it uses sort_union currently:' as 'note:';
-note:
- The following is actually a deficiency, it uses sort_union currently:
-explain select * from t1 where (pktail2ok=1 and pk1< 50000) or key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge PRIMARY,key1,pktail2ok pktail2ok,key1 8,4 NULL 199 Using sort_union(pktail2ok,key1); Using where
-explain select * from t1 where pktail3bad=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref key1,pktail3bad key1 4 const 100 Using where
-explain select * from t1 where pktail4bad=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref key1,pktail4bad key1 4 const 100 Using where
-explain select * from t1 where pktail5bad=1 and key1=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref key1,pktail5bad key1 4 const 100 Using where
-explain select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 4,4 NULL 1 Using intersect(key1,key2); Using where; Using index
-select pk1,pk2,key1,key2 from t1 where key1 = 10 and key2=10 limit 10;
-pk1 pk2 key1 key2
-95 50 10 10
-95 51 10 10
-95 52 10 10
-95 53 10 10
-95 54 10 10
-95 55 10 10
-95 56 10 10
-95 57 10 10
-95 58 10 10
-95 59 10 10
-drop table t1;
-create table t1
-(
-RUNID varchar(22),
-SUBMITNR varchar(5),
-ORDERNR char(1) ,
-PROGRAMM varchar(8),
-TESTID varchar(4),
-UCCHECK char(1),
-ETEXT varchar(80),
-ETEXT_TYPE char(1),
-INFO char(1),
-SEVERITY tinyint(3),
-TADIRFLAG char(1),
-PRIMARY KEY (RUNID,SUBMITNR,ORDERNR,PROGRAMM,TESTID,UCCHECK),
-KEY `TVERM~KEY` (PROGRAMM,TESTID,UCCHECK)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-update t1 set `ETEXT` = '', `ETEXT_TYPE`='', `INFO`='', `SEVERITY`='', `TADIRFLAG`=''
-WHERE
-`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
-`TESTID`='' AND `UCCHECK`='';
-drop table t1;
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result
index 80f85aee429..0cb4b10a789 100644
--- a/mysql-test/r/information_schema.result
+++ b/mysql-test/r/information_schema.result
@@ -33,7 +33,7 @@ create table t3(a int, KEY a_data (a));
create table mysqltest.t4(a int);
create table t5 (id int auto_increment primary key);
insert into t5 values (10);
-create view v1 (c) as select table_name from information_schema.TABLES;
+create view v1 (c) as select table_name from information_schema.TABLES where table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status';
select * from v1;
c
CHARACTER_SETS
@@ -41,10 +41,21 @@ 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
@@ -54,14 +65,19 @@ USER_PRIVILEGES
VIEWS
columns_priv
db
+event
func
+general_log
help_category
help_keyword
help_relation
help_topic
host
+plugin
proc
procs_priv
+servers
+slow_log
tables_priv
time_zone
time_zone_leap_second
@@ -184,6 +200,8 @@ select table_name, column_name, privileges from information_schema.columns
where table_schema = 'mysqltest' and table_name = 'v1';
table_name column_name privileges
v1 c select
+explain select * from v1;
+ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
drop view v1, mysqltest.v1;
drop tables mysqltest.t4, mysqltest.t1, t2, t3, t5;
drop database mysqltest;
@@ -255,11 +273,11 @@ parameter_style sql_data_access dtd_identifier
SQL CONTAINS SQL NULL
SQL CONTAINS SQL int(11)
show procedure status;
-Db Name Type Definer Modified Created Security_type Comment
-test sel2 PROCEDURE root@localhost # # DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test sel2 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
show function status;
-Db Name Type Definer Modified Created Security_type Comment
-test sub1 FUNCTION root@localhost # # DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test sub1 FUNCTION root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
select a.ROUTINE_NAME from information_schema.ROUTINES a,
information_schema.SCHEMATA b where
a.ROUTINE_SCHEMA = b.SCHEMA_NAME;
@@ -270,8 +288,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
+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
@@ -308,26 +326,26 @@ sel2 NULL
sub1 NULL
sub2 return i+1
show create procedure sel2;
-Procedure sql_mode Create Procedure
-sel2 NULL
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+sel2 NULL latin1 latin1_swedish_ci latin1_swedish_ci
show create function sub1;
-Function sql_mode Create Function
-sub1 NULL
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+sub1 NULL latin1 latin1_swedish_ci latin1_swedish_ci
show create function sub2;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
sub2 CREATE DEFINER=`mysqltest_1`@`localhost` FUNCTION `sub2`(i int) RETURNS int(11)
-return i+1
+return i+1 latin1 latin1_swedish_ci latin1_swedish_ci
show function status like "sub2";
-Db Name Type Definer Modified Created Security_type Comment
-test sub2 FUNCTION mysqltest_1@localhost # # DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test sub2 FUNCTION mysqltest_1@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop function sub2;
show create procedure sel2;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sel2 CREATE DEFINER=`root`@`localhost` PROCEDURE `sel2`()
begin
select * from t1;
select * from t2;
-end
+end latin1 latin1_swedish_ci latin1_swedish_ci
create view v0 (c) as select schema_name from information_schema.schemata;
select * from v0;
c
@@ -336,7 +354,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;
@@ -367,12 +385,16 @@ latin1_spanish_ci
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
-NULL test v0 /* ALGORITHM=UNDEFINED */ select `schemata`.`SCHEMA_NAME` AS `c` from `information_schema`.`schemata` NONE NO root@localhost DEFINER
-NULL test v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_NAME` AS `c` from `information_schema`.`tables` where (`tables`.`TABLE_NAME` = _utf8'v1') NONE NO root@localhost DEFINER
-NULL test v2 /* ALGORITHM=UNDEFINED */ select `columns`.`COLUMN_NAME` AS `c` from `information_schema`.`columns` where (`columns`.`TABLE_NAME` = _utf8'v2') NONE NO root@localhost DEFINER
-NULL test v3 /* ALGORITHM=UNDEFINED */ select `character_sets`.`CHARACTER_SET_NAME` AS `c` from `information_schema`.`character_sets` where (`character_sets`.`CHARACTER_SET_NAME` like _utf8'latin1%') NONE NO root@localhost DEFINER
-NULL test v4 /* ALGORITHM=UNDEFINED */ select `collations`.`COLLATION_NAME` AS `c` from `information_schema`.`collations` where (`collations`.`COLLATION_NAME` like _utf8'latin1%') NONE NO root@localhost DEFINER
+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
+where table_name="v1" NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v2 select column_name from information_schema.columns
+where table_name="v2" NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v3 select CHARACTER_SET_NAME from information_schema.character_sets
+where CHARACTER_SET_NAME like "latin1%" NONE NO root@localhost DEFINER latin1 latin1_swedish_ci
+NULL test v4 select COLLATION_NAME from information_schema.collations
+where 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;
@@ -399,6 +421,8 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
'mysqltest_1'@'localhost' NULL test SHOW VIEW YES
'mysqltest_1'@'localhost' NULL test CREATE ROUTINE YES
'mysqltest_1'@'localhost' NULL test ALTER ROUTINE YES
+'mysqltest_1'@'localhost' NULL test EVENT YES
+'mysqltest_1'@'localhost' NULL test TRIGGER YES
select * from information_schema.TABLE_PRIVILEGES where grantee like '%mysqltest_1%';
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mysqltest_1'@'localhost' NULL test t1 SELECT NO
@@ -423,8 +447,8 @@ alter table t1 add constraint constraint_2 unique key_2(a);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL default '0',
- PRIMARY KEY (`a`),
+ `a` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`a`),
UNIQUE KEY `constraint_1` (`a`),
UNIQUE KEY `key_1` (`a`),
UNIQUE KEY `key_2` (`a`)
@@ -462,10 +486,10 @@ create view v1 (c) as select a from t1 with check option;
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
-NULL test v1 /* ALGORITHM=UNDEFINED */ select `test`.`t1`.`a` AS `c` from `test`.`t1` CASCADED YES root@localhost DEFINER
-NULL test v2 /* ALGORITHM=UNDEFINED */ select `test`.`t1`.`a` AS `c` from `test`.`t1` LOCAL YES root@localhost DEFINER
-NULL test v3 /* ALGORITHM=UNDEFINED */ select `test`.`t1`.`a` AS `c` from `test`.`t1` CASCADED YES root@localhost DEFINER
+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
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
@@ -491,25 +515,24 @@ select s1 from t1 where s1 in (select version from
information_schema.tables) union select version from
information_schema.tables;
s1
-0
10
drop table t1;
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'
+ `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
set names latin2;
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'
+ `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
set names latin1;
create table t1 select * from information_schema.CHARACTER_SETS
@@ -521,10 +544,10 @@ alter table t1 default character set utf8;
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'
+ `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=MyISAM DEFAULT CHARSET=utf8
drop table t1;
create view v1 as select * from information_schema.TABLES;
@@ -559,13 +582,17 @@ 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 comment char(64)
+proc character_set_client char(32)
+proc collation_connection char(32)
+proc db_collation char(32)
+proc body_utf8 longblob
drop table t115;
create procedure p108 () begin declare c cursor for select data_type
from information_schema.columns; open c; open c; end;//
@@ -655,17 +682,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
@@ -680,13 +701,13 @@ select constraint_name from information_schema.table_constraints
where table_schema='test';
constraint_name
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `test`.`t1`.`f1` AS `c` from `t1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `test`.`t1`.`f1` AS `c` from `t1` latin1 latin1_swedish_ci
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
show create table v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `sub1`(1) AS `c`
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `sub1`(1) AS `c` latin1 latin1_swedish_ci
Warnings:
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
drop view v2;
@@ -725,11 +746,12 @@ create view v1 as select * from t1, t2;
set @got_val= (select count(*) from information_schema.columns);
drop view v1;
drop table t1, t2;
+use test;
CREATE TABLE t_crashme ( f1 BIGINT);
CREATE VIEW a1 (t_CRASHME) AS SELECT f1 FROM t_crashme GROUP BY f1;
CREATE VIEW a2 AS SELECT t_CRASHME FROM a1;
count(*)
-101
+68
drop view a2, a1;
drop table t_crashme;
select table_schema,table_name, column_name from
@@ -738,6 +760,13 @@ where data_type = 'longtext';
table_schema table_name column_name
information_schema COLUMNS COLUMN_DEFAULT
information_schema COLUMNS COLUMN_TYPE
+information_schema EVENTS EVENT_DEFINITION
+information_schema EVENTS SQL_MODE
+information_schema PARTITIONS PARTITION_EXPRESSION
+information_schema PARTITIONS SUBPARTITION_EXPRESSION
+information_schema PARTITIONS PARTITION_DESCRIPTION
+information_schema PLUGINS PLUGIN_DESCRIPTION
+information_schema PROCESSLIST INFO
information_schema ROUTINES ROUTINE_DEFINITION
information_schema ROUTINES SQL_MODE
information_schema TRIGGERS ACTION_CONDITION
@@ -748,12 +777,31 @@ information_schema VIEWS VIEW_DEFINITION
select table_name, column_name, data_type from information_schema.columns
where data_type = 'datetime';
table_name column_name data_type
+EVENTS EXECUTE_AT datetime
+EVENTS STARTS datetime
+EVENTS ENDS datetime
+EVENTS CREATED datetime
+EVENTS LAST_ALTERED datetime
+EVENTS LAST_EXECUTED datetime
+FILES CREATION_TIME datetime
+FILES LAST_UPDATE_TIME datetime
+FILES LAST_ACCESS_TIME datetime
+FILES CREATE_TIME datetime
+FILES UPDATE_TIME datetime
+FILES CHECK_TIME datetime
+PARTITIONS CREATE_TIME datetime
+PARTITIONS UPDATE_TIME datetime
+PARTITIONS CHECK_TIME datetime
ROUTINES CREATED datetime
ROUTINES LAST_ALTERED datetime
TABLES CREATE_TIME datetime
TABLES UPDATE_TIME datetime
TABLES CHECK_TIME datetime
TRIGGERS CREATED datetime
+event execute_at datetime
+event last_executed datetime
+event starts datetime
+event ends datetime
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES A
WHERE NOT EXISTS
(SELECT * FROM INFORMATION_SCHEMA.COLUMNS B
@@ -789,7 +837,10 @@ where COLUMN_NAME='TABLE_NAME';
TABLE_NAME COLUMN_NAME PRIVILEGES
COLUMNS TABLE_NAME select
COLUMN_PRIVILEGES TABLE_NAME select
+FILES TABLE_NAME select
KEY_COLUMN_USAGE TABLE_NAME select
+PARTITIONS TABLE_NAME select
+REFERENTIAL_CONSTRAINTS TABLE_NAME select
STATISTICS TABLE_NAME select
TABLES TABLE_NAME select
TABLE_CONSTRAINTS TABLE_NAME select
@@ -798,10 +849,10 @@ VIEWS TABLE_NAME select
delete from mysql.user where user='mysqltest_4';
delete from mysql.db where user='mysqltest_4';
flush privileges;
-SELECT table_schema, count(*) FROM information_schema.TABLES GROUP BY TABLE_SCHEMA;
+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 16
-mysql 17
+information_schema 27
+mysql 22
create table t1 (i int, j int);
create trigger trg1 before insert on t1 for each row
begin
@@ -822,39 +873,39 @@ set @fired:= "Yes";
end if;
end|
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
trg1 INSERT t1 begin
if new.j > 10 then
set new.j := 10;
end if;
-end BEFORE NULL root@localhost
+end BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg2 UPDATE t1 begin
if old.i % 2 = 0 then
set new.j := -1;
end if;
-end BEFORE NULL root@localhost
+end BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg3 UPDATE t1 begin
if new.j = -1 then
set @fired:= "Yes";
end if;
-end AFTER NULL root@localhost
+end AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
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
+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 test trg1 INSERT NULL test t1 0 NULL begin
if new.j > 10 then
set new.j := 10;
end if;
-end ROW BEFORE NULL NULL OLD NEW NULL root@localhost
+end ROW BEFORE NULL NULL OLD NEW NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
NULL test trg2 UPDATE NULL test t1 0 NULL begin
if old.i % 2 = 0 then
set new.j := -1;
end if;
-end ROW BEFORE NULL NULL OLD NEW NULL root@localhost
+end ROW BEFORE NULL NULL OLD NEW NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
NULL test trg3 UPDATE NULL test t1 0 NULL begin
if new.j = -1 then
set @fired:= "Yes";
end if;
-end ROW AFTER NULL NULL OLD NEW NULL root@localhost
+end ROW AFTER NULL NULL OLD NEW NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop trigger trg1;
drop trigger trg2;
drop trigger trg3;
@@ -1090,11 +1141,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(20) information_schema.COLUMNS 1
+varchar(27) information_schema.COLUMNS 1
varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2
+varchar(20) information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS 5
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
@@ -1106,7 +1159,7 @@ drop table t1;
use mysql;
INSERT INTO `proc` VALUES ('test','','PROCEDURE','','SQL','CONTAINS_SQL',
'NO','DEFINER','','','BEGIN\r\n \r\nEND','root@%','2006-03-02 18:40:03',
-'2006-03-02 18:40:03','','');
+'2006-03-02 18:40:03','','','utf8','utf8_general_ci','utf8_general_ci','n/a');
select routine_name from information_schema.routines;
routine_name
@@ -1119,9 +1172,9 @@ create definer = mysqltest_1@localhost
sql security definer view v2 as select 1;
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
-NULL test v1 NONE YES root@localhost DEFINER
-NULL test v2 /* ALGORITHM=UNDEFINED */ select 1 AS `1` NONE NO mysqltest_1@localhost DEFINER
+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
drop view v1, v2;
drop table t1;
drop user mysqltest_1@localhost;
@@ -1146,23 +1199,23 @@ ROUTINE_NAME ROUTINE_DEFINITION
f1 RETURN @a + 1
p1 SET @a= 1
SHOW CREATE PROCEDURE p1;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
-SET @a= 1
+SET @a= 1 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION f1;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
-RETURN @a + 1
+RETURN @a + 1 latin1 latin1_swedish_ci latin1_swedish_ci
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES;
ROUTINE_NAME ROUTINE_DEFINITION
f1 NULL
p1 NULL
SHOW CREATE PROCEDURE p1;
-Procedure sql_mode Create Procedure
-p1 NULL
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 NULL latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION f1;
-Function sql_mode Create Function
-f1 NULL
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 NULL latin1 latin1_swedish_ci latin1_swedish_ci
CALL p1();
SELECT f1();
f1()
@@ -1190,10 +1243,21 @@ COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA
+ENGINES ENGINE
+EVENTS EVENT_SCHEMA
+FILES TABLE_SCHEMA
+GLOBAL_STATUS VARIABLE_NAME
+GLOBAL_VARIABLES VARIABLE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
+PARTITIONS TABLE_SCHEMA
+PLUGINS PLUGIN_NAME
+PROCESSLIST ID
+REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
ROUTINES ROUTINE_SCHEMA
SCHEMATA SCHEMA_NAME
SCHEMA_PRIVILEGES TABLE_SCHEMA
+SESSION_STATUS VARIABLE_NAME
+SESSION_VARIABLES VARIABLE_NAME
STATISTICS TABLE_SCHEMA
TABLES TABLE_SCHEMA
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
@@ -1221,10 +1285,21 @@ COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA
+ENGINES ENGINE
+EVENTS EVENT_SCHEMA
+FILES TABLE_SCHEMA
+GLOBAL_STATUS VARIABLE_NAME
+GLOBAL_VARIABLES VARIABLE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
+PARTITIONS TABLE_SCHEMA
+PLUGINS PLUGIN_NAME
+PROCESSLIST ID
+REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
ROUTINES ROUTINE_SCHEMA
SCHEMATA SCHEMA_NAME
SCHEMA_PRIVILEGES TABLE_SCHEMA
+SESSION_STATUS VARIABLE_NAME
+SESSION_VARIABLES VARIABLE_NAME
STATISTICS TABLE_SCHEMA
TABLES TABLE_SCHEMA
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
@@ -1261,11 +1336,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));
@@ -1303,10 +1378,21 @@ COLLATIONS information_schema.COLLATIONS 1
COLLATION_CHARACTER_SET_APPLICABILITY information_schema.COLLATION_CHARACTER_SET_APPLICABILITY 1
COLUMNS information_schema.COLUMNS 1
COLUMN_PRIVILEGES information_schema.COLUMN_PRIVILEGES 1
+ENGINES information_schema.ENGINES 1
+EVENTS information_schema.EVENTS 1
+FILES information_schema.FILES 1
+GLOBAL_STATUS information_schema.GLOBAL_STATUS 1
+GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 1
KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
+PARTITIONS information_schema.PARTITIONS 1
+PLUGINS information_schema.PLUGINS 1
+PROCESSLIST information_schema.PROCESSLIST 1
+REFERENTIAL_CONSTRAINTS information_schema.REFERENTIAL_CONSTRAINTS 1
ROUTINES information_schema.ROUTINES 1
SCHEMATA information_schema.SCHEMATA 1
SCHEMA_PRIVILEGES information_schema.SCHEMA_PRIVILEGES 1
+SESSION_STATUS information_schema.SESSION_STATUS 1
+SESSION_VARIABLES information_schema.SESSION_VARIABLES 1
STATISTICS information_schema.STATISTICS 1
TABLES information_schema.TABLES 1
TABLE_CONSTRAINTS information_schema.TABLE_CONSTRAINTS 1
@@ -1339,8 +1425,8 @@ where event_object_table='t1';
trigger_name
t1_ai
show triggers from mysqltest;
-Trigger Event Table Statement Timing Created sql_mode Definer
-t1_ai INSERT t1 set @a = new.a + new.b + new.c AFTER NULL root@localhost
+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
@@ -1348,7 +1434,7 @@ 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
+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
@@ -1385,6 +1471,101 @@ 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
+grant select on *.* to user3148@localhost;
+select user,db from information_schema.processlist;
+user db
+user3148 test
+drop user user3148@localhost;
+DROP TABLE IF EXISTS server_status;
+DROP EVENT IF EXISTS event_status;
+SET GLOBAL event_scheduler=1;
+CREATE EVENT event_status
+ON SCHEDULE AT NOW()
+ON COMPLETION NOT PRESERVE
+DO
+BEGIN
+CREATE TABLE server_status
+SELECT variable_name
+FROM information_schema.global_status
+WHERE variable_name LIKE 'ABORTED_CONNECTS' OR
+variable_name LIKE 'BINLOG_CACHE_DISK_USE';
+END$$
+SELECT variable_name FROM server_status;
+variable_name
+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 *
+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;
@@ -1393,6 +1574,14 @@ select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_SCHEMA` = NUL
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;
@@ -1410,15 +1599,24 @@ CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CON
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
+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
+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
+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
-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
+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;
+End of 5.1 tests.
diff --git a/mysql-test/r/information_schema_db.result b/mysql-test/r/information_schema_db.result
index ef63ef719a4..2da4e305b01 100644
--- a/mysql-test/r/information_schema_db.result
+++ b/mysql-test/r/information_schema_db.result
@@ -10,10 +10,21 @@ 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
@@ -63,11 +74,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;
@@ -121,11 +132,11 @@ 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
-v6 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v6` AS select `t1`.`f1` AS `f1` from `t1`
+View Create View character_set_client collation_connection
+v6 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v6` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
show create view testdb_1.v7;
-View Create View
-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`
+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
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;
@@ -141,21 +152,21 @@ create view v4 as select f1,f2 from testdb_1.v3;
show fields from testdb_1.v5;
Field Type Null Key Default Extra
show create view testdb_1.v5;
-View Create View
-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`
+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
show create view testdb_1.v6;
-View Create View
-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`
+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 char(4) YES NULL
Warnings:
Note 1449 There is no 'no_such_user'@'no_such_host' registered
show create view testdb_1.v7;
-View Create View
-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`
+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
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
revoke insert(f1) on v3 from testdb_2@localhost;
@@ -187,8 +198,8 @@ show fields from testdb_1.v1;
Field Type Null Key Default Extra
f1 char(4) YES NULL
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`testdb_2`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v2` AS select `v1`.`f1` AS `f1` from `testdb_1`.`v1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`testdb_2`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v2` AS select `v1`.`f1` AS `f1` from `testdb_1`.`v1` latin1 latin1_swedish_ci
show create view testdb_1.v1;
ERROR 42000: SHOW VIEW command denied to user 'testdb_2'@'localhost' for table 'v1'
select table_name from information_schema.columns a
@@ -198,7 +209,7 @@ v2
select view_definition from information_schema.views a
where a.table_name = 'v2';
view_definition
-/* ALGORITHM=UNDEFINED */ select `v1`.`f1` AS `f1` from `testdb_1`.`v1`
+select 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/information_schema_inno.result b/mysql-test/r/information_schema_inno.result
index fb6584673f6..2ea2a0bec0b 100644
--- a/mysql-test/r/information_schema_inno.result
+++ b/mysql-test/r/information_schema_inno.result
@@ -25,3 +25,56 @@ NULL test PRIMARY NULL test t3 id 1 NULL NULL NULL NULL
NULL test t3_ibfk_1 NULL test t3 id 1 1 test t2 t1_id
NULL test t3_ibfk_1 NULL test t3 t2_id 2 2 test t2 id
drop table t3, t2, t1;
+CREATE TABLE t1(a1 INT NOT NULL, a2 INT NOT NULL,
+PRIMARY KEY(a1, a2)) ENGINE=INNODB;
+CREATE TABLE t2(b1 INT, b2 INT, INDEX (b1, b2),
+CONSTRAINT A1
+FOREIGN KEY (b1, b2) REFERENCES t1(a1, a2)
+ON UPDATE CASCADE ON DELETE NO ACTION) ENGINE=INNODB;
+CREATE TABLE t3(b1 INT, b2 INT, INDEX t3_indx (b1, b2),
+CONSTRAINT A2
+FOREIGN KEY (b1, b2) REFERENCES t2(b1, b2)
+ON UPDATE SET NULL ON DELETE RESTRICT) ENGINE=INNODB;
+CREATE TABLE t4(b1 INT, b2 INT, UNIQUE KEY t4_ukey (b1, b2),
+CONSTRAINT A3
+FOREIGN KEY (b1, b2) REFERENCES t3(b1, b2)
+ON UPDATE NO ACTION ON DELETE SET NULL) ENGINE=INNODB;
+CREATE TABLE t5(b1 INT, b2 INT, INDEX (b1, b2),
+CONSTRAINT A4
+FOREIGN KEY (b1, b2) REFERENCES t4(b1, b2)
+ON UPDATE RESTRICT ON DELETE CASCADE) ENGINE=INNODB;
+select a.CONSTRAINT_SCHEMA, b.TABLE_NAME, CONSTRAINT_TYPE,
+b.CONSTRAINT_NAME, UNIQUE_CONSTRAINT_SCHEMA, UNIQUE_CONSTRAINT_NAME,
+MATCH_OPTION, UPDATE_RULE, DELETE_RULE, b.REFERENCED_TABLE_NAME
+from information_schema.TABLE_CONSTRAINTS a,
+information_schema.REFERENTIAL_CONSTRAINTS b
+where a.CONSTRAINT_SCHEMA = 'test' and a.CONSTRAINT_SCHEMA = b.CONSTRAINT_SCHEMA and
+a.CONSTRAINT_NAME = b.CONSTRAINT_NAME;
+CONSTRAINT_SCHEMA TABLE_NAME CONSTRAINT_TYPE CONSTRAINT_NAME UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE REFERENCED_TABLE_NAME
+test t2 FOREIGN KEY A1 test PRIMARY NONE CASCADE NO ACTION t1
+test t3 FOREIGN KEY A2 test b1 NONE SET NULL RESTRICT t2
+test t4 FOREIGN KEY A3 test t3_indx NONE NO ACTION SET NULL t3
+test t5 FOREIGN KEY A4 test t4_ukey NONE RESTRICT CASCADE t4
+drop tables t5, t4, t3, t2, t1;
+create database `db-1`;
+use `db-1`;
+create table `t-2` (
+id int(10) unsigned not null auto_increment,
+primary key (id)
+) engine=innodb;
+create table `t-1` (
+id int(10) unsigned not null auto_increment,
+idtype int(10) unsigned not null,
+primary key (id),
+key fk_t1_1 (idtype),
+constraint fk_t1_1 foreign key (idtype) references `t-2` (id)
+) engine=innodb;
+use test;
+select referenced_table_schema, referenced_table_name
+from information_schema.key_column_usage
+where constraint_schema = 'db-1';
+referenced_table_schema referenced_table_name
+NULL NULL
+db-1 t-2
+NULL NULL
+drop database `db-1`;
diff --git a/mysql-test/r/information_schema_part.result b/mysql-test/r/information_schema_part.result
new file mode 100644
index 00000000000..8455c8e014e
--- /dev/null
+++ b/mysql-test/r/information_schema_part.result
@@ -0,0 +1,142 @@
+drop table if exists t1,t2,t3,t4;
+create table t1 (a int not null,b int not null,c int not null, primary key(a,b))
+partition by list (b*a)
+(partition x1 values in (1) tablespace ts1,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+select * from information_schema.partitions where table_schema="test"
+and table_name="t1";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t1 x1 NULL 1 NULL LIST NULL b*a NULL 1 0 0 0 # 1024 0 # # NULL NULL default ts1
+NULL test t1 x2 NULL 2 NULL LIST NULL b*a NULL 3,11,5,7 0 0 0 # 1024 0 # # NULL NULL default ts2
+NULL test t1 x3 NULL 3 NULL LIST NULL b*a NULL 16,8,24,27 0 0 0 # 1024 0 # # NULL NULL default ts3
+create table t2 (a int not null,b int not null,c int not null, primary key(a,b))
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+select * from information_schema.partitions where table_schema="test"
+and table_name="t2";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t2 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 1024 0 # # NULL NULL default ts1
+NULL test t2 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 1024 0 # # NULL NULL default ts2
+NULL test t2 x3 NULL 3 NULL RANGE NULL a NULL MAXVALUE 0 0 0 # 1024 0 # # NULL NULL default ts3
+create table t3 (f1 date)
+partition by hash(month(f1))
+partitions 3;
+select * from information_schema.partitions where table_schema="test"
+and table_name="t3";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t3 p0 NULL 1 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t3 p1 NULL 2 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t3 p2 NULL 3 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+create table t4 (f1 date, f2 int)
+partition by key(f1,f2)
+partitions 3;
+select * from information_schema.partitions where table_schema="test"
+and table_name="t4";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t4 p0 NULL 1 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t4 p1 NULL 2 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t4 p2 NULL 3 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+drop table t1,t2,t3,t4;
+create table t1 (a int not null,b int not null,c int not null,primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1,
+subpartition x12 tablespace t2),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1,
+subpartition x22 tablespace t2)
+);
+create table t2 (a int not null,b int not null,c int not null,primary key (a,b))
+partition by range (a)
+subpartition by key (a)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1,
+subpartition x12 tablespace t2),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1,
+subpartition x22 tablespace t2)
+);
+select * from information_schema.partitions where table_schema="test";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default t1
+NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default t2
+NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default t1
+NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default t2
+NULL test t2 x1 x11 1 1 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default t1
+NULL test t2 x1 x12 1 2 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default t2
+NULL test t2 x2 x21 2 1 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default t1
+NULL test t2 x2 x22 2 2 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default t2
+drop table t1,t2;
+create table t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 nodegroup 0,
+subpartition x12 tablespace t2 nodegroup 1),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 nodegroup 0,
+subpartition x22 tablespace t2 nodegroup 1)
+);
+select * from information_schema.partitions where table_schema="test";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL 0 t1
+NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL 1 t2
+NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL 0 t1
+NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL 1 t2
+show tables;
+Tables_in_test
+t1
+drop table t1;
+create table t1(f1 int, f2 int);
+select * from information_schema.partitions where table_schema="test";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t1 NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 0 0 # 1024 0 # # NULL NULL NULL
+drop table t1;
+create table t1 (f1 date)
+partition by linear hash(month(f1))
+partitions 3;
+select * from information_schema.partitions where table_schema="test"
+and table_name="t1";
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
+NULL test t1 p0 NULL 1 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t1 p1 NULL 2 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+NULL test t1 p2 NULL 3 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
+drop table t1;
+create table t1 (a int)
+PARTITION BY RANGE (a)
+SUBPARTITION BY LINEAR HASH (a)
+(PARTITION p0 VALUES LESS THAN (10));
+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) SUBPARTITION BY LINEAR HASH (a) (PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM) */
+select SUBPARTITION_METHOD FROM information_schema.partitions WHERE
+table_schema="test" AND table_name="t1";
+SUBPARTITION_METHOD
+LINEAR HASH
+drop table t1;
+create table t1 (a int)
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN
+(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));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (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) ENGINE = MyISAM) */
+SELECT PARTITION_DESCRIPTION FROM information_schema.partitions WHERE
+table_schema = "test" AND table_name = "t1";
+PARTITION_DESCRIPTION
+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
+drop table t1;
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 854712fdb1d..d0c586de8d4 100644
--- a/mysql-test/r/innodb.result
+++ b/mysql-test/r/innodb.result
@@ -234,7 +234,7 @@ n after commit
commit;
insert into t1 values (5);
insert into t1 values (4);
-ERROR 23000: Duplicate entry '4' for key 1
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
commit;
select n, "after commit" from t1;
n after commit
@@ -243,7 +243,7 @@ n after commit
set autocommit=1;
insert into t1 values (6);
insert into t1 values (4);
-ERROR 23000: Duplicate entry '4' for key 1
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
select n from t1;
n
4
@@ -318,7 +318,7 @@ drop table t1;
CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=innodb;
insert into t1 values ('pippo', 12);
insert into t1 values ('pippo', 12);
-ERROR 23000: Duplicate entry 'pippo' for key 1
+ERROR 23000: Duplicate entry 'pippo' for key 'PRIMARY'
delete from t1;
delete from t1 where id = 'pippo';
select * from t1;
@@ -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 2
-insert into t1 (ggid,id) values ('this will fail',1);
-ERROR 23000: Duplicate entry '1' for key 1
-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 2
-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),
@@ -816,7 +779,7 @@ create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(3
insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
LOCK TABLES t1 WRITE;
insert into t1 values (99,1,2,'D'),(1,1,2,'D');
-ERROR 23000: Duplicate entry '1-1' for key 1
+ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
select id from t1;
id
0
@@ -834,7 +797,7 @@ insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJ
LOCK TABLES t1 WRITE;
begin;
insert into t1 values (99,1,2,'D'),(1,1,2,'D');
-ERROR 23000: Duplicate entry '1-1' for key 1
+ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
select id from t1;
id
0
@@ -856,7 +819,7 @@ create table t1 (a char(20), index (a(5))) engine=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(20) default NULL,
+ `a` char(20) DEFAULT NULL,
KEY `a` (`a`(5))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
@@ -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,39 +1049,6 @@ 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 1
-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 98
-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 1
-show master status /* there must be no UPDATE query event */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
-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;
@@ -1127,7 +1057,7 @@ 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 1
+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
@@ -1223,14 +1153,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;
@@ -1254,7 +1184,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
@@ -1266,10 +1195,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
@@ -1279,34 +1209,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;
@@ -1341,22 +1271,14 @@ insert into t2 (a) select b from t1;
insert into t1 (a) select b from t2;
insert into t2 (a) select b from t1;
insert into t1 (a) select b from t2;
-insert into t2 (a) select b from t1;
-insert into t1 (a) select b from t2;
-insert into t2 (a) select b from t1;
-insert into t1 (a) select b from t2;
-insert into t2 (a) select b from t1;
-insert into t1 (a) select b from t2;
-insert into t2 (a) select b from t1;
-insert into t1 (a) select b from t2;
select count(*) from t1;
count(*)
-29267
-explain select * from t1 where c between 1 and 10000;
+623
+explain select * from t1 where c between 1 and 2500;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range c c 5 NULL # Using where
update t1 set c=a;
-explain select * from t1 where c between 1 and 10000;
+explain select * from t1 where c between 1 and 2500;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL c NULL NULL NULL # Using where
drop table t1,t2;
@@ -1365,11 +1287,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);
@@ -1424,9 +1346,9 @@ insert into `t2`values ( 1 ) ;
create table `t3` (`id` int( 11 ) not null default '0',key `id` ( `id` ) ,constraint `t2_id_fk` foreign key ( `id` ) references `t2` (`id` )) engine = innodb;
insert into `t3`values ( 1 ) ;
delete t3,t2,t1 from t1,t2,t3 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
update t1,t2,t3 set t3.id=5, t2.id=6, t1.id=7 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))
update t3 set t3.id=7 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;
ERROR 42S22: Unknown column 't1.id' in 'where clause'
drop table t3,t2,t1;
@@ -1438,7 +1360,7 @@ foreign key(pid) references t1(id) on delete cascade) engine=innodb;
insert into t1 values(0,0),(1,0),(2,1),(3,2),(4,3),(5,4),(6,5),(7,6),
(8,7),(9,8),(10,9),(11,10),(12,11),(13,12),(14,13),(15,14);
delete from t1 where id=0;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `t1` (`id`) ON DELETE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `t1` (`id`) ON DELETE CASCADE)
delete from t1 where id=15;
delete from t1 where id=0;
drop table t1;
@@ -1633,9 +1555,9 @@ create table t2 (id int(11) not null auto_increment, id2 int(11) not null, const
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `id` int(11) NOT NULL auto_increment,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
`id2` int(11) NOT NULL,
- PRIMARY KEY (`id`),
+ PRIMARY KEY (`id`),
KEY `id` (`id`,`id2`),
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
@@ -1644,7 +1566,7 @@ create table t2 (id int(11) not null auto_increment, id2 int(11) not null, const
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `id` int(11) NOT NULL auto_increment,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
`id2` int(11) NOT NULL,
KEY `t1_id_fk` (`id`),
CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)
@@ -1653,7 +1575,7 @@ alter table t2 add index id_test (id), add index id_test2 (id,id2);
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `id` int(11) NOT NULL auto_increment,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
`id2` int(11) NOT NULL,
KEY `id_test` (`id`),
KEY `id_test2` (`id`,`id2`),
@@ -1666,9 +1588,9 @@ create table t2 (a int auto_increment primary key, b int, index(b), foreign key
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` int(11) NOT NULL auto_increment,
- `b` int(11) default NULL,
- PRIMARY KEY (`a`),
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`),
UNIQUE KEY `b_2` (`b`),
KEY `b` (`b`),
CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)
@@ -1678,9 +1600,9 @@ create table t2 (a int auto_increment primary key, b int, foreign key (b) refere
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` int(11) NOT NULL auto_increment,
- `b` int(11) default NULL,
- PRIMARY KEY (`a`),
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `b` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`),
UNIQUE KEY `b` (`b`),
CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`),
CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)
@@ -1805,13 +1727,13 @@ Variable_name Value
Innodb_page_size 16384
show status like "Innodb_rows_deleted";
Variable_name Value
-Innodb_rows_deleted 73
+Innodb_rows_deleted 70
show status like "Innodb_rows_inserted";
Variable_name Value
-Innodb_rows_inserted 29734
+Innodb_rows_inserted 1082
show status like "Innodb_rows_updated";
Variable_name Value
-Innodb_rows_updated 29532
+Innodb_rows_updated 885
show status like "Innodb_row_lock_waits";
Variable_name Value
Innodb_row_lock_waits 0
@@ -1847,7 +1769,7 @@ Variable_name Value
innodb_thread_concurrency 8
set global innodb_thread_concurrency=1001;
Warnings:
-Warning 1292 Truncated incorrect innodb_thread_concurrency value: '1001'
+Warning 1292 Truncated incorrect thread_concurrency value: '1001'
show variables like "innodb_thread_concurrency";
Variable_name Value
innodb_thread_concurrency 1000
@@ -1868,7 +1790,7 @@ Variable_name Value
innodb_concurrency_tickets 1000
set global innodb_concurrency_tickets=0;
Warnings:
-Warning 1292 Truncated incorrect innodb_concurrency_tickets value: '0'
+Warning 1292 Truncated incorrect concurrency_tickets value: '0'
show variables like "innodb_concurrency_tickets";
Variable_name Value
innodb_concurrency_tickets 1
@@ -1908,40 +1830,40 @@ concat('*',v,'*',c,'*',t,'*')
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
create table t2 like t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
create table t3 select * from t1;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 modify c varchar(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` varchar(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
`t` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 modify v char(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
`t` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 modify t varchar(10);
@@ -1950,9 +1872,9 @@ Note 1265 Data truncated for column 't' at row 2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(10) default NULL
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
@@ -1963,8 +1885,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `v` (`v`),
KEY `c` (`c`),
@@ -2029,7 +1951,7 @@ explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a '
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref v v 13 const # Using where; Using index
alter table t1 add unique(v);
-ERROR 23000: Duplicate entry '{ ' for key 1
+ERROR 23000: Duplicate entry '{ ' for key 'v_2'
alter table t1 add key(v);
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
qq
@@ -2182,8 +2104,8 @@ alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -2262,8 +2184,8 @@ alter table t1 drop key v, add key v (v(30));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -2342,8 +2264,8 @@ alter table t1 modify v varchar(600), drop key v, add key v (v);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(600) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(600) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -2389,16 +2311,16 @@ drop table t1;
create table t1 (a char(10), unique (a));
insert into t1 values ('a ');
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a' for key 1
+ERROR 23000: Duplicate entry 'a' for key 'a'
alter table t1 modify a varchar(10);
insert into t1 values ('a '),('a '),('a '),('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
update t1 set a='a ' where a like 'a%';
select concat(a,'.') from t1;
concat(a,'.')
@@ -2420,8 +2342,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `v` (`v`(5)),
KEY `c` (`c`(5)),
@@ -2432,15 +2354,15 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) character set utf8 default NULL
+ `v` char(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
insert into t1 values('a','a'),('a ','a ');
select concat('*',v,'*',c,'*') from t1;
@@ -2482,7 +2404,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext character set utf8
+ `v` mediumtext CHARACTER SET utf8
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
set storage_engine=MyISAM;
@@ -2502,8 +2424,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);
@@ -2512,8 +2434,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
@@ -2521,7 +2443,7 @@ key (rowid), unique(val)) engine=innodb;
replace into t1 (val) values ('1'),('2');
replace into t1 (val) values ('1'),('2');
insert into t1 (val) values ('1'),('2');
-ERROR 23000: Duplicate entry '1' for key 2
+ERROR 23000: Duplicate entry '1' for key 'val'
select * from t1;
rowid val
3 1
@@ -2531,7 +2453,7 @@ create table t1 (a int not null auto_increment primary key, val int) engine=Inno
insert into t1 (val) values (1);
update t1 set a=2 where a=1;
insert into t1 (val) values (1);
-ERROR 23000: Duplicate entry '2' for key 1
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
select * from t1;
a val
2 1
@@ -2609,8 +2531,8 @@ character set = latin1 engine = innodb;
show create table t9;
Table Create Table
t9 CREATE TABLE `t9` (
- `col1` varchar(512) default NULL,
- `col2` varchar(512) default NULL,
+ `col1` varchar(512) DEFAULT NULL,
+ `col2` varchar(512) DEFAULT NULL,
KEY `col1` (`col1`,`col2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1, t2, t3, t4, t5, t6, t7, t8, t9;
@@ -2633,7 +2555,7 @@ Warning 1071 Specified key was too long; max key length is 767 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `col1` varchar(768) default NULL,
+ `col1` varchar(768) DEFAULT NULL,
KEY `col1` (`col1`(767))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1, t2, t3, t4;
@@ -2659,18 +2581,18 @@ v INT,
CONSTRAINT c1 FOREIGN KEY (v) REFERENCES t1(id)
) ENGINE=InnoDB;
INSERT INTO t2 VALUES(2);
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
INSERT INTO t1 VALUES(1);
INSERT INTO t2 VALUES(1);
DELETE FROM t1 WHERE id = 1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
DROP TABLE t1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
INSERT INTO t2 VALUES(3);
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
DROP TABLE t2;
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
insert into t1 values (1),(2);
@@ -2703,13 +2625,13 @@ drop table t1;
set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
-ERROR HY000: Can't create table './test/t1.frm' (errno: 150)
+ERROR HY000: Can't create table 'test.t1' (errno: 150)
set foreign_key_checks=1;
drop table t2;
set foreign_key_checks=0;
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
-ERROR HY000: Can't create table './test/t2.frm' (errno: 150)
+ERROR HY000: Can't create table 'test.t2' (errno: 150)
set foreign_key_checks=1;
drop table t1;
set foreign_key_checks=0;
@@ -2739,23 +2661,23 @@ create table t4(a int primary key,constraint foreign key(a)references t3(a)) row
insert into t1 values(1);
insert into t3 values(1);
insert into t2 values(2);
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
insert into t4 values(2);
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
insert into t2 values(1);
insert into t4 values(1);
update t1 set a=2;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
update t2 set a=2;
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
update t3 set a=2;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
update t4 set a=2;
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
truncate t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
truncate t3;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
truncate t2;
truncate t4;
truncate t1;
@@ -2780,13 +2702,13 @@ create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb;
create table t4 (s1 char(2) binary,primary key (s1)) engine=innodb;
insert into t1 values (0x41),(0x4120),(0x4100);
insert into t2 values (0x41),(0x4120),(0x4100);
-ERROR 23000: Duplicate entry 'A' for key 1
+ERROR 23000: Duplicate entry 'A' for key 'PRIMARY'
insert into t2 values (0x41),(0x4120);
insert into t3 values (0x41),(0x4120),(0x4100);
-ERROR 23000: Duplicate entry 'A ' for key 1
+ERROR 23000: Duplicate entry 'A ' for key 'PRIMARY'
insert into t3 values (0x41),(0x4100);
insert into t4 values (0x41),(0x4120),(0x4100);
-ERROR 23000: Duplicate entry 'A' for key 1
+ERROR 23000: Duplicate entry 'A' for key 'PRIMARY'
insert into t4 values (0x41),(0x4100);
select hex(s1) from t1;
hex(s1)
@@ -2810,7 +2732,7 @@ create table t1 (a int primary key,s1 varbinary(3) not null unique) engine=innod
create table t2 (s1 binary(2) not null, constraint c foreign key(s1) references t1(s1) on update cascade) engine=innodb;
insert into t1 values(1,0x4100),(2,0x41),(3,0x4120),(4,0x42);
insert into t2 values(0x42);
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
insert into t2 values(0x41);
select hex(s1) from t2;
hex(s1)
@@ -2820,11 +2742,11 @@ select hex(s1) from t2;
hex(s1)
4100
update t1 set s1=0x12 where a=1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
update t1 set s1=0x12345678 where a=1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
update t1 set s1=0x123457 where a=1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
update t1 set s1=0x1220 where a=1;
select hex(s1) from t2;
hex(s1)
@@ -2838,11 +2760,11 @@ select hex(s1) from t2;
hex(s1)
4200
delete from t1 where a=1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
delete from t1 where a=2;
update t2 set s1=0x4120;
delete from t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
delete from t1 where a!=3;
select a,hex(s1) from t1;
a hex(s1)
@@ -2868,7 +2790,7 @@ hex(s1)
12
delete from t1 where a=1;
delete from t1 where a=2;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)
select a,hex(s1) from t1;
a hex(s1)
2 12
@@ -2885,7 +2807,7 @@ ALTER TABLE t2 DROP FOREIGN KEY t2_ibfk_0;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` int(11) default NULL,
+ `a` int(11) DEFAULT NULL,
KEY `t2_ibfk_0` (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t2,t1;
@@ -2947,6 +2869,55 @@ drop trigger t2t;
drop trigger t3t;
drop trigger t4t;
drop table t1, t2, t3, t4, t5;
+CREATE TABLE t1 (
+field1 varchar(8) NOT NULL DEFAULT '',
+field2 varchar(8) NOT NULL DEFAULT '',
+PRIMARY KEY (field1, field2)
+) ENGINE=InnoDB;
+CREATE TABLE t2 (
+field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY,
+FOREIGN KEY (field1) REFERENCES t1 (field1)
+ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('old', 'somevalu');
+INSERT INTO t1 VALUES ('other', 'anyvalue');
+INSERT INTO t2 VALUES ('old');
+INSERT INTO t2 VALUES ('other');
+UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu';
+ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 1 would lead to a duplicate entry
+DROP TABLE t2;
+DROP TABLE t1;
+create table t1 (
+c1 bigint not null,
+c2 bigint not null,
+primary key (c1),
+unique key (c2)
+) engine=innodb;
+create table t2 (
+c1 bigint not null,
+primary key (c1)
+) engine=innodb;
+alter table t1 add constraint c2_fk foreign key (c2)
+references t2(c1) on delete cascade;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `c2` bigint(20) NOT NULL,
+ PRIMARY KEY (`c1`),
+ UNIQUE KEY `c2` (`c2`),
+ CONSTRAINT `c2_fk` FOREIGN KEY (`c2`) REFERENCES `t2` (`c1`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+alter table t1 drop foreign key c2_fk;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` bigint(20) NOT NULL,
+ `c2` bigint(20) NOT NULL,
+ PRIMARY KEY (`c1`),
+ UNIQUE KEY `c2` (`c2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t1, t2;
create table t1(a date) engine=innodb;
create table t2(a date, key(a)) engine=innodb;
insert into t1 values('2005-10-01');
@@ -2956,8 +2927,135 @@ where t2.a between t1.a - interval 2 day and t1.a + interval 2 day;
a a
2005-10-01 2005-10-01
drop table t1, t2;
+create table t1 (id int not null, f_id int not null, f int not null,
+primary key(f_id, id)) engine=innodb;
+create table t2 (id int not null,s_id int not null,s varchar(200),
+primary key(id)) engine=innodb;
+INSERT INTO t1 VALUES (8, 1, 3);
+INSERT INTO t1 VALUES (1, 2, 1);
+INSERT INTO t2 VALUES (1, 0, '');
+INSERT INTO t2 VALUES (8, 1, '');
+commit;
+DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
+WHERE mm.id IS NULL;
+select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)
+where mm.id is null lock in share mode;
+id f_id f
+drop table t1,t2;
+create table t1(a int not null, b int, primary key(a)) engine=innodb;
+insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
+commit;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+update t1 set b = 5 where b = 1;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+select * from t1 where a = 7 and b = 3 for update;
+a b
+7 3
+commit;
+commit;
+drop table t1;
+create table t1(a int not null, b int, primary key(a)) engine=innodb;
+insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2);
+commit;
+set autocommit = 0;
+select * from t1 lock in share mode;
+a b
+1 1
+2 2
+3 1
+4 2
+5 1
+6 2
+update t1 set b = 5 where b = 1;
+set autocommit = 0;
+select * from t1 where a = 2 and b = 2 for update;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+commit;
+drop table t1;
+create table t1(a int not null, b int, primary key(a)) engine=innodb;
+insert into t1 values (1,2),(5,3),(4,2);
+create table t2(d int not null, e int, primary key(d)) engine=innodb;
+insert into t2 values (8,6),(12,1),(3,1);
+commit;
+set autocommit = 0;
+select * from t2 for update;
+d e
+3 1
+8 6
+12 1
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+insert into t1 select * from t2;
+update t1 set b = (select e from t2 where a = d);
+create table t3(d int not null, e int, primary key(d)) engine=innodb
+select * from t2;
+commit;
+commit;
+drop table t1, t2, t3;
+create table t1(a int not null, b int, primary key(a)) engine=innodb;
+insert into t1 values (1,2),(5,3),(4,2);
+create table t2(a int not null, b int, primary key(a)) engine=innodb;
+insert into t2 values (8,6),(12,1),(3,1);
+create table t3(d int not null, b int, primary key(d)) engine=innodb;
+insert into t3 values (8,6),(12,1),(3,1);
+create table t5(a int not null, b int, primary key(a)) engine=innodb;
+insert into t5 values (1,2),(5,3),(4,2);
+create table t6(d int not null, e int, primary key(d)) engine=innodb;
+insert into t6 values (8,6),(12,1),(3,1);
+create table t8(a int not null, b int, primary key(a)) engine=innodb;
+insert into t8 values (1,2),(5,3),(4,2);
+create table t9(d int not null, e int, primary key(d)) engine=innodb;
+insert into t9 values (8,6),(12,1),(3,1);
+commit;
+set autocommit = 0;
+select * from t2 for update;
+a b
+3 1
+8 6
+12 1
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+insert into t1 select * from t2;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+update t3 set b = (select b from t2 where a = d);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+create table t4(a int not null, b int, primary key(a)) engine=innodb select * from t2;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+insert into t5 (select * from t2 lock in share mode);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+update t6 set e = (select b from t2 where a = d lock in share mode);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+create table t7(a int not null, b int, primary key(a)) engine=innodb select * from t2 lock in share mode;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+insert into t8 (select * from t2 for update);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+update t9 set e = (select b from t2 where a = d for update);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2 for update;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+drop table t1, t2, t3, t5, t6, t8, t9;
CREATE TABLE t1 (DB_ROW_ID int) engine=innodb;
-ERROR HY000: Can't create table './test/t1.frm' (errno: -1)
+ERROR HY000: Can't create table 'test.t1' (errno: -1)
CREATE TABLE t1 (
a BIGINT(20) NOT NULL,
PRIMARY KEY (a)
@@ -2993,8 +3091,30 @@ SELECT p0.a FROM t2 p0 WHERE BINARY p0.b = 'customer_over';
a
1
drop table t2, t1;
-create table t1 (g geometry not null, spatial gk(g)) engine=innodb;
-ERROR HY000: The used table type doesn't support SPATIAL indexes
+CREATE TABLE t1 ( a int ) ENGINE=innodb;
+BEGIN;
+INSERT INTO t1 VALUES (1);
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+DROP TABLE t1;
+CREATE TABLE t1 (id int PRIMARY KEY, f int NOT NULL, INDEX(f)) ENGINE=InnoDB;
+CREATE TABLE t2 (id int PRIMARY KEY, f INT NOT NULL,
+CONSTRAINT t2_t1 FOREIGN KEY (id) REFERENCES t1 (id)
+ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB;
+ALTER TABLE t2 ADD FOREIGN KEY (f) REFERENCES t1 (f) ON
+DELETE CASCADE ON UPDATE CASCADE;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `id` int(11) NOT NULL,
+ `f` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `f` (`f`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f`) REFERENCES `t1` (`f`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `t2_t1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t2, t1;
CREATE TABLE t1 (a INT, INDEX(a)) ENGINE=InnoDB;
CREATE TABLE t2 (a INT, INDEX(a)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
@@ -3024,8 +3144,8 @@ id
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `id` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`id`)
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=349 DEFAULT CHARSET=latin1
CREATE TABLE t2 (id int PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t2 VALUES(42),(347),(348);
@@ -3033,8 +3153,68 @@ ALTER TABLE t1 ADD CONSTRAINT t1_t2 FOREIGN KEY (id) REFERENCES t2(id);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `id` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`id`),
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
CONSTRAINT `t1_t2` FOREIGN KEY (`id`) REFERENCES `t2` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=349 DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
+CREATE TABLE t1 (
+c01 CHAR(255), c02 CHAR(255), c03 CHAR(255), c04 CHAR(255),
+c05 CHAR(255), c06 CHAR(255), c07 CHAR(255), c08 CHAR(255),
+c09 CHAR(255), c10 CHAR(255), c11 CHAR(255), c12 CHAR(255),
+c13 CHAR(255), c14 CHAR(255), c15 CHAR(255), c16 CHAR(255),
+c17 CHAR(255), c18 CHAR(255), c19 CHAR(255), c20 CHAR(255),
+c21 CHAR(255), c22 CHAR(255), c23 CHAR(255), c24 CHAR(255),
+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;
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_gis.result b/mysql-test/r/innodb_gis.result
index bfe8c984b7b..ef8bdcc5f3e 100644
--- a/mysql-test/r/innodb_gis.result
+++ b/mysql-test/r/innodb_gis.result
@@ -1,50 +1,51 @@
SET storage_engine=innodb;
DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER, g POINT);
-CREATE TABLE gis_line (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
+CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT);
+CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING);
+CREATE TABLE gis_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON);
+CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT);
+CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING);
+CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON);
+CREATE TABLE gis_geometrycollection (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRYCOLLECTION);
+CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY);
SHOW CREATE TABLE gis_point;
Table Create Table
gis_point CREATE TABLE `gis_point` (
- `fid` int(11) default NULL,
- `g` point default NULL
+ `fid` int(11) NOT NULL AUTO_INCREMENT,
+ `g` point DEFAULT NULL,
+ PRIMARY KEY (`fid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW FIELDS FROM gis_point;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g point YES NULL
SHOW FIELDS FROM gis_line;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g linestring YES NULL
SHOW FIELDS FROM gis_polygon;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g polygon YES NULL
SHOW FIELDS FROM gis_multi_point;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multipoint YES NULL
SHOW FIELDS FROM gis_multi_line;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multilinestring YES NULL
SHOW FIELDS FROM gis_multi_polygon;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g multipolygon YES NULL
SHOW FIELDS FROM gis_geometrycollection;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g geometrycollection YES NULL
SHOW FIELDS FROM gis_geometry;
Field Type Null Key Default Extra
-fid int(11) YES NULL
+fid int(11) NO PRI NULL auto_increment
g geometry YES NULL
INSERT INTO gis_point VALUES
(101, PointFromText('POINT(10 10)')),
@@ -232,8 +233,8 @@ fid AsText(Envelope(g))
120 POLYGON((0 0,10 0,10 10,0 10,0 0))
121 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00
Warnings:
Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
SELECT fid, X(g) FROM gis_point ORDER by fid;
@@ -249,8 +250,8 @@ fid Y(g)
103 20
104 20
explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00
Warnings:
Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
@@ -284,8 +285,8 @@ fid IsClosed(g)
106 1
107 0
explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
@@ -314,8 +315,8 @@ fid AsText(InteriorRingN(g, 1))
109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
110 NULL
explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
@@ -353,8 +354,8 @@ fid NumGeometries(g)
120 2
121 2
explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
@@ -381,8 +382,8 @@ fid AsText(GeometryN(g, 1))
120 POINT(0 0)
121 POINT(44 6)
explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -400,13 +401,14 @@ Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
CREATE TABLE t1 (
+a INTEGER PRIMARY KEY AUTO_INCREMENT,
gp point,
ln linestring,
pg polygon,
@@ -418,6 +420,7 @@ gm geometry
);
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
+a int(11) NO PRI NULL auto_increment
gp point YES NULL
ln linestring YES NULL
pg polygon YES NULL
@@ -429,6 +432,7 @@ gm geometry YES NULL
ALTER TABLE t1 ADD fid INT;
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
+a int(11) NO PRI NULL auto_increment
gp point YES NULL
ln linestring YES NULL
pg polygon YES NULL
@@ -439,21 +443,21 @@ gc geometrycollection YES NULL
gm geometry YES NULL
fid int(11) YES NULL
DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
+create table t1 (pk integer primary key auto_increment, a geometry not null);
+insert into t1 (a) values (GeomFromText('Point(1 2)'));
+insert into t1 (a) values ('Garbage');
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
+insert IGNORE into t1 (a) values ('Garbage');
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
+create table t1 (pk integer primary key auto_increment, fl geometry not null);
+insert into t1 (fl) values (1);
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
+insert into t1 (fl) values (1.11);
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
+insert into t1 (fl) values ("qwerty");
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
+insert into t1 (fl) values (pointfromtext('point(1,1)'));
ERROR 23000: Column 'fl' cannot be null
drop table t1;
End of 4.1 tests
@@ -581,3 +585,5 @@ 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_handler.result b/mysql-test/r/innodb_handler.result
deleted file mode 100644
index 7e853a55e37..00000000000
--- a/mysql-test/r/innodb_handler.result
+++ /dev/null
@@ -1,167 +0,0 @@
-drop table if exists t1,t2;
-create table t1 (a int, b char(10), key a(a), key b(a,b)) engine=innodb;
-insert into t1 values
-(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
-(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
-(20,"ggg"),(21,"hhh"),(22,"iii");
-handler t1 open as t2;
-handler t2 read a first;
-a b
-14 aaa
-handler t2 read a next;
-a b
-15 bbb
-handler t2 read a next;
-a b
-16 ccc
-handler t2 read a prev;
-a b
-15 bbb
-handler t2 read a last;
-a b
-22 iii
-handler t2 read a prev;
-a b
-21 hhh
-handler t2 read a prev;
-a b
-20 ggg
-handler t2 read a first;
-a b
-14 aaa
-handler t2 read a prev;
-a b
-handler t2 read a last;
-a b
-22 iii
-handler t2 read a prev;
-a b
-21 hhh
-handler t2 read a next;
-a b
-22 iii
-handler t2 read a next;
-a b
-handler t2 read a=(15);
-a b
-15 bbb
-handler t2 read a=(16);
-a b
-16 ccc
-handler t2 read a=(19,"fff");
-ERROR 42000: Too many key parts specified; max 1 parts allowed
-handler t2 read b=(19,"fff");
-a b
-19 fff
-handler t2 read b=(19,"yyy");
-a b
-19 yyy
-handler t2 read b=(19);
-a b
-19 fff
-handler t1 read a last;
-ERROR 42S02: Unknown table 't1' in HANDLER
-handler t2 read a=(11);
-a b
-handler t2 read a>=(11);
-a b
-14 aaa
-handler t2 read a=(18);
-a b
-18 eee
-handler t2 read a>=(18);
-a b
-18 eee
-handler t2 read a>(18);
-a b
-19 fff
-handler t2 read a<=(18);
-a b
-18 eee
-handler t2 read a<(18);
-a b
-17 ddd
-handler t2 read a first limit 5;
-a b
-14 aaa
-15 bbb
-16 ccc
-16 xxx
-17 ddd
-handler t2 read a next limit 3;
-a b
-18 eee
-19 fff
-19 yyy
-handler t2 read a prev limit 10;
-a b
-19 fff
-18 eee
-17 ddd
-16 xxx
-16 ccc
-15 bbb
-14 aaa
-handler t2 read a>=(16) limit 4;
-a b
-16 ccc
-16 xxx
-17 ddd
-18 eee
-handler t2 read a>=(16) limit 2,2;
-a b
-17 ddd
-18 eee
-handler t2 read a last limit 3;
-a b
-22 iii
-21 hhh
-20 ggg
-handler t2 read a=(19);
-a b
-19 fff
-handler t2 read a=(19) where b="yyy";
-a b
-19 yyy
-handler t2 read first;
-a b
-17 ddd
-handler t2 read next;
-a b
-18 eee
-handler t2 read last;
-ERROR 42000: You 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
-handler t2 close;
-handler t1 open;
-handler t1 read a next;
-a b
-14 aaa
-handler t1 read a next;
-a b
-15 bbb
-handler t1 close;
-handler t1 open;
-handler t1 read a prev;
-a b
-22 iii
-handler t1 read a prev;
-a b
-21 hhh
-handler t1 close;
-handler t1 open as t2;
-handler t2 read first;
-a b
-17 ddd
-alter table t1 engine=innodb;
-handler t2 read first;
-ERROR 42S02: Unknown table 't2' in HANDLER
-drop table t1;
-CREATE TABLE t1 ( no1 smallint(5) NOT NULL default '0', no2 int(10) NOT NULL default '0', PRIMARY KEY (no1,no2)) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1,274),(1,275),(2,6),(2,8),(4,1),(4,2);
-HANDLER t1 OPEN;
-HANDLER t1 READ `primary` = (1, 1000);
-no1 no2
-HANDLER t1 READ `primary` PREV;
-no1 no2
-1 275
-DROP TABLE t1;
diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result
index 2ab463e7f85..87cf1acc10c 100644
--- a/mysql-test/r/innodb_mysql.result
+++ b/mysql-test/r/innodb_mysql.result
@@ -1,11 +1,15 @@
-drop table if exists t1,t2,t3,t4;
+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,
unique key contacts$c_id (c_id),
key contacts$org_id (org_id)
-) engine=innodb;
-insert into t1 values
+);
+insert into t1 values
(2,null),(120,null),(141,null),(218,7), (128,1),
(151,2),(234,2),(236,2),(243,2),(255,2),(259,2),(232,3),(235,3),(238,3),
(246,3),(253,3),(269,3),(285,3),(291,3),(293,3),(131,4),(230,4),(231,4);
@@ -27,16 +31,16 @@ sla_set int(11) default null,
unique key t2$slai_id (slai_id),
key t2$owner_id (owner_id),
key t2$sla_id (sla_id)
-) engine=innodb;
+);
insert into t2(slai_id, owner_tbl, owner_id, sla_id) values
(1,3,1,1), (3,3,10,2), (4,3,3,6), (5,3,2,5), (6,3,8,3), (7,3,9,7),
(8,3,6,8), (9,3,4,9), (10,3,5,10), (11,3,11,11), (12,3,7,12);
flush tables;
select si.slai_id
from t1 c join t2 si on
-((si.owner_tbl = 3 and si.owner_id = c.org_id) or
-( si.owner_tbl = 2 and si.owner_id = c.c_id))
-where
+((si.owner_tbl = 3 and si.owner_id = c.org_id) or
+( si.owner_tbl = 2 and si.owner_id = c.c_id))
+where
c.c_id = 218 and expiredate is null;
slai_id
12
@@ -47,17 +51,17 @@ c_id org_id
141 NULL
select si.slai_id
from t1 c join t2 si on
-((si.owner_tbl = 3 and si.owner_id = c.org_id) or
-( si.owner_tbl = 2 and si.owner_id = c.c_id))
-where
+((si.owner_tbl = 3 and si.owner_id = c.org_id) or
+( si.owner_tbl = 2 and si.owner_id = c.c_id))
+where
c.c_id = 218 and expiredate is null;
slai_id
12
drop table t1, t2;
-CREATE TABLE t1 (a int, b int, KEY b (b)) Engine=InnoDB;
-CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b)) Engine=InnoDB;
-CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a),
-UNIQUE KEY b (b,c), KEY a (a,b,c)) Engine=InnoDB;
+CREATE TABLE t1 (a int, b int, KEY b (b));
+CREATE TABLE t2 (a int, b int, PRIMARY KEY (a,b));
+CREATE TABLE t3 (a int, b int, c int, PRIMARY KEY (a),
+UNIQUE KEY b (b,c), KEY a (a,b,c));
INSERT INTO t1 VALUES (1, 1);
INSERT INTO t1 SELECT a + 1, b + 1 FROM t1;
INSERT INTO t1 SELECT a + 2, b + 2 FROM t1;
@@ -67,14 +71,14 @@ DELETE FROM t2 WHERE a = 1 AND b < 2;
INSERT INTO t3 VALUES (1,1,1),(2,1,2);
INSERT INTO t3 SELECT a + 2, a + 2, 3 FROM t3;
INSERT INTO t3 SELECT a + 4, a + 4, 3 FROM t3;
-SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
-t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
+SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
+t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 2;
b a
1 1
2 2
-SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
-t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
+SELECT STRAIGHT_JOIN SQL_NO_CACHE t1.b, t1.a FROM t1, t3, t2 WHERE
+t3.a = t2.a AND t2.b = t1.a AND t3.b = 1 AND t3.c IN (1, 2)
ORDER BY t1.b LIMIT 5;
b a
1 1
@@ -92,8 +96,8 @@ CREATE TABLE `t2` (
`id4` INT NOT NULL,
UNIQUE (`id2`,`id4`),
KEY (`id1`)
-) ENGINE=InnoDB;
-INSERT INTO `t2`(`id1`,`id2`,`id3`,`id4`) VALUES
+);
+INSERT INTO `t2`(`id1`,`id2`,`id3`,`id4`) VALUES
(1,1,1,0),
(1,1,2,1),
(5,1,2,2),
@@ -165,67 +169,12 @@ t1.a4='UNcT5pIde4I6c2SheTo4gt92OV1jgJCVkXmzyf325R1DwLURkbYHwhydANIZMbKTgdcR5xS';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
DROP TABLE t1;
-End of 4.1 tests
-create table t1m (a int) engine=myisam;
-create table t1i (a int) engine=innodb;
-create table t2m (a int) engine=myisam;
-create table t2i (a int) engine=innodb;
+create table t1m (a int) engine = MEMORY;
+create table t1i (a int);
+create table t2m (a int) engine = MEMORY;
+create table t2i (a int);
insert into t2m values (5);
insert into t2i values (5);
-select min(a) from t1m;
-min(a)
-NULL
-select min(7) from t1m;
-min(7)
-NULL
-select min(7) from DUAL;
-min(7)
-7
-explain select min(7) from t2m join t1m;
-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(7) from t2m join t1m;
-min(7)
-NULL
-select max(a) from t1m;
-max(a)
-NULL
-select max(7) from t1m;
-max(7)
-NULL
-select max(7) from DUAL;
-max(7)
-7
-explain select max(7) from t2m join t1m;
-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 max(7) from t2m join t1m;
-max(7)
-NULL
-select 1, min(a) from t1m where a=99;
-1 min(a)
-1 NULL
-select 1, min(a) from t1m where 1=99;
-1 min(a)
-1 NULL
-select 1, min(1) from t1m where a=99;
-1 min(1)
-1 NULL
-select 1, min(1) from t1m where 1=99;
-1 min(1)
-1 NULL
-select 1, max(a) from t1m where a=99;
-1 max(a)
-1 NULL
-select 1, max(a) from t1m where 1=99;
-1 max(a)
-1 NULL
-select 1, max(1) from t1m where a=99;
-1 max(1)
-1 NULL
-select 1, max(1) from t1m where 1=99;
-1 max(1)
-1 NULL
select min(a) from t1i;
min(a)
NULL
@@ -238,7 +187,7 @@ min(7)
explain select min(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
-1 SIMPLE t1i ALL NULL NULL NULL NULL 1
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer
select min(7) from t2i join t1i;
min(7)
NULL
@@ -254,7 +203,7 @@ max(7)
explain select max(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
-1 SIMPLE t1i ALL NULL NULL NULL NULL 1
+1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer
select max(7) from t2i join t1i;
max(7)
NULL
@@ -306,7 +255,7 @@ count(*) min(7) max(7)
drop table t1m, t1i, t2m, t2i;
create table t1 (
a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
-);
+) ENGINE = MEMORY;
insert into t1 (a1, a2, b, c, d) values
('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
@@ -342,14 +291,14 @@ insert into t1 (a1, a2, b, c, d) values
('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4');
create table t4 (
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
-) engine=innodb;
+);
insert into t4 (a1, a2, b, c, d, dummy) select * from t1;
create index idx12672_0 on t4 (a1);
create index idx12672_1 on t4 (a1,a2,b,c);
create index idx12672_2 on t4 (a1,a2,b);
-analyze table t1;
+analyze table t4;
Table Op Msg_type Msg_text
-test.t1 analyze status OK
+test.t4 analyze status OK
select distinct a1 from t4 where pk_col not in (1,2,3,4);
a1
a
@@ -367,7 +316,7 @@ INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
DELETE IGNORE FROM t1 WHERE i = 1;
Warnings:
-Error 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test/t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`i`) REFERENCES `t1` (`i`) ON DELETE NO ACTION)
+Error 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`i`) REFERENCES `t1` (`i`) ON DELETE NO ACTION)
SELECT * FROM t1, t2;
i i
1 1
@@ -375,18 +324,18 @@ DROP TABLE t2, t1;
End of 4.1 tests.
create table t1 (
a varchar(30), b varchar(30), primary key(a), key(b)
-) engine=innodb;
+);
select distinct a from t1;
a
drop table t1;
-create table t1(a int, key(a)) engine=innodb;
+create table t1(a int, key(a));
insert into t1 values(1);
select a, count(a) from t1 group by a with rollup;
a count(a)
1 1
NULL 1
drop table t1;
-create table t1 (f1 int, f2 char(1), primary key(f1,f2)) engine=innodb;
+create table t1 (f1 int, f2 char(1), primary key(f1,f2));
insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
alter table t1 drop primary key, add primary key (f2, f1);
explain select distinct f1 a, f1 b from t1;
@@ -397,46 +346,24 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
drop table t1;
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
-INDEX (name)) ENGINE=InnoDB;
-CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
-FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
+INDEX (name));
+CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11));
+ALTER TABLE t2 ADD FOREIGN KEY (fkey) REFERENCES t2(id);
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
EXPLAIN
-SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
+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
+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(f1 varchar(800) binary not null, key(f1)) engine = innodb
-character set utf8 collate utf8_general_ci;
-Warnings:
-Warning 1071 Specified key was too long; max key length is 767 bytes
-insert into t1 values('aaa');
-drop table t1;
-CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c FLOAT, KEY b(b)) ENGINE = INNODB;
-INSERT INTO t1 VALUES ( 1 , 1 , 1);
-INSERT INTO t1 SELECT a + 1 , MOD(a + 1 , 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 2 , MOD(a + 2 , 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 4 , MOD(a + 4 , 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 8 , MOD(a + 8 , 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 16, MOD(a + 16, 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 32, MOD(a + 32, 20), 1 FROM t1;
-INSERT INTO t1 SELECT a + 64, MOD(a + 64, 20), 1 FROM t1;
-EXPLAIN SELECT b, SUM(c) FROM t1 GROUP BY b;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL b 5 NULL 128
-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;
CREATE TABLE t1 (
id int NOT NULL,
name varchar(20) NOT NULL,
@@ -464,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
@@ -526,6 +454,43 @@ 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
+create table t1 (a int unsigned not null primary key) engine = innodb;
+insert into t1 values (1);
+commit;
+begin work;
+insert into t1 values (2);
+select * from t1;
+a
+1
+2
+begin work;
+insert into t1 values (5);
+select * from t1;
+a
+1
+5
+insert into t1 values (2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1;
+a
+1
+5
+commit;
+select * from t1;
+a
+1
+2
+commit;
+select * from t1;
+a
+1
+2
+5
+drop table t1;
create table t1(
id int auto_increment,
c char(1) not null,
@@ -622,7 +587,7 @@ alter table t1 comment '123';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='123'
drop table t1;
CREATE TABLE t1 (a CHAR(2), KEY (a)) ENGINE = InnoDB DEFAULT CHARSET=UTF8;
@@ -662,13 +627,13 @@ SELECT * FROM t3 WHERE a = 'uk';
a
DROP TABLE t1,t2,t3;
create table t1 (a int) engine=innodb;
-select * from t2;
-ERROR 42S02: Table 'test.t2' doesn't exist
+select * from bug29807;
+ERROR 42S02: Table 'test.bug29807' doesn't exist
drop table t1;
-drop table t2;
-ERROR 42S02: Unknown table 't2'
-create table t2 (a int);
-drop table t2;
+drop table bug29807;
+ERROR 42S02: Unknown table 'bug29807'
+create table bug29807 (a int);
+drop table bug29807;
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
switch to connection c1
@@ -737,6 +702,122 @@ COUNT(*)
3072
set @@sort_buffer_size=default;
DROP TABLE t1,t2;
+CREATE TABLE t1 (a int, b int);
+insert into t1 values (1,1),(1,2);
+CREATE TABLE t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TEMPORARY TABLE t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TABLE t2 (a int, b int, primary key (a));
+BEGIN;
+INSERT INTO t2 values(100,100);
+CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+100 100
+ROLLBACK;
+SELECT * from t2;
+a b
+100 100
+TRUNCATE table t2;
+INSERT INTO t2 select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+drop table t2;
+CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a));
+BEGIN;
+INSERT INTO t2 values(100,100);
+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+100 100
+COMMIT;
+BEGIN;
+INSERT INTO t2 values(101,101);
+CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+100 100
+101 101
+ROLLBACK;
+SELECT * from t2;
+a b
+100 100
+TRUNCATE table t2;
+INSERT INTO t2 select * from t1;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT * from t2;
+a b
+drop table t1,t2;
+create table t1(f1 varchar(800) binary not null, key(f1))
+character set utf8 collate utf8_general_ci;
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+insert into t1 values('aaa');
+drop table t1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c FLOAT, KEY b(b)) ENGINE = INNODB;
+INSERT INTO t1 VALUES ( 1 , 1 , 1);
+INSERT INTO t1 SELECT a + 1 , MOD(a + 1 , 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 2 , MOD(a + 2 , 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 4 , MOD(a + 4 , 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 8 , MOD(a + 8 , 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 16, MOD(a + 16, 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 32, MOD(a + 32, 20), 1 FROM t1;
+INSERT INTO t1 SELECT a + 64, MOD(a + 64, 20), 1 FROM t1;
+EXPLAIN SELECT b, SUM(c) FROM t1 GROUP BY b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL b 5 NULL 128
+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
+create table t1 (a int unsigned not null primary key) engine = innodb;
+insert into t1 values (1);
+commit;
+begin work;
+insert into t1 values (2);
+select * from t1;
+a
+1
+2
+begin work;
+insert into t1 values (5);
+select * from t1;
+a
+1
+5
+insert into t1 values (2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+select * from t1;
+a
+1
+5
+commit;
+select * from t1;
+a
+1
+2
+commit;
+select * from t1;
+a
+1
+2
+5
+drop table t1;
drop table if exists t1;
create table t1 (a int) engine=innodb;
alter table t1 alter a set default 1;
@@ -806,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
@@ -901,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
@@ -1042,6 +1123,7 @@ insert into t1 values('aaa');
alter table t1 add index(a(1024));
Warnings:
Warning 1071 Specified key was too long; max key length is 767 bytes
+Warning 1071 Specified key was too long; max key length is 767 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -1186,11 +1268,11 @@ select_type SIMPLE
table t1
type index
possible_keys NULL
-key b
-key_len 5
+key PRIMARY
+key_len 4
ref NULL
rows 3
-Extra Using index; Using filesort
+Extra Using filesort
SELECT * FROM t1 ORDER BY b ASC, a DESC;
a b
1 1
@@ -1202,28 +1284,50 @@ select_type SIMPLE
table t1
type index
possible_keys NULL
-key b
-key_len 5
+key PRIMARY
+key_len 4
ref NULL
rows 3
-Extra Using index; Using filesort
+Extra Using filesort
SELECT * FROM t1 ORDER BY b DESC, a ASC;
a b
2 2
3 2
1 1
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 3 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
+
+#
+# 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;
@@ -1240,4 +1344,269 @@ t1 CREATE TABLE `t1` (
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 3 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;
End of 5.0 tests
+CREATE TABLE `t2` (
+`k` int(11) NOT NULL auto_increment,
+`a` int(11) default NULL,
+`c` int(11) default NULL,
+PRIMARY KEY (`k`),
+UNIQUE KEY `idx_1` (`a`)
+);
+insert into t2 ( a ) values ( 6 ) on duplicate key update c =
+ifnull( c,
+0 ) + 1;
+insert into t2 ( a ) values ( 7 ) on duplicate key update c =
+ifnull( c,
+0 ) + 1;
+select last_insert_id();
+last_insert_id()
+2
+select * from t2;
+k a c
+1 6 NULL
+2 7 NULL
+insert into t2 ( a ) values ( 6 ) on duplicate key update c =
+ifnull( c,
+0 ) + 1;
+select last_insert_id();
+last_insert_id()
+2
+select last_insert_id(0);
+last_insert_id(0)
+0
+insert into t2 ( a ) values ( 6 ) on duplicate key update c =
+ifnull( c,
+0 ) + 1;
+select last_insert_id();
+last_insert_id()
+0
+select * from t2;
+k a c
+1 6 2
+2 7 NULL
+insert ignore into t2 values (null,6,1),(10,8,1);
+select last_insert_id();
+last_insert_id()
+0
+insert ignore into t2 values (null,6,1),(null,8,1),(null,15,1),(null,20,1);
+select last_insert_id();
+last_insert_id()
+11
+select * from t2;
+k a c
+1 6 2
+2 7 NULL
+10 8 1
+11 15 1
+12 20 1
+insert into t2 ( a ) values ( 6 ) on duplicate key update c =
+ifnull( c,
+0 ) + 1, k=last_insert_id(k);
+select last_insert_id();
+last_insert_id()
+1
+select * from t2;
+k a c
+1 6 3
+2 7 NULL
+10 8 1
+11 15 1
+12 20 1
+drop table t2;
+drop table if exists t1, t2;
+create table t1 (i int);
+alter table t1 modify i int default 1;
+alter table t1 modify i int default 2, rename t2;
+lock table t2 write;
+alter table t2 modify i int default 3;
+unlock tables;
+lock table t2 write;
+alter table t2 modify i int default 4, rename t1;
+unlock tables;
+drop table t1;
+drop table if exists t1;
+create table t1 (i int);
+insert into t1 values ();
+lock table t1 write;
+alter table t1 modify i int default 1;
+insert into t1 values ();
+select * from t1;
+i
+NULL
+1
+alter table t1 change i c char(10) default "Two";
+insert into t1 values ();
+select * from t1;
+c
+NULL
+1
+Two
+unlock tables;
+select * from t1;
+c
+NULL
+1
+Two
+drop tables t1;
+create table t1(f1 varchar(5) unique, f2 timestamp NOT NULL DEFAULT
+CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
+insert into t1(f1) values(1);
+select @a:=f2 from t1;
+@a:=f2
+#
+update t1 set f1=1;
+select @b:=f2 from t1;
+@b:=f2
+#
+select if(@a=@b,"ok","wrong");
+if(@a=@b,"ok","wrong")
+ok
+insert into t1(f1) values (1) on duplicate key update f1="1";
+select @b:=f2 from t1;
+@b:=f2
+#
+select if(@a=@b,"ok","wrong");
+if(@a=@b,"ok","wrong")
+ok
+insert into t1(f1) select f1 from t1 on duplicate key update f1="1";
+select @b:=f2 from t1;
+@b:=f2
+#
+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;
+End of 5.1 tests
diff --git a/mysql-test/r/innodb_notembedded.result b/mysql-test/r/innodb_notembedded.result
index cc13a429dfc..36714eb62fb 100644
--- a/mysql-test/r/innodb_notembedded.result
+++ b/mysql-test/r/innodb_notembedded.result
@@ -1,4 +1,5 @@
drop table if exists t1;
+SET GLOBAL log_bin_trust_function_creators = 1;
create table t1 (col1 integer primary key, col2 integer) engine=innodb;
insert t1 values (1,100);
create function f1 () returns integer begin
@@ -18,3 +19,4 @@ rollback;
rollback;
drop table t1;
drop function f1;
+SET GLOBAL log_bin_trust_function_creators = 0;
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/innodb_trx_weight.result b/mysql-test/r/innodb_trx_weight.result
new file mode 100644
index 00000000000..195775f74c8
--- /dev/null
+++ b/mysql-test/r/innodb_trx_weight.result
@@ -0,0 +1 @@
+SET storage_engine=InnoDB;
diff --git a/mysql-test/r/innodb_unsafe_binlog.result b/mysql-test/r/innodb_unsafe_binlog.result
deleted file mode 100644
index 4a4f0e0fae5..00000000000
--- a/mysql-test/r/innodb_unsafe_binlog.result
+++ /dev/null
@@ -1,48 +0,0 @@
-drop table if exists t1,t2;
-create table t1 (id int not null, f_id int not null, f int not null,
-primary key(f_id, id)) engine=innodb;
-create table t2 (id int not null,s_id int not null,s varchar(200),
-primary key(id)) engine=innodb;
-INSERT INTO t1 VALUES (8, 1, 3);
-INSERT INTO t1 VALUES (1, 2, 1);
-INSERT INTO t2 VALUES (1, 0, '');
-INSERT INTO t2 VALUES (8, 1, '');
-commit;
-DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
-WHERE mm.id IS NULL;
-select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)
-where mm.id is null lock in share mode;
-id f_id f
-drop table t1,t2;
-create table t1 (id int not null, f_id int not null, f int not null,
-primary key(id),key(f_id)) engine=innodb;
-create table t2 (id int not null,s_id int not null,s varchar(200),
-primary key(id),key(s_id)) engine=innodb;
-INSERT INTO t1 VALUES (8, 1, 3);
-INSERT INTO t1 VALUES (1, 2, 1);
-INSERT INTO t2 VALUES (1, 0, '');
-INSERT INTO t2 VALUES (8, 1, '');
-commit;
-delete ml.* from t1 as ml left join t2 as mm on (mm.s_id=ml.f_id) where mm.s is null;
-select ml.* from t1 as ml left join t2 as mm on (mm.s_id=ml.f_id) where mm.s is null lock in share mode;
-id f_id f
-drop table t1,t2;
-create table t1(a int not null, b int, primary key(a)) engine=innodb;
-insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2);
-commit;
-set autocommit = 0;
-select * from t1 lock in share mode;
-a b
-1 1
-2 2
-3 1
-4 2
-5 1
-6 2
-update t1 set b = 5 where b = 1;
-set autocommit = 0;
-select * from t1 where a = 2 and b = 2 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-commit;
-commit;
-drop table t1;
diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result
index 2e49bd373d6..919aff4bfb7 100644
--- a/mysql-test/r/insert.result
+++ b/mysql-test/r/insert.result
@@ -2,8 +2,8 @@ drop table if exists t1,t2,t3;
create table t1 (a int not null);
insert into t1 values (1);
insert into t1 values (a+2);
-insert into t1 values (a+3);
-insert into t1 values (4),(a+5);
+insert into t1 values (a+3),(a+4);
+insert into t1 values (5),(a+6);
select * from t1;
a
1
@@ -11,6 +11,7 @@ a
3
4
5
+6
drop table t1;
create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username));
insert into t1 values (0,"mysql");
@@ -157,20 +158,20 @@ f_float_3_1_u 0.0
set @value= "1e+1111111111a";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f_double' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_double' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_double_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 4
original_value 1e+1111111111a
@@ -185,21 +186,21 @@ f_float_3_1_u 99.9
set @value= "-1e+1111111111a";
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f_double' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_double' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_double_u' at row 1
+Warning 1264 Out of range value for column 'f_double_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 5
original_value -1e+1111111111a
@@ -218,12 +219,12 @@ ERROR 22007: Illegal double '1e+1111111111' value found during parsing
set @value= 1e+111;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 6
original_value 1e+111
@@ -238,13 +239,13 @@ f_float_3_1_u 99.9
set @value= -1e+111;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f_float' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_7_2' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_4_3' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float' at row 1
+Warning 1264 Out of range value for column 'f_double_7_2' at row 1
+Warning 1264 Out of range value for column 'f_float_4_3' at row 1
+Warning 1264 Out of range value for column 'f_double_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 7
original_value -1e+111
@@ -272,10 +273,10 @@ f_float_3_1_u 1.0
set @value= -1;
insert into t1 values(null,@value,@value,@value,@value,@value,@value,@value,@value,@value);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f_double_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_double_15_1_u' at row 1
-Warning 1264 Out of range value adjusted for column 'f_float_3_1_u' at row 1
+Warning 1264 Out of range value for column 'f_double_u' at row 1
+Warning 1264 Out of range value for column 'f_float_u' at row 1
+Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
+Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 9
original_value -1
@@ -299,6 +300,27 @@ select count(*) from t2;
count(*)
25500
drop table t1,t2,t3;
+create table t1 (a int, b int);
+insert into t1 (a,b) values (a,b);
+insert into t1 SET a=1, b=a+1;
+insert into t1 (a,b) select 1,2;
+INSERT INTO t1 ( a ) SELECT 0 ON DUPLICATE KEY UPDATE a = a + VALUES (a);
+prepare stmt1 from ' replace into t1 (a,a) select 100, ''hundred'' ';
+execute stmt1;
+ERROR 42000: Column 'a' specified twice
+insert into t1 (a,b,b) values (1,1,1);
+ERROR 42000: Column 'b' specified twice
+insert into t1 (a,a) values (1,1,1);
+ERROR 21S01: Column count doesn't match value count at row 1
+insert into t1 (a,a) values (1,1);
+ERROR 42000: Column 'a' specified twice
+insert into t1 SET a=1,b=2,a=1;
+ERROR 42000: Column 'a' specified twice
+insert into t1 (b,b) select 1,2;
+ERROR 42000: Column 'b' specified twice
+INSERT INTO t1 (b,b) SELECT 0,0 ON DUPLICATE KEY UPDATE a = a + VALUES (a);
+ERROR 42000: Column 'b' specified twice
+drop table t1;
create table t1 (id int primary key, data int);
insert into t1 values (1, 1), (2, 2), (3, 3);
select row_count();
@@ -346,6 +368,22 @@ f1 f2
12 NULL
drop view v1;
drop table t1,t2;
+create table t1 (id int primary key auto_increment, data int, unique(data));
+insert ignore into t1 values(NULL,100),(NULL,110),(NULL,120);
+insert ignore into t1 values(NULL,10),(NULL,20),(NULL,110),(NULL,120),(NULL,100),(NULL,90);
+insert ignore into t1 values(NULL,130),(NULL,140),(500,110),(550,120),(450,100),(NULL,150);
+select * from t1 order by id;
+id data
+1 100
+2 110
+3 120
+4 10
+5 20
+6 90
+7 130
+8 140
+9 150
+drop table t1;
DROP TABLE IF EXISTS t1;
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
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-binlog.result b/mysql-test/r/insert_select-binlog.result
deleted file mode 100644
index 76f460b1de2..00000000000
--- a/mysql-test/r/insert_select-binlog.result
+++ /dev/null
@@ -1,25 +0,0 @@
-create table t1(a int, unique(a));
-insert into t1 values(2);
-create table t2(a int);
-insert into t2 values(1),(2);
-reset master;
-insert into t1 select * from t2;
-ERROR 23000: Duplicate entry '2' for key 1
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-master-bin.000001 98 Query 1 192 use `test`; insert into t1 select * from t2
-select * from t1;
-a
-1
-2
-drop table t1, t2;
-create table t1(a int);
-insert into t1 values(1),(1);
-reset master;
-create table t2(unique(a)) select a from t1;
-ERROR 23000: Duplicate entry '1' for key 1
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-drop table t1;
diff --git a/mysql-test/r/insert_select.result b/mysql-test/r/insert_select.result
index 7a37f49125a..780e91ea73f 100644
--- a/mysql-test/r/insert_select.result
+++ b/mysql-test/r/insert_select.result
@@ -4,7 +4,7 @@ insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,
create table t2 (payoutID SMALLINT UNSIGNED NOT NULL PRIMARY KEY);
insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1;
insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
-ERROR 23000: Duplicate entry '16' for key 1
+ERROR 23000: Duplicate entry '16' for key 'PRIMARY'
insert ignore into t2 (payoutID) SELECT payoutID+10 FROM t1;
select * from t2;
payoutID
@@ -561,7 +561,7 @@ create table t2 (a int not null, b char(10));
insert into t1 values (1,"t1:1"),(3,"t1:3");
insert into t2 values (2,"t2:2"), (3,"t2:3");
insert into t1 select * from t2;
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
select * from t1;
a b
1 t1:1
@@ -752,20 +752,6 @@ select * from t1;
f1 f2
1 2
drop table t1;
-create table t1(f1 int primary key auto_increment, f2 int unique);
-insert into t1(f2) values(1);
-select @@identity;
-@@identity
-1
-insert ignore t1(f2) values(1);
-select @@identity;
-@@identity
-0
-insert ignore t1(f2) select 1;
-select @@identity;
-@@identity
-0
-drop table t1;
CREATE TABLE t1 (f1 INT, f2 INT );
CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT);
INSERT INTO t1 VALUES (1,1),(2,2),(10,10);
diff --git a/mysql-test/r/insert_update.result b/mysql-test/r/insert_update.result
index 20cde86101e..704cf444681 100644
--- a/mysql-test/r/insert_update.result
+++ b/mysql-test/r/insert_update.result
@@ -26,7 +26,7 @@ a b c
3 4 1020
5 6 130
INSERT t1 VALUES (1,9,70) ON DUPLICATE KEY UPDATE c=c+100000, b=4;
-ERROR 23000: Duplicate entry '4' for key 2
+ERROR 23000: Duplicate entry '4' for key 'b'
SELECT * FROM t1;
a b c
1 2 10010
@@ -57,13 +57,13 @@ a b c VALUES(a)
8 9 60 NULL
2 1 11 NULL
explain extended SELECT *, VALUES(a) FROM t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c`,values(`test`.`t1`.`a`) AS `VALUES(a)` from `test`.`t1`
explain extended select * from t1 where values(a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 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 values(`test`.`t1`.`a`)
DROP TABLE t1;
@@ -132,7 +132,7 @@ a b c
3 4 1020
5 6 130
INSERT t1 SELECT 1,9,70 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100000, b=4;
-ERROR 23000: Duplicate entry '4' for key 2
+ERROR 23000: Duplicate entry '4' for key 'b'
SELECT * FROM t1;
a b c
1 2 10010
@@ -315,7 +315,7 @@ INSERT IGNORE INTO t1 (f1) VALUES ("test1"),("test4")
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
-1
+2
SELECT * FROM t1;
id f1
1 test1
diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result
index 80dd055a170..9b799fccf06 100644
--- a/mysql-test/r/join.result
+++ b/mysql-test/r/join.result
@@ -404,7 +404,7 @@ SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e
ORDER BY t1.b, t1.c;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 32 Using temporary; Using filesort
-1 SIMPLE t2 ALL NULL NULL NULL NULL 16 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 16 Using where; Using join buffer
SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e
ORDER BY t1.b, t1.c;
e
@@ -857,4 +857,208 @@ Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 5
drop table t1, t2, t3;
+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), key(a), key(b));
+create table t3 (a int, b int, filler char(100), key(a), key(b));
+insert into t2
+select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C;
+insert into t3 select * from t2 where a < 800;
+explain select * from t2,t3 where t2.a < 200 and t2.b=t3.b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL a,b NULL NULL NULL 1000 Using where
+1 SIMPLE t3 ref b b 5 test.t2.b 1 Using where
+drop table t1, t2, t3;
+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, primary key(a));
+insert into t2 select @v:=A.a+10*B.a, @v from t1 A, t1 B;
+explain select * from t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 10
+show status like '%cost%';
+Variable_name Value
+Last_query_cost 4.016090
+select 'The cost of accessing t1 (dont care if it changes' '^';
+The cost of accessing t1 (dont care if it changes
+The cost of accessing t1 (dont care if it changes^
+select 'vv: Following query must use ALL(t1), eq_ref(A), eq_ref(B): vv' Z;
+Z
+vv: Following query must use ALL(t1), eq_ref(A), eq_ref(B): vv
+explain select * from t1, t2 A, t2 B where A.a = t1.a and B.a=A.b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 10
+1 SIMPLE A eq_ref PRIMARY PRIMARY 4 test.t1.a 1
+1 SIMPLE B eq_ref PRIMARY PRIMARY 4 test.A.b 1
+show status like '%cost%';
+Variable_name Value
+Last_query_cost 24.016090
+select '^^: The above should be ~= 20 + cost(select * from t1). Value less than 20 is an error' Z;
+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_nested.result b/mysql-test/r/join_nested.result
index daf63579e9c..2bdac08e7fd 100644
--- a/mysql-test/r/join_nested.result
+++ b/mysql-test/r/join_nested.result
@@ -71,10 +71,10 @@ LEFT JOIN
(t3, t4)
ON t2.b=t4.b
WHERE t3.a=1 OR t3.c IS NULL;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where ((`test`.`t3`.`a` = 1) or isnull(`test`.`t3`.`c`))
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
@@ -147,11 +147,11 @@ LEFT JOIN
(t3, t4, t5)
ON t2.b=t4.b
WHERE t3.a>1 OR t3.c IS NULL;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4` join `test`.`t5`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where ((`test`.`t3`.`a` > 1) or isnull(`test`.`t3`.`c`))
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b
@@ -177,11 +177,11 @@ LEFT JOIN
ON t2.b=t4.b
WHERE (t3.a>1 OR t3.c IS NULL) AND
(t5.a<3 OR t5.c IS NULL);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b` from `test`.`t2` left join (`test`.`t3` join `test`.`t4` join `test`.`t5`) on((`test`.`t4`.`b` = `test`.`t2`.`b`)) where (((`test`.`t3`.`a` > 1) or isnull(`test`.`t3`.`c`)) and ((`test`.`t5`.`a` < 3) or isnull(`test`.`t5`.`c`)))
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b
@@ -227,10 +227,10 @@ FROM (t6, t7)
LEFT JOIN
t8
ON t7.b=t8.b AND t6.b < 10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3
-1 SIMPLE t8 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using join buffer
+1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t7`.`b` = `test`.`t8`.`b`) and (`test`.`t6`.`b` < 10))) where 1
SELECT t6.a,t6.b,t7.a,t7.b,t8.a,t8.b
@@ -542,16 +542,16 @@ ON (t3.b=2 OR t3.c IS NULL) AND (t6.b=2 OR t6.c IS NULL) AND
WHERE t0.a=1 AND
t0.b=t1.b AND
(t2.a >= 4 OR t2.c IS NULL);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3
-1 SIMPLE t8 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) where ((`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)))
SELECT t0.a,t0.b,t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,
@@ -637,17 +637,17 @@ t0.b=t1.b AND
(t8.a < 1 OR t8.c IS NULL) AND
(t8.b=t9.b OR t8.c IS NULL) AND
(t9.a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t8 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
SELECT t9.a,t9.b
@@ -834,11 +834,11 @@ RIGHT JOIN
t2
ON t3.a=1 AND t2.b=t4.b
WHERE t1.a <= 2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
+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
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using join buffer
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t1` join `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) where (`test`.`t1`.`a` <= 2)
CREATE INDEX idx_b ON t2(b);
@@ -848,11 +848,11 @@ FROM (t3,t4)
LEFT JOIN
(t1,t2)
ON t3.a=1 AND t3.b=t2.b AND t2.b=t4.b;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2
-1 SIMPLE t2 ref idx_b idx_b 5 test.t3.b 2
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
+1 SIMPLE t2 ref idx_b idx_b 5 test.t3.b 2 100.00
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t3` join `test`.`t4` left join (`test`.`t1` join `test`.`t2`) on(((`test`.`t3`.`a` = 1) and (`test`.`t3`.`b` = `test`.`t2`.`b`) and (`test`.`t2`.`b` = `test`.`t4`.`b`))) where 1
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
@@ -904,17 +904,17 @@ t0.b=t1.b AND
(t8.a < 1 OR t8.c IS NULL) AND
(t8.b=t9.b OR t8.c IS NULL) AND
(t9.a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t8 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
CREATE INDEX idx_b ON t4(b);
@@ -954,17 +954,17 @@ t0.b=t1.b AND
(t8.a < 1 OR t8.c IS NULL) AND
(t8.b=t9.b OR t8.c IS NULL) AND
(t9.a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 Using where
-1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 Using where
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t8 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 100.00 Using where
+1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
CREATE INDEX idx_b ON t8(b);
@@ -1003,17 +1003,17 @@ t0.b=t1.b AND
(t8.a < 1 OR t8.c IS NULL) AND
(t8.b=t9.b OR t8.c IS NULL) AND
(t9.a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 Using where
-1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 Using where
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 Using where
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 100.00 Using where
+1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where
+1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
CREATE INDEX idx_b ON t1(b);
@@ -1053,17 +1053,17 @@ t0.b=t1.b AND
(t8.a < 1 OR t8.c IS NULL) AND
(t8.b=t9.b OR t8.c IS NULL) AND
(t9.a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t0 ref idx_a idx_a 5 const 1 Using where
-1 SIMPLE t1 ref idx_b idx_b 5 test.t0.b 2 Using where
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t3 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 Using where
-1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 Using where
-1 SIMPLE t7 ALL NULL NULL NULL NULL 2 Using where
-1 SIMPLE t6 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 Using where
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t0 ref idx_a idx_a 5 const 1 100.00 Using where
+1 SIMPLE t1 ref idx_b idx_b 5 test.t0.b 2 100.00 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 2 100.00 Using where
+1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
+1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where
+1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`)))
SELECT t0.a,t0.b,t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index 1366a8fe97a..1e4fc91b8bd 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -169,7 +169,7 @@ usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
INSERT INTO t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
INSERT INTO t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
-ERROR 23000: Duplicate entry '2-3' for key 1
+ERROR 23000: Duplicate entry '2-3' for key 'PRIMARY'
INSERT INTO t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
SELECT t1.usr_id,t1.uniq_id,t1.increment,t2.usr2_id,t2.c_amount,t2.max FROM t1 LEFT JOIN t2 ON t2.id = t1.uniq_id WHERE t1.uniq_id = 4 ORDER BY t2.c_amount;
usr_id uniq_id increment usr2_id c_amount max
diff --git a/mysql-test/r/join_outer_innodb.result b/mysql-test/r/join_outer_innodb.result
new file mode 100644
index 00000000000..24a11b12b03
--- /dev/null
+++ b/mysql-test/r/join_outer_innodb.result
@@ -0,0 +1,19 @@
+CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
+INDEX (name)) ENGINE=InnoDB;
+CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
+FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
+INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
+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 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 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 0f1ea46bd61..fcc09a0244d 100644
--- a/mysql-test/r/key.result
+++ b/mysql-test/r/key.result
@@ -127,7 +127,7 @@ primary key (SEQNO, MOTYPEID, MOINSTANCEID, ATTRID, VALUE )
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
INSERT INTO t1 VALUES (1, 1, 1, 1, 'b');
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
-ERROR 23000: Duplicate entry '1-1-1-1-a' for key 1
+ERROR 23000: Duplicate entry '1-1-1-1-a' for key 'PRIMARY'
drop table t1;
CREATE TABLE t1 (
a tinytext NOT NULL,
@@ -242,8 +242,8 @@ create table t1 (c varchar(30) character set utf8, t text character set utf8, un
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(30) character set utf8 default NULL,
- `t` text character set utf8,
+ `c` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
+ `t` text CHARACTER SET utf8,
UNIQUE KEY `c` (`c`(2)),
UNIQUE KEY `t` (`t`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -251,13 +251,13 @@ insert t1 values ('cccc', 'tttt'),
(0xD0B1212223D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1212223D0B1D0B1D0B1D0B1),
(0xD0B1222123D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1222123D0B1D0B1D0B1D0B1);
insert t1 (c) values ('cc22');
-ERROR 23000: Duplicate entry 'cc22' for key 1
+ERROR 23000: Duplicate entry 'cc22' for key 'c'
insert t1 (t) values ('ttt22');
-ERROR 23000: Duplicate entry 'ttt22' for key 2
+ERROR 23000: Duplicate entry 'ttt22' for key 't'
insert t1 (c) values (0xD0B1212322D0B1D0B1D0B1D0B1D0B1);
-ERROR 23000: Duplicate entry 'б!#"' for key 1
+ERROR 23000: Duplicate entry 'б!#"' for key 'c'
insert t1 (t) values (0xD0B1D0B1212322D0B1D0B1D0B1D0B1);
-ERROR 23000: Duplicate entry 'бб!#"б' for key 2
+ERROR 23000: Duplicate entry 'бб!#"б' for key 't'
select c from t1 where c='cccc';
c
cccc
@@ -368,24 +368,24 @@ create table t1 (a varchar(10), b varchar(10), key(a(10),b(10)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) default NULL,
- `b` varchar(10) default NULL,
+ `a` varchar(10) DEFAULT NULL,
+ `b` varchar(10) DEFAULT NULL,
KEY `a` (`a`,`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify b varchar(20);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) default NULL,
- `b` varchar(20) default NULL,
+ `a` varchar(10) DEFAULT NULL,
+ `b` varchar(20) DEFAULT NULL,
KEY `a` (`a`,`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify a varchar(20);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(20) default NULL,
- `b` varchar(20) default NULL,
+ `a` varchar(20) DEFAULT NULL,
+ `b` varchar(20) DEFAULT NULL,
KEY `a` (`a`,`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -414,6 +414,81 @@ 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,
+c2 char(12),
+c3 varchar(123),
+c4 timestamp,
+index (c1),
+index i1 (c1),
+index i2 (c2),
+index i3 (c3),
+unique i4 (c4),
+index i5 (c1, c2, c3, c4),
+primary key (c2, c3),
+index (c2, c4));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) DEFAULT NULL,
+ `c2` char(12) NOT NULL DEFAULT '',
+ `c3` varchar(123) NOT NULL DEFAULT '',
+ `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`c2`,`c3`),
+ UNIQUE KEY `i4` (`c4`),
+ KEY `c1` (`c1`),
+ KEY `i1` (`c1`),
+ KEY `i2` (`c2`),
+ KEY `i3` (`c3`),
+ KEY `i5` (`c1`,`c2`,`c3`,`c4`),
+ KEY `c2` (`c2`,`c4`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1 drop index c1;
+alter table t1 add index (c1);
+alter table t1 add index (c1);
+alter table t1 drop index i3;
+alter table t1 add index i3 (c3);
+alter table t1 drop index i2, drop index i4;
+alter table t1 add index i2 (c2), add index i4 (c4);
+alter table t1 drop index i2, drop index i4, add index i6 (c2, c4);
+alter table t1 add index i2 (c2), add index i4 (c4), drop index i6;
+alter table t1 drop index i2, drop index i4, add unique i4 (c4);
+alter table t1 add index i2 (c2), drop index i4, add index i4 (c4);
+alter table t1 drop index c2, add index (c2(4),c3(7));
+alter table t1 drop index c2, add index (c2(4),c3(7));
+alter table t1 add primary key (c1, c2), drop primary key;
+alter table t1 drop primary key;
+alter table t1 add primary key (c1, c2), drop primary key;
+ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL DEFAULT '0',
+ `c2` char(12) NOT NULL DEFAULT '',
+ `c3` varchar(123) NOT NULL DEFAULT '',
+ `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ KEY `i1` (`c1`),
+ KEY `i5` (`c1`,`c2`,`c3`,`c4`),
+ KEY `c1` (`c1`),
+ KEY `c1_2` (`c1`),
+ KEY `i3` (`c3`),
+ KEY `i2` (`c2`),
+ KEY `i4` (`c4`),
+ KEY `c2` (`c2`(4),`c3`(7))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into t1 values(1, 'a', 'a', NULL);
+insert into t1 values(1, 'b', 'b', NULL);
+alter table t1 drop index i3, drop index i2, drop index i1;
+alter table t1 add index i3 (c3), add index i2 (c2), add unique index i1 (c1);
+ERROR 23000: Duplicate entry '1' for key 'i1'
+drop table t1;
+CREATE TABLE t1( a TINYINT, KEY(a) ) ENGINE=MyISAM;
+INSERT INTO t1 VALUES( 1 );
+ALTER TABLE t1 DISABLE KEYS;
+EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 system NULL NULL NULL NULL 1
+drop table t1;
CREATE TABLE t1 (
a INTEGER auto_increment PRIMARY KEY,
b INTEGER NOT NULL,
@@ -455,13 +530,6 @@ 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 TINYINT, KEY(a) ) ENGINE=MyISAM;
-INSERT INTO t1 VALUES( 1 );
-ALTER TABLE t1 DISABLE KEYS;
-EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
-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, unique key cc(c));
@@ -506,4 +574,33 @@ t1 CREATE TABLE `t1` (
KEY `aa` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
-End of 5.0 tests.
+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_diff.result b/mysql-test/r/key_diff.result
index c3f4f743967..9d26bee4557 100644
--- a/mysql-test/r/key_diff.result
+++ b/mysql-test/r/key_diff.result
@@ -36,7 +36,7 @@ a a a a
explain select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL a NULL NULL NULL 5
-1 SIMPLE t2 ALL b NULL NULL NULL 4 Using where
+1 SIMPLE t2 ALL b NULL NULL NULL 5 Using where; Using join buffer
select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B order by binary t1.a,t2.a;
a b a b
A B a a
diff --git a/mysql-test/r/keywords.result b/mysql-test/r/keywords.result
index c14ae584c86..5f338ad6a62 100644
--- a/mysql-test/r/keywords.result
+++ b/mysql-test/r/keywords.result
@@ -16,6 +16,22 @@ select events.binlog from events;
binlog
1
drop table events;
+create procedure p1()
+begin
+declare n int default 2;
+authors: while n > 0 do
+set n = n -1;
+end while authors;
+end|
+create procedure p2()
+begin
+declare n int default 2;
+contributors: while n > 0 do
+set n = n -1;
+end while contributors;
+end|
+drop procedure p1;
+drop procedure p2;
create table t1 (connection int, b int);
create procedure p1()
begin
diff --git a/mysql-test/r/kill.result b/mysql-test/r/kill.result
index 7ddabe74c5f..3ea5bbd20bc 100644
--- a/mysql-test/r/kill.result
+++ b/mysql-test/r/kill.result
@@ -16,7 +16,7 @@ select 4;
4
drop table t1;
kill (select count(*) from mysql.user);
-ERROR 42000: You 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(*) from mysql.user)' at line 1
+ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
create table t1 (id int primary key);
create table t2 (id int unsigned not null);
insert into t2 select id from t1;
@@ -125,3 +125,14 @@ 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
diff --git a/mysql-test/r/loaddata.result b/mysql-test/r/loaddata.result
index 7fff2700779..98e221b0dea 100644
--- a/mysql-test/r/loaddata.result
+++ b/mysql-test/r/loaddata.result
@@ -170,6 +170,15 @@ select @a, @b;
@a @b
NULL 15
truncate table t1;
+load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 set c=b;
+Warnings:
+Warning 1261 Row 1 doesn't contain data for all columns
+Warning 1261 Row 2 doesn't contain data for all columns
+select * from t1;
+a b c
+NULL 10 10
+NULL 15 15
+truncate table t1;
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
select * from t1;
a b c
@@ -252,3 +261,30 @@ SELECT * FROM t1;
c1 c2 c3 c4
10 1970-02-01 01:02:03 1.1e-100 1.1e+100
DROP TABLE t1;
+CREATE TABLE t1 (a int);
+INSERT INTO t1 VALUES (1);
+SET NAMES latin1;
+SET character_set_filesystem=filename;
+select @@character_set_filesystem;
+@@character_set_filesystem
+filename
+SELECT * INTO OUTFILE 't-1' FROM t1;
+DELETE FROM t1;
+LOAD DATA INFILE 't-1' INTO TABLE t1;
+SELECT * FROM t1;
+a
+1
+DELETE FROM t1;
+SET character_set_filesystem=latin1;
+select @@character_set_filesystem;
+@@character_set_filesystem
+latin1
+LOAD DATA INFILE 't@002d1' INTO TABLE t1;
+SELECT * FROM t1;
+a
+1
+DROP TABLE t1;
+SET character_set_filesystem=default;
+select @@character_set_filesystem;
+@@character_set_filesystem
+binary
diff --git a/mysql-test/r/loaddata_autocom_innodb.result b/mysql-test/r/loaddata_autocom_innodb.result
index 10da6b5dde7..11a07cdb783 100644
--- a/mysql-test/r/loaddata_autocom_innodb.result
+++ b/mysql-test/r/loaddata_autocom_innodb.result
@@ -1,8 +1,8 @@
SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1;
-create table t1 (a text, b text);
+create table t1 (id int unsigned not null auto_increment primary key, a text, b text);
start transaction;
-load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
+load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''' (a, b);
Warnings:
Warning 1261 Row 3 doesn't contain data for all columns
commit;
@@ -11,7 +11,7 @@ count(*)
4
truncate table t1;
start transaction;
-load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
+load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''' (a, b);
Warnings:
Warning 1261 Row 3 doesn't contain data for all columns
rollback;
diff --git a/mysql-test/r/loaddata_autocom_ndb.result b/mysql-test/r/loaddata_autocom_ndb.result
deleted file mode 100644
index 94e5f825fa2..00000000000
--- a/mysql-test/r/loaddata_autocom_ndb.result
+++ /dev/null
@@ -1,23 +0,0 @@
-SET SESSION STORAGE_ENGINE = ndbcluster;
-drop table if exists t1;
-create table t1 (a text, b text);
-start transaction;
-load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
-Warnings:
-Warning 1261 Row 3 doesn't contain data for all columns
-commit;
-select count(*) from t1;
-count(*)
-4
-truncate table t1;
-start transaction;
-load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
-Warnings:
-Warning 1261 Row 3 doesn't contain data for all columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-4
-drop table t1;
diff --git a/mysql-test/r/lock.result b/mysql-test/r/lock.result
index a5a78ecc986..6152e403637 100644
--- a/mysql-test/r/lock.result
+++ b/mysql-test/r/lock.result
@@ -69,3 +69,101 @@ ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
delete t2 from t1,t2 where t1.a=t2.a;
ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
drop table t1,t2;
+End of 4.1 tests.
+drop table if exists t1;
+create table t1 (a int);
+lock table 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;
+drop table t1;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (i INT);
+LOCK TABLES mysql.time_zone READ, mysql.proc READ, t1 READ;
+UNLOCK TABLES;
+LOCK TABLES mysql.time_zone READ, mysql.proc READ, t1 WRITE;
+UNLOCK TABLES;
+LOCK TABLES mysql.time_zone READ, mysql.proc READ;
+UNLOCK TABLES;
+LOCK TABLES mysql.time_zone WRITE, mysql.proc WRITE;
+UNLOCK TABLES;
+LOCK TABLES mysql.time_zone READ, mysql.proc WRITE, t1 READ;
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
+LOCK TABLES mysql.time_zone WRITE, mysql.proc WRITE, t1 READ;
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
+LOCK TABLES mysql.time_zone WRITE, mysql.proc WRITE, t1 WRITE;
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
+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 079f92ca420..4a0f70a7b88 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);
@@ -36,6 +36,14 @@ insert t1 select * from t2;
drop table t2;
ERROR 42S02: Table 'test.t2' doesn't exist
drop table t1;
+create table t1 (a int);
+create table t2 (a int);
+lock table t1 write, t2 write, t1 as t1_2 write, t2 as t2_2 write;
+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;
@@ -43,14 +51,6 @@ Field Type Null Key Default Extra
a int(11) YES NULL
unlock tables;
drop table t1;
-CREATE DATABASE mysqltest_1;
-FLUSH TABLES WITH READ LOCK;
-DROP DATABASE mysqltest_1;
-DROP DATABASE mysqltest_1;
-ERROR HY000: Can't execute the query because you have a conflicting read lock
-UNLOCK TABLES;
-DROP DATABASE mysqltest_1;
-ERROR HY000: Can't drop database 'mysqltest_1'; database doesn't exist
use mysql;
LOCK TABLES columns_priv WRITE, db WRITE, host WRITE, user WRITE;
FLUSH TABLES;
@@ -82,20 +82,35 @@ ERROR HY000: Table 't2' was not locked with LOCK TABLES
UNLOCK TABLES;
UNLOCK TABLES;
DROP TABLE t1;
+CREATE DATABASE mysqltest_1;
+FLUSH TABLES WITH READ LOCK;
+DROP DATABASE mysqltest_1;
+DROP DATABASE mysqltest_1;
+ERROR HY000: Can't execute the query because you have a conflicting read lock
+UNLOCK TABLES;
+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;
-drop table if exists t1;
-create table t1 (a int);
-connection: locker
-lock tables t1 read;
-connection: writer
-create table t2 like t1;;
-connection: default
-kill query
+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;
+End of 5.1 tests
diff --git a/mysql-test/r/log_state.result b/mysql-test/r/log_state.result
new file mode 100644
index 00000000000..8ecfe3b2094
--- /dev/null
+++ b/mysql-test/r/log_state.result
@@ -0,0 +1,252 @@
+set global general_log= OFF;
+truncate table mysql.general_log;
+truncate table mysql.slow_log;
+show global variables
+where Variable_name = 'log' or Variable_name = 'log_slow_queries' or
+Variable_name = 'general_log' or Variable_name = 'slow_query_log';
+Variable_name Value
+general_log OFF
+log OFF
+log_slow_queries OFF
+slow_query_log OFF
+flush logs;
+set global general_log= ON;
+create table t1(f1 int);
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST # 1 Query create table t1(f1 int)
+TIMESTAMP USER_HOST # 1 Query select * from mysql.general_log
+set global general_log= OFF;
+drop table t1;
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST # 1 Query create table t1(f1 int)
+TIMESTAMP USER_HOST # 1 Query select * from mysql.general_log
+TIMESTAMP USER_HOST # 1 Query set global general_log= OFF
+set global general_log= ON;
+flush logs;
+show global variables
+where Variable_name = 'log' or Variable_name = 'log_slow_queries' or
+Variable_name = 'general_log' or Variable_name = 'slow_query_log';
+Variable_name Value
+general_log ON
+log ON
+log_slow_queries OFF
+slow_query_log OFF
+set session long_query_time=1;
+select sleep(2);
+sleep(2)
+0
+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 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
+where Variable_name = 'log' or Variable_name = 'log_slow_queries' or
+Variable_name = 'general_log' or Variable_name = 'slow_query_log';
+Variable_name Value
+general_log ON
+log ON
+log_slow_queries ON
+slow_query_log ON
+set global general_log= ON;
+set global general_log= OFF;
+set global general_log= OFF;
+set global slow_query_log= ON;
+set global slow_query_log= OFF;
+set global slow_query_log= OFF;
+set global general_log= ON;
+truncate table mysql.general_log;
+create table t1(f1 int);
+drop table t1;
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST # 1 Query create table t1(f1 int)
+TIMESTAMP USER_HOST # 1 Query drop table t1
+TIMESTAMP USER_HOST # 1 Query select * from mysql.general_log
+set global general_log= OFF;
+truncate table mysql.general_log;
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+set global general_log= ON;
+show global variables
+where Variable_name = 'log' or Variable_name = 'log_slow_queries' or
+Variable_name = 'general_log' or Variable_name = 'slow_query_log';
+Variable_name Value
+general_log ON
+log ON
+log_slow_queries OFF
+slow_query_log OFF
+show variables like 'general_log_file';
+Variable_name Value
+general_log_file #
+show variables like 'slow_query_log_file';
+Variable_name Value
+slow_query_log_file #
+show variables like 'log_output';
+Variable_name Value
+log_output FILE,TABLE
+set global general_log_file='/not exiting path/log.master';
+ERROR 42000: Variable 'general_log_file' can't be set to the value of '/not exiting path/log.master'
+set global general_log_file='MYSQLTEST_VARDIR';
+ERROR 42000: Variable 'general_log_file' can't be set to the value of 'MYSQLTEST_VARDIR'
+set global general_log_file='';
+ERROR 42000: Variable 'general_log_file' can't be set to the value of ''
+show variables like 'general_log_file';
+Variable_name Value
+general_log_file #
+set global general_log= OFF;
+set global general_log_file='MYSQLTEST_VARDIR/tmp/log.master';
+set global general_log= ON;
+create table t1(f1 int);
+drop table t1;
+set global general_log= OFF;
+set global general_log_file=default;
+set global general_log= ON;
+create table t1(f1 int);
+drop table t1;
+show variables like 'general_log_file';
+Variable_name Value
+general_log_file #
+show variables like 'slow_query_log_file';
+Variable_name Value
+slow_query_log_file #
+set global general_log= default;
+set global slow_query_log= default;
+set global general_log_file= default;
+set global slow_query_log_file= default;
+show variables like 'general_log';
+Variable_name Value
+general_log OFF
+show variables like 'slow_query_log';
+Variable_name Value
+slow_query_log OFF
+set global general_log=ON;
+set global log_output=default;
+show variables like 'log_output';
+Variable_name Value
+log_output FILE
+set global general_log=OFF;
+set global log_output=FILE;
+truncate table mysql.general_log;
+show variables like 'log_output';
+Variable_name Value
+log_output FILE
+set global general_log=ON;
+create table t1(f1 int);
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+set global general_log=OFF;
+set global log_output="FILE,TABLE";
+show variables like 'log_output';
+Variable_name Value
+log_output FILE,TABLE
+set global general_log=ON;
+drop table t1;
+select * from mysql.general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST # 1 Query drop table t1
+TIMESTAMP USER_HOST # 1 Query select * from mysql.general_log
+SET @old_general_log_state = @@global.general_log;
+SET @old_slow_log_state = @@global.slow_query_log;
+SET GLOBAL general_log = ON;
+SET GLOBAL slow_query_log = ON;
+FLUSH TABLES WITH READ LOCK;
+SET GLOBAL general_log = OFF;
+SET GLOBAL slow_query_log = OFF;
+UNLOCK TABLES;
+FLUSH TABLES WITH READ LOCK;
+SET GLOBAL general_log = ON;
+SET GLOBAL slow_query_log = ON;
+UNLOCK TABLES;
+SET GLOBAL READ_ONLY = ON;
+SET GLOBAL general_log = OFF;
+SET GLOBAL slow_query_log = OFF;
+SET GLOBAL READ_ONLY = OFF;
+SET GLOBAL READ_ONLY = ON;
+SET GLOBAL general_log = ON;
+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-big.result b/mysql-test/r/log_tables-big.result
new file mode 100644
index 00000000000..9b81127c825
--- /dev/null
+++ b/mysql-test/r/log_tables-big.result
@@ -0,0 +1,29 @@
+set session long_query_time=10;
+select get_lock('bug27638', 1);
+get_lock('bug27638', 1)
+1
+set session long_query_time=1;
+truncate table mysql.slow_log;
+select get_lock('bug27638', 2);
+get_lock('bug27638', 2)
+0
+select if (query_time between '00:00:01' and '00:00:10', 'OK', 'WRONG') as qt, sql_text from mysql.slow_log;
+qt sql_text
+OK select get_lock('bug27638', 2)
+truncate table mysql.slow_log;
+select get_lock('bug27638', 60);
+get_lock('bug27638', 60)
+0
+select if (query_time between '00:00:59' and '00:01:10', 'OK', 'WRONG') as qt, sql_text from mysql.slow_log;
+qt sql_text
+OK select get_lock('bug27638', 60)
+truncate table mysql.slow_log;
+select get_lock('bug27638', 101);
+get_lock('bug27638', 101)
+0
+select if (query_time between '00:01:40' and '00:01:50', 'OK', 'WRONG') as qt, sql_text from mysql.slow_log;
+qt sql_text
+OK select get_lock('bug27638', 101)
+select release_lock('bug27638');
+release_lock('bug27638')
+1
diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result
new file mode 100644
index 00000000000..0a7634df85a
--- /dev/null
+++ b/mysql-test/r/log_tables.result
@@ -0,0 +1,851 @@
+use mysql;
+truncate table general_log;
+select * from general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log
+truncate table slow_log;
+select * from slow_log;
+start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text
+truncate table general_log;
+select * from general_log where argument like '%general_log%';
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log where argument like '%general_log%'
+create table join_test (verbose_comment varchar (80), command_type varchar(64));
+insert into join_test values ("User performed a usual SQL query", "Query");
+insert into join_test values ("New DB connection was registered", "Connect");
+insert into join_test values ("Get the table info", "Field List");
+select verbose_comment, user_host, argument
+from mysql.general_log join join_test
+on (mysql.general_log.command_type = join_test.command_type);
+verbose_comment user_host argument
+User performed a usual SQL query USER_HOST select * from general_log where argument like '%general_log%'
+User performed a usual SQL query USER_HOST create table join_test (verbose_comment varchar (80), command_type varchar(64))
+User performed a usual SQL query USER_HOST insert into join_test values ("User performed a usual SQL query", "Query")
+User performed a usual SQL query USER_HOST insert into join_test values ("New DB connection was registered", "Connect")
+User performed a usual SQL query USER_HOST insert into join_test values ("Get the table info", "Field List")
+User performed a usual SQL query USER_HOST select verbose_comment, user_host, argument
+from mysql.general_log join join_test
+on (mysql.general_log.command_type = join_test.command_type)
+drop table join_test;
+flush logs;
+lock tables mysql.general_log WRITE;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.slow_log WRITE;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.general_log READ;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.slow_log READ;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.slow_log READ LOCAL, mysql.general_log READ LOCAL;
+ERROR HY000: You can't use locks with log tables.
+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 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 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` (
+ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user_host` mediumtext NOT NULL,
+ `query_time` time NOT NULL,
+ `lock_time` time NOT NULL,
+ `rows_sent` int(11) NOT NULL,
+ `rows_examined` int(11) NOT 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 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;
+SET GLOBAL SLOW_QUERY_LOG=ON;
+show open tables;
+Database Table In_use Name_locked
+mysql general_log 0 0
+flush logs;
+show open tables;
+Database Table In_use Name_locked
+mysql general_log 0 0
+flush tables;
+show open tables;
+Database Table In_use Name_locked
+mysql general_log 0 0
+SET GLOBAL GENERAL_LOG=OFF;
+SET GLOBAL SLOW_QUERY_LOG=OFF;
+flush tables;
+show open tables;
+Database Table In_use Name_locked
+SET GLOBAL GENERAL_LOG=ON;
+SET GLOBAL SLOW_QUERY_LOG=ON;
+truncate table mysql.general_log;
+set names utf8;
+create table bug16905 (s char(15) character set utf8 default 'пусто');
+insert into bug16905 values ('новое');
+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 utf8
+TIMESTAMP USER_HOST THREAD_ID 1 Query create table bug16905 (s char(15) character set utf8 default 'пусто')
+TIMESTAMP USER_HOST THREAD_ID 1 Query insert into bug16905 values ('новое')
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log
+drop table bug16905;
+truncate table mysql.slow_log;
+set session long_query_time=1;
+select sleep(2);
+sleep(2)
+0
+select * from mysql.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 mysql 0 0 1 select sleep(2)
+alter table mysql.general_log engine=myisam;
+ERROR HY000: You cannot 'ALTER' a log table if logging is enabled
+alter table mysql.slow_log engine=myisam;
+ERROR HY000: You cannot 'ALTER' a log table if logging is enabled
+drop table mysql.general_log;
+ERROR HY000: You cannot 'DROP' a log table if logging is enabled
+drop table mysql.slow_log;
+ERROR HY000: You cannot 'DROP' a log table if logging is enabled
+set global general_log='OFF';
+alter table mysql.slow_log engine=myisam;
+ERROR HY000: You cannot 'ALTER' a log table if logging is enabled
+set global slow_query_log='OFF';
+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 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
+slow_log CREATE TABLE `slow_log` (
+ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user_host` mediumtext NOT NULL,
+ `query_time` time NOT NULL,
+ `lock_time` time NOT NULL,
+ `rows_sent` int(11) NOT NULL,
+ `rows_examined` int(11) NOT 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;
+alter table mysql.slow_log engine=myisam;
+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 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
+slow_log CREATE TABLE `slow_log` (
+ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user_host` mediumtext NOT NULL,
+ `query_time` time NOT NULL,
+ `lock_time` time NOT NULL,
+ `rows_sent` int(11) NOT NULL,
+ `rows_examined` int(11) NOT 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';
+set global slow_query_log='ON';
+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 utf8
+TIMESTAMP USER_HOST THREAD_ID 1 Query create table bug16905 (s char(15) character set utf8 default 'пусто')
+TIMESTAMP USER_HOST THREAD_ID 1 Query insert into bug16905 values ('новое')
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query drop table bug16905
+TIMESTAMP USER_HOST THREAD_ID 1 Query truncate table mysql.slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query set session long_query_time=1
+TIMESTAMP USER_HOST THREAD_ID 1 Query select sleep(2)
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.general_log engine=myisam
+TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.slow_log engine=myisam
+TIMESTAMP USER_HOST THREAD_ID 1 Query drop table mysql.general_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query drop table mysql.slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query set global general_log='OFF'
+TIMESTAMP USER_HOST THREAD_ID 1 Query set global slow_query_log='ON'
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.general_log
+flush logs;
+lock tables mysql.general_log WRITE;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.slow_log WRITE;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.general_log READ;
+ERROR HY000: You can't use locks with log tables.
+lock tables mysql.slow_log READ;
+ERROR HY000: You can't use locks with log tables.
+set global general_log='OFF';
+set global slow_query_log='OFF';
+set @save_storage_engine= @@session.storage_engine;
+set storage_engine= MEMORY;
+alter table mysql.slow_log engine=ndb;
+ERROR HY000: This storage engine cannot be used for log tables"
+alter table mysql.slow_log engine=innodb;
+ERROR HY000: This storage engine cannot be used for log tables"
+alter table mysql.slow_log engine=archive;
+ERROR HY000: This storage engine cannot be used for log tables"
+alter table mysql.slow_log engine=blackhole;
+ERROR HY000: This storage engine cannot be used for log tables"
+set storage_engine= @save_storage_engine;
+drop table mysql.slow_log;
+drop table mysql.general_log;
+drop table mysql.general_log;
+ERROR 42S02: Unknown table 'general_log'
+drop table mysql.slow_log;
+ERROR 42S02: Unknown table 'slow_log'
+use mysql;
+CREATE TABLE `general_log` (
+`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
+ON UPDATE CURRENT_TIMESTAMP,
+`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
+ON UPDATE CURRENT_TIMESTAMP,
+`user_host` mediumtext NOT NULL,
+`query_time` time NOT NULL,
+`lock_time` time NOT NULL,
+`rows_sent` int(11) NOT NULL,
+`rows_examined` int(11) NOT 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';
+set global slow_query_log='ON';
+use test;
+flush tables with read lock;
+unlock tables;
+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'
+RENAME TABLE slow_log TO renamed_slow_log;
+ERROR HY000: Cannot rename 'slow_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'slow_log'
+truncate table general_log;
+select * from general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log
+truncate table slow_log;
+select * from slow_log;
+start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text
+create table general_log_new like general_log;
+rename table general_log TO renamed_general_log, general_log_new TO general_log;
+create table slow_log_new like slow_log;
+rename table slow_log TO renamed_slow_log, slow_log_new TO slow_log;
+rename table general_log TO general_log_new, renamed_general_log TO general_log, slow_log to renamed_slow_log;
+ERROR HY000: Cannot rename 'slow_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'slow_log'
+select * from general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query create table slow_log_new like slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query rename table slow_log TO renamed_slow_log, slow_log_new TO slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query rename table general_log TO general_log_new, renamed_general_log TO general_log, slow_log to renamed_slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log
+select * from renamed_general_log;
+event_time user_host thread_id server_id command_type argument
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from general_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query truncate table slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query select * from slow_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query create table general_log_new like general_log
+TIMESTAMP USER_HOST THREAD_ID 1 Query rename table general_log TO renamed_general_log, general_log_new TO general_log
+select * from slow_log;
+start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text
+select * from renamed_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 general_log='OFF';
+RENAME TABLE general_log TO general_log2;
+set global slow_query_log='OFF';
+RENAME TABLE slow_log TO slow_log2;
+set global general_log='ON';
+ERROR 42S02: Table 'mysql.general_log' doesn't exist
+set global slow_query_log='ON';
+ERROR 42S02: Table 'mysql.slow_log' doesn't exist
+RENAME TABLE general_log2 TO general_log;
+RENAME TABLE slow_log2 TO slow_log;
+set global general_log='ON';
+set global slow_query_log='ON';
+flush logs;
+flush logs;
+drop table renamed_general_log, renamed_slow_log;
+use test;
+use mysql;
+repair table general_log;
+Table Op Msg_type Msg_text
+mysql.general_log repair status OK
+repair table slow_log;
+Table Op Msg_type Msg_text
+mysql.slow_log repair status OK
+create table general_log_new like general_log;
+create table slow_log_new like slow_log;
+show tables like "%log%";
+Tables_in_mysql (%log%)
+general_log
+general_log_new
+ndb_binlog_index
+slow_log
+slow_log_new
+drop table slow_log_new, general_log_new;
+use test;
+SET GLOBAL LOG_OUTPUT = 'TABLE';
+SET GLOBAL general_log = 0;
+FLUSH LOGS;
+TRUNCATE TABLE mysql.general_log;
+ALTER TABLE mysql.general_log ENGINE = MyISAM;
+ALTER TABLE mysql.general_log
+ADD COLUMN seq BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;
+SET GLOBAL general_log = 1;
+FLUSH LOGS;
+SELECT * FROM mysql.general_log;
+event_time user_host thread_id server_id command_type argument seq
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query FLUSH LOGS 1
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 2
+SELECT * FROM mysql.general_log;
+event_time user_host thread_id server_id command_type argument seq
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query FLUSH LOGS 1
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 2
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 3
+SELECT "My own query 1";
+My own query 1
+My own query 1
+SELECT "My own query 2";
+My own query 2
+My own query 2
+SELECT * FROM mysql.general_log;
+event_time user_host thread_id server_id command_type argument seq
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query FLUSH LOGS 1
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 2
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 3
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT "My own query 1" 4
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT "My own query 2" 5
+EVENT_TIME USER_HOST THREAD_ID SERVER_ID Query SELECT * FROM mysql.general_log 6
+SET GLOBAL general_log = 0;
+FLUSH LOGS;
+ALTER TABLE mysql.general_log DROP COLUMN seq;
+ALTER TABLE mysql.general_log ENGINE = CSV;
+SET @old_long_query_time:=@@long_query_time;
+SET GLOBAL slow_query_log = 0;
+FLUSH LOGS;
+TRUNCATE TABLE mysql.slow_log;
+ALTER TABLE mysql.slow_log ENGINE = MyISAM;
+ALTER TABLE mysql.slow_log
+ADD COLUMN seq BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;
+SET SESSION long_query_time = 1;
+SET GLOBAL slow_query_log = 1;
+FLUSH LOGS;
+SELECT "My own slow query", sleep(2);
+My own slow query sleep(2)
+My own slow query 0
+SELECT "My own slow query", sleep(2);
+My own slow query sleep(2)
+My own slow query 0
+SELECT "My own slow query", sleep(2);
+My own slow query sleep(2)
+My own slow query 0
+SELECT "My own slow query", sleep(2);
+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 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;
+ALTER TABLE mysql.slow_log DROP COLUMN seq;
+ALTER TABLE mysql.slow_log ENGINE = CSV;
+drop procedure if exists proc25422_truncate_slow;
+drop procedure if exists proc25422_truncate_general;
+drop procedure if exists proc25422_alter_slow;
+drop procedure if exists proc25422_alter_general;
+use test//
+create procedure proc25422_truncate_slow (loops int)
+begin
+declare v1 int default 0;
+declare continue handler for sqlexception /* errors from truncate */
+begin end;
+while v1 < loops do
+truncate mysql.slow_log;
+set v1 = v1 + 1;
+end while;
+end//
+create procedure proc25422_truncate_general (loops int)
+begin
+declare v1 int default 0;
+declare continue handler for sqlexception /* errors from truncate */
+begin end;
+while v1 < loops do
+truncate mysql.general_log;
+set v1 = v1 + 1;
+end while;
+end//
+create procedure proc25422_alter_slow (loops int)
+begin
+declare v1 int default 0;
+declare ER_BAD_LOG_STATEMENT condition for 1575;
+declare continue handler for ER_BAD_LOG_STATEMENT begin end;
+while v1 < loops do
+set @old_log_state = @@global.slow_query_log;
+set global slow_query_log = 'OFF';
+alter table mysql.slow_log engine = CSV;
+set global slow_query_log = @old_log_state;
+set v1 = v1 + 1;
+end while;
+end//
+create procedure proc25422_alter_general (loops int)
+begin
+declare v1 int default 0;
+declare ER_BAD_LOG_STATEMENT condition for 1575;
+declare continue handler for ER_BAD_LOG_STATEMENT begin end;
+while v1 < loops do
+set @old_log_state = @@global.general_log;
+set global general_log = 'OFF';
+alter table mysql.general_log engine = CSV;
+set global general_log = @old_log_state;
+set v1 = v1 + 1;
+end while;
+end//
+set @iterations=100;
+"Serial test (proc25422_truncate_slow)"
+call proc25422_truncate_slow(@iterations);
+"Serial test (proc25422_truncate_general)"
+call proc25422_truncate_general(@iterations);
+"Serial test (proc25422_alter_slow)"
+call proc25422_alter_slow(@iterations);
+"Serial test (proc25422_alter_general)"
+call proc25422_alter_general(@iterations);
+"Parallel test"
+call proc25422_truncate_slow(@iterations);
+call proc25422_truncate_slow(@iterations);
+call proc25422_truncate_general(@iterations);
+call proc25422_truncate_general(@iterations);
+call proc25422_alter_slow(@iterations);
+call proc25422_alter_slow(@iterations);
+call proc25422_alter_general(@iterations);
+call proc25422_alter_general(@iterations);
+drop procedure proc25422_truncate_slow;
+drop procedure proc25422_truncate_general;
+drop procedure proc25422_alter_slow;
+drop procedure proc25422_alter_general;
+FLUSH TABLE mysql.general_log;
+show warnings;
+Level Code Message
+FLUSH TABLE mysql.slow_log;
+show warnings;
+Level Code Message
+DROP TABLE IF EXISTS `db_17876.slow_log_data`;
+DROP TABLE IF EXISTS `db_17876.general_log_data`;
+DROP PROCEDURE IF EXISTS `db_17876.archiveSlowLog`;
+DROP PROCEDURE IF EXISTS `db_17876.archiveGeneralLog`;
+DROP DATABASE IF EXISTS `db_17876`;
+CREATE DATABASE db_17876;
+CREATE TABLE `db_17876.slow_log_data` (
+`start_time` timestamp default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+`user_host` mediumtext ,
+`query_time` time ,
+`lock_time` time ,
+`rows_sent` int(11) ,
+`rows_examined` int(11) ,
+`db` varchar(512) default NULL,
+`last_insert_id` int(11) default NULL,
+`insert_id` int(11) default NULL,
+`server_id` int(11) default NULL,
+`sql_text` mediumtext
+);
+CREATE TABLE `db_17876.general_log_data` (
+`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
+);
+CREATE procedure `db_17876.archiveSlowLog`()
+BEGIN
+DECLARE start_time, query_time, lock_time CHAR(20);
+DECLARE user_host MEDIUMTEXT;
+DECLARE rows_set, rows_examined, last_insert_id, insert_id, server_id INT;
+DECLARE dbname MEDIUMTEXT;
+DECLARE sql_text BLOB;
+DECLARE done INT DEFAULT 0;
+DECLARE ER_SP_FETCH_NO_DATA CONDITION for 1329;
+DECLARE cur1 CURSOR FOR SELECT * FROM mysql.slow_log;
+OPEN cur1;
+REPEAT
+BEGIN
+BEGIN
+DECLARE CONTINUE HANDLER FOR ER_SP_FETCH_NO_DATA SET done = 1;
+FETCH cur1 INTO
+start_time, user_host, query_time, lock_time,
+rows_set, rows_examined, dbname, last_insert_id,
+insert_id, server_id, sql_text;
+END;
+IF NOT done THEN
+BEGIN
+INSERT INTO
+`db_17876.slow_log_data`
+ VALUES(start_time, user_host, query_time, lock_time, rows_set, rows_examined,
+dbname, last_insert_id, insert_id, server_id, sql_text);
+END;
+END IF;
+END;
+UNTIL done END REPEAT;
+CLOSE cur1;
+TRUNCATE mysql.slow_log;
+END //
+CREATE procedure `db_17876.archiveGeneralLog`()
+BEGIN
+DECLARE event_time CHAR(20);
+DECLARE user_host, argument MEDIUMTEXT;
+DECLARE thread_id, server_id INT;
+DECLARE sql_text BLOB;
+DECLARE done INT DEFAULT 0;
+DECLARE command_type VARCHAR(64);
+DECLARE ER_SP_FETCH_NO_DATA CONDITION for 1329;
+DECLARE cur1 CURSOR FOR SELECT * FROM mysql.general_log;
+OPEN cur1;
+REPEAT
+BEGIN
+BEGIN
+DECLARE CONTINUE HANDLER FOR ER_SP_FETCH_NO_DATA SET done = 1;
+FETCH cur1 INTO
+event_time, user_host, thread_id, server_id,
+command_type, argument;
+END;
+IF NOT done THEN
+BEGIN
+INSERT INTO
+`db_17876.general_log_data`
+ VALUES(event_time, user_host, thread_id, server_id,
+command_type, argument);
+END;
+END IF;
+END;
+UNTIL done END REPEAT;
+CLOSE cur1;
+TRUNCATE mysql.general_log;
+END //
+SET @old_general_log_state = @@global.general_log;
+SET @old_slow_log_state = @@global.slow_query_log;
+SET GLOBAL general_log = ON;
+SET GLOBAL slow_query_log = ON;
+select "put something into general_log";
+put something into general_log
+put something into general_log
+select "... and something more ...";
+... and something more ...
+... and something more ...
+call `db_17876.archiveSlowLog`();
+call `db_17876.archiveGeneralLog`();
+SET GLOBAL general_log = OFF;
+SET GLOBAL slow_query_log = OFF;
+call `db_17876.archiveSlowLog`();
+call `db_17876.archiveGeneralLog`();
+DROP TABLE `db_17876.slow_log_data`;
+DROP TABLE `db_17876.general_log_data`;
+DROP PROCEDURE IF EXISTS `db_17876.archiveSlowLog`;
+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_table.result b/mysql-test/r/lowercase_table.result
index 6df3cf61ddb..464f423fa92 100644
--- a/mysql-test/r/lowercase_table.result
+++ b/mysql-test/r/lowercase_table.result
@@ -90,7 +90,7 @@ create table İ (s1 int);
show create table İ;
Table Create Table
İ CREATE TABLE `i` (
- `s1` int(11) default NULL
+ `s1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show tables;
Tables_in_test
@@ -100,7 +100,7 @@ create table İİ (s1 int);
show create table İİ;
Table Create Table
İİ CREATE TABLE `ii` (
- `s1` int(11) default NULL
+ `s1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show tables;
Tables_in_test
diff --git a/mysql-test/r/lowercase_table2.result b/mysql-test/r/lowercase_table2.result
index e369fb7e482..51c2ac0faf5 100644
--- a/mysql-test/r/lowercase_table2.result
+++ b/mysql-test/r/lowercase_table2.result
@@ -13,7 +13,7 @@ T1
SHOW CREATE TABLE T1;
Table Create Table
T1 CREATE TABLE `T1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
RENAME TABLE T1 TO T2;
SHOW TABLES LIKE "T2";
@@ -68,7 +68,7 @@ T1
SHOW CREATE TABLE T1;
Table Create Table
T1 CREATE TABLE `T1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
RENAME TABLE T1 TO T2;
SHOW TABLES LIKE "T2";
diff --git a/mysql-test/r/lowercase_table3.result b/mysql-test/r/lowercase_table3.result
index 995a2c0d08a..14cff4f98c9 100644
--- a/mysql-test/r/lowercase_table3.result
+++ b/mysql-test/r/lowercase_table3.result
@@ -4,7 +4,7 @@ SELECT * from T1;
a
drop table t1;
flush tables;
-CREATE TABLE t1 (a int) ENGINE=INNODB;
-SELECT * from T1;
-ERROR 42S02: Table 'test.T1' doesn't exist
-drop table t1;
+CREATE TABLE bug29839 (a int) ENGINE=INNODB;
+SELECT * from BUG29839;
+ERROR 42S02: Table 'test.BUG29839' doesn't exist
+drop table bug29839;
diff --git a/mysql-test/r/lowercase_table_grant.result b/mysql-test/r/lowercase_table_grant.result
index c3813d57074..afb54f8c472 100644
--- a/mysql-test/r/lowercase_table_grant.result
+++ b/mysql-test/r/lowercase_table_grant.result
@@ -6,8 +6,8 @@ Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
select * from db where user = 'mysqltest_1';
-Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv
-localhost mysqltest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y
+Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
+localhost mysqltest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y
update db set db = 'MYSQLtest' where db = 'mysqltest' and user = 'mysqltest_1' and host = 'localhost';
flush privileges;
show grants for mysqltest_1@localhost;
@@ -15,8 +15,8 @@ Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
select * from db where user = 'mysqltest_1';
-Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv
-localhost MYSQLtest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y
+Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
+localhost MYSQLtest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y
delete from db where db = 'MYSQLtest' and user = 'mysqltest_1' and host = 'localhost';
flush privileges;
drop user mysqltest_1@localhost;
diff --git a/mysql-test/r/lowercase_view.result b/mysql-test/r/lowercase_view.result
index a89b79263c5..c37dc41c495 100644
--- a/mysql-test/r/lowercase_view.result
+++ b/mysql-test/r/lowercase_view.result
@@ -6,8 +6,8 @@ use MySQLTest;
create table TaB (Field int);
create view ViE as select * from TAb;
show create table VIe;
-View Create View
-vie CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vie` AS select `tab`.`Field` AS `Field` from `tab`
+View Create View character_set_client collation_connection
+vie CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vie` AS select `tab`.`Field` AS `Field` from `tab` latin1 latin1_swedish_ci
drop database MySQLTest;
use test;
create table t1Aa (col1 int);
@@ -118,8 +118,8 @@ drop table t1Aa,t2Aa;
create table t1Aa (col1 int);
create view v1Aa as select col1 from t1Aa as AaA;
show create view v1AA;
-View Create View
-v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa`
+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
drop view v1AA;
select Aaa.col1 from t1Aa as AaA;
col1
@@ -127,8 +127,8 @@ create view v1Aa as select Aaa.col1 from t1Aa as AaA;
drop view v1AA;
create view v1Aa as select AaA.col1 from t1Aa as AaA;
show create view v1AA;
-View Create View
-v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa`
+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
drop view v1AA;
drop table t1Aa;
CREATE TABLE t1 (a int, b int);
@@ -141,8 +141,8 @@ 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
-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)
+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;
diff --git a/mysql-test/r/merge-big.result b/mysql-test/r/merge-big.result
new file mode 100644
index 00000000000..82fedc1df73
--- /dev/null
+++ b/mysql-test/r/merge-big.result
@@ -0,0 +1,77 @@
+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;
+#
+# Extra tests for Bug#26379 - Combination of FLUSH TABLE and
+# REPAIR TABLE corrupts a MERGE table
+#
+CREATE TABLE t1 (c1 INT);
+CREATE TABLE t2 (c1 INT);
+CREATE TABLE t3 (c1 INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+INSERT INTO t3 VALUES (3);
+#
+# CREATE ... SELECT
+# try to access parent from another thread.
+#
+# connection con1
+SET SESSION debug="+d,sleep_create_select_before_lock";
+CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2)
+INSERT_METHOD=FIRST SELECT * FROM t3;
+# connection default
+# Now try to access the parent.
+# If 3 is in table, SELECT had to wait.
+SELECT * FROM t4 ORDER BY c1;
+c1
+1
+2
+3
+# connection con1
+SET SESSION debug="-d,sleep_create_select_before_lock";
+# connection default
+# Cleanup for next test.
+DROP TABLE t4;
+DELETE FROM t1 WHERE c1 != 1;
+#
+# CREATE ... SELECT
+# try to access child from another thread.
+#
+# connection con1
+SET SESSION debug="+d,sleep_create_select_before_lock";
+CREATE TABLE t4 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2)
+INSERT_METHOD=FIRST SELECT * FROM t3;
+# connection default
+# Now try to access a child.
+# If 3 is in table, SELECT had to wait.
+SELECT * FROM t1 ORDER BY c1;
+c1
+1
+3
+# connection con1
+SET SESSION debug="-d,sleep_create_select_before_lock";
+# connection default
+DROP TABLE t1, t2, t3, t4;
diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result
index 2ceae95dfca..a709817b7ef 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
@@ -173,7 +173,7 @@ show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`a` int(11) NOT NULL,
- `b` char(20) default NULL,
+ `b` char(20) DEFAULT NULL,
KEY `a` (`a`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`,`t2`)
create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2);
@@ -181,6 +181,9 @@ select * from t4;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
alter table t4 add column c int;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+flush tables;
+select * from t4;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
create database mysqltest;
create table mysqltest.t6 (a int not null primary key auto_increment, message char(20));
create table t5 (a int not null, b char(20), key(a)) engine=MERGE UNION=(test.t1,mysqltest.t6);
@@ -188,7 +191,7 @@ show create table t5;
Table Create Table
t5 CREATE TABLE `t5` (
`a` int(11) NOT NULL,
- `b` char(20) default NULL,
+ `b` char(20) DEFAULT NULL,
KEY `a` (`a`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`,`mysqltest`.`t6`)
alter table t5 engine=myisam;
@@ -262,7 +265,7 @@ Table Create Table
t3 CREATE TABLE `t3` (
`incr` int(11) NOT NULL,
`othr` int(11) NOT NULL,
- PRIMARY KEY (`incr`)
+ PRIMARY KEY (`incr`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`,`t2`)
alter table t3 drop primary key;
show create table t3;
@@ -274,7 +277,7 @@ t3 CREATE TABLE `t3` (
drop table t3,t2,t1;
create table t1 (a int not null, key(a)) engine=merge;
select * from t1;
-a
+ERROR HY000: Got error 124 from storage engine
drop table t1;
create table t1 (a int not null, b int not null, key(a,b));
create table t2 (a int not null, b int not null, key(a,b));
@@ -311,15 +314,15 @@ show create table t5;
Table Create Table
t5 CREATE TABLE `t5` (
`a` int(11) NOT NULL,
- `b` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`a`,`b`)
+ `b` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`a`,`b`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=FIRST UNION=(`t1`,`t2`)
show create table t6;
Table Create Table
t6 CREATE TABLE `t6` (
`a` int(11) NOT NULL,
- `b` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`a`,`b`)
+ `b` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`a`,`b`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t1`,`t2`)
insert into t1 values (1,NULL),(1,NULL),(1,NULL),(1,NULL);
insert into t2 values (2,NULL),(2,NULL),(2,NULL),(2,NULL);
@@ -545,9 +548,9 @@ select * from t4 where a+0 > 90;
a b
99 1
insert t5 values (1,1);
-ERROR 23000: Duplicate entry '1-1' for key 1
+ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
insert t6 values (2,1);
-ERROR 23000: Duplicate entry '2-1' for key 1
+ERROR 23000: Duplicate entry '2-1' for key 'PRIMARY'
insert t5 values (1,1) on duplicate key update b=b+10;
insert t6 values (2,1) on duplicate key update b=b+20;
select * from t5 where a < 3;
@@ -581,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);
@@ -594,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 '',
@@ -647,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),
@@ -781,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);
@@ -846,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;
@@ -919,3 +965,1022 @@ id ref
4 5
DROP TABLE t1, t2, t3;
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 UNION=()
+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 UNION=()
+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
new file mode 100644
index 00000000000..cabc4de8d21
--- /dev/null
+++ b/mysql-test/r/mix2_myisam.result
@@ -0,0 +1,2163 @@
+SET SESSION STORAGE_ENGINE = MEMORY;
+drop table if exists t1,t2,t3,t4;
+drop database if exists mysqltest;
+create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=MyISAM;
+insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
+select id, code, name from t1 order by id;
+id code name
+1 1 Tim
+2 1 Monty
+3 2 David
+4 2 Erik
+5 3 Sasha
+6 3 Jeremy
+7 4 Matt
+update ignore t1 set id = 8, name = 'Sinisa' where id < 3;
+select id, code, name from t1 order by id;
+id code name
+2 1 Monty
+3 2 David
+4 2 Erik
+5 3 Sasha
+6 3 Jeremy
+7 4 Matt
+8 1 Sinisa
+update ignore t1 set id = id + 10, name = 'Ralph' where id < 4;
+select id, code, name from t1 order by id;
+id code name
+3 2 David
+4 2 Erik
+5 3 Sasha
+6 3 Jeremy
+7 4 Matt
+8 1 Sinisa
+12 1 Ralph
+drop table t1;
+CREATE TABLE t1 (
+id int(11) NOT NULL auto_increment,
+parent_id int(11) DEFAULT '0' NOT NULL,
+level tinyint(4) DEFAULT '0' NOT NULL,
+PRIMARY KEY (id),
+KEY parent_id (parent_id),
+KEY level (level)
+) engine=MyISAM;
+INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
+update t1 set parent_id=parent_id+100;
+select * from t1 where parent_id=102;
+id parent_id level
+8 102 2
+9 102 2
+15 102 2
+update t1 set id=id+1000;
+update t1 set id=1024 where id=1009;
+Got one of the listed errors
+select * from t1;
+id parent_id level
+1001 100 0
+1003 101 1
+1004 101 1
+1008 102 2
+1009 102 2
+1017 103 2
+1022 104 2
+1024 104 2
+1028 105 2
+1029 105 2
+1030 105 2
+1031 106 2
+1032 106 2
+1033 106 2
+1203 107 2
+1202 107 2
+1020 103 2
+1157 100 0
+1193 105 2
+1040 107 2
+1002 101 1
+1015 102 2
+1006 101 1
+1034 106 2
+1035 106 2
+1016 103 2
+1007 101 1
+1036 107 2
+1018 103 2
+1026 105 2
+1027 105 2
+1183 104 2
+1038 107 2
+1025 105 2
+1037 107 2
+1021 104 2
+1019 103 2
+1005 101 1
+1179 105 2
+update ignore t1 set id=id+1;
+select * from t1;
+id parent_id level
+1001 100 0
+1003 101 1
+1004 101 1
+1008 102 2
+1010 102 2
+1017 103 2
+1023 104 2
+1024 104 2
+1028 105 2
+1029 105 2
+1030 105 2
+1031 106 2
+1032 106 2
+1033 106 2
+1204 107 2
+1203 107 2
+1020 103 2
+1158 100 0
+1194 105 2
+1041 107 2
+1002 101 1
+1015 102 2
+1006 101 1
+1034 106 2
+1035 106 2
+1016 103 2
+1007 101 1
+1036 107 2
+1018 103 2
+1026 105 2
+1027 105 2
+1184 104 2
+1039 107 2
+1025 105 2
+1038 107 2
+1022 104 2
+1019 103 2
+1005 101 1
+1180 105 2
+update ignore t1 set id=1023 where id=1010;
+select * from t1 where parent_id=102;
+id parent_id level
+1008 102 2
+1010 102 2
+1015 102 2
+explain select level from t1 where level=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref level level 1 const # Using index
+explain select level,id from t1 where level=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref level level 1 const #
+explain select level,id,parent_id from t1 where level=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref level level 1 const #
+select level,id from t1 where level=1;
+level id
+1 1003
+1 1004
+1 1002
+1 1006
+1 1007
+1 1005
+select level,id,parent_id from t1 where level=1;
+level id parent_id
+1 1003 101
+1 1004 101
+1 1002 101
+1 1006 101
+1 1007 101
+1 1005 101
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+show keys from t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 0 PRIMARY 1 id A # NULL NULL BTREE
+t1 1 parent_id 1 parent_id A # NULL NULL BTREE
+t1 1 level 1 level A # NULL NULL BTREE
+drop table t1;
+CREATE TABLE t1 (
+gesuchnr int(11) DEFAULT '0' NOT NULL,
+benutzer_id int(11) DEFAULT '0' NOT NULL,
+PRIMARY KEY (gesuchnr,benutzer_id)
+) engine=MyISAM;
+replace into t1 (gesuchnr,benutzer_id) values (2,1);
+replace into t1 (gesuchnr,benutzer_id) values (1,1);
+replace into t1 (gesuchnr,benutzer_id) values (1,1);
+select * from t1;
+gesuchnr benutzer_id
+1 1
+2 1
+drop table t1;
+create table t1 (a int) engine=MyISAM;
+insert into t1 values (1), (2);
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+delete from t1 where a = 1;
+select * from t1;
+a
+2
+check table t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+drop table t1;
+create table t1 (a int,b varchar(20)) engine=MyISAM;
+insert into t1 values (1,""), (2,"testing");
+delete from t1 where a = 1;
+select * from t1;
+a b
+2 testing
+create index skr on t1 (a);
+insert into t1 values (3,""), (4,"testing");
+analyze table t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+show keys from t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 1 skr 1 a A # NULL NULL YES BTREE
+drop table t1;
+create table t1 (a int,b varchar(20),key(a)) engine=MyISAM;
+insert into t1 values (1,""), (2,"testing");
+select * from t1 where a = 1;
+a b
+1
+drop table t1;
+CREATE TABLE t1 (
+user_id int(10) DEFAULT '0' NOT NULL,
+name varchar(100),
+phone varchar(100),
+ref_email varchar(100) DEFAULT '' NOT NULL,
+detail varchar(200),
+PRIMARY KEY (user_id,ref_email)
+)engine=MyISAM;
+INSERT INTO t1 VALUES (10292,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10292,'shirish','2333604','shirish@yahoo.com','ddsds'),(10292,'sonali','323232','sonali@bolly.com','filmstar');
+select * from t1 where user_id=10292;
+user_id name phone ref_email detail
+10292 sanjeev 29153373 sansh777@hotmail.com xxx
+10292 shirish 2333604 shirish@yahoo.com ddsds
+10292 sonali 323232 sonali@bolly.com filmstar
+INSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');
+select * from t1 where user_id=10292;
+user_id name phone ref_email detail
+10292 sanjeev 29153373 sansh777@hotmail.com xxx
+10292 shirish 2333604 shirish@yahoo.com ddsds
+10292 sonali 323232 sonali@bolly.com filmstar
+select * from t1 where user_id>=10292;
+user_id name phone ref_email detail
+10292 sanjeev 29153373 sansh777@hotmail.com xxx
+10292 shirish 2333604 shirish@yahoo.com ddsds
+10292 sonali 323232 sonali@bolly.com filmstar
+10293 shirish 2333604 shirish@yahoo.com ddsds
+select * from t1 where user_id>10292;
+user_id name phone ref_email detail
+10293 shirish 2333604 shirish@yahoo.com ddsds
+select * from t1 where user_id<10292;
+user_id name phone ref_email detail
+10291 sanjeev 29153373 sansh777@hotmail.com xxx
+drop table t1;
+CREATE TABLE t1 (a int not null, b int not null,c int not null,
+key(a),primary key(a,b), unique(c),key(a),unique(b)) ENGINE = MyISAM;
+show index from t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 0 PRIMARY 1 a A # NULL NULL BTREE
+t1 0 PRIMARY 2 b A # NULL NULL BTREE
+t1 0 c 1 c A # NULL NULL BTREE
+t1 0 b 1 b A # NULL NULL BTREE
+t1 1 a 1 a A # NULL NULL BTREE
+t1 1 a_2 1 a A # NULL NULL BTREE
+drop table t1;
+create table t1 (col1 int not null, col2 char(4) not null, primary key(col1)) ENGINE = MEMORY;
+alter table t1 engine=MyISAM;
+insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');
+select * from t1;
+col1 col2
+1 1
+5 2
+2 3
+3 4
+4 4
+update t1 set col2='7' where col1='4';
+select * from t1;
+col1 col2
+1 1
+5 2
+2 3
+3 4
+4 7
+alter table t1 add co3 int not null;
+select * from t1;
+col1 col2 co3
+1 1 0
+5 2 0
+2 3 0
+3 4 0
+4 7 0
+update t1 set col2='9' where col1='2';
+select * from t1;
+col1 col2 co3
+1 1 0
+5 2 0
+2 9 0
+3 4 0
+4 7 0
+drop table t1;
+create table t1 (a int not null , b int, primary key (a)) engine = MyISAM;
+create table t2 (a int not null , b int, primary key (a)) engine = MEMORY;
+insert into t1 VALUES (1,3) , (2,3), (3,3);
+select * from t1;
+a b
+1 3
+2 3
+3 3
+insert into t2 select * from t1;
+select * from t2;
+a b
+1 3
+2 3
+3 3
+delete from t1 where b = 3;
+select * from t1;
+a b
+insert into t1 select * from t2;
+select * from t1;
+a b
+3 3
+2 3
+1 3
+select * from t2;
+a b
+1 3
+2 3
+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=MyISAM;
+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),
+user_id int(11) DEFAULT '0' NOT NULL,
+quota bigint(20),
+weight double,
+access_date date,
+access_time time,
+approved datetime,
+dummy_primary_key int(11) NOT NULL auto_increment,
+PRIMARY KEY (dummy_primary_key)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);
+INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);
+INSERT INTO t1 VALUES ('user_2','somepassword','N',2,2,1.4142135623731,'2000-09-07','23:06:59','2000-09-07 23:06:59',3);
+INSERT INTO t1 VALUES ('user_3','somepassword','Y',3,3,1.7320508075689,'2000-09-07','23:06:59','2000-09-07 23:06:59',4);
+INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);
+select user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;
+user_name password subscribed user_id quota weight access_date access_time approved dummy_primary_key
+user_0 somepassword N 0 0 0 2000-09-07 23:06:59 2000-09-07 23:06:59 1
+user_1 somepassword Y 1 1 1 2000-09-07 23:06:59 2000-09-07 23:06:59 2
+user_2 somepassword N 2 2 1.4142135623731 2000-09-07 23:06:59 2000-09-07 23:06:59 3
+user_3 somepassword Y 3 3 1.7320508075689 2000-09-07 23:06:59 2000-09-07 23:06:59 4
+user_4 somepassword N 4 4 2 2000-09-07 23:06:59 2000-09-07 23:06:59 5
+drop table t1;
+CREATE TABLE t1 (
+id int(11) NOT NULL auto_increment,
+parent_id int(11) DEFAULT '0' NOT NULL,
+level tinyint(4) DEFAULT '0' NOT NULL,
+KEY (id),
+KEY parent_id (parent_id),
+KEY level (level)
+) engine=MyISAM;
+INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1);
+INSERT INTO t1 values (179,5,2);
+update t1 set parent_id=parent_id+100;
+select * from t1 where parent_id=102;
+id parent_id level
+8 102 2
+9 102 2
+15 102 2
+update t1 set id=id+1000;
+update t1 set id=1024 where id=1009;
+select * from t1;
+id parent_id level
+1001 100 0
+1003 101 1
+1004 101 1
+1008 102 2
+1024 102 2
+1017 103 2
+1022 104 2
+1024 104 2
+1028 105 2
+1029 105 2
+1030 105 2
+1031 106 2
+1032 106 2
+1033 106 2
+1203 107 2
+1202 107 2
+1020 103 2
+1157 100 0
+1193 105 2
+1040 107 2
+1002 101 1
+1015 102 2
+1006 101 1
+1034 106 2
+1035 106 2
+1016 103 2
+1007 101 1
+1036 107 2
+1018 103 2
+1026 105 2
+1027 105 2
+1183 104 2
+1038 107 2
+1025 105 2
+1037 107 2
+1021 104 2
+1019 103 2
+1005 101 1
+1179 105 2
+update ignore t1 set id=id+1;
+select * from t1;
+id parent_id level
+1002 100 0
+1004 101 1
+1005 101 1
+1009 102 2
+1025 102 2
+1018 103 2
+1023 104 2
+1025 104 2
+1029 105 2
+1030 105 2
+1031 105 2
+1032 106 2
+1033 106 2
+1034 106 2
+1204 107 2
+1203 107 2
+1021 103 2
+1158 100 0
+1194 105 2
+1041 107 2
+1003 101 1
+1016 102 2
+1007 101 1
+1035 106 2
+1036 106 2
+1017 103 2
+1008 101 1
+1037 107 2
+1019 103 2
+1027 105 2
+1028 105 2
+1184 104 2
+1039 107 2
+1026 105 2
+1038 107 2
+1022 104 2
+1020 103 2
+1006 101 1
+1180 105 2
+update ignore t1 set id=1023 where id=1010;
+select * from t1 where parent_id=102;
+id parent_id level
+1009 102 2
+1025 102 2
+1016 102 2
+explain select level from t1 where level=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref level level 1 const # Using index
+select level,id from t1 where level=1;
+level id
+1 1004
+1 1005
+1 1003
+1 1007
+1 1008
+1 1006
+select level,id,parent_id from t1 where level=1;
+level id parent_id
+1 1004 101
+1 1005 101
+1 1003 101
+1 1007 101
+1 1008 101
+1 1006 101
+select level,id from t1 where level=1 order by id;
+level id
+1 1003
+1 1004
+1 1005
+1 1006
+1 1007
+1 1008
+delete from t1 where level=1;
+select * from t1;
+id parent_id level
+1002 100 0
+1009 102 2
+1025 102 2
+1018 103 2
+1023 104 2
+1025 104 2
+1029 105 2
+1030 105 2
+1031 105 2
+1032 106 2
+1033 106 2
+1034 106 2
+1204 107 2
+1203 107 2
+1021 103 2
+1158 100 0
+1194 105 2
+1041 107 2
+1016 102 2
+1035 106 2
+1036 106 2
+1017 103 2
+1037 107 2
+1019 103 2
+1027 105 2
+1028 105 2
+1184 104 2
+1039 107 2
+1026 105 2
+1038 107 2
+1022 104 2
+1020 103 2
+1180 105 2
+drop table t1;
+CREATE TABLE t1 (
+sca_code char(6) NOT NULL,
+cat_code char(6) NOT NULL,
+sca_desc varchar(50),
+lan_code char(2) NOT NULL,
+sca_pic varchar(100),
+sca_sdesc varchar(50),
+sca_sch_desc varchar(16),
+PRIMARY KEY (sca_code, cat_code, lan_code),
+INDEX sca_pic (sca_pic)
+) engine = MyISAM ;
+INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
+select count(*) from t1 where sca_code = 'PD';
+count(*)
+1
+select count(*) from t1 where sca_code <= 'PD';
+count(*)
+1
+select count(*) from t1 where sca_pic is null;
+count(*)
+2
+alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
+select count(*) from t1 where sca_code='PD' and sca_pic is null;
+count(*)
+1
+select count(*) from t1 where cat_code='E';
+count(*)
+0
+alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
+select count(*) from t1 where sca_code='PD' and sca_pic is null;
+count(*)
+1
+select count(*) from t1 where sca_pic >= 'n';
+count(*)
+1
+select sca_pic from t1 where sca_pic is null;
+sca_pic
+NULL
+NULL
+update t1 set sca_pic="test" where sca_pic is null;
+delete from t1 where sca_code='pd';
+drop table t1;
+set @a:=now();
+CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=MyISAM;
+insert into t1 (a) values(1),(2),(3);
+select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
+a
+1
+2
+3
+select a from t1 natural join t1 as t2 where b >= @a order by a;
+a
+1
+2
+3
+update t1 set a=5 where a=1;
+select a from t1;
+a
+2
+3
+5
+drop table t1;
+create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=MyISAM;
+insert into t1 values("hello",1),("world",2);
+select * from t1 order by b desc;
+a b
+world 2
+hello 1
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+show keys from t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 0 PRIMARY 1 a A # NULL NULL BTREE
+drop table t1;
+create table t1 (i int, j int ) ENGINE=MyISAM;
+insert into t1 values (1,2);
+select * from t1 where i=1 and j=2;
+i j
+1 2
+create index ax1 on t1 (i,j);
+select * from t1 where i=1 and j=2;
+i j
+1 2
+drop table t1;
+CREATE TABLE t1 (
+a int3 unsigned NOT NULL,
+b int1 unsigned NOT NULL,
+UNIQUE (a, b)
+) ENGINE = MyISAM;
+INSERT INTO t1 VALUES (1, 1);
+SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
+MIN(B) MAX(b)
+1 1
+drop table t1;
+CREATE TABLE t1 (a int unsigned NOT NULL) engine=MyISAM;
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+a
+1
+DROP TABLE t1;
+create table t1 (a int primary key,b int, c int, d int, e int, f int, g int, h int, i int, j int, k int, l int, m int, n int, o int, p int, q int, r int, s int, t int, u int, v int, w int, x int, y int, z int, a1 int, a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, b1 int, b2 int, b3 int, b4 int, b5 int, b6 int) engine = MyISAM;
+insert into t1 values (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);
+explain select * from t1 where a > 0 and a < 50;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 system PRIMARY NULL NULL NULL #
+drop table t1;
+create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=MyISAM;
+insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
+LOCK TABLES t1 WRITE;
+insert into t1 values (99,1,2,'D'),(1,1,2,'D');
+ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
+select id from t1;
+id
+0
+1
+2
+99
+select id from t1;
+id
+0
+1
+2
+99
+UNLOCK TABLES;
+DROP TABLE t1;
+create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=MyISAM;
+insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
+LOCK TABLES t1 WRITE;
+begin;
+insert into t1 values (99,1,2,'D'),(1,1,2,'D');
+ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
+select id from t1;
+id
+0
+1
+2
+99
+insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');
+commit;
+select id,id3 from t1;
+id id3
+0 0
+2 2
+1 1
+99 2
+100 2
+UNLOCK TABLES;
+DROP TABLE t1;
+create table t1 (a char(20), unique (a(5))) engine=MyISAM;
+drop table t1;
+create table t1 (a char(20), index (a(5))) engine=MyISAM;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` char(20) DEFAULT NULL,
+ KEY `a` (`a`(5))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create temporary table t1 (a int not null auto_increment, primary key(a)) engine=MyISAM;
+insert into t1 values (NULL),(NULL),(NULL);
+delete from t1 where a=3;
+insert into t1 values (NULL);
+select * from t1;
+a
+1
+2
+4
+alter table t1 add b int;
+select * from t1;
+a b
+1 NULL
+2 NULL
+4 NULL
+drop table t1;
+create table t1
+(
+id int auto_increment primary key,
+name varchar(32) not null,
+value text not null,
+uid int not null,
+unique key(name,uid)
+) engine=MyISAM;
+insert into t1 values (1,'one','one value',101),
+(2,'two','two value',102),(3,'three','three value',103);
+set insert_id=5;
+replace into t1 (value,name,uid) values ('other value','two',102);
+delete from t1 where uid=102;
+set insert_id=5;
+replace into t1 (value,name,uid) values ('other value','two',102);
+set insert_id=6;
+replace into t1 (value,name,uid) values ('other value','two',102);
+select * from t1;
+id name value uid
+1 one one value 101
+3 three three value 103
+6 two other value 102
+drop table t1;
+create database mysqltest;
+create table mysqltest.t1 (a int not null) engine= MyISAM;
+insert into mysqltest.t1 values(1);
+create table mysqltest.t2 (a int not null) engine= MEMORY;
+insert into mysqltest.t2 values(1);
+create table mysqltest.t3 (a int not null) engine= MEMORY;
+insert into mysqltest.t3 values(1);
+commit;
+drop database mysqltest;
+show tables from mysqltest;
+ERROR 42000: Unknown database 'mysqltest'
+set autocommit=0;
+create table t1 (a int not null) engine= MyISAM;
+insert into t1 values(1),(2);
+truncate table t1;
+commit;
+truncate table t1;
+truncate table t1;
+select * from t1;
+a
+insert into t1 values(1),(2);
+delete from t1;
+select * from t1;
+a
+commit;
+drop table t1;
+set autocommit=1;
+create table t1 (a int not null) engine= MyISAM;
+insert into t1 values(1),(2);
+truncate table t1;
+insert into t1 values(1),(2);
+select * from t1;
+a
+1
+2
+truncate table t1;
+insert into t1 values(1),(2);
+delete from t1;
+select * from t1;
+a
+drop table t1;
+create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=MyISAM;
+insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
+explain select * from t1 order by a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
+explain select * from t1 order by b;
+id select_type table type possible_keys key key_len ref rows Extra
+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
+explain select a from t1 order by a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL PRIMARY 4 NULL # Using index
+explain select b 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 # Using index
+explain select a,b from t1 order by b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
+explain select a,b from t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL 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 #
+drop table t1;
+create table t1 (t int not null default 1, key (t)) engine=MyISAM;
+desc t1;
+Field Type Null Key Default Extra
+t int(11) NO MUL 1
+drop table t1;
+CREATE TABLE t1 (
+number bigint(20) NOT NULL default '0',
+cname char(15) NOT NULL default '',
+carrier_id smallint(6) NOT NULL default '0',
+privacy tinyint(4) NOT NULL default '0',
+last_mod_date timestamp NOT NULL,
+last_mod_id smallint(6) NOT NULL default '0',
+last_app_date timestamp NOT NULL,
+last_app_id smallint(6) default '-1',
+version smallint(6) NOT NULL default '0',
+assigned_scps int(11) default '0',
+status tinyint(4) default '0'
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (4077711111,'SeanWheeler',90,2,20020111112846,500,00000000000000,-1,2,3,1);
+INSERT INTO t1 VALUES (9197722223,'berry',90,3,20020111112809,500,20020102114532,501,4,10,0);
+INSERT INTO t1 VALUES (650,'San Francisco',0,0,20011227111336,342,00000000000000,-1,1,24,1);
+INSERT INTO t1 VALUES (302467,'Sue\'s Subshop',90,3,20020109113241,500,20020102115111,501,7,24,0);
+INSERT INTO t1 VALUES (6014911113,'SudzCarwash',520,1,20020102115234,500,20020102115259,501,33,32768,0);
+INSERT INTO t1 VALUES (333,'tubs',99,2,20020109113440,501,20020109113440,500,3,10,0);
+CREATE TABLE t2 (
+number bigint(20) NOT NULL default '0',
+cname char(15) NOT NULL default '',
+carrier_id smallint(6) NOT NULL default '0',
+privacy tinyint(4) NOT NULL default '0',
+last_mod_date timestamp NOT NULL,
+last_mod_id smallint(6) NOT NULL default '0',
+last_app_date timestamp NOT NULL,
+last_app_id smallint(6) default '-1',
+version smallint(6) NOT NULL default '0',
+assigned_scps int(11) default '0',
+status tinyint(4) default '0'
+) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (4077711111,'SeanWheeler',0,2,20020111112853,500,00000000000000,-1,2,3,1);
+INSERT INTO t2 VALUES (9197722223,'berry',90,3,20020111112818,500,20020102114532,501,4,10,0);
+INSERT INTO t2 VALUES (650,'San Francisco',90,0,20020109113158,342,00000000000000,-1,1,24,1);
+INSERT INTO t2 VALUES (333,'tubs',99,2,20020109113453,501,20020109113453,500,3,10,0);
+select * from t1;
+number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status
+4077711111 SeanWheeler 90 2 2002-01-11 11:28:46 500 0000-00-00 00:00:00 -1 2 3 1
+9197722223 berry 90 3 2002-01-11 11:28:09 500 2002-01-02 11:45:32 501 4 10 0
+650 San Francisco 0 0 2001-12-27 11:13:36 342 0000-00-00 00:00:00 -1 1 24 1
+302467 Sue's Subshop 90 3 2002-01-09 11:32:41 500 2002-01-02 11:51:11 501 7 24 0
+6014911113 SudzCarwash 520 1 2002-01-02 11:52:34 500 2002-01-02 11:52:59 501 33 32768 0
+333 tubs 99 2 2002-01-09 11:34:40 501 2002-01-09 11:34:40 500 3 10 0
+select * from t2;
+number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status
+4077711111 SeanWheeler 0 2 2002-01-11 11:28:53 500 0000-00-00 00:00:00 -1 2 3 1
+9197722223 berry 90 3 2002-01-11 11:28:18 500 2002-01-02 11:45:32 501 4 10 0
+650 San Francisco 90 0 2002-01-09 11:31:58 342 0000-00-00 00:00:00 -1 1 24 1
+333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0
+delete t1, t2 from t1 left join t2 on t1.number=t2.number where (t1.carrier_id=90 and t1.number=t2.number) or (t2.carrier_id=90 and t1.number=t2.number) or (t1.carrier_id=90 and t2.number is null);
+select * from t1;
+number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status
+6014911113 SudzCarwash 520 1 2002-01-02 11:52:34 500 2002-01-02 11:52:59 501 33 32768 0
+333 tubs 99 2 2002-01-09 11:34:40 501 2002-01-09 11:34:40 500 3 10 0
+select * from t2;
+number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status
+333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0
+select * from t2;
+number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status
+333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0
+drop table t1,t2;
+create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=MyISAM;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SELECT @@tx_isolation,@@global.tx_isolation;
+@@tx_isolation @@global.tx_isolation
+SERIALIZABLE REPEATABLE-READ
+insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David');
+select id, code, name from t1 order by id;
+id code name
+1 1 Tim
+2 1 Monty
+3 2 David
+COMMIT;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+insert into t1 (code, name) values (2, 'Erik'), (3, 'Sasha');
+select id, code, name from t1 order by id;
+id code name
+1 1 Tim
+2 1 Monty
+3 2 David
+4 2 Erik
+5 3 Sasha
+COMMIT;
+BEGIN;
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');
+select id, code, name from t1 order by id;
+id code name
+1 1 Tim
+2 1 Monty
+3 2 David
+4 2 Erik
+5 3 Sasha
+6 3 Jeremy
+7 4 Matt
+COMMIT;
+DROP TABLE t1;
+create table t1 (n int(10), d int(10)) engine=MyISAM;
+create table t2 (n int(10), d int(10)) engine=MyISAM;
+insert into t1 values(1,1),(1,2);
+insert into t2 values(1,10),(2,20);
+UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n;
+select * from t1;
+n d
+1 10
+1 10
+select * from t2;
+n d
+1 30
+2 20
+drop table t1,t2;
+create table t1 (a int, b int) engine=MyISAM;
+insert into t1 values(20,null);
+select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
+t2.b=t3.a;
+b ifnull(t2.b,"this is null")
+NULL this is null
+select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
+t2.b=t3.a order by 1;
+b ifnull(t2.b,"this is null")
+NULL this is null
+insert into t1 values(10,null);
+select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
+t2.b=t3.a order by 1;
+b ifnull(t2.b,"this is null")
+NULL this is null
+NULL this is null
+drop table t1;
+create table t1 (a varchar(10) not null) engine = MEMORY;
+create table t2 (b varchar(10) not null unique) engine=MyISAM;
+select t1.a from t1,t2 where t1.a=t2.b;
+a
+drop table t1,t2;
+create table t1 (a int not null, b int, primary key (a)) engine = MyISAM;
+create table t2 (a int not null, b int, primary key (a)) engine = MyISAM;
+insert into t1 values (10, 20);
+insert into t2 values (10, 20);
+update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;
+drop table t1,t2;
+CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=MyISAM;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
+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
+drop table t1;
+CREATE TABLE t1 (a int not null primary key, b int not null, key (b)) engine=MyISAM;
+CREATE TABLE t2 (a int not null primary key, b int not null, key (b)) engine=MyISAM;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10),(11,11),(12,12);
+INSERT INTO t2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
+update t1,t2 set t1.a=t1.a+100;
+select * from t1;
+a b
+101 1
+102 2
+103 3
+104 4
+105 5
+106 6
+107 7
+108 8
+109 9
+110 10
+111 11
+112 12
+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
+105 5
+106 6
+107 7
+108 8
+109 9
+110 10
+111 11
+112 12
+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
+106 6
+107 7
+108 8
+109 9
+110 10
+111 11
+112 12
+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
+105 7
+106 6
+107 7
+108 8
+109 9
+110 10
+111 11
+112 12
+select * from t2;
+a b
+1 1
+2 2
+3 13
+4 14
+5 15
+6 6
+7 7
+8 8
+9 9
+drop table t1,t2;
+CREATE TABLE t2 ( NEXT_T BIGINT NOT NULL PRIMARY KEY) ENGINE=MEMORY;
+CREATE TABLE t1 ( B_ID INTEGER NOT NULL PRIMARY KEY) ENGINE=MyISAM;
+SET AUTOCOMMIT=0;
+INSERT INTO t1 ( B_ID ) VALUES ( 1 );
+INSERT INTO t2 ( NEXT_T ) VALUES ( 1 );
+ROLLBACK;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+SELECT * FROM t1;
+B_ID
+1
+drop table t1,t2;
+create table t1 ( pk int primary key, parent int not null, child int not null, index (parent) ) engine = MyISAM;
+insert into t1 values (1,0,4), (2,1,3), (3,2,1), (4,1,2);
+select distinct parent,child from t1 order by parent;
+parent child
+0 4
+1 2
+1 3
+2 1
+drop table t1;
+create table t1 (a int not null auto_increment primary key, b int, c int, key(c)) engine=MyISAM;
+create table t2 (a int not null auto_increment primary key, b int) ENGINE = MEMORY;
+insert into t1 (b) values (null),(null),(null),(null),(null),(null),(null);
+insert into t2 (a) select b from t1;
+insert into t1 (b) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+insert into t2 (a) select b from t1;
+insert into t1 (a) select b from t2;
+select count(*) from t1;
+count(*)
+29267
+explain select * from t1 where c between 1 and 2500;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range c c 5 NULL # Using where
+update t1 set c=a;
+explain select * from t1 where c between 1 and 2500;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range c c 5 NULL # Using where
+drop table t1,t2;
+create table t1 (id int primary key auto_increment, fk int, index index_fk (fk)) engine=MyISAM;
+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
+drop table t1;
+create table t1 (a int not null, b int not null, key (a)) engine=MyISAM;
+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);
+SET @tmp=0;
+update t1 set b=(@tmp:=@tmp+1) order by a;
+update t1 set b=99 where a=1 order by b asc limit 1;
+update t1 set b=100 where a=1 order by b desc limit 2;
+update t1 set a=a+10+b where a=1 order by b;
+select * from t1 order by a,b;
+a b
+2 4
+2 5
+2 6
+3 7
+3 8
+3 9
+3 10
+3 11
+3 12
+13 2
+111 100
+111 100
+drop table t1;
+create table t1 ( c char(8) not null ) engine=MyISAM;
+insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
+insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
+alter table t1 add b char(8) not null;
+alter table t1 add a char(8) not null;
+alter table t1 add primary key (a,b,c);
+update t1 set a=c, b=c;
+create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=MyISAM;
+insert into t2 select * from t1;
+delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
+drop table t1,t2;
+SET AUTOCOMMIT=1;
+create table t1 (a integer auto_increment primary key) engine=MyISAM;
+insert into t1 (a) values (NULL),(NULL);
+truncate table t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+a
+1
+2
+drop table t1;
+CREATE TABLE t1 (col1 int(1))ENGINE=MyISAM;
+CREATE TABLE t2 (col1 int(1),stamp TIMESTAMP,INDEX stamp_idx
+(stamp))ENGINE=MyISAM;
+insert into t1 values (1),(2),(3);
+insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);
+Warnings:
+Warning 1265 Data truncated for column 'stamp' at row 3
+SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <
+'20020204120000' GROUP BY col1;
+col1
+1
+2
+3
+4
+drop table t1,t2;
+CREATE TABLE t1 (
+`id` int(10) unsigned NOT NULL auto_increment,
+`id_object` int(10) unsigned default '0',
+`id_version` int(10) unsigned NOT NULL default '1',
+`label` varchar(100) NOT NULL default '',
+`description` text,
+PRIMARY KEY (`id`),
+KEY `id_object` (`id_object`),
+KEY `id_version` (`id_version`)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES("6", "3382", "9", "Test", NULL), ("7", "102", "5", "Le Pekin (Test)", NULL),("584", "1794", "4", "Test de resto", NULL),("837", "1822", "6", "Test 3", NULL),("1119", "3524", "1", "Societe Test", NULL),("1122", "3525", "1", "Fournisseur Test", NULL);
+CREATE TABLE t2 (
+`id` int(10) unsigned NOT NULL auto_increment,
+`id_version` int(10) unsigned NOT NULL default '1',
+PRIMARY KEY (`id`),
+KEY `id_version` (`id_version`)
+) ENGINE=MyISAM;
+INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9");
+SELECT t2.id, t1.`label` FROM t2 INNER JOIN
+(SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl
+ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object);
+id label
+3382 Test
+102 Le Pekin (Test)
+1794 Test de resto
+1822 Test 3
+3524 Societe Test
+3525 Fournisseur Test
+drop table t1,t2;
+create table t1 (a int, b varchar(200), c text not null) checksum=1 engine=MyISAM;
+create table t2 (a int, b varchar(200), c text not null) checksum=0 engine=MyISAM;
+create table t3 (a int, b varchar(200), c varchar(200) not null) checksum=1 engine=MEMORY;
+create table t4 (a int, b varchar(200), c varchar(200) not null) checksum=0 engine=MEMORY;
+create table t5 (a int, b varchar(200), c text not null) checksum=1 engine=MyISAM;
+create table t6 (a int, b varchar(200), c text not null) checksum=0 engine=MyISAM;
+insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");
+insert t2 select * from t1;
+insert t3 select * from t1;
+insert t4 select * from t1;
+insert t5 select * from t1;
+insert t6 select * from t1;
+checksum table t1, t2, t3, t4, t5, t6, t7 quick;
+Table Checksum
+test.t1 2948697075
+test.t2 NULL
+test.t3 NULL
+test.t4 NULL
+test.t5 2948697075
+test.t6 NULL
+test.t7 NULL
+Warnings:
+Error 1146 Table 'test.t7' doesn't exist
+checksum table t1, t2, t3, t4, t5, t6, t7;
+Table Checksum
+test.t1 2948697075
+test.t2 2948697075
+test.t3 2948697075
+test.t4 2948697075
+test.t5 2948697075
+test.t6 2948697075
+test.t7 NULL
+Warnings:
+Error 1146 Table 'test.t7' doesn't exist
+checksum table t1, t2, t3, t4, t5, t6, t7 extended;
+Table Checksum
+test.t1 2948697075
+test.t2 2948697075
+test.t3 2948697075
+test.t4 2948697075
+test.t5 2948697075
+test.t6 2948697075
+test.t7 NULL
+Warnings:
+Error 1146 Table 'test.t7' doesn't exist
+drop table t1,t2,t3, t4, t5, t6;
+create table t1 (id int, name char(10) not null, name2 char(10) not null) engine=MyISAM;
+insert into t1 values(1,'first','fff'),(2,'second','sss'),(3,'third','ttt');
+select trim(name2) from t1 union all select trim(name) from t1 union all select trim(id) from t1;
+trim(name2)
+fff
+sss
+ttt
+first
+second
+third
+1
+2
+3
+drop table t1;
+create table t1 (a int) engine=MyISAM;
+create table t2 like t1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1,t2;
+flush status;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 0
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 0
+create table t1 (a int) engine=MyISAM;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 0
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 0
+begin;
+delete from t1;
+commit;
+show status like "binlog_cache_use";
+Variable_name Value
+Binlog_cache_use 0
+show status like "binlog_cache_disk_use";
+Variable_name Value
+Binlog_cache_disk_use 0
+drop table t1;
+create table t1 (c char(10), index (c,c)) engine=MyISAM;
+ERROR 42S21: Duplicate column name 'c'
+create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1)) engine=MyISAM;
+ERROR 42S21: Duplicate column name 'c1'
+create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2)) engine=MyISAM;
+ERROR 42S21: Duplicate column name 'c1'
+create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1)) engine=MyISAM;
+ERROR 42S21: Duplicate column name 'c1'
+create table t1 (c1 char(10), c2 char(10)) engine=MyISAM;
+alter table t1 add key (c1,c1);
+ERROR 42S21: Duplicate column name 'c1'
+alter table t1 add key (c2,c1,c1);
+ERROR 42S21: Duplicate column name 'c1'
+alter table t1 add key (c1,c2,c1);
+ERROR 42S21: Duplicate column name 'c1'
+alter table t1 add key (c1,c1,c2);
+ERROR 42S21: Duplicate column name 'c1'
+drop table t1;
+create table t1(a int(1) , b int(1)) engine=MyISAM;
+insert into t1 values ('1111', '3333');
+select distinct concat(a, b) from t1;
+concat(a, b)
+11113333
+drop table t1;
+create temporary table t1 (a int) engine=MyISAM;
+insert into t1 values (4711);
+truncate t1;
+insert into t1 values (42);
+select * from t1;
+a
+42
+drop table t1;
+create table t1 (a int) engine=MyISAM;
+insert into t1 values (4711);
+truncate t1;
+insert into t1 values (42);
+select * from t1;
+a
+42
+drop table t1;
+create table t1 (a int not null, b int not null, c blob not null, d int not null, e int, primary key (a,b,c(255),d)) engine=MyISAM;
+insert into t1 values (2,2,"b",2,2),(1,1,"a",1,1),(3,3,"ab",3,3);
+select * from t1 order by a,b,c,d;
+a b c d e
+1 1 a 1 1
+2 2 b 2 2
+3 3 ab 3 3
+explain select * from t1 order by a,b,c,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
+drop table t1;
+create table t1 (a char(1), b char(1), key(a, b)) engine=MyISAM;
+insert into t1 values ('8', '6'), ('4', '7');
+select min(a) from t1;
+min(a)
+4
+select min(b) from t1 where a='8';
+min(b)
+6
+drop table t1;
+create table t1 (x bigint unsigned not null primary key) engine=MyISAM;
+insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);
+select * from t1;
+x
+18446744073709551600
+18446744073709551601
+select count(*) from t1 where x>0;
+count(*)
+2
+select count(*) from t1 where x=0;
+count(*)
+0
+select count(*) from t1 where x<0;
+count(*)
+0
+select count(*) from t1 where x < -16;
+count(*)
+0
+select count(*) from t1 where x = -16;
+count(*)
+0
+explain select count(*) from t1 where x > -16;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 2 Using where; Using index
+select count(*) from t1 where x > -16;
+count(*)
+2
+select * from t1 where x > -16;
+x
+18446744073709551600
+18446744073709551601
+select count(*) from t1 where x = 18446744073709551601;
+count(*)
+1
+drop table t1;
+set storage_engine=MyISAM;
+drop table if exists t1,t2,t3;
+--- Testing varchar ---
+--- Testing varchar ---
+create table t1 (v varchar(10), c char(10), t text);
+insert into t1 values('+ ', '+ ', '+ ');
+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
+select concat('*',v,'*',c,'*',t,'*') from t1;
+concat('*',v,'*',c,'*',t,'*')
+*+ *+*+ *
+*+ *+*+ *
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create table t2 like t1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create table t3 select * from t1;
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1 modify c varchar(10);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` text
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1 modify v char(10);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` text
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1 modify t varchar(10);
+Warnings:
+Note 1265 Data truncated for column 't' at row 2
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(10) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select concat('*',v,'*',c,'*',t,'*') from t1;
+concat('*',v,'*',c,'*',t,'*')
+*+*+*+ *
+*+*+*+ *
+drop table t1,t2,t3;
+create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text,
+ KEY `v` (`v`),
+ KEY `c` (`c`),
+ KEY `t` (`t`(10))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select count(*) from t1;
+count(*)
+270
+insert into t1 values(concat('a',char(1)),concat('a',char(1)),concat('a',char(1)));
+select count(*) from t1 where v='a';
+count(*)
+10
+select count(*) from t1 where c='a';
+count(*)
+10
+select count(*) from t1 where t='a';
+count(*)
+10
+select count(*) from t1 where v='a ';
+count(*)
+10
+select count(*) from t1 where c='a ';
+count(*)
+10
+select count(*) from t1 where t='a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+count(*)
+10
+select count(*) from t1 where v like 'a%';
+count(*)
+11
+select count(*) from t1 where c like 'a%';
+count(*)
+11
+select count(*) from t1 where t like 'a%';
+count(*)
+11
+select count(*) from t1 where v like 'a %';
+count(*)
+9
+explain select count(*) from t1 where v='a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 13 const # Using where; Using index
+explain select count(*) from t1 where c='a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref c c 11 const # Using where; Using index
+explain select count(*) from t1 where t='a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref t t 13 const # Using where
+explain select count(*) from t1 where v like 'a%';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range v v 13 NULL # Using where; Using index
+explain select count(*) from t1 where v between 'a' and 'a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 13 const # Using where; Using index
+explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 13 const # Using where; Using index
+alter table t1 add unique(v);
+ERROR 23000: Duplicate entry '{ ' for key 'v_2'
+alter table t1 add key(v);
+select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
+qq
+*a*a*a*
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+*a *a*a *
+explain select * from t1 where v='a';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v,v_2 # 13 const # Using where
+select v,count(*) from t1 group by v limit 10;
+v count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select v,count(c) from t1 group by v limit 10;
+v count(c)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result v,count(c) from t1 group by v limit 10;
+v count(c)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select c,count(*) from t1 group by c limit 10;
+c count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select c,count(t) from t1 group by c limit 10;
+c count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result c,count(t) from t1 group by c limit 10;
+c count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select t,count(*) from t1 group by t limit 10;
+t count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select t,count(t) from t1 group by t limit 10;
+t count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result t,count(t) from t1 group by t limit 10;
+t count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text,
+ KEY `c` (`c`),
+ KEY `t` (`t`(10)),
+ KEY `v` (`v`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select count(*) from t1 where v='a';
+count(*)
+10
+select count(*) from t1 where v='a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+count(*)
+10
+select count(*) from t1 where v like 'a%';
+count(*)
+11
+select count(*) from t1 where v like 'a %';
+count(*)
+9
+explain select count(*) from t1 where v='a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 303 const # Using where; Using index
+explain select count(*) from t1 where v like 'a%';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range v v 303 NULL # Using where; Using index
+explain select count(*) from t1 where v between 'a' and 'a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 303 const # Using where; Using index
+explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 303 const # Using where; Using index
+explain select * from t1 where v='a';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 303 const # Using where
+select v,count(*) from t1 group by v limit 10;
+v count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+alter table t1 drop key v, add key v (v(30));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text,
+ KEY `c` (`c`),
+ KEY `t` (`t`(10)),
+ KEY `v` (`v`(30))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select count(*) from t1 where v='a';
+count(*)
+10
+select count(*) from t1 where v='a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ';
+count(*)
+10
+select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+count(*)
+10
+select count(*) from t1 where v like 'a%';
+count(*)
+11
+select count(*) from t1 where v like 'a %';
+count(*)
+9
+explain select count(*) from t1 where v='a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 33 const # Using where
+explain select count(*) from t1 where v like 'a%';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range v v 33 NULL # Using where
+explain select count(*) from t1 where v between 'a' and 'a ';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 33 const # Using where
+explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 33 const # Using where
+explain select * from t1 where v='a';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref v v 33 const # Using where
+select v,count(*) from t1 group by v limit 10;
+v count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+alter table t1 modify v varchar(600), drop key v, add key v (v);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(600) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text,
+ KEY `c` (`c`),
+ KEY `t` (`t`(10)),
+ KEY `v` (`v`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select v,count(*) from t1 group by v limit 10;
+v count(*)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+select sql_big_result v,count(t) from t1 group by v limit 10;
+v count(t)
+a 1
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
+h 10
+i 10
+drop table t1;
+create table t1 (a char(10), unique (a));
+insert into t1 values ('a ');
+insert into t1 values ('a ');
+ERROR 23000: Duplicate entry 'a' for key 'a'
+alter table t1 modify a varchar(10);
+insert into t1 values ('a '),('a '),('a '),('a ');
+ERROR 23000: Duplicate entry 'a ' for key 'a'
+insert into t1 values ('a ');
+ERROR 23000: Duplicate entry 'a ' for key 'a'
+insert into t1 values ('a ');
+ERROR 23000: Duplicate entry 'a ' for key 'a'
+insert into t1 values ('a ');
+ERROR 23000: Duplicate entry 'a ' for key 'a'
+update t1 set a='a ' where a like 'a%';
+select concat(a,'.') from t1;
+concat(a,'.')
+a .
+update t1 set a='abc ' where a like 'a ';
+select concat(a,'.') from t1;
+concat(a,'.')
+a .
+update t1 set a='a ' where a like 'a %';
+select concat(a,'.') from t1;
+concat(a,'.')
+a .
+update t1 set a='a ' where a like 'a ';
+select concat(a,'.') from t1;
+concat(a,'.')
+a .
+drop table t1;
+create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(5)));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
+ `t` text,
+ KEY `v` (`v`(5)),
+ KEY `c` (`c`(5)),
+ KEY `t` (`t`(5))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (v char(10) character set utf8);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (v varchar(10), c char(10)) row_format=fixed;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
+insert into t1 values('a','a'),('a ','a ');
+select concat('*',v,'*',c,'*') from t1;
+concat('*',v,'*',c,'*')
+*a*a*
+*a *a*
+drop table t1;
+create table t1 (v varchar(65530), key(v(10)));
+insert into t1 values(repeat('a',65530));
+select length(v) from t1 where v=repeat('a',65530);
+length(v)
+65530
+drop table t1;
+create table t1(a int, b varchar(12), key ba(b, a));
+insert into t1 values (1, 'A'), (20, NULL);
+explain select * from t1 where a=20 and b is null;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref ba ba 20 const,const 1 Using where; Using index
+select * from t1 where a=20 and b is null;
+a b
+20 NULL
+drop table t1;
+create table t1 (v varchar(65530), key(v));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+drop table t1;
+create table t1 (v varchar(65536));
+Warnings:
+Note 1246 Converting column 'v' from VARCHAR to TEXT
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` mediumtext
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (v varchar(65530) character set utf8);
+Warnings:
+Note 1246 Converting column 'v' from VARCHAR to TEXT
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v` mediumtext CHARACTER SET utf8
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+set storage_engine=MEMORY;
+create table t1 (v varchar(16384)) engine=MyISAM;
+drop table t1;
+create table t1 (a char(1), b char(1), key(a, b)) engine=MyISAM;
+insert into t1 values ('8', '6'), ('4', '7');
+select min(a) from t1;
+min(a)
+4
+select min(b) from t1 where a='8';
+min(b)
+6
+drop table t1;
+CREATE TABLE t1 ( `a` int(11) NOT NULL auto_increment, `b` int(11) default NULL,PRIMARY KEY (`a`),UNIQUE KEY `b` (`b`)) ENGINE=MyISAM;
+insert into t1 (b) values (1);
+replace into t1 (b) values (2), (1), (3);
+select * from t1;
+a b
+3 1
+2 2
+4 3
+truncate table t1;
+insert into t1 (b) values (1);
+replace into t1 (b) values (2);
+replace into t1 (b) values (1);
+replace into t1 (b) values (3);
+select * from t1;
+a b
+3 1
+2 2
+4 3
+drop table t1;
+create table t1 (rowid int not null auto_increment, val int not null,primary
+key (rowid), unique(val)) engine=MyISAM;
+replace into t1 (val) values ('1'),('2');
+replace into t1 (val) values ('1'),('2');
+insert into t1 (val) values ('1'),('2');
+ERROR 23000: Duplicate entry '1' for key 'val'
+select * from t1;
+rowid val
+3 1
+4 2
+drop table t1;
+CREATE TABLE t1 (GRADE DECIMAL(4) NOT NULL, PRIMARY KEY (GRADE)) ENGINE=MyISAM;
+INSERT INTO t1 (GRADE) VALUES (151),(252),(343);
+SELECT GRADE FROM t1 WHERE GRADE > 160 AND GRADE < 300;
+GRADE
+252
+SELECT GRADE FROM t1 WHERE GRADE= 151;
+GRADE
+151
+DROP TABLE t1;
+create table t1 (f1 varchar(10), f2 varchar(10), primary key (f1,f2)) engine=MyISAM;
+create table t2 (f3 varchar(10), f4 varchar(10), key (f4)) engine=MyISAM;
+insert into t2 values ('aa','cc');
+insert into t1 values ('aa','bb'),('aa','cc');
+delete t1 from t1,t2 where f1=f3 and f4='cc';
+select * from t1;
+f1 f2
+drop table t1,t2;
+create table t1(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+insert into t1(a) values (1),(2),(3);
+commit;
+set autocommit = 0;
+update t1 set b = 5 where a = 2;
+create trigger t1t before insert on t1 for each row begin set NEW.b = NEW.a * 10 + 5, NEW.c = NEW.a / 10; end |
+set autocommit = 0;
+insert into t1(a) values (10),(20),(30),(40),(50),(60),(70),(80),(90),(100),
+(11),(21),(31),(41),(51),(61),(71),(81),(91),(101),
+(12),(22),(32),(42),(52),(62),(72),(82),(92),(102),
+(13),(23),(33),(43),(53),(63),(73),(83),(93),(103),
+(14),(24),(34),(44),(54),(64),(74),(84),(94),(104);
+commit;
+commit;
+drop trigger t1t;
+drop table t1;
+create table t1(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+create table t2(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+create table t3(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+create table t4(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+create table t5(a int not null, b int, c int, d int, primary key(a)) engine=MyISAM;
+insert into t1(a) values (1),(2),(3);
+insert into t2(a) values (1),(2),(3);
+insert into t3(a) values (1),(2),(3);
+insert into t4(a) values (1),(2),(3);
+insert into t3(a) values (5),(7),(8);
+insert into t4(a) values (5),(7),(8);
+insert into t5(a) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12);
+create trigger t1t before insert on t1 for each row begin
+INSERT INTO t2 SET a = NEW.a;
+end |
+create trigger t2t before insert on t2 for each row begin
+DELETE FROM t3 WHERE a = NEW.a;
+end |
+create trigger t3t before delete on t3 for each row begin
+UPDATE t4 SET b = b + 1 WHERE a = OLD.a;
+end |
+create trigger t4t before update on t4 for each row begin
+UPDATE t5 SET b = b + 1 where a = NEW.a;
+end |
+commit;
+set autocommit = 0;
+update t1 set b = b + 5 where a = 1;
+update t2 set b = b + 5 where a = 1;
+update t3 set b = b + 5 where a = 1;
+update t4 set b = b + 5 where a = 1;
+insert into t5(a) values(20);
+set autocommit = 0;
+insert into t1(a) values(7);
+insert into t2(a) values(8);
+delete from t2 where a = 3;
+update t4 set b = b + 1 where a = 3;
+commit;
+drop trigger t1t;
+drop trigger t2t;
+drop trigger t3t;
+drop trigger t4t;
+drop table t1, t2, t3, t4, t5;
+create table t1(a date) engine=MyISAM;
+create table t2(a date, key(a)) engine=MyISAM;
+insert into t1 values('2005-10-01');
+insert into t2 values('2005-10-01');
+select * from t1, t2
+where t2.a between t1.a - interval 2 day and t1.a + interval 2 day;
+a a
+2005-10-01 2005-10-01
+drop table t1, t2;
+create table t1 (id int not null, f_id int not null, f int not null,
+primary key(f_id, id)) engine=MyISAM;
+create table t2 (id int not null,s_id int not null,s varchar(200),
+primary key(id)) engine=MyISAM;
+INSERT INTO t1 VALUES (8, 1, 3);
+INSERT INTO t1 VALUES (1, 2, 1);
+INSERT INTO t2 VALUES (1, 0, '');
+INSERT INTO t2 VALUES (8, 1, '');
+commit;
+DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
+WHERE mm.id IS NULL;
+select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)
+where mm.id is null lock in share mode;
+id f_id f
+drop table t1,t2;
+create table t1(a int not null, b int, primary key(a)) engine=MyISAM;
+insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
+commit;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+update t1 set b = 5 where b = 1;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+select * from t1 where a = 7 and b = 3 for update;
+a b
+7 3
+commit;
+commit;
+drop table t1;
+CREATE TABLE t1 ( a int ) ENGINE=MyISAM;
+BEGIN;
+INSERT INTO t1 VALUES (1);
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+DROP TABLE t1;
diff --git a/mysql-test/r/mix2_myisam_ucs2.result b/mysql-test/r/mix2_myisam_ucs2.result
new file mode 100644
index 00000000000..830d3b87eb5
--- /dev/null
+++ b/mysql-test/r/mix2_myisam_ucs2.result
@@ -0,0 +1,312 @@
+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 = MyISAM;
+create table t2 (
+a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2))
+) character set ucs2 engine = MyISAM;
+insert into t1 values (1,'abcdefg','abcdefg','one');
+insert into t1 values (2,'ijkilmn','ijkilmn','two');
+insert into t1 values (3,'qrstuvw','qrstuvw','three');
+insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');
+insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');
+insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');
+insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');
+insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');
+insert into t2 values (1,'abcdefg','abcdefg','one');
+insert into t2 values (2,'ijkilmn','ijkilmn','two');
+insert into t2 values (3,'qrstuvw','qrstuvw','three');
+insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');
+insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');
+insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');
+insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');
+insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');
+insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');
+insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');
+insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');
+insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');
+update t1 set filler = 'boo' where a = 1;
+update t2 set filler ='email' where a = 4;
+select a,hex(b),hex(c),filler from t1 order by filler;
+a hex(b) hex(c) filler
+1 61626364656667 61626364656667 boo
+4 D0B1 D0B1 eight
+4 5B 5B five
+4 E880BD E880BD four
+4 E880BDD0B1E880BD E880BDD0B1E880BD seven
+4 E880BDE880BD E880BDE880BD six
+3 71727374757677 71727374757677 three
+2 696A6B696C6D6E 696A6B696C6D6E two
+select a,hex(b),hex(c),filler from t2 order by filler;
+a hex(b) hex(c) filler
+4 05612020 05612020 email
+4 0000563001FC0563 0000563001FC0563 email
+4 05630563 05630563 email
+4 0563 0563 email
+4 0120 0120 email
+4 01FC 01FC email
+4 00E400E50068 00E400E50068 email
+4 00640065 00640065 email
+4 0000E400 0000E400 email
+1 0061006200630064006500660067 0061006200630064006500660067 one
+3 0071007200730074007500760077 0071007200730074007500760077 three
+2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two
+drop table t1;
+drop table t2;
+create table t1 (
+a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2))
+) character set utf8 engine = MyISAM;
+create table t2 (
+a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2))
+) character set ucs2 engine = MyISAM;
+insert into t1 values (1,'abcdefg','abcdefg','one');
+insert into t1 values (2,'ijkilmn','ijkilmn','two');
+insert into t1 values (3,'qrstuvw','qrstuvw','three');
+insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');
+insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');
+insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');
+insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');
+insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');
+insert into t2 values (1,'abcdefg','abcdefg','one');
+insert into t2 values (2,'ijkilmn','ijkilmn','two');
+insert into t2 values (3,'qrstuvw','qrstuvw','three');
+insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');
+insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');
+insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');
+insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');
+insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');
+insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');
+insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');
+insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');
+insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');
+update t1 set filler = 'boo' where a = 1;
+update t2 set filler ='email' where a = 4;
+select a,hex(b),hex(c),filler from t1 order by filler;
+a hex(b) hex(c) filler
+1 61626364656667 61626364656667 boo
+4 D0B1 D0B1 eight
+4 5B 5B five
+4 E880BD E880BD four
+4 E880BDD0B1E880BD E880BDD0B1E880BD seven
+4 E880BDE880BD E880BDE880BD six
+3 71727374757677 71727374757677 three
+2 696A6B696C6D6E 696A6B696C6D6E two
+select a,hex(b),hex(c),filler from t2 order by filler;
+a hex(b) hex(c) filler
+4 05612020 05612020 email
+4 0000563001FC0563 0000563001FC0563 email
+4 05630563 05630563 email
+4 0563 0563 email
+4 0120 0120 email
+4 01FC 01FC email
+4 00E400E50068 00E400E50068 email
+4 00640065 00640065 email
+4 0000E400 0000E400 email
+1 0061006200630064006500660067 0061006200630064006500660067 one
+3 0071007200730074007500760077 0071007200730074007500760077 three
+2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two
+drop table t1;
+drop table t2;
+create table t1 (
+a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2))
+) character set utf8 engine = MyISAM;
+create table t2 (
+a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2))
+) character set ucs2 engine = MyISAM;
+insert into t1 values (1,'abcdefg','abcdefg','one');
+insert into t1 values (2,'ijkilmn','ijkilmn','two');
+insert into t1 values (3,'qrstuvw','qrstuvw','three');
+insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');
+insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');
+insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');
+insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');
+insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');
+insert into t2 values (1,'abcdefg','abcdefg','one');
+insert into t2 values (2,'ijkilmn','ijkilmn','two');
+insert into t2 values (3,'qrstuvw','qrstuvw','three');
+insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');
+insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');
+insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');
+insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');
+insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');
+insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');
+insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');
+insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');
+insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');
+update t1 set filler = 'boo' where a = 1;
+update t2 set filler ='email' where a = 4;
+select a,hex(b),hex(c),filler from t1 order by filler;
+a hex(b) hex(c) filler
+1 61626364656667 61626364656667 boo
+4 D0B1 D0B1 eight
+4 5B 5B five
+4 E880BD E880BD four
+4 E880BDD0B1E880BD E880BDD0B1E880BD seven
+4 E880BDE880BD E880BDE880BD six
+3 71727374757677 71727374757677 three
+2 696A6B696C6D6E 696A6B696C6D6E two
+select a,hex(b),hex(c),filler from t2 order by filler;
+a hex(b) hex(c) filler
+4 0000E400 0000E400 email
+4 00640065 00640065 email
+4 00E400E50068 00E400E50068 email
+4 01FC 01FC email
+4 0120 0120 email
+4 0563 0563 email
+4 05630563 05630563 email
+4 0000563001FC0563 0000563001FC0563 email
+4 05612020 05612020 email
+1 0061006200630064006500660067 0061006200630064006500660067 one
+3 0071007200730074007500760077 0071007200730074007500760077 three
+2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two
+drop table t1;
+drop table t2;
+create table t1 (
+a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2))
+) character set utf8 engine = MyISAM;
+create table t2 (
+a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2))
+) character set ucs2 engine = MyISAM;
+insert into t1 values (1,'abcdefg','abcdefg','one');
+insert into t1 values (2,'ijkilmn','ijkilmn','two');
+insert into t1 values (3,'qrstuvw','qrstuvw','three');
+insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');
+insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');
+insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');
+insert into t2 values (1,'abcdefg','abcdefg','one');
+insert into t2 values (2,'ijkilmn','ijkilmn','two');
+insert into t2 values (3,'qrstuvw','qrstuvw','three');
+insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');
+insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');
+insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');
+insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');
+insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');
+insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');
+insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');
+update t1 set filler = 'boo' where a = 1;
+update t2 set filler ='email' where a = 4;
+select a,hex(b),hex(c),filler from t1 order by filler;
+a hex(b) hex(c) filler
+1 61626364656667 61626364656667 boo
+4 D0B1 D0B1 eight
+4 5B 5B five
+4 E880BD E880BD four
+3 71727374757677 71727374757677 three
+2 696A6B696C6D6E 696A6B696C6D6E two
+select a,hex(b),hex(c),filler from t2 order by filler;
+a hex(b) hex(c) filler
+4 0000E400 0000E400 email
+4 00640065 00640065 email
+4 00E400E50068 00E400E50068 email
+4 01FC 01FC email
+4 0120 0120 email
+4 0563 0563 email
+4 05612020 05612020 email
+1 61626364656667 61626364656667 one
+3 71727374757677 71727374757677 three
+2 696A6B696C6D6E 696A6B696C6D6E two
+drop table t1;
+drop table t2;
+commit;
+CREATE TABLE t1 (
+ind enum('0','1','2') NOT NULL default '0',
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE t2 (
+ind enum('0','1','2') NOT NULL default '0',
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=ucs2;
+INSERT INTO t1 VALUES ('1', ''),('2', '');
+INSERT INTO t2 VALUES ('1', ''),('2', '');
+SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1;
+hex(ind) hex(string1)
+31
+32
+SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1;
+hex(ind) hex(string1)
+0031
+0032
+drop table t1,t2;
+CREATE TABLE t1 (
+ind set('0','1','2') NOT NULL default '0',
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE t2 (
+ind set('0','1','2') NOT NULL default '0',
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=ucs2;
+INSERT INTO t1 VALUES ('1', ''),('2', '');
+INSERT INTO t2 VALUES ('1', ''),('2', '');
+SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1;
+hex(ind) hex(string1)
+31
+32
+SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1;
+hex(ind) hex(string1)
+0031
+0032
+drop table t1,t2;
+CREATE TABLE t1 (
+ind bit not null,
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE t2 (
+ind bit not null,
+string1 varchar(250) NOT NULL,
+PRIMARY KEY (ind)
+) ENGINE=MyISAM DEFAULT CHARSET=ucs2;
+insert into t1 values(0,''),(1,'');
+insert into t2 values(0,''),(1,'');
+select hex(ind),hex(string1) from t1 order by string1;
+hex(ind) hex(string1)
+0
+1
+select hex(ind),hex(string1) from t2 order by string1;
+hex(ind) hex(string1)
+0
+1
+drop table t1,t2;
+create table t2 (
+a int, b char(10), filler char(10), primary key(a, b(2))
+) character set utf8 engine = MyISAM;
+insert into t2 values (1,'abcdefg','one');
+insert into t2 values (2,'ijkilmn','two');
+insert into t2 values (3, 'qrstuvw','three');
+update t2 set a=5, filler='booo' where a=1;
+drop table t2;
+create table t2 (
+a int, b char(10), filler char(10), primary key(a, b(2))
+) character set ucs2 engine = MyISAM;
+insert into t2 values (1,'abcdefg','one');
+insert into t2 values (2,'ijkilmn','two');
+insert into t2 values (3, 'qrstuvw','three');
+update t2 set a=5, filler='booo' where a=1;
+drop table t2;
+create table t1(a int not null, b char(110),primary key(a,b(100))) engine=MyISAM default charset=utf8;
+insert into t1 values(1,'abcdefg'),(2,'defghijk');
+insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1);
+insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2);
+select a,hex(b) from t1 order by b;
+a hex(b)
+1 61626364656667
+2 6465666768696A6B
+6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1
+7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2
+update t1 set b = 'three' where a = 6;
+drop table t1;
+create table t1(a int not null, b text(110),primary key(a,b(100))) engine=MyISAM default charset=utf8;
+insert into t1 values(1,'abcdefg'),(2,'defghijk');
+insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1);
+insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2);
+select a,hex(b) from t1 order by b;
+a hex(b)
+1 61626364656667
+2 6465666768696A6B
+6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1
+7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2
+update t1 set b = 'three' where a = 6;
+drop table t1;
diff --git a/mysql-test/r/mix_innodb_myisam_binlog.result b/mysql-test/r/mix_innodb_myisam_binlog.result
deleted file mode 100644
index 89ee82e9655..00000000000
--- a/mysql-test/r/mix_innodb_myisam_binlog.result
+++ /dev/null
@@ -1,508 +0,0 @@
-drop table if exists t1, t2;
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=myisam;
-reset master;
-begin;
-insert into t1 values(1);
-insert into t2 select * from t1;
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(1)
-master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 347 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(2);
-insert into t2 select * from t1;
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(2)
-master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 347 Query 1 # use `test`; ROLLBACK
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(3);
-savepoint my_savepoint;
-insert into t1 values(4);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(3)
-master-bin.000001 253 Query 1 # use `test`; savepoint my_savepoint
-master-bin.000001 338 Query 1 # use `test`; insert into t1 values(4)
-master-bin.000001 425 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 519 Query 1 # use `test`; rollback to savepoint my_savepoint
-master-bin.000001 616 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(5);
-savepoint my_savepoint;
-insert into t1 values(6);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-insert into t1 values(7);
-commit;
-select a from t1 order by a;
-a
-5
-7
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(5)
-master-bin.000001 253 Query 1 # use `test`; savepoint my_savepoint
-master-bin.000001 338 Query 1 # use `test`; insert into t1 values(6)
-master-bin.000001 425 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 519 Query 1 # use `test`; rollback to savepoint my_savepoint
-master-bin.000001 616 Query 1 # use `test`; insert into t1 values(7)
-master-bin.000001 703 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-reset master;
-select get_lock("a",10);
-get_lock("a",10)
-1
-begin;
-insert into t1 values(8);
-insert into t2 select * from t1;
-select get_lock("a",10);
-get_lock("a",10)
-1
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(8)
-master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 347 Query 1 # use `test`; ROLLBACK
-delete from t1;
-delete from t2;
-reset master;
-insert into t1 values(9);
-insert into t2 select * from t1;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; insert into t1 values(9)
-master-bin.000001 185 Xid 1 # COMMIT /* XID */
-master-bin.000001 212 Query 1 # use `test`; insert into t2 select * from t1
-delete from t1;
-delete from t2;
-reset master;
-insert into t1 values(10);
-begin;
-insert into t2 select * from t1;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; insert into t1 values(10)
-master-bin.000001 186 Xid 1 # COMMIT /* XID */
-master-bin.000001 213 Query 1 # use `test`; insert into t2 select * from t1
-insert into t1 values(11);
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; insert into t1 values(10)
-master-bin.000001 186 Xid 1 # COMMIT /* XID */
-master-bin.000001 213 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 307 Query 1 # use `test`; BEGIN
-master-bin.000001 375 Query 1 # use `test`; insert into t1 values(11)
-master-bin.000001 463 Xid 1 # COMMIT /* XID */
-alter table t2 engine=INNODB;
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(12);
-insert into t2 select * from t1;
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(12)
-master-bin.000001 254 Query 1 # use `test`; insert into t2 select * from t1
-master-bin.000001 348 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(13);
-insert into t2 select * from t1;
-rollback;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(14);
-savepoint my_savepoint;
-insert into t1 values(15);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-commit;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(14)
-master-bin.000001 254 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-reset master;
-begin;
-insert into t1 values(16);
-savepoint my_savepoint;
-insert into t1 values(17);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-insert into t1 values(18);
-commit;
-select a from t1 order by a;
-a
-16
-18
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(16)
-master-bin.000001 254 Query 1 # use `test`; insert into t1 values(18)
-master-bin.000001 342 Xid 1 # COMMIT /* XID */
-delete from t1;
-delete from t2;
-alter table t2 type=MyISAM;
-insert into t1 values (1);
-begin;
-select * from t1 for update;
-a
-1
-select (@before:=unix_timestamp())*0;
-(@before:=unix_timestamp())*0
-0
-begin;
-select * from t1 for update;
-insert into t2 values (20);
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-select (@after:=unix_timestamp())*0;
-(@after:=unix_timestamp())*0
-0
-select (@after-@before) >= 2;
-(@after-@before) >= 2
-1
-drop table t1,t2;
-commit;
-begin;
-create temporary table ti (a int) engine=innodb;
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-insert into ti values(1);
-set autocommit=0;
-create temporary table t1 (a int) engine=myisam;
-commit;
-insert t1 values (1);
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-create table t0 (n int);
-insert t0 select * from t1;
-set autocommit=1;
-insert into t0 select GET_LOCK("lock1",null);
-set autocommit=0;
-create table t2 (n int) engine=innodb;
-insert into t2 values (3);
-select get_lock("lock1",60);
-get_lock("lock1",60)
-1
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; BEGIN
-master-bin.000001 166 Query 1 # use `test`; insert into t1 values(16)
-master-bin.000001 254 Query 1 # use `test`; insert into t1 values(18)
-master-bin.000001 342 Xid 1 # COMMIT /* XID */
-master-bin.000001 369 Query 1 # use `test`; delete from t1
-master-bin.000001 446 Xid 1 # COMMIT /* XID */
-master-bin.000001 473 Query 1 # use `test`; delete from t2
-master-bin.000001 550 Xid 1 # COMMIT /* XID */
-master-bin.000001 577 Query 1 # use `test`; alter table t2 type=MyISAM
-master-bin.000001 666 Query 1 # use `test`; insert into t1 values (1)
-master-bin.000001 754 Xid 1 # COMMIT /* XID */
-master-bin.000001 781 Query 1 # use `test`; insert into t2 values (20)
-master-bin.000001 870 Query 1 # use `test`; drop table t1,t2
-master-bin.000001 949 Query 1 # use `test`; create temporary table ti (a int) engine=innodb
-master-bin.000001 1059 Query 1 # use `test`; insert into ti values(1)
-master-bin.000001 1146 Xid 1 # COMMIT /* XID */
-master-bin.000001 1173 Query 1 # use `test`; create temporary table t1 (a int) engine=myisam
-master-bin.000001 1283 Query 1 # use `test`; insert t1 values (1)
-master-bin.000001 1366 Query 1 # use `test`; create table t0 (n int)
-master-bin.000001 1452 Query 1 # use `test`; insert t0 select * from t1
-master-bin.000001 1541 Query 1 # use `test`; insert into t0 select GET_LOCK("lock1",null)
-master-bin.000001 1648 Query 1 # use `test`; create table t2 (n int) engine=innodb
-master-bin.000001 1748 Query 1 # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
-do release_lock("lock1");
-drop table t0,t2;
-reset master;
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=myisam;
-select get_lock("a",10);
-get_lock("a",10)
-1
-begin;
-insert into t1 values(8);
-insert into t2 select * from t1;
-select get_lock("a",10);
-get_lock("a",10)
-1
-select
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
-is not null
-1
-select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%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=%"
-1 1
-drop table t1, t2;
-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 98
-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 master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 507
-show binlog events from 98;
-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
-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;
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
-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 1
-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 581
-show binlog events from 98;
-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
-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 1
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 196
-/* 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 master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 195
-/* 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 1
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 267
-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 1
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 290
-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 2
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 190
-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 1
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 301
-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 1
-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 1
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 246
-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 1
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 274
-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 1
-select * from t4;
-a b
-0 17
-select count(*) from t1 /* must be 2 */;
-count(*)
-2
-show master status /* the offset must denote there is the query */;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 376
-drop trigger trg_del_t2;
-drop table t1,t2,t3,t4,t5;
-drop function bug27417;
-end of tests
diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result
index d95036090a5..0bc01e95d2d 100644
--- a/mysql-test/r/multi_update.result
+++ b/mysql-test/r/multi_update.result
@@ -492,7 +492,7 @@ create table t2 like t1;
insert into t2 select * from t1;
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
drop table t1,t2;
-create table t1 ( c char(8) not null ) engine=bdb;
+create table t1 ( c char(8) not null ) engine=innodb;
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
alter table t1 add b char(8) not null;
@@ -524,6 +524,86 @@ a
30
drop view v1;
drop table t1, t2;
+create table t1 (i1 int, i2 int, i3 int);
+create table t2 (id int, c1 varchar(20), c2 varchar(20));
+insert into t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
+insert into t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
+select * from t1 order by i1;
+i1 i2 i3
+1 5 10
+2 2 2
+3 7 12
+4 5 2
+9 10 15
+select * from t2;
+id c1 c2
+9 abc def
+5 opq lmn
+2 test t t test
+update t1,t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
+select * from t1 order by i1;
+i1 i2 i3
+1 5 10
+2 15 2
+3 7 12
+4 5 2
+9 15 15
+select * from t2 order by id;
+id c1 c2
+2 test t ppc
+5 opq lmn
+9 abc ppc
+delete t1.*,t2.* from t1,t2 where t1.i2=t2.id;
+select * from t1 order by i1;
+i1 i2 i3
+2 15 2
+3 7 12
+9 15 15
+select * from t2 order by id;
+id c1 c2
+2 test t ppc
+9 abc ppc
+drop table t1, t2;
+create table t1 (i1 int auto_increment not null, i2 int, i3 int, primary key (i1));
+create table t2 (id int auto_increment not null, c1 varchar(20), c2 varchar(20), primary key(id));
+insert into t1 values (1,5,10),(3,7,12),(4,5,2),(9,10,15),(2,2,2);
+insert into t2 values (9,"abc","def"),(5,"opq","lmn"),(2,"test t","t test");
+select * from t1 order by i1;
+i1 i2 i3
+1 5 10
+2 2 2
+3 7 12
+4 5 2
+9 10 15
+select * from t2 order by id;
+id c1 c2
+2 test t t test
+5 opq lmn
+9 abc def
+update t1,t2 set t1.i2=15, t2.c2="ppc" where t1.i1=t2.id;
+select * from t1 order by i1;
+i1 i2 i3
+1 5 10
+2 15 2
+3 7 12
+4 5 2
+9 15 15
+select * from t2 order by id;
+id c1 c2
+2 test t ppc
+5 opq lmn
+9 abc ppc
+delete t1.*,t2.* from t1,t2 where t1.i2=t2.id;
+select * from t1 order by i1;
+i1 i2 i3
+2 15 2
+3 7 12
+9 15 15
+select * from t2 order by id;
+id c1 c2
+2 test t ppc
+9 abc ppc
+drop table t1, t2;
CREATE TABLE `t1` (
`a` int(11) NOT NULL auto_increment,
`b` int(11) default NULL,
@@ -534,29 +614,32 @@ 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);
reset master;
UPDATE t2,t1 SET t2.a=t1.a+2;
-ERROR 23000: Duplicate entry '3' for key 1
+ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
select * from t2 /* must be (3,1), (4,4) */;
a b
3 1
4 4
show master status /* there must be the UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 260
+master-bin.000001 268
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 1
+ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
show master status /* there must be the UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 275
+master-bin.000001 283
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));
@@ -566,15 +649,12 @@ 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 1
+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
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 # use `test`; delete t3.* from t2,t3 where t2.a=t3.a
drop table t1, t2, t3;
end of tests
diff --git a/mysql-test/r/myisam-system.result b/mysql-test/r/myisam-system.result
new file mode 100644
index 00000000000..e0629d955ae
--- /dev/null
+++ b/mysql-test/r/myisam-system.result
@@ -0,0 +1,13 @@
+drop table if exists t1,t2;
+create table t1 (a int) engine=myisam;
+drop table if exists t1;
+Warnings:
+Error 2 Can't find file: 't1' (errno: 2)
+create table t1 (a int) engine=myisam;
+drop table t1;
+Got one of the listed errors
+create table t1 (a int) engine=myisam;
+drop table t1;
+Got one of the listed errors
+drop table t1;
+ERROR 42S02: Unknown table 't1'
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index 33f64d600bb..1c8b5e9d7d9 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -346,11 +346,11 @@ t1 1 c_2 2 a A 5 NULL NULL BTREE
explain select * from t1,t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
-1 SIMPLE t1 ALL a NULL NULL NULL 4 Using where
+1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where; Using join buffer
explain select * from t1,t2 force index(a) where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
-1 SIMPLE t1 ALL a NULL NULL NULL 4 Using where
+1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where; Using join buffer
explain select * from t1 force index(a),t2 force index(a) where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
@@ -362,7 +362,7 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select * from t1,t2 force index(c) where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
-1 SIMPLE t1 ALL a NULL NULL NULL 4 Using where
+1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where; Using join buffer
explain select * from t1 where a=0 or a=2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where
@@ -469,9 +469,9 @@ b.
c.
update t1 set b='b ' where a=2;
update t1 set b='b ' where a > 1;
-ERROR 23000: Duplicate entry 'b ' for key 2
+ERROR 23000: Duplicate entry 'b ' for key 'b'
insert into t1 (b) values ('b');
-ERROR 23000: Duplicate entry 'b' for key 2
+ERROR 23000: Duplicate entry 'b' for key 'b'
select * from t1;
a b
1 a
@@ -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');
@@ -1111,40 +1093,40 @@ concat('*',v,'*',c,'*',t,'*')
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t2 like t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
create table t3 select * from t1;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify c varchar(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` varchar(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify v char(10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify t varchar(10);
@@ -1153,9 +1135,9 @@ Note 1265 Data truncated for column 't' at row 2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) default NULL,
- `c` varchar(10) default NULL,
- `t` varchar(10) default NULL
+ `v` char(10) DEFAULT NULL,
+ `c` varchar(10) DEFAULT NULL,
+ `t` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select concat('*',v,'*',c,'*',t,'*') from t1;
concat('*',v,'*',c,'*',t,'*')
@@ -1166,8 +1148,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `v` (`v`),
KEY `c` (`c`),
@@ -1232,7 +1214,7 @@ explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a '
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref v v 13 const # Using where; Using index
alter table t1 add unique(v);
-ERROR 23000: Duplicate entry '{ ' for key 1
+ERROR 23000: Duplicate entry '{ ' for key 'v_2'
alter table t1 add key(v);
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
qq
@@ -1385,8 +1367,8 @@ alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -1465,8 +1447,8 @@ alter table t1 drop key v, add key v (v(30));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(300) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(300) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -1545,8 +1527,8 @@ alter table t1 modify v varchar(600), drop key v, add key v (v);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(600) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(600) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `c` (`c`),
KEY `t` (`t`(10)),
@@ -1592,16 +1574,16 @@ drop table t1;
create table t1 (a char(10), unique (a));
insert into t1 values ('a ');
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a' for key 1
+ERROR 23000: Duplicate entry 'a' for key 'a'
alter table t1 modify a varchar(10);
insert into t1 values ('a '),('a '),('a '),('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
insert into t1 values ('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
+ERROR 23000: Duplicate entry 'a ' for key 'a'
update t1 set a='a ' where a like 'a%';
select concat(a,'.') from t1;
concat(a,'.')
@@ -1623,8 +1605,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL,
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL,
`t` text,
KEY `v` (`v`(5)),
KEY `c` (`c`(5)),
@@ -1635,15 +1617,15 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) character set utf8 default NULL
+ `v` char(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(10) default NULL,
- `c` char(10) default NULL
+ `v` varchar(10) DEFAULT NULL,
+ `c` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
insert into t1 values('a','a'),('a ','a ');
select concat('*',v,'*',c,'*') from t1;
@@ -1685,24 +1667,12 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext character set utf8
+ `v` mediumtext CHARACTER SET utf8
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(65535));
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
set storage_engine=MyISAM;
-create table t1 (a int) engine=myisam;
-drop table if exists t1;
-Warnings:
-Error 2 Can't find file: 't1' (errno: 2)
-create table t1 (a int) engine=myisam;
-drop table t1;
-Got one of the listed errors
-create table t1 (a int) engine=myisam;
-drop table t1;
-Got one of the listed errors
-drop table t1;
-ERROR 42S02: Unknown table 't1'
set @save_concurrent_insert=@@concurrent_insert;
set global concurrent_insert=1;
create table t1 (a int);
@@ -1862,3 +1832,195 @@ id ref
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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int not null, key `a` (a) key_block_size=2048);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=2048
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a varchar(2048), key `a` (a));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`(1000))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a varchar(2048), key `a` (a) key_block_size=1024);
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`(1000)) KEY_BLOCK_SIZE=4096
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=1024;
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`(1000)) KEY_BLOCK_SIZE=4096
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=1024
+alter table t1 key_block_size=2048;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024,
+ KEY `b` (`b`(1000)) KEY_BLOCK_SIZE=4096
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2048
+alter table t1 add c int, add key (c);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024,
+ KEY `b` (`b`(1000)) KEY_BLOCK_SIZE=4096,
+ KEY `c` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2048
+alter table t1 key_block_size=0;
+alter table t1 add d int, add key (d);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ `d` int(11) DEFAULT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024,
+ KEY `b` (`b`(1000)) KEY_BLOCK_SIZE=4096,
+ KEY `c` (`c`) KEY_BLOCK_SIZE=2048,
+ KEY `d` (`d`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=8192;
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`(1000))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=8192
+drop table t1;
+create table t1 (a int not null, b varchar(2048), key (a) key_block_size=1024, key(b)) key_block_size=8192;
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024,
+ KEY `b` (`b`(1000))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=8192
+drop table t1;
+create table t1 (a int not null, b int, key (a) key_block_size=1024, key(b) key_block_size=8192) key_block_size=16384;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024,
+ KEY `b` (`b`) KEY_BLOCK_SIZE=8192
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=16384
+drop table t1;
+create table t1 (a int not null, key `a` (a) key_block_size=512);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=1024
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
+Warnings:
+Warning 1071 Specified key was too long; max key length is 1000 bytes
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(2048) DEFAULT NULL,
+ KEY `a` (`a`(1000)) KEY_BLOCK_SIZE=4096
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int not null, key `a` (a) key_block_size=1025);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ KEY `a` (`a`) KEY_BLOCK_SIZE=2048
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int not null, key key_block_size=1024 (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 '=1024 (a))' at line 1
+create table t1 (a int not null, key `a` key_block_size=1024 (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 'key_block_size=1024 (a))' at line 1
+CREATE TABLE t1 (
+c1 INT,
+c2 VARCHAR(300),
+KEY (c1) KEY_BLOCK_SIZE 1024,
+KEY (c2) KEY_BLOCK_SIZE 8192
+);
+INSERT INTO t1 VALUES (10, REPEAT('a', CEIL(RAND(10) * 300))),
+(11, REPEAT('b', CEIL(RAND() * 300))),
+(12, REPEAT('c', CEIL(RAND() * 300))),
+(13, REPEAT('d', CEIL(RAND() * 300))),
+(14, REPEAT('e', CEIL(RAND() * 300))),
+(15, REPEAT('f', CEIL(RAND() * 300))),
+(16, REPEAT('g', CEIL(RAND() * 300))),
+(17, REPEAT('h', CEIL(RAND() * 300))),
+(18, REPEAT('i', CEIL(RAND() * 300))),
+(19, REPEAT('j', CEIL(RAND() * 300))),
+(20, REPEAT('k', CEIL(RAND() * 300))),
+(21, REPEAT('l', CEIL(RAND() * 300))),
+(22, REPEAT('m', CEIL(RAND() * 300))),
+(23, REPEAT('n', CEIL(RAND() * 300))),
+(24, REPEAT('o', CEIL(RAND() * 300))),
+(25, REPEAT('p', CEIL(RAND() * 300))),
+(26, REPEAT('q', CEIL(RAND() * 300))),
+(27, REPEAT('r', CEIL(RAND() * 300))),
+(28, REPEAT('s', CEIL(RAND() * 300))),
+(29, REPEAT('t', CEIL(RAND() * 300))),
+(30, REPEAT('u', CEIL(RAND() * 300))),
+(31, REPEAT('v', CEIL(RAND() * 300))),
+(32, REPEAT('w', CEIL(RAND() * 300))),
+(33, REPEAT('x', CEIL(RAND() * 300))),
+(34, REPEAT('y', CEIL(RAND() * 300))),
+(35, REPEAT('z', CEIL(RAND() * 300)));
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+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
+DELETE FROM t1 WHERE c1 >= 10;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
index eded1a3fc3b..a4d96c1c243 100644
--- a/mysql-test/r/mysql.result
+++ b/mysql-test/r/mysql.result
@@ -167,7 +167,7 @@ ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errn
The commands reported in the bug report
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
Too long dbname
-ERROR 1049 (42000) at line 1: Unknown database 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Too long hostname
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
1
@@ -181,3 +181,11 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
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
index 366ceeb5bbf..7f1c0b50c5e 100644
--- a/mysql-test/r/mysql_comments.result
+++ b/mysql-test/r/mysql_comments.result
@@ -12,20 +12,26 @@ drop trigger if exists t1_bi;
2
foofct("call 1")
call 1
-Function sql_mode Create Function
-foofct CREATE DEFINER=`root`@`localhost` FUNCTION `foofct`(x char(20)) RETURNS char(20) CHARSET latin1\nreturn\n\n\n\nx
+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
-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
-Procedure sql_mode Create Procedure
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend
+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
-foosp CREATE DEFINER=`root`@`localhost` PROCEDURE `foosp`()\ninsert into test.t1\n\n\n\n\n \n\n \n values ("foo", 42)
-Procedure sql_mode Create Procedure
-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
+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
@@ -33,18 +39,24 @@ nicesp CREATE DEFINER=`root`@`localhost` PROCEDURE `nicesp`(a int)\nbegin\n \n
2
foofct("call 1")
call 1
-Function sql_mode Create Function
-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
+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
-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
-Procedure sql_mode Create Procedure
-empty CREATE DEFINER=`root`@`localhost` PROCEDURE `empty`()\nbegin\nend
+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
-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
-Procedure sql_mode Create Procedure
-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
+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_cp932.result b/mysql-test/r/mysql_cp932.result
new file mode 100644
index 00000000000..e15c97720cd
--- /dev/null
+++ b/mysql-test/r/mysql_cp932.result
@@ -0,0 +1,10 @@
+\
+\
+c_cp932
+\
+\
+\
+ソ
+ソ
+\
+\
diff --git a/mysql-test/r/mysql_protocols.result b/mysql-test/r/mysql_protocols.result
index cbead9254a2..c6207c4f4f5 100644
--- a/mysql-test/r/mysql_protocols.result
+++ b/mysql-test/r/mysql_protocols.result
@@ -7,3 +7,4 @@ SOCKET
ERROR 2047 (HY000): Wrong or unknown protocol
ERROR 2047 (HY000): Wrong or unknown protocol
Unknown option to protocol: NullS
+Alternatives are: 'TCP','SOCKET','PIPE','MEMORY'
diff --git a/mysql-test/r/mysql_upgrade.result b/mysql-test/r/mysql_upgrade.result
index b3b606bd1fc..31846f68b7b 100644
--- a/mysql-test/r/mysql_upgrade.result
+++ b/mysql-test/r/mysql_upgrade.result
@@ -1,14 +1,24 @@
Run mysql_upgrade once
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func 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
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+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
@@ -21,14 +31,24 @@ This installation of MySQL is already upgraded to VERSION, use --force if you st
Force should run it regardless of wether it's been run before
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func 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
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+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
@@ -41,14 +61,24 @@ GRANT ALL ON *.* TO mysqltest1@'%';
Run mysql_upgrade with password protected account
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func 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
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+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
@@ -63,14 +93,24 @@ FATAL ERROR: Upgrade failed
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func 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
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+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 9f001c293de..e6485720c49 100644
--- a/mysql-test/r/mysqlbinlog.result
+++ b/mysql-test/r/mysqlbinlog.result
@@ -194,6 +194,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
drop table t1,t2;
flush logs;
+flush logs;
select * from t5 /* must be (1),(1) */;
a
1
@@ -327,3 +328,28 @@ drop table t1;
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;
+End of 5.1 tests
diff --git a/mysql-test/r/mysqlbinlog2.result b/mysql-test/r/mysqlbinlog2.result
index 03b0e16d32a..5347787d829 100644
--- a/mysql-test/r/mysqlbinlog2.result
+++ b/mysql-test/r/mysqlbinlog2.result
@@ -18,7 +18,11 @@ 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 #, server v ## 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.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
@@ -26,21 +30,43 @@ SET @@session.sql_mode=0/*!*/;
/*!\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 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
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
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
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
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}
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -134,7 +160,6 @@ SET @@session.sql_mode=0/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
insert into t1 values(null, "d")/*!*/;
-SET INSERT_ID=5/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -188,6 +213,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
--- Local with 2 binlogs on command line --
+flush logs;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
@@ -511,7 +537,6 @@ SET @@session.sql_mode=0/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
insert into t1 values(null, "d")/*!*/;
-SET INSERT_ID=5/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/r/mysqlbinlog_base64.result b/mysql-test/r/mysqlbinlog_base64.result
new file mode 100644
index 00000000000..b62023e0ccf
--- /dev/null
+++ b/mysql-test/r/mysqlbinlog_base64.result
@@ -0,0 +1,110 @@
+create table t1 (a int);
+insert into t1 values (1);
+insert into t1 values (2);
+insert into t1 values (3);
+update t1 set a=a+2 where a=2;
+update t1 set a=a+2 where a=3;
+create table t2 (word varchar(20));
+load data infile '../std_data_ln/words.dat' into table t2;
+flush logs;
+drop table t1;
+drop table t2;
+select * from t1;
+a
+1
+4
+5
+select * from t2;
+word
+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
+flush logs;
+drop table t2;
+create table t2 (word varchar(20));
+load data infile '../std_data_ln/words.dat' into table t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+insert into t2 select * from t2;
+select count(*) from t2;
+count(*)
+35840
+flush logs;
+select count(*) from t2;
+count(*)
+35840
+drop table t1;
+drop table t2;
diff --git a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result
index f8a28009c42..047b2662b1b 100644
--- a/mysql-test/r/mysqlcheck.result
+++ b/mysql-test/r/mysqlcheck.result
@@ -3,14 +3,22 @@ drop view if exists v1;
drop database if exists client_test_db;
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func OK
+mysql.general_log
+note : The storage engine for the table doesn't support optimize
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+note : The storage engine for the table doesn't support optimize
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -20,14 +28,22 @@ mysql.time_zone_transition_type OK
mysql.user OK
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func OK
+mysql.general_log
+note : The storage engine for the table doesn't support optimize
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log
+note : The storage engine for the table doesn't support optimize
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -47,3 +63,21 @@ test.t 1 OK
test.t`1 OK
drop table `t``1`, `t 1`;
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-max.result b/mysql-test/r/mysqldump-max.result
index 261c7a7f197..2d118092a2c 100644
--- a/mysql-test/r/mysqldump-max.result
+++ b/mysql-test/r/mysqldump-max.result
@@ -96,8 +96,8 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -108,8 +108,8 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -120,8 +120,8 @@ DROP TABLE IF EXISTS `t3`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t3` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -132,8 +132,8 @@ DROP TABLE IF EXISTS `t4`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t4` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -144,8 +144,8 @@ DROP TABLE IF EXISTS `t5`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t5` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -156,8 +156,8 @@ DROP TABLE IF EXISTS `t6`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t6` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -193,8 +193,8 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -205,8 +205,8 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -217,8 +217,8 @@ DROP TABLE IF EXISTS `t3`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t3` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -229,8 +229,8 @@ DROP TABLE IF EXISTS `t4`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t4` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -241,8 +241,8 @@ DROP TABLE IF EXISTS `t5`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t5` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -253,8 +253,8 @@ DROP TABLE IF EXISTS `t6`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t6` (
- `id` int(8) default NULL,
- `name` varchar(32) default NULL
+ `id` int(8) DEFAULT NULL,
+ `name` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result
index ca0aa399a56..d07aed5317a 100644
--- a/mysql-test/r/mysqldump.result
+++ b/mysql-test/r/mysqldump.result
@@ -3,13 +3,14 @@ drop database if exists mysqldump_test_db;
drop database if exists db1;
drop database if exists db2;
drop view if exists v1, v2, v3;
-CREATE TABLE t1(a int);
+CREATE TABLE t1(a int, key (a)) key_block_size=1024;
INSERT INTO t1 VALUES (1), (2);
<?xml version="1.0"?>
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" />
+ <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" />
</table_structure>
<table_data name="t1">
<row>
@@ -31,7 +32,7 @@ INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` decimal(64,20) default NULL
+ `a` decimal(64,20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
INSERT INTO `t1` VALUES ('1234567890123456789012345678901234567890.00000000000000000000'),('987654321098765432109876543210987654321.00000000000000000000');
@@ -42,11 +43,11 @@ DROP TABLE t1;
CREATE TABLE t1 (a double);
INSERT INTO t1 VALUES ('-9e999999');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` double default NULL
+ `a` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
INSERT INTO `t1` VALUES (RES);
@@ -67,16 +68,16 @@ SET SQL_MODE=@OLD_SQL_MODE;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` decimal(10,5) default NULL,
- `b` float default NULL
+ `a` decimal(10,5) DEFAULT NULL,
+ `b` float DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456);
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` decimal(10,5) default NULL,
- `b` float default NULL
+ `a` decimal(10,5) DEFAULT NULL,
+ `b` float DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
INSERT INTO `t1` VALUES ('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456),('1.23450',2.3456);
@@ -95,8 +96,8 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` decimal(10,5) default NULL,
- `b` float default NULL
+ `a` decimal(10,5) DEFAULT NULL,
+ `b` float DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -124,8 +125,8 @@ UNLOCK TABLES;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` decimal(10,5) default NULL,
- `b` float default NULL
+ `a` decimal(10,5) DEFAULT NULL,
+ `b` float DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -206,7 +207,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` varchar(255) default NULL
+ `a` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=koi8r;
SET character_set_client = @saved_cs_client;
@@ -242,7 +243,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) TYPE=MyISAM;
SET character_set_client = @saved_cs_client;
@@ -268,7 +269,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) TYPE=MyISAM;
SET character_set_client = @saved_cs_client;
@@ -292,7 +293,7 @@ create table ```a` (i int);
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE ```a` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
drop table ```a`;
@@ -315,7 +316,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -343,7 +344,7 @@ DROP TABLE IF EXISTS "t1";
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE "t1" (
- "a" int(11) default NULL
+ "a" int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -374,7 +375,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -402,7 +403,7 @@ DROP TABLE IF EXISTS "t1";
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE "t1" (
- "a" int(11) default NULL
+ "a" int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -437,7 +438,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -531,7 +532,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -567,7 +568,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) TYPE=MyISAM;
SET character_set_client = @saved_cs_client;
@@ -593,7 +594,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) TYPE=MyISAM;
SET character_set_client = @saved_cs_client;
@@ -619,7 +620,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) TYPE=MyISAM;
SET character_set_client = @saved_cs_client;
@@ -658,7 +659,7 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -740,7 +741,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -774,7 +775,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1143,336 +1144,336 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `F_c4ca4238a0b923820dcc509a6f75849b` int(11) default NULL,
- `F_c81e728d9d4c2f636f067f89cc14862c` int(11) default NULL,
- `F_eccbc87e4b5ce2fe28308fd9f2a7baf3` int(11) default NULL,
- `F_a87ff679a2f3e71d9181a67b7542122c` int(11) default NULL,
- `F_e4da3b7fbbce2345d7772b0674a318d5` int(11) default NULL,
- `F_1679091c5a880faf6fb5e6087eb1b2dc` int(11) default NULL,
- `F_8f14e45fceea167a5a36dedd4bea2543` int(11) default NULL,
- `F_c9f0f895fb98ab9159f51fd0297e236d` int(11) default NULL,
- `F_45c48cce2e2d7fbdea1afc51c7c6ad26` int(11) default NULL,
- `F_d3d9446802a44259755d38e6d163e820` int(11) default NULL,
- `F_6512bd43d9caa6e02c990b0a82652dca` int(11) default NULL,
- `F_c20ad4d76fe97759aa27a0c99bff6710` int(11) default NULL,
- `F_c51ce410c124a10e0db5e4b97fc2af39` int(11) default NULL,
- `F_aab3238922bcc25a6f606eb525ffdc56` int(11) default NULL,
- `F_9bf31c7ff062936a96d3c8bd1f8f2ff3` int(11) default NULL,
- `F_c74d97b01eae257e44aa9d5bade97baf` int(11) default NULL,
- `F_70efdf2ec9b086079795c442636b55fb` int(11) default NULL,
- `F_6f4922f45568161a8cdf4ad2299f6d23` int(11) default NULL,
- `F_1f0e3dad99908345f7439f8ffabdffc4` int(11) default NULL,
- `F_98f13708210194c475687be6106a3b84` int(11) default NULL,
- `F_3c59dc048e8850243be8079a5c74d079` int(11) default NULL,
- `F_b6d767d2f8ed5d21a44b0e5886680cb9` int(11) default NULL,
- `F_37693cfc748049e45d87b8c7d8b9aacd` int(11) default NULL,
- `F_1ff1de774005f8da13f42943881c655f` int(11) default NULL,
- `F_8e296a067a37563370ded05f5a3bf3ec` int(11) default NULL,
- `F_4e732ced3463d06de0ca9a15b6153677` int(11) default NULL,
- `F_02e74f10e0327ad868d138f2b4fdd6f0` int(11) default NULL,
- `F_33e75ff09dd601bbe69f351039152189` int(11) default NULL,
- `F_6ea9ab1baa0efb9e19094440c317e21b` int(11) default NULL,
- `F_34173cb38f07f89ddbebc2ac9128303f` int(11) default NULL,
- `F_c16a5320fa475530d9583c34fd356ef5` int(11) default NULL,
- `F_6364d3f0f495b6ab9dcf8d3b5c6e0b01` int(11) default NULL,
- `F_182be0c5cdcd5072bb1864cdee4d3d6e` int(11) default NULL,
- `F_e369853df766fa44e1ed0ff613f563bd` int(11) default NULL,
- `F_1c383cd30b7c298ab50293adfecb7b18` int(11) default NULL,
- `F_19ca14e7ea6328a42e0eb13d585e4c22` int(11) default NULL,
- `F_a5bfc9e07964f8dddeb95fc584cd965d` int(11) default NULL,
- `F_a5771bce93e200c36f7cd9dfd0e5deaa` int(11) default NULL,
- `F_d67d8ab4f4c10bf22aa353e27879133c` int(11) default NULL,
- `F_d645920e395fedad7bbbed0eca3fe2e0` int(11) default NULL,
- `F_3416a75f4cea9109507cacd8e2f2aefc` int(11) default NULL,
- `F_a1d0c6e83f027327d8461063f4ac58a6` int(11) default NULL,
- `F_17e62166fc8586dfa4d1bc0e1742c08b` int(11) default NULL,
- `F_f7177163c833dff4b38fc8d2872f1ec6` int(11) default NULL,
- `F_6c8349cc7260ae62e3b1396831a8398f` int(11) default NULL,
- `F_d9d4f495e875a2e075a1a4a6e1b9770f` int(11) default NULL,
- `F_67c6a1e7ce56d3d6fa748ab6d9af3fd7` int(11) default NULL,
- `F_642e92efb79421734881b53e1e1b18b6` int(11) default NULL,
- `F_f457c545a9ded88f18ecee47145a72c0` int(11) default NULL,
- `F_c0c7c76d30bd3dcaefc96f40275bdc0a` int(11) default NULL,
- `F_2838023a778dfaecdc212708f721b788` int(11) default NULL,
- `F_9a1158154dfa42caddbd0694a4e9bdc8` int(11) default NULL,
- `F_d82c8d1619ad8176d665453cfb2e55f0` int(11) default NULL,
- `F_a684eceee76fc522773286a895bc8436` int(11) default NULL,
- `F_b53b3a3d6ab90ce0268229151c9bde11` int(11) default NULL,
- `F_9f61408e3afb633e50cdf1b20de6f466` int(11) default NULL,
- `F_72b32a1f754ba1c09b3695e0cb6cde7f` int(11) default NULL,
- `F_66f041e16a60928b05a7e228a89c3799` int(11) default NULL,
- `F_093f65e080a295f8076b1c5722a46aa2` int(11) default NULL,
- `F_072b030ba126b2f4b2374f342be9ed44` int(11) default NULL,
- `F_7f39f8317fbdb1988ef4c628eba02591` int(11) default NULL,
- `F_44f683a84163b3523afe57c2e008bc8c` int(11) default NULL,
- `F_03afdbd66e7929b125f8597834fa83a4` int(11) default NULL,
- `F_ea5d2f1c4608232e07d3aa3d998e5135` int(11) default NULL,
- `F_fc490ca45c00b1249bbe3554a4fdf6fb` int(11) default NULL,
- `F_3295c76acbf4caaed33c36b1b5fc2cb1` int(11) default NULL,
- `F_735b90b4568125ed6c3f678819b6e058` int(11) default NULL,
- `F_a3f390d88e4c41f2747bfa2f1b5f87db` int(11) default NULL,
- `F_14bfa6bb14875e45bba028a21ed38046` int(11) default NULL,
- `F_7cbbc409ec990f19c78c75bd1e06f215` int(11) default NULL,
- `F_e2c420d928d4bf8ce0ff2ec19b371514` int(11) default NULL,
- `F_32bb90e8976aab5298d5da10fe66f21d` int(11) default NULL,
- `F_d2ddea18f00665ce8623e36bd4e3c7c5` int(11) default NULL,
- `F_ad61ab143223efbc24c7d2583be69251` int(11) default NULL,
- `F_d09bf41544a3365a46c9077ebb5e35c3` int(11) default NULL,
- `F_fbd7939d674997cdb4692d34de8633c4` int(11) default NULL,
- `F_28dd2c7955ce926456240b2ff0100bde` int(11) default NULL,
- `F_35f4a8d465e6e1edc05f3d8ab658c551` int(11) default NULL,
- `F_d1fe173d08e959397adf34b1d77e88d7` int(11) default NULL,
- `F_f033ab37c30201f73f142449d037028d` int(11) default NULL,
- `F_43ec517d68b6edd3015b3edc9a11367b` int(11) default NULL,
- `F_9778d5d219c5080b9a6a17bef029331c` int(11) default NULL,
- `F_fe9fc289c3ff0af142b6d3bead98a923` int(11) default NULL,
- `F_68d30a9594728bc39aa24be94b319d21` int(11) default NULL,
- `F_3ef815416f775098fe977004015c6193` int(11) default NULL,
- `F_93db85ed909c13838ff95ccfa94cebd9` int(11) default NULL,
- `F_c7e1249ffc03eb9ded908c236bd1996d` int(11) default NULL,
- `F_2a38a4a9316c49e5a833517c45d31070` int(11) default NULL,
- `F_7647966b7343c29048673252e490f736` int(11) default NULL,
- `F_8613985ec49eb8f757ae6439e879bb2a` int(11) default NULL,
- `F_54229abfcfa5649e7003b83dd4755294` int(11) default NULL,
- `F_92cc227532d17e56e07902b254dfad10` int(11) default NULL,
- `F_98dce83da57b0395e163467c9dae521b` int(11) default NULL,
- `F_f4b9ec30ad9f68f89b29639786cb62ef` int(11) default NULL,
- `F_812b4ba287f5ee0bc9d43bbf5bbe87fb` int(11) default NULL,
- `F_26657d5ff9020d2abefe558796b99584` int(11) default NULL,
- `F_e2ef524fbf3d9fe611d5a8e90fefdc9c` int(11) default NULL,
- `F_ed3d2c21991e3bef5e069713af9fa6ca` int(11) default NULL,
- `F_ac627ab1ccbdb62ec96e702f07f6425b` int(11) default NULL,
- `F_f899139df5e1059396431415e770c6dd` int(11) default NULL,
- `F_38b3eff8baf56627478ec76a704e9b52` int(11) default NULL,
- `F_ec8956637a99787bd197eacd77acce5e` int(11) default NULL,
- `F_6974ce5ac660610b44d9b9fed0ff9548` int(11) default NULL,
- `F_c9e1074f5b3f9fc8ea15d152add07294` int(11) default NULL,
- `F_65b9eea6e1cc6bb9f0cd2a47751a186f` int(11) default NULL,
- `F_f0935e4cd5920aa6c7c996a5ee53a70f` int(11) default NULL,
- `F_a97da629b098b75c294dffdc3e463904` int(11) default NULL,
- `F_a3c65c2974270fd093ee8a9bf8ae7d0b` int(11) default NULL,
- `F_2723d092b63885e0d7c260cc007e8b9d` int(11) default NULL,
- `F_5f93f983524def3dca464469d2cf9f3e` int(11) default NULL,
- `F_698d51a19d8a121ce581499d7b701668` int(11) default NULL,
- `F_7f6ffaa6bb0b408017b62254211691b5` int(11) default NULL,
- `F_73278a4a86960eeb576a8fd4c9ec6997` int(11) default NULL,
- `F_5fd0b37cd7dbbb00f97ba6ce92bf5add` int(11) default NULL,
- `F_2b44928ae11fb9384c4cf38708677c48` int(11) default NULL,
- `F_c45147dee729311ef5b5c3003946c48f` int(11) default NULL,
- `F_eb160de1de89d9058fcb0b968dbbbd68` int(11) default NULL,
- `F_5ef059938ba799aaa845e1c2e8a762bd` int(11) default NULL,
- `F_07e1cd7dca89a1678042477183b7ac3f` int(11) default NULL,
- `F_da4fb5c6e93e74d3df8527599fa62642` int(11) default NULL,
- `F_4c56ff4ce4aaf9573aa5dff913df997a` int(11) default NULL,
- `F_a0a080f42e6f13b3a2df133f073095dd` int(11) default NULL,
- `F_202cb962ac59075b964b07152d234b70` int(11) default NULL,
- `F_c8ffe9a587b126f152ed3d89a146b445` int(11) default NULL,
- `F_3def184ad8f4755ff269862ea77393dd` int(11) default NULL,
- `F_069059b7ef840f0c74a814ec9237b6ec` int(11) default NULL,
- `F_ec5decca5ed3d6b8079e2e7e7bacc9f2` int(11) default NULL,
- `F_76dc611d6ebaafc66cc0879c71b5db5c` int(11) default NULL,
- `F_d1f491a404d6854880943e5c3cd9ca25` int(11) default NULL,
- `F_9b8619251a19057cff70779273e95aa6` int(11) default NULL,
- `F_1afa34a7f984eeabdbb0a7d494132ee5` int(11) default NULL,
- `F_65ded5353c5ee48d0b7d48c591b8f430` int(11) default NULL,
- `F_9fc3d7152ba9336a670e36d0ed79bc43` int(11) default NULL,
- `F_02522a2b2726fb0a03bb19f2d8d9524d` int(11) default NULL,
- `F_7f1de29e6da19d22b51c68001e7e0e54` int(11) default NULL,
- `F_42a0e188f5033bc65bf8d78622277c4e` int(11) default NULL,
- `F_3988c7f88ebcb58c6ce932b957b6f332` int(11) default NULL,
- `F_013d407166ec4fa56eb1e1f8cbe183b9` int(11) default NULL,
- `F_e00da03b685a0dd18fb6a08af0923de0` int(11) default NULL,
- `F_1385974ed5904a438616ff7bdb3f7439` int(11) default NULL,
- `F_0f28b5d49b3020afeecd95b4009adf4c` int(11) default NULL,
- `F_a8baa56554f96369ab93e4f3bb068c22` int(11) default NULL,
- `F_903ce9225fca3e988c2af215d4e544d3` int(11) default NULL,
- `F_0a09c8844ba8f0936c20bd791130d6b6` int(11) default NULL,
- `F_2b24d495052a8ce66358eb576b8912c8` int(11) default NULL,
- `F_a5e00132373a7031000fd987a3c9f87b` int(11) default NULL,
- `F_8d5e957f297893487bd98fa830fa6413` int(11) default NULL,
- `F_47d1e990583c9c67424d369f3414728e` int(11) default NULL,
- `F_f2217062e9a397a1dca429e7d70bc6ca` int(11) default NULL,
- `F_7ef605fc8dba5425d6965fbd4c8fbe1f` int(11) default NULL,
- `F_a8f15eda80c50adb0e71943adc8015cf` int(11) default NULL,
- `F_37a749d808e46495a8da1e5352d03cae` int(11) default NULL,
- `F_b3e3e393c77e35a4a3f3cbd1e429b5dc` int(11) default NULL,
- `F_1d7f7abc18fcb43975065399b0d1e48e` int(11) default NULL,
- `F_2a79ea27c279e471f4d180b08d62b00a` int(11) default NULL,
- `F_1c9ac0159c94d8d0cbedc973445af2da` int(11) default NULL,
- `F_6c4b761a28b734fe93831e3fb400ce87` int(11) default NULL,
- `F_06409663226af2f3114485aa4e0a23b4` int(11) default NULL,
- `F_140f6969d5213fd0ece03148e62e461e` int(11) default NULL,
- `F_b73ce398c39f506af761d2277d853a92` int(11) default NULL,
- `F_bd4c9ab730f5513206b999ec0d90d1fb` int(11) default NULL,
- `F_82aa4b0af34c2313a562076992e50aa3` int(11) default NULL,
- `F_0777d5c17d4066b82ab86dff8a46af6f` int(11) default NULL,
- `F_fa7cdfad1a5aaf8370ebeda47a1ff1c3` int(11) default NULL,
- `F_9766527f2b5d3e95d4a733fcfb77bd7e` int(11) default NULL,
- `F_7e7757b1e12abcb736ab9a754ffb617a` int(11) default NULL,
- `F_5878a7ab84fb43402106c575658472fa` int(11) default NULL,
- `F_006f52e9102a8d3be2fe5614f42ba989` int(11) default NULL,
- `F_3636638817772e42b59d74cff571fbb3` int(11) default NULL,
- `F_149e9677a5989fd342ae44213df68868` int(11) default NULL,
- `F_a4a042cf4fd6bfb47701cbc8a1653ada` int(11) default NULL,
- `F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e` int(11) default NULL,
- `F_f7e6c85504ce6e82442c770f7c8606f0` int(11) default NULL,
- `F_bf8229696f7a3bb4700cfddef19fa23f` int(11) default NULL,
- `F_82161242827b703e6acf9c726942a1e4` int(11) default NULL,
- `F_38af86134b65d0f10fe33d30dd76442e` int(11) default NULL,
- `F_96da2f590cd7246bbde0051047b0d6f7` int(11) default NULL,
- `F_8f85517967795eeef66c225f7883bdcb` int(11) default NULL,
- `F_8f53295a73878494e9bc8dd6c3c7104f` int(11) default NULL,
- `F_045117b0e0a11a242b9765e79cbf113f` int(11) default NULL,
- `F_fc221309746013ac554571fbd180e1c8` int(11) default NULL,
- `F_4c5bde74a8f110656874902f07378009` int(11) default NULL,
- `F_cedebb6e872f539bef8c3f919874e9d7` int(11) default NULL,
- `F_6cdd60ea0045eb7a6ec44c54d29ed402` int(11) default NULL,
- `F_eecca5b6365d9607ee5a9d336962c534` int(11) default NULL,
- `F_9872ed9fc22fc182d371c3e9ed316094` int(11) default NULL,
- `F_31fefc0e570cb3860f2a6d4b38c6490d` int(11) default NULL,
- `F_9dcb88e0137649590b755372b040afad` int(11) default NULL,
- `F_a2557a7b2e94197ff767970b67041697` int(11) default NULL,
- `F_cfecdb276f634854f3ef915e2e980c31` int(11) default NULL,
- `F_0aa1883c6411f7873cb83dacb17b0afc` int(11) default NULL,
- `F_58a2fc6ed39fd083f55d4182bf88826d` int(11) default NULL,
- `F_bd686fd640be98efaae0091fa301e613` int(11) default NULL,
- `F_a597e50502f5ff68e3e25b9114205d4a` int(11) default NULL,
- `F_0336dcbab05b9d5ad24f4333c7658a0e` int(11) default NULL,
- `F_084b6fbb10729ed4da8c3d3f5a3ae7c9` int(11) default NULL,
- `F_85d8ce590ad8981ca2c8286f79f59954` int(11) default NULL,
- `F_0e65972dce68dad4d52d063967f0a705` int(11) default NULL,
- `F_84d9ee44e457ddef7f2c4f25dc8fa865` int(11) default NULL,
- `F_3644a684f98ea8fe223c713b77189a77` int(11) default NULL,
- `F_757b505cfd34c64c85ca5b5690ee5293` int(11) default NULL,
- `F_854d6fae5ee42911677c739ee1734486` int(11) default NULL,
- `F_e2c0be24560d78c5e599c2a9c9d0bbd2` int(11) default NULL,
- `F_274ad4786c3abca69fa097b85867d9a4` int(11) default NULL,
- `F_eae27d77ca20db309e056e3d2dcd7d69` int(11) default NULL,
- `F_7eabe3a1649ffa2b3ff8c02ebfd5659f` int(11) default NULL,
- `F_69adc1e107f7f7d035d7baf04342e1ca` int(11) default NULL,
- `F_091d584fced301b442654dd8c23b3fc9` int(11) default NULL,
- `F_b1d10e7bafa4421218a51b1e1f1b0ba2` int(11) default NULL,
- `F_6f3ef77ac0e3619e98159e9b6febf557` int(11) default NULL,
- `F_eb163727917cbba1eea208541a643e74` int(11) default NULL,
- `F_1534b76d325a8f591b52d302e7181331` int(11) default NULL,
- `F_979d472a84804b9f647bc185a877a8b5` int(11) default NULL,
- `F_ca46c1b9512a7a8315fa3c5a946e8265` int(11) default NULL,
- `F_3b8a614226a953a8cd9526fca6fe9ba5` int(11) default NULL,
- `F_45fbc6d3e05ebd93369ce542e8f2322d` int(11) default NULL,
- `F_63dc7ed1010d3c3b8269faf0ba7491d4` int(11) default NULL,
- `F_e96ed478dab8595a7dbda4cbcbee168f` int(11) default NULL,
- `F_c0e190d8267e36708f955d7ab048990d` int(11) default NULL,
- `F_ec8ce6abb3e952a85b8551ba726a1227` int(11) default NULL,
- `F_060ad92489947d410d897474079c1477` int(11) default NULL,
- `F_bcbe3365e6ac95ea2c0343a2395834dd` int(11) default NULL,
- `F_115f89503138416a242f40fb7d7f338e` int(11) default NULL,
- `F_13fe9d84310e77f13a6d184dbf1232f3` int(11) default NULL,
- `F_d1c38a09acc34845c6be3a127a5aacaf` int(11) default NULL,
- `F_9cfdf10e8fc047a44b08ed031e1f0ed1` int(11) default NULL,
- `F_705f2172834666788607efbfca35afb3` int(11) default NULL,
- `F_74db120f0a8e5646ef5a30154e9f6deb` int(11) default NULL,
- `F_57aeee35c98205091e18d1140e9f38cf` int(11) default NULL,
- `F_6da9003b743b65f4c0ccd295cc484e57` int(11) default NULL,
- `F_9b04d152845ec0a378394003c96da594` int(11) default NULL,
- `F_be83ab3ecd0db773eb2dc1b0a17836a1` int(11) default NULL,
- `F_e165421110ba03099a1c0393373c5b43` int(11) default NULL,
- `F_289dff07669d7a23de0ef88d2f7129e7` int(11) default NULL,
- `F_577ef1154f3240ad5b9b413aa7346a1e` int(11) default NULL,
- `F_01161aaa0b6d1345dd8fe4e481144d84` int(11) default NULL,
- `F_539fd53b59e3bb12d203f45a912eeaf2` int(11) default NULL,
- `F_ac1dd209cbcc5e5d1c6e28598e8cbbe8` int(11) default NULL,
- `F_555d6702c950ecb729a966504af0a635` int(11) default NULL,
- `F_335f5352088d7d9bf74191e006d8e24c` int(11) default NULL,
- `F_f340f1b1f65b6df5b5e3f94d95b11daf` int(11) default NULL,
- `F_e4a6222cdb5b34375400904f03d8e6a5` int(11) default NULL,
- `F_cb70ab375662576bd1ac5aaf16b3fca4` int(11) default NULL,
- `F_9188905e74c28e489b44e954ec0b9bca` int(11) default NULL,
- `F_0266e33d3f546cb5436a10798e657d97` int(11) default NULL,
- `F_38db3aed920cf82ab059bfccbd02be6a` int(11) default NULL,
- `F_3cec07e9ba5f5bb252d13f5f431e4bbb` int(11) default NULL,
- `F_621bf66ddb7c962aa0d22ac97d69b793` int(11) default NULL,
- `F_077e29b11be80ab57e1a2ecabb7da330` int(11) default NULL,
- `F_6c9882bbac1c7093bd25041881277658` int(11) default NULL,
- `F_19f3cd308f1455b3fa09a282e0d496f4` int(11) default NULL,
- `F_03c6b06952c750899bb03d998e631860` int(11) default NULL,
- `F_c24cd76e1ce41366a4bbe8a49b02a028` int(11) default NULL,
- `F_c52f1bd66cc19d05628bd8bf27af3ad6` int(11) default NULL,
- `F_fe131d7f5a6b38b23cc967316c13dae2` int(11) default NULL,
- `F_f718499c1c8cef6730f9fd03c8125cab` int(11) default NULL,
- `F_d96409bf894217686ba124d7356686c9` int(11) default NULL,
- `F_502e4a16930e414107ee22b6198c578f` int(11) default NULL,
- `F_cfa0860e83a4c3a763a7e62d825349f7` int(11) default NULL,
- `F_a4f23670e1833f3fdb077ca70bbd5d66` int(11) default NULL,
- `F_b1a59b315fc9a3002ce38bbe070ec3f5` int(11) default NULL,
- `F_36660e59856b4de58a219bcf4e27eba3` int(11) default NULL,
- `F_8c19f571e251e61cb8dd3612f26d5ecf` int(11) default NULL,
- `F_d6baf65e0b240ce177cf70da146c8dc8` int(11) default NULL,
- `F_e56954b4f6347e897f954495eab16a88` int(11) default NULL,
- `F_f7664060cc52bc6f3d620bcedc94a4b6` int(11) default NULL,
- `F_eda80a3d5b344bc40f3bc04f65b7a357` int(11) default NULL,
- `F_8f121ce07d74717e0b1f21d122e04521` int(11) default NULL,
- `F_06138bc5af6023646ede0e1f7c1eac75` int(11) default NULL,
- `F_39059724f73a9969845dfe4146c5660e` int(11) default NULL,
- `F_7f100b7b36092fb9b06dfb4fac360931` int(11) default NULL,
- `F_7a614fd06c325499f1680b9896beedeb` int(11) default NULL,
- `F_4734ba6f3de83d861c3176a6273cac6d` int(11) default NULL,
- `F_d947bf06a885db0d477d707121934ff8` int(11) default NULL,
- `F_63923f49e5241343aa7acb6a06a751e7` int(11) default NULL,
- `F_db8e1af0cb3aca1ae2d0018624204529` int(11) default NULL,
- `F_20f07591c6fcb220ffe637cda29bb3f6` int(11) default NULL,
- `F_07cdfd23373b17c6b337251c22b7ea57` int(11) default NULL,
- `F_d395771085aab05244a4fb8fd91bf4ee` int(11) default NULL,
- `F_92c8c96e4c37100777c7190b76d28233` int(11) default NULL,
- `F_e3796ae838835da0b6f6ea37bcf8bcb7` int(11) default NULL,
- `F_6a9aeddfc689c1d0e3b9ccc3ab651bc5` int(11) default NULL,
- `F_0f49c89d1e7298bb9930789c8ed59d48` int(11) default NULL,
- `F_46ba9f2a6976570b0353203ec4474217` int(11) default NULL,
- `F_0e01938fc48a2cfb5f2217fbfb00722d` int(11) default NULL,
- `F_16a5cdae362b8d27a1d8f8c7b78b4330` int(11) default NULL,
- `F_918317b57931b6b7a7d29490fe5ec9f9` int(11) default NULL,
- `F_48aedb8880cab8c45637abc7493ecddd` int(11) default NULL,
- `F_839ab46820b524afda05122893c2fe8e` int(11) default NULL,
- `F_f90f2aca5c640289d0a29417bcb63a37` int(11) default NULL,
- `F_9c838d2e45b2ad1094d42f4ef36764f6` int(11) default NULL,
- `F_1700002963a49da13542e0726b7bb758` int(11) default NULL,
- `F_53c3bce66e43be4f209556518c2fcb54` int(11) default NULL,
- `F_6883966fd8f918a4aa29be29d2c386fb` int(11) default NULL,
- `F_49182f81e6a13cf5eaa496d51fea6406` int(11) default NULL,
- `F_d296c101daa88a51f6ca8cfc1ac79b50` int(11) default NULL,
- `F_9fd81843ad7f202f26c1a174c7357585` int(11) default NULL,
- `F_26e359e83860db1d11b6acca57d8ea88` int(11) default NULL,
- `F_ef0d3930a7b6c95bd2b32ed45989c61f` int(11) default NULL,
- `F_94f6d7e04a4d452035300f18b984988c` int(11) default NULL,
- `F_34ed066df378efacc9b924ec161e7639` int(11) default NULL,
- `F_577bcc914f9e55d5e4e4f82f9f00e7d4` int(11) default NULL,
- `F_11b9842e0a271ff252c1903e7132cd68` int(11) default NULL,
- `F_37bc2f75bf1bcfe8450a1a41c200364c` int(11) default NULL,
- `F_496e05e1aea0a9c4655800e8a7b9ea28` int(11) default NULL,
- `F_b2eb7349035754953b57a32e2841bda5` int(11) default NULL,
- `F_8e98d81f8217304975ccb23337bb5761` int(11) default NULL,
- `F_a8c88a0055f636e4a163a5e3d16adab7` int(11) default NULL,
- `F_eddea82ad2755b24c4e168c5fc2ebd40` int(11) default NULL,
- `F_06eb61b839a0cefee4967c67ccb099dc` int(11) default NULL,
- `F_9dfcd5e558dfa04aaf37f137a1d9d3e5` int(11) default NULL,
- `F_950a4152c2b4aa3ad78bdd6b366cc179` int(11) default NULL,
- `F_158f3069a435b314a80bdcb024f8e422` int(11) default NULL,
- `F_758874998f5bd0c393da094e1967a72b` int(11) default NULL,
- `F_ad13a2a07ca4b7642959dc0c4c740ab6` int(11) default NULL,
- `F_3fe94a002317b5f9259f82690aeea4cd` int(11) default NULL,
- `F_5b8add2a5d98b1a652ea7fd72d942dac` int(11) default NULL,
- `F_432aca3a1e345e339f35a30c8f65edce` int(11) default NULL,
- `F_8d3bba7425e7c98c50f52ca1b52d3735` int(11) default NULL,
- `F_320722549d1751cf3f247855f937b982` int(11) default NULL,
- `F_caf1a3dfb505ffed0d024130f58c5cfa` int(11) default NULL,
- `F_5737c6ec2e0716f3d8a7a5c4e0de0d9a` int(11) default NULL,
- `F_bc6dc48b743dc5d013b1abaebd2faed2` int(11) default NULL,
- `F_f2fc990265c712c49d51a18a32b39f0c` int(11) default NULL,
- `F_89f0fd5c927d466d6ec9a21b9ac34ffa` int(11) default NULL,
- `F_a666587afda6e89aec274a3657558a27` int(11) default NULL,
- `F_b83aac23b9528732c23cc7352950e880` int(11) default NULL,
- `F_cd00692c3bfe59267d5ecfac5310286c` int(11) default NULL,
- `F_6faa8040da20ef399b63a72d0e4ab575` int(11) default NULL,
- `F_fe73f687e5bc5280214e0486b273a5f9` int(11) default NULL
+ `F_c4ca4238a0b923820dcc509a6f75849b` int(11) DEFAULT NULL,
+ `F_c81e728d9d4c2f636f067f89cc14862c` int(11) DEFAULT NULL,
+ `F_eccbc87e4b5ce2fe28308fd9f2a7baf3` int(11) DEFAULT NULL,
+ `F_a87ff679a2f3e71d9181a67b7542122c` int(11) DEFAULT NULL,
+ `F_e4da3b7fbbce2345d7772b0674a318d5` int(11) DEFAULT NULL,
+ `F_1679091c5a880faf6fb5e6087eb1b2dc` int(11) DEFAULT NULL,
+ `F_8f14e45fceea167a5a36dedd4bea2543` int(11) DEFAULT NULL,
+ `F_c9f0f895fb98ab9159f51fd0297e236d` int(11) DEFAULT NULL,
+ `F_45c48cce2e2d7fbdea1afc51c7c6ad26` int(11) DEFAULT NULL,
+ `F_d3d9446802a44259755d38e6d163e820` int(11) DEFAULT NULL,
+ `F_6512bd43d9caa6e02c990b0a82652dca` int(11) DEFAULT NULL,
+ `F_c20ad4d76fe97759aa27a0c99bff6710` int(11) DEFAULT NULL,
+ `F_c51ce410c124a10e0db5e4b97fc2af39` int(11) DEFAULT NULL,
+ `F_aab3238922bcc25a6f606eb525ffdc56` int(11) DEFAULT NULL,
+ `F_9bf31c7ff062936a96d3c8bd1f8f2ff3` int(11) DEFAULT NULL,
+ `F_c74d97b01eae257e44aa9d5bade97baf` int(11) DEFAULT NULL,
+ `F_70efdf2ec9b086079795c442636b55fb` int(11) DEFAULT NULL,
+ `F_6f4922f45568161a8cdf4ad2299f6d23` int(11) DEFAULT NULL,
+ `F_1f0e3dad99908345f7439f8ffabdffc4` int(11) DEFAULT NULL,
+ `F_98f13708210194c475687be6106a3b84` int(11) DEFAULT NULL,
+ `F_3c59dc048e8850243be8079a5c74d079` int(11) DEFAULT NULL,
+ `F_b6d767d2f8ed5d21a44b0e5886680cb9` int(11) DEFAULT NULL,
+ `F_37693cfc748049e45d87b8c7d8b9aacd` int(11) DEFAULT NULL,
+ `F_1ff1de774005f8da13f42943881c655f` int(11) DEFAULT NULL,
+ `F_8e296a067a37563370ded05f5a3bf3ec` int(11) DEFAULT NULL,
+ `F_4e732ced3463d06de0ca9a15b6153677` int(11) DEFAULT NULL,
+ `F_02e74f10e0327ad868d138f2b4fdd6f0` int(11) DEFAULT NULL,
+ `F_33e75ff09dd601bbe69f351039152189` int(11) DEFAULT NULL,
+ `F_6ea9ab1baa0efb9e19094440c317e21b` int(11) DEFAULT NULL,
+ `F_34173cb38f07f89ddbebc2ac9128303f` int(11) DEFAULT NULL,
+ `F_c16a5320fa475530d9583c34fd356ef5` int(11) DEFAULT NULL,
+ `F_6364d3f0f495b6ab9dcf8d3b5c6e0b01` int(11) DEFAULT NULL,
+ `F_182be0c5cdcd5072bb1864cdee4d3d6e` int(11) DEFAULT NULL,
+ `F_e369853df766fa44e1ed0ff613f563bd` int(11) DEFAULT NULL,
+ `F_1c383cd30b7c298ab50293adfecb7b18` int(11) DEFAULT NULL,
+ `F_19ca14e7ea6328a42e0eb13d585e4c22` int(11) DEFAULT NULL,
+ `F_a5bfc9e07964f8dddeb95fc584cd965d` int(11) DEFAULT NULL,
+ `F_a5771bce93e200c36f7cd9dfd0e5deaa` int(11) DEFAULT NULL,
+ `F_d67d8ab4f4c10bf22aa353e27879133c` int(11) DEFAULT NULL,
+ `F_d645920e395fedad7bbbed0eca3fe2e0` int(11) DEFAULT NULL,
+ `F_3416a75f4cea9109507cacd8e2f2aefc` int(11) DEFAULT NULL,
+ `F_a1d0c6e83f027327d8461063f4ac58a6` int(11) DEFAULT NULL,
+ `F_17e62166fc8586dfa4d1bc0e1742c08b` int(11) DEFAULT NULL,
+ `F_f7177163c833dff4b38fc8d2872f1ec6` int(11) DEFAULT NULL,
+ `F_6c8349cc7260ae62e3b1396831a8398f` int(11) DEFAULT NULL,
+ `F_d9d4f495e875a2e075a1a4a6e1b9770f` int(11) DEFAULT NULL,
+ `F_67c6a1e7ce56d3d6fa748ab6d9af3fd7` int(11) DEFAULT NULL,
+ `F_642e92efb79421734881b53e1e1b18b6` int(11) DEFAULT NULL,
+ `F_f457c545a9ded88f18ecee47145a72c0` int(11) DEFAULT NULL,
+ `F_c0c7c76d30bd3dcaefc96f40275bdc0a` int(11) DEFAULT NULL,
+ `F_2838023a778dfaecdc212708f721b788` int(11) DEFAULT NULL,
+ `F_9a1158154dfa42caddbd0694a4e9bdc8` int(11) DEFAULT NULL,
+ `F_d82c8d1619ad8176d665453cfb2e55f0` int(11) DEFAULT NULL,
+ `F_a684eceee76fc522773286a895bc8436` int(11) DEFAULT NULL,
+ `F_b53b3a3d6ab90ce0268229151c9bde11` int(11) DEFAULT NULL,
+ `F_9f61408e3afb633e50cdf1b20de6f466` int(11) DEFAULT NULL,
+ `F_72b32a1f754ba1c09b3695e0cb6cde7f` int(11) DEFAULT NULL,
+ `F_66f041e16a60928b05a7e228a89c3799` int(11) DEFAULT NULL,
+ `F_093f65e080a295f8076b1c5722a46aa2` int(11) DEFAULT NULL,
+ `F_072b030ba126b2f4b2374f342be9ed44` int(11) DEFAULT NULL,
+ `F_7f39f8317fbdb1988ef4c628eba02591` int(11) DEFAULT NULL,
+ `F_44f683a84163b3523afe57c2e008bc8c` int(11) DEFAULT NULL,
+ `F_03afdbd66e7929b125f8597834fa83a4` int(11) DEFAULT NULL,
+ `F_ea5d2f1c4608232e07d3aa3d998e5135` int(11) DEFAULT NULL,
+ `F_fc490ca45c00b1249bbe3554a4fdf6fb` int(11) DEFAULT NULL,
+ `F_3295c76acbf4caaed33c36b1b5fc2cb1` int(11) DEFAULT NULL,
+ `F_735b90b4568125ed6c3f678819b6e058` int(11) DEFAULT NULL,
+ `F_a3f390d88e4c41f2747bfa2f1b5f87db` int(11) DEFAULT NULL,
+ `F_14bfa6bb14875e45bba028a21ed38046` int(11) DEFAULT NULL,
+ `F_7cbbc409ec990f19c78c75bd1e06f215` int(11) DEFAULT NULL,
+ `F_e2c420d928d4bf8ce0ff2ec19b371514` int(11) DEFAULT NULL,
+ `F_32bb90e8976aab5298d5da10fe66f21d` int(11) DEFAULT NULL,
+ `F_d2ddea18f00665ce8623e36bd4e3c7c5` int(11) DEFAULT NULL,
+ `F_ad61ab143223efbc24c7d2583be69251` int(11) DEFAULT NULL,
+ `F_d09bf41544a3365a46c9077ebb5e35c3` int(11) DEFAULT NULL,
+ `F_fbd7939d674997cdb4692d34de8633c4` int(11) DEFAULT NULL,
+ `F_28dd2c7955ce926456240b2ff0100bde` int(11) DEFAULT NULL,
+ `F_35f4a8d465e6e1edc05f3d8ab658c551` int(11) DEFAULT NULL,
+ `F_d1fe173d08e959397adf34b1d77e88d7` int(11) DEFAULT NULL,
+ `F_f033ab37c30201f73f142449d037028d` int(11) DEFAULT NULL,
+ `F_43ec517d68b6edd3015b3edc9a11367b` int(11) DEFAULT NULL,
+ `F_9778d5d219c5080b9a6a17bef029331c` int(11) DEFAULT NULL,
+ `F_fe9fc289c3ff0af142b6d3bead98a923` int(11) DEFAULT NULL,
+ `F_68d30a9594728bc39aa24be94b319d21` int(11) DEFAULT NULL,
+ `F_3ef815416f775098fe977004015c6193` int(11) DEFAULT NULL,
+ `F_93db85ed909c13838ff95ccfa94cebd9` int(11) DEFAULT NULL,
+ `F_c7e1249ffc03eb9ded908c236bd1996d` int(11) DEFAULT NULL,
+ `F_2a38a4a9316c49e5a833517c45d31070` int(11) DEFAULT NULL,
+ `F_7647966b7343c29048673252e490f736` int(11) DEFAULT NULL,
+ `F_8613985ec49eb8f757ae6439e879bb2a` int(11) DEFAULT NULL,
+ `F_54229abfcfa5649e7003b83dd4755294` int(11) DEFAULT NULL,
+ `F_92cc227532d17e56e07902b254dfad10` int(11) DEFAULT NULL,
+ `F_98dce83da57b0395e163467c9dae521b` int(11) DEFAULT NULL,
+ `F_f4b9ec30ad9f68f89b29639786cb62ef` int(11) DEFAULT NULL,
+ `F_812b4ba287f5ee0bc9d43bbf5bbe87fb` int(11) DEFAULT NULL,
+ `F_26657d5ff9020d2abefe558796b99584` int(11) DEFAULT NULL,
+ `F_e2ef524fbf3d9fe611d5a8e90fefdc9c` int(11) DEFAULT NULL,
+ `F_ed3d2c21991e3bef5e069713af9fa6ca` int(11) DEFAULT NULL,
+ `F_ac627ab1ccbdb62ec96e702f07f6425b` int(11) DEFAULT NULL,
+ `F_f899139df5e1059396431415e770c6dd` int(11) DEFAULT NULL,
+ `F_38b3eff8baf56627478ec76a704e9b52` int(11) DEFAULT NULL,
+ `F_ec8956637a99787bd197eacd77acce5e` int(11) DEFAULT NULL,
+ `F_6974ce5ac660610b44d9b9fed0ff9548` int(11) DEFAULT NULL,
+ `F_c9e1074f5b3f9fc8ea15d152add07294` int(11) DEFAULT NULL,
+ `F_65b9eea6e1cc6bb9f0cd2a47751a186f` int(11) DEFAULT NULL,
+ `F_f0935e4cd5920aa6c7c996a5ee53a70f` int(11) DEFAULT NULL,
+ `F_a97da629b098b75c294dffdc3e463904` int(11) DEFAULT NULL,
+ `F_a3c65c2974270fd093ee8a9bf8ae7d0b` int(11) DEFAULT NULL,
+ `F_2723d092b63885e0d7c260cc007e8b9d` int(11) DEFAULT NULL,
+ `F_5f93f983524def3dca464469d2cf9f3e` int(11) DEFAULT NULL,
+ `F_698d51a19d8a121ce581499d7b701668` int(11) DEFAULT NULL,
+ `F_7f6ffaa6bb0b408017b62254211691b5` int(11) DEFAULT NULL,
+ `F_73278a4a86960eeb576a8fd4c9ec6997` int(11) DEFAULT NULL,
+ `F_5fd0b37cd7dbbb00f97ba6ce92bf5add` int(11) DEFAULT NULL,
+ `F_2b44928ae11fb9384c4cf38708677c48` int(11) DEFAULT NULL,
+ `F_c45147dee729311ef5b5c3003946c48f` int(11) DEFAULT NULL,
+ `F_eb160de1de89d9058fcb0b968dbbbd68` int(11) DEFAULT NULL,
+ `F_5ef059938ba799aaa845e1c2e8a762bd` int(11) DEFAULT NULL,
+ `F_07e1cd7dca89a1678042477183b7ac3f` int(11) DEFAULT NULL,
+ `F_da4fb5c6e93e74d3df8527599fa62642` int(11) DEFAULT NULL,
+ `F_4c56ff4ce4aaf9573aa5dff913df997a` int(11) DEFAULT NULL,
+ `F_a0a080f42e6f13b3a2df133f073095dd` int(11) DEFAULT NULL,
+ `F_202cb962ac59075b964b07152d234b70` int(11) DEFAULT NULL,
+ `F_c8ffe9a587b126f152ed3d89a146b445` int(11) DEFAULT NULL,
+ `F_3def184ad8f4755ff269862ea77393dd` int(11) DEFAULT NULL,
+ `F_069059b7ef840f0c74a814ec9237b6ec` int(11) DEFAULT NULL,
+ `F_ec5decca5ed3d6b8079e2e7e7bacc9f2` int(11) DEFAULT NULL,
+ `F_76dc611d6ebaafc66cc0879c71b5db5c` int(11) DEFAULT NULL,
+ `F_d1f491a404d6854880943e5c3cd9ca25` int(11) DEFAULT NULL,
+ `F_9b8619251a19057cff70779273e95aa6` int(11) DEFAULT NULL,
+ `F_1afa34a7f984eeabdbb0a7d494132ee5` int(11) DEFAULT NULL,
+ `F_65ded5353c5ee48d0b7d48c591b8f430` int(11) DEFAULT NULL,
+ `F_9fc3d7152ba9336a670e36d0ed79bc43` int(11) DEFAULT NULL,
+ `F_02522a2b2726fb0a03bb19f2d8d9524d` int(11) DEFAULT NULL,
+ `F_7f1de29e6da19d22b51c68001e7e0e54` int(11) DEFAULT NULL,
+ `F_42a0e188f5033bc65bf8d78622277c4e` int(11) DEFAULT NULL,
+ `F_3988c7f88ebcb58c6ce932b957b6f332` int(11) DEFAULT NULL,
+ `F_013d407166ec4fa56eb1e1f8cbe183b9` int(11) DEFAULT NULL,
+ `F_e00da03b685a0dd18fb6a08af0923de0` int(11) DEFAULT NULL,
+ `F_1385974ed5904a438616ff7bdb3f7439` int(11) DEFAULT NULL,
+ `F_0f28b5d49b3020afeecd95b4009adf4c` int(11) DEFAULT NULL,
+ `F_a8baa56554f96369ab93e4f3bb068c22` int(11) DEFAULT NULL,
+ `F_903ce9225fca3e988c2af215d4e544d3` int(11) DEFAULT NULL,
+ `F_0a09c8844ba8f0936c20bd791130d6b6` int(11) DEFAULT NULL,
+ `F_2b24d495052a8ce66358eb576b8912c8` int(11) DEFAULT NULL,
+ `F_a5e00132373a7031000fd987a3c9f87b` int(11) DEFAULT NULL,
+ `F_8d5e957f297893487bd98fa830fa6413` int(11) DEFAULT NULL,
+ `F_47d1e990583c9c67424d369f3414728e` int(11) DEFAULT NULL,
+ `F_f2217062e9a397a1dca429e7d70bc6ca` int(11) DEFAULT NULL,
+ `F_7ef605fc8dba5425d6965fbd4c8fbe1f` int(11) DEFAULT NULL,
+ `F_a8f15eda80c50adb0e71943adc8015cf` int(11) DEFAULT NULL,
+ `F_37a749d808e46495a8da1e5352d03cae` int(11) DEFAULT NULL,
+ `F_b3e3e393c77e35a4a3f3cbd1e429b5dc` int(11) DEFAULT NULL,
+ `F_1d7f7abc18fcb43975065399b0d1e48e` int(11) DEFAULT NULL,
+ `F_2a79ea27c279e471f4d180b08d62b00a` int(11) DEFAULT NULL,
+ `F_1c9ac0159c94d8d0cbedc973445af2da` int(11) DEFAULT NULL,
+ `F_6c4b761a28b734fe93831e3fb400ce87` int(11) DEFAULT NULL,
+ `F_06409663226af2f3114485aa4e0a23b4` int(11) DEFAULT NULL,
+ `F_140f6969d5213fd0ece03148e62e461e` int(11) DEFAULT NULL,
+ `F_b73ce398c39f506af761d2277d853a92` int(11) DEFAULT NULL,
+ `F_bd4c9ab730f5513206b999ec0d90d1fb` int(11) DEFAULT NULL,
+ `F_82aa4b0af34c2313a562076992e50aa3` int(11) DEFAULT NULL,
+ `F_0777d5c17d4066b82ab86dff8a46af6f` int(11) DEFAULT NULL,
+ `F_fa7cdfad1a5aaf8370ebeda47a1ff1c3` int(11) DEFAULT NULL,
+ `F_9766527f2b5d3e95d4a733fcfb77bd7e` int(11) DEFAULT NULL,
+ `F_7e7757b1e12abcb736ab9a754ffb617a` int(11) DEFAULT NULL,
+ `F_5878a7ab84fb43402106c575658472fa` int(11) DEFAULT NULL,
+ `F_006f52e9102a8d3be2fe5614f42ba989` int(11) DEFAULT NULL,
+ `F_3636638817772e42b59d74cff571fbb3` int(11) DEFAULT NULL,
+ `F_149e9677a5989fd342ae44213df68868` int(11) DEFAULT NULL,
+ `F_a4a042cf4fd6bfb47701cbc8a1653ada` int(11) DEFAULT NULL,
+ `F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e` int(11) DEFAULT NULL,
+ `F_f7e6c85504ce6e82442c770f7c8606f0` int(11) DEFAULT NULL,
+ `F_bf8229696f7a3bb4700cfddef19fa23f` int(11) DEFAULT NULL,
+ `F_82161242827b703e6acf9c726942a1e4` int(11) DEFAULT NULL,
+ `F_38af86134b65d0f10fe33d30dd76442e` int(11) DEFAULT NULL,
+ `F_96da2f590cd7246bbde0051047b0d6f7` int(11) DEFAULT NULL,
+ `F_8f85517967795eeef66c225f7883bdcb` int(11) DEFAULT NULL,
+ `F_8f53295a73878494e9bc8dd6c3c7104f` int(11) DEFAULT NULL,
+ `F_045117b0e0a11a242b9765e79cbf113f` int(11) DEFAULT NULL,
+ `F_fc221309746013ac554571fbd180e1c8` int(11) DEFAULT NULL,
+ `F_4c5bde74a8f110656874902f07378009` int(11) DEFAULT NULL,
+ `F_cedebb6e872f539bef8c3f919874e9d7` int(11) DEFAULT NULL,
+ `F_6cdd60ea0045eb7a6ec44c54d29ed402` int(11) DEFAULT NULL,
+ `F_eecca5b6365d9607ee5a9d336962c534` int(11) DEFAULT NULL,
+ `F_9872ed9fc22fc182d371c3e9ed316094` int(11) DEFAULT NULL,
+ `F_31fefc0e570cb3860f2a6d4b38c6490d` int(11) DEFAULT NULL,
+ `F_9dcb88e0137649590b755372b040afad` int(11) DEFAULT NULL,
+ `F_a2557a7b2e94197ff767970b67041697` int(11) DEFAULT NULL,
+ `F_cfecdb276f634854f3ef915e2e980c31` int(11) DEFAULT NULL,
+ `F_0aa1883c6411f7873cb83dacb17b0afc` int(11) DEFAULT NULL,
+ `F_58a2fc6ed39fd083f55d4182bf88826d` int(11) DEFAULT NULL,
+ `F_bd686fd640be98efaae0091fa301e613` int(11) DEFAULT NULL,
+ `F_a597e50502f5ff68e3e25b9114205d4a` int(11) DEFAULT NULL,
+ `F_0336dcbab05b9d5ad24f4333c7658a0e` int(11) DEFAULT NULL,
+ `F_084b6fbb10729ed4da8c3d3f5a3ae7c9` int(11) DEFAULT NULL,
+ `F_85d8ce590ad8981ca2c8286f79f59954` int(11) DEFAULT NULL,
+ `F_0e65972dce68dad4d52d063967f0a705` int(11) DEFAULT NULL,
+ `F_84d9ee44e457ddef7f2c4f25dc8fa865` int(11) DEFAULT NULL,
+ `F_3644a684f98ea8fe223c713b77189a77` int(11) DEFAULT NULL,
+ `F_757b505cfd34c64c85ca5b5690ee5293` int(11) DEFAULT NULL,
+ `F_854d6fae5ee42911677c739ee1734486` int(11) DEFAULT NULL,
+ `F_e2c0be24560d78c5e599c2a9c9d0bbd2` int(11) DEFAULT NULL,
+ `F_274ad4786c3abca69fa097b85867d9a4` int(11) DEFAULT NULL,
+ `F_eae27d77ca20db309e056e3d2dcd7d69` int(11) DEFAULT NULL,
+ `F_7eabe3a1649ffa2b3ff8c02ebfd5659f` int(11) DEFAULT NULL,
+ `F_69adc1e107f7f7d035d7baf04342e1ca` int(11) DEFAULT NULL,
+ `F_091d584fced301b442654dd8c23b3fc9` int(11) DEFAULT NULL,
+ `F_b1d10e7bafa4421218a51b1e1f1b0ba2` int(11) DEFAULT NULL,
+ `F_6f3ef77ac0e3619e98159e9b6febf557` int(11) DEFAULT NULL,
+ `F_eb163727917cbba1eea208541a643e74` int(11) DEFAULT NULL,
+ `F_1534b76d325a8f591b52d302e7181331` int(11) DEFAULT NULL,
+ `F_979d472a84804b9f647bc185a877a8b5` int(11) DEFAULT NULL,
+ `F_ca46c1b9512a7a8315fa3c5a946e8265` int(11) DEFAULT NULL,
+ `F_3b8a614226a953a8cd9526fca6fe9ba5` int(11) DEFAULT NULL,
+ `F_45fbc6d3e05ebd93369ce542e8f2322d` int(11) DEFAULT NULL,
+ `F_63dc7ed1010d3c3b8269faf0ba7491d4` int(11) DEFAULT NULL,
+ `F_e96ed478dab8595a7dbda4cbcbee168f` int(11) DEFAULT NULL,
+ `F_c0e190d8267e36708f955d7ab048990d` int(11) DEFAULT NULL,
+ `F_ec8ce6abb3e952a85b8551ba726a1227` int(11) DEFAULT NULL,
+ `F_060ad92489947d410d897474079c1477` int(11) DEFAULT NULL,
+ `F_bcbe3365e6ac95ea2c0343a2395834dd` int(11) DEFAULT NULL,
+ `F_115f89503138416a242f40fb7d7f338e` int(11) DEFAULT NULL,
+ `F_13fe9d84310e77f13a6d184dbf1232f3` int(11) DEFAULT NULL,
+ `F_d1c38a09acc34845c6be3a127a5aacaf` int(11) DEFAULT NULL,
+ `F_9cfdf10e8fc047a44b08ed031e1f0ed1` int(11) DEFAULT NULL,
+ `F_705f2172834666788607efbfca35afb3` int(11) DEFAULT NULL,
+ `F_74db120f0a8e5646ef5a30154e9f6deb` int(11) DEFAULT NULL,
+ `F_57aeee35c98205091e18d1140e9f38cf` int(11) DEFAULT NULL,
+ `F_6da9003b743b65f4c0ccd295cc484e57` int(11) DEFAULT NULL,
+ `F_9b04d152845ec0a378394003c96da594` int(11) DEFAULT NULL,
+ `F_be83ab3ecd0db773eb2dc1b0a17836a1` int(11) DEFAULT NULL,
+ `F_e165421110ba03099a1c0393373c5b43` int(11) DEFAULT NULL,
+ `F_289dff07669d7a23de0ef88d2f7129e7` int(11) DEFAULT NULL,
+ `F_577ef1154f3240ad5b9b413aa7346a1e` int(11) DEFAULT NULL,
+ `F_01161aaa0b6d1345dd8fe4e481144d84` int(11) DEFAULT NULL,
+ `F_539fd53b59e3bb12d203f45a912eeaf2` int(11) DEFAULT NULL,
+ `F_ac1dd209cbcc5e5d1c6e28598e8cbbe8` int(11) DEFAULT NULL,
+ `F_555d6702c950ecb729a966504af0a635` int(11) DEFAULT NULL,
+ `F_335f5352088d7d9bf74191e006d8e24c` int(11) DEFAULT NULL,
+ `F_f340f1b1f65b6df5b5e3f94d95b11daf` int(11) DEFAULT NULL,
+ `F_e4a6222cdb5b34375400904f03d8e6a5` int(11) DEFAULT NULL,
+ `F_cb70ab375662576bd1ac5aaf16b3fca4` int(11) DEFAULT NULL,
+ `F_9188905e74c28e489b44e954ec0b9bca` int(11) DEFAULT NULL,
+ `F_0266e33d3f546cb5436a10798e657d97` int(11) DEFAULT NULL,
+ `F_38db3aed920cf82ab059bfccbd02be6a` int(11) DEFAULT NULL,
+ `F_3cec07e9ba5f5bb252d13f5f431e4bbb` int(11) DEFAULT NULL,
+ `F_621bf66ddb7c962aa0d22ac97d69b793` int(11) DEFAULT NULL,
+ `F_077e29b11be80ab57e1a2ecabb7da330` int(11) DEFAULT NULL,
+ `F_6c9882bbac1c7093bd25041881277658` int(11) DEFAULT NULL,
+ `F_19f3cd308f1455b3fa09a282e0d496f4` int(11) DEFAULT NULL,
+ `F_03c6b06952c750899bb03d998e631860` int(11) DEFAULT NULL,
+ `F_c24cd76e1ce41366a4bbe8a49b02a028` int(11) DEFAULT NULL,
+ `F_c52f1bd66cc19d05628bd8bf27af3ad6` int(11) DEFAULT NULL,
+ `F_fe131d7f5a6b38b23cc967316c13dae2` int(11) DEFAULT NULL,
+ `F_f718499c1c8cef6730f9fd03c8125cab` int(11) DEFAULT NULL,
+ `F_d96409bf894217686ba124d7356686c9` int(11) DEFAULT NULL,
+ `F_502e4a16930e414107ee22b6198c578f` int(11) DEFAULT NULL,
+ `F_cfa0860e83a4c3a763a7e62d825349f7` int(11) DEFAULT NULL,
+ `F_a4f23670e1833f3fdb077ca70bbd5d66` int(11) DEFAULT NULL,
+ `F_b1a59b315fc9a3002ce38bbe070ec3f5` int(11) DEFAULT NULL,
+ `F_36660e59856b4de58a219bcf4e27eba3` int(11) DEFAULT NULL,
+ `F_8c19f571e251e61cb8dd3612f26d5ecf` int(11) DEFAULT NULL,
+ `F_d6baf65e0b240ce177cf70da146c8dc8` int(11) DEFAULT NULL,
+ `F_e56954b4f6347e897f954495eab16a88` int(11) DEFAULT NULL,
+ `F_f7664060cc52bc6f3d620bcedc94a4b6` int(11) DEFAULT NULL,
+ `F_eda80a3d5b344bc40f3bc04f65b7a357` int(11) DEFAULT NULL,
+ `F_8f121ce07d74717e0b1f21d122e04521` int(11) DEFAULT NULL,
+ `F_06138bc5af6023646ede0e1f7c1eac75` int(11) DEFAULT NULL,
+ `F_39059724f73a9969845dfe4146c5660e` int(11) DEFAULT NULL,
+ `F_7f100b7b36092fb9b06dfb4fac360931` int(11) DEFAULT NULL,
+ `F_7a614fd06c325499f1680b9896beedeb` int(11) DEFAULT NULL,
+ `F_4734ba6f3de83d861c3176a6273cac6d` int(11) DEFAULT NULL,
+ `F_d947bf06a885db0d477d707121934ff8` int(11) DEFAULT NULL,
+ `F_63923f49e5241343aa7acb6a06a751e7` int(11) DEFAULT NULL,
+ `F_db8e1af0cb3aca1ae2d0018624204529` int(11) DEFAULT NULL,
+ `F_20f07591c6fcb220ffe637cda29bb3f6` int(11) DEFAULT NULL,
+ `F_07cdfd23373b17c6b337251c22b7ea57` int(11) DEFAULT NULL,
+ `F_d395771085aab05244a4fb8fd91bf4ee` int(11) DEFAULT NULL,
+ `F_92c8c96e4c37100777c7190b76d28233` int(11) DEFAULT NULL,
+ `F_e3796ae838835da0b6f6ea37bcf8bcb7` int(11) DEFAULT NULL,
+ `F_6a9aeddfc689c1d0e3b9ccc3ab651bc5` int(11) DEFAULT NULL,
+ `F_0f49c89d1e7298bb9930789c8ed59d48` int(11) DEFAULT NULL,
+ `F_46ba9f2a6976570b0353203ec4474217` int(11) DEFAULT NULL,
+ `F_0e01938fc48a2cfb5f2217fbfb00722d` int(11) DEFAULT NULL,
+ `F_16a5cdae362b8d27a1d8f8c7b78b4330` int(11) DEFAULT NULL,
+ `F_918317b57931b6b7a7d29490fe5ec9f9` int(11) DEFAULT NULL,
+ `F_48aedb8880cab8c45637abc7493ecddd` int(11) DEFAULT NULL,
+ `F_839ab46820b524afda05122893c2fe8e` int(11) DEFAULT NULL,
+ `F_f90f2aca5c640289d0a29417bcb63a37` int(11) DEFAULT NULL,
+ `F_9c838d2e45b2ad1094d42f4ef36764f6` int(11) DEFAULT NULL,
+ `F_1700002963a49da13542e0726b7bb758` int(11) DEFAULT NULL,
+ `F_53c3bce66e43be4f209556518c2fcb54` int(11) DEFAULT NULL,
+ `F_6883966fd8f918a4aa29be29d2c386fb` int(11) DEFAULT NULL,
+ `F_49182f81e6a13cf5eaa496d51fea6406` int(11) DEFAULT NULL,
+ `F_d296c101daa88a51f6ca8cfc1ac79b50` int(11) DEFAULT NULL,
+ `F_9fd81843ad7f202f26c1a174c7357585` int(11) DEFAULT NULL,
+ `F_26e359e83860db1d11b6acca57d8ea88` int(11) DEFAULT NULL,
+ `F_ef0d3930a7b6c95bd2b32ed45989c61f` int(11) DEFAULT NULL,
+ `F_94f6d7e04a4d452035300f18b984988c` int(11) DEFAULT NULL,
+ `F_34ed066df378efacc9b924ec161e7639` int(11) DEFAULT NULL,
+ `F_577bcc914f9e55d5e4e4f82f9f00e7d4` int(11) DEFAULT NULL,
+ `F_11b9842e0a271ff252c1903e7132cd68` int(11) DEFAULT NULL,
+ `F_37bc2f75bf1bcfe8450a1a41c200364c` int(11) DEFAULT NULL,
+ `F_496e05e1aea0a9c4655800e8a7b9ea28` int(11) DEFAULT NULL,
+ `F_b2eb7349035754953b57a32e2841bda5` int(11) DEFAULT NULL,
+ `F_8e98d81f8217304975ccb23337bb5761` int(11) DEFAULT NULL,
+ `F_a8c88a0055f636e4a163a5e3d16adab7` int(11) DEFAULT NULL,
+ `F_eddea82ad2755b24c4e168c5fc2ebd40` int(11) DEFAULT NULL,
+ `F_06eb61b839a0cefee4967c67ccb099dc` int(11) DEFAULT NULL,
+ `F_9dfcd5e558dfa04aaf37f137a1d9d3e5` int(11) DEFAULT NULL,
+ `F_950a4152c2b4aa3ad78bdd6b366cc179` int(11) DEFAULT NULL,
+ `F_158f3069a435b314a80bdcb024f8e422` int(11) DEFAULT NULL,
+ `F_758874998f5bd0c393da094e1967a72b` int(11) DEFAULT NULL,
+ `F_ad13a2a07ca4b7642959dc0c4c740ab6` int(11) DEFAULT NULL,
+ `F_3fe94a002317b5f9259f82690aeea4cd` int(11) DEFAULT NULL,
+ `F_5b8add2a5d98b1a652ea7fd72d942dac` int(11) DEFAULT NULL,
+ `F_432aca3a1e345e339f35a30c8f65edce` int(11) DEFAULT NULL,
+ `F_8d3bba7425e7c98c50f52ca1b52d3735` int(11) DEFAULT NULL,
+ `F_320722549d1751cf3f247855f937b982` int(11) DEFAULT NULL,
+ `F_caf1a3dfb505ffed0d024130f58c5cfa` int(11) DEFAULT NULL,
+ `F_5737c6ec2e0716f3d8a7a5c4e0de0d9a` int(11) DEFAULT NULL,
+ `F_bc6dc48b743dc5d013b1abaebd2faed2` int(11) DEFAULT NULL,
+ `F_f2fc990265c712c49d51a18a32b39f0c` int(11) DEFAULT NULL,
+ `F_89f0fd5c927d466d6ec9a21b9ac34ffa` int(11) DEFAULT NULL,
+ `F_a666587afda6e89aec274a3657558a27` int(11) DEFAULT NULL,
+ `F_b83aac23b9528732c23cc7352950e880` int(11) DEFAULT NULL,
+ `F_cd00692c3bfe59267d5ecfac5310286c` int(11) DEFAULT NULL,
+ `F_6faa8040da20ef399b63a72d0e4ab575` int(11) DEFAULT NULL,
+ `F_fe73f687e5bc5280214e0486b273a5f9` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1518,7 +1519,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1562,14 +1563,14 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -1597,14 +1598,14 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -1668,7 +1669,7 @@ mysqldump: Couldn't find table: "T_"
test_sequence
------ Testing with illegal database names ------
mysqldump: Got error: 1049: Unknown database 'mysqldump_test_d' when selecting the database
-mysqldump: Got error: 1102: Incorrect database name 'mysqld\ump_test_db' when selecting the database
+mysqldump: Got error: 1049: Unknown database 'mysqld\ump_test_db' when selecting the database
drop table t1, t2, t3;
drop database mysqldump_test_db;
use test;
@@ -1768,9 +1769,9 @@ bla 1002
show create table `t1`;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1_name` varchar(255) default NULL,
- `t1_id` int(10) unsigned NOT NULL auto_increment,
- PRIMARY KEY (`t1_id`),
+ `t1_name` varchar(255) DEFAULT NULL,
+ `t1_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`t1_id`),
KEY `t1_name` (`t1_name`)
) ENGINE=MyISAM AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
DROP TABLE `t1`;
@@ -1782,9 +1783,9 @@ bla 1002
show create table `t1`;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1_name` varchar(255) default NULL,
- `t1_id` int(10) unsigned NOT NULL auto_increment,
- PRIMARY KEY (`t1_id`),
+ `t1_name` varchar(255) DEFAULT NULL,
+ `t1_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`t1_id`),
KEY `t1_name` (`t1_name`)
) ENGINE=MyISAM AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
drop table `t1`;
@@ -1809,21 +1810,21 @@ DROP TABLE IF EXISTS `t3`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t3` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -1858,7 +1859,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1894,10 +1895,10 @@ DROP TABLE IF EXISTS "t1";
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE "t1" (
- "a b" int(11) NOT NULL default '0',
- "c""d" int(11) NOT NULL default '0',
- "e`f" int(11) NOT NULL default '0',
- PRIMARY KEY ("a b","c""d","e`f")
+ "a b" int(11) NOT NULL DEFAULT '0',
+ "c""d" int(11) NOT NULL DEFAULT '0',
+ "e`f" int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY ("a b","c""d","e`f")
);
SET character_set_client = @saved_cs_client;
@@ -1928,10 +1929,10 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a b` int(11) NOT NULL default '0',
- `c"d` int(11) NOT NULL default '0',
- `e``f` int(11) NOT NULL default '0',
- PRIMARY KEY (`a b`,`c"d`,`e``f`)
+ `a b` int(11) NOT NULL DEFAULT '0',
+ `c"d` int(11) NOT NULL DEFAULT '0',
+ `e``f` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`a b`,`c"d`,`e``f`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1982,7 +1983,7 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` varchar(30) default NULL,
+ `a` varchar(30) DEFAULT NULL,
KEY `a` (`a`(5))
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -1994,15 +1995,27 @@ INSERT INTO `t2` VALUES ('alfred'),('angie'),('bingo'),('waffle'),('lemon');
UNLOCK TABLES;
DROP TABLE IF EXISTS `v2`;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v2` (
`a` varchar(30)
) */;
+SET character_set_client = @saved_cs_client;
/*!50001 DROP TABLE `v2`*/;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!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%') */
/*!50002 WITH CASCADED CHECK OPTION */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2049,6 +2062,9 @@ a b
drop table t1, t2;
drop database db1;
use test;
+#
+# dump of view
+#
create table t1(a int);
create view v1 as select * from t1;
@@ -2066,7 +2082,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2076,14 +2092,26 @@ LOCK TABLES `t1` WRITE;
UNLOCK TABLES;
DROP TABLE IF EXISTS `v1`;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v1` (
`a` int(11)
) */;
+SET character_set_client = @saved_cs_client;
/*!50001 DROP TABLE `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `t1`.`a` AS `a` from `t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2126,7 +2154,7 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` varchar(30) default NULL,
+ `a` varchar(30) DEFAULT NULL,
KEY `a` (`a`(5))
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2138,15 +2166,27 @@ INSERT INTO `t2` VALUES ('alfred'),('angie'),('bingo'),('waffle'),('lemon');
UNLOCK TABLES;
DROP TABLE IF EXISTS `v2`;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v2` (
`a` varchar(30)
) */;
+SET character_set_client = @saved_cs_client;
/*!50001 DROP TABLE `v2`*/;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!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%') */
/*!50002 WITH CASCADED CHECK OPTION */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2181,7 +2221,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` char(10) default NULL
+ `a` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2227,9 +2267,9 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL,
- `b` int(11) default NULL,
- `c` varchar(30) default NULL
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2240,38 +2280,74 @@ INSERT INTO `t1` VALUES (1,2,'one'),(2,4,'two'),(3,6,'three');
UNLOCK TABLES;
DROP TABLE IF EXISTS `v1`;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v1` (
`a` int(11),
`b` int(11),
`c` varchar(30)
) */;
+SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `v2`;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v2` (
`a` int(11)
) */;
+SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `v3`;
/*!50001 DROP VIEW IF EXISTS `v3`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v3` (
`a` int(11),
`b` int(11),
`c` varchar(30)
) */;
+SET character_set_client = @saved_cs_client;
/*!50001 DROP TABLE `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `v3`.`a` AS `a`,`v3`.`b` AS `b`,`v3`.`c` AS `c` from `v3` where (`v3`.`b` in (1,2,3,4,5,6,7)) */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!50001 DROP TABLE `v2`*/;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v2` AS select `v3`.`a` AS `a` from (`v3` join `v1`) where ((`v1`.`a` = `v3`.`a`) and (`v3`.`b` = 3)) limit 1 */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!50001 DROP TABLE `v3`*/;
/*!50001 DROP VIEW IF EXISTS `v3`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v3` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b`,`t1`.`c` AS `c` from `t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2314,21 +2390,21 @@ end if;
end|
set sql_mode=default|
show triggers like "t1";
-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
trg1 INSERT t1 begin
if new.a > 10 then
set new.a := 10;
set new.a := 11;
end if;
-end BEFORE 0000-00-00 00:00:00 root@localhost
+end BEFORE 0000-00-00 00:00:00 root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg2 UPDATE t1 begin
if old.a % 2 = 0 then set new.b := 12; end if;
-end BEFORE 0000-00-00 00:00:00 root@localhost
+end BEFORE 0000-00-00 00:00:00 root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg3 UPDATE t1 begin
if new.a = -1 then
set @fired:= "Yes";
end if;
-end AFTER 0000-00-00 00:00:00 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost
+end AFTER 0000-00-00 00:00:00 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
update t1 set a = 4 where a=3;
@@ -2350,8 +2426,8 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL,
- `b` bigint(20) default NULL
+ `a` int(11) DEFAULT NULL,
+ `b` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2360,37 +2436,69 @@ LOCK TABLES `t1` WRITE;
INSERT INTO `t1` VALUES (1,NULL),(2,NULL),(4,NULL),(11,NULL);
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
UNLOCK TABLES;
-
-/*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/;
-
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
-/*!50003 SET SESSION SQL_MODE="" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `trg1` BEFORE INSERT ON `t1` FOR EACH ROW begin
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg1 before insert on t1 for each row
+begin
if new.a > 10 then
set new.a := 10;
set new.a := 11;
end if;
end */;;
-
-/*!50003 SET SESSION SQL_MODE="" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `trg2` BEFORE UPDATE ON `t1` FOR EACH ROW begin
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg2 before update on t1 for each row begin
if old.a % 2 = 0 then set new.b := 12; end if;
end */;;
-
-/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `trg3` AFTER UPDATE ON `t1` FOR EACH ROW begin
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg3 after update on t1 for each row
+begin
if new.a = -1 then
set @fired:= "Yes";
end if;
end */;;
-
DELIMITER ;
-/*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2398,19 +2506,26 @@ LOCK TABLES `t2` WRITE;
/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
UNLOCK TABLES;
-
-/*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/;
-
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER' */ ;
DELIMITER ;;
-/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `trg4` BEFORE INSERT ON `t2` FOR EACH ROW begin
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg4 before insert on t2 for each row
+begin
if new.a > 10 then
set @fired:= "No";
end if;
end */;;
-
DELIMITER ;
-/*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2440,8 +2555,8 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL,
- `b` bigint(20) default NULL
+ `a` int(11) DEFAULT NULL,
+ `b` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2454,7 +2569,7 @@ DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2478,26 +2593,26 @@ Tables_in_test
t1
t2
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
trg1 INSERT t1 begin
if new.a > 10 then
set new.a := 10;
set new.a := 11;
end if;
-end BEFORE # root@localhost
+end BEFORE # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg2 UPDATE t1 begin
if old.a % 2 = 0 then set new.b := 12; end if;
-end BEFORE # root@localhost
+end BEFORE # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg3 UPDATE t1 begin
if new.a = -1 then
set @fired:= "Yes";
end if;
-end AFTER # STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost
+end AFTER # STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
trg4 INSERT t2 begin
if new.a > 10 then
set @fired:= "No";
end if;
-end BEFORE # STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost
+end BEFORE # STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DROP TABLE t1, t2;
#
# Bugs #9136, #12917: problems with --defaults-extra-file option
@@ -2526,9 +2641,9 @@ SELECT * FROM `test2`;
a2
1
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
testref INSERT test1 BEGIN
-INSERT INTO test2 SET a2 = NEW.a1; END BEFORE NULL root@localhost
+INSERT INTO test2 SET a2 = NEW.a1; END BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
SELECT * FROM `test1`;
a1
1
@@ -2552,7 +2667,7 @@ INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
CREATE FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11) RETURN a+b //
CREATE PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
BEGIN SELECT a+b INTO c; end //
-create function bug9056_func2(f1 char binary) returns char binary
+create function bug9056_func2(f1 char binary) returns char
begin
set f1= concat( 'hello', f1 );
return f1;
@@ -2583,7 +2698,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `id` int(11) default NULL
+ `id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2592,38 +2707,96 @@ LOCK TABLES `t1` WRITE;
INSERT INTO `t1` VALUES (1),(2),(3),(4),(5);
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
UNLOCK TABLES;
+/*!50003 DROP FUNCTION IF EXISTS `bug9056_func1` */;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
-/*!50003 DROP FUNCTION IF EXISTS `bug9056_func1` */;;
-/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11)
RETURN a+b */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
-/*!50003 DROP FUNCTION IF EXISTS `bug9056_func2` */;;
-/*!50003 SET SESSION SQL_MODE=""*/;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 DROP FUNCTION IF EXISTS `bug9056_func2` */;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 FUNCTION `bug9056_func2`(f1 char binary) RETURNS char(1) CHARSET latin1
begin
set f1= concat( 'hello', f1 );
return f1;
end */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
-/*!50003 DROP PROCEDURE IF EXISTS `a'b` */;;
-/*!50003 SET SESSION SQL_MODE="REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI"*/;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 DROP PROCEDURE IF EXISTS `a'b` */;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI' */ ;
+DELIMITER ;;
/*!50003 CREATE*/ /*!50020 DEFINER="root"@"localhost"*/ /*!50003 PROCEDURE "a'b"()
select 1 */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
-/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc1` */;;
-/*!50003 SET SESSION SQL_MODE=""*/;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc1` */;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
BEGIN SELECT a+b INTO c; end */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
-/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc2` */;;
-/*!50003 SET SESSION SQL_MODE=""*/;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc2` */;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `bug9056_proc2`(OUT a INT)
BEGIN
select sum(id) from t1 into a;
END */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2676,7 +2849,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `d` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ `d` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `d` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2713,7 +2886,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `d` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ `d` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `d` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2766,7 +2939,7 @@ DROP TABLE IF EXISTS "t1 test";
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE "t1 test" (
- "a1" int(11) default NULL
+ "a1" int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -2775,21 +2948,27 @@ LOCK TABLES "t1 test" WRITE;
INSERT INTO "t1 test" VALUES (1),(2),(3);
/*!40000 ALTER TABLE "t1 test" ENABLE KEYS */;
UNLOCK TABLES;
-
-/*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/;
-
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
-/*!50003 SET SESSION SQL_MODE="" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
INSERT INTO `t2 test` SET a2 = NEW.a1; END */;;
-
DELIMITER ;
-/*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
DROP TABLE IF EXISTS "t2 test";
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE "t2 test" (
- "a2" int(11) default NULL
+ "a2" int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -2843,9 +3022,9 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL,
- `b` varchar(32) default NULL,
- `c` varchar(32) default NULL
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(32) DEFAULT NULL,
+ `c` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2856,42 +3035,78 @@ INSERT INTO `t1` VALUES (1,'first value','xxxx'),(2,'second value','tttt'),(3,'t
UNLOCK TABLES;
DROP TABLE IF EXISTS `v0`;
/*!50001 DROP VIEW IF EXISTS `v0`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v0` (
`a` int(11),
`b` varchar(32),
`c` varchar(32)
) */;
+SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `v1`;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v1` (
`a` int(11),
`b` varchar(32),
`c` varchar(32)
) */;
+SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `v2`;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v2` (
`a` int(11),
`b` varchar(32),
`c` varchar(32)
) */;
+SET character_set_client = @saved_cs_client;
USE `test`;
/*!50001 DROP TABLE `v0`*/;
/*!50001 DROP VIEW IF EXISTS `v0`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v0` AS select `v1`.`a` AS `a`,`v1`.`b` AS `b`,`v1`.`c` AS `c` from `v1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!50001 DROP TABLE `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b`,`t1`.`c` AS `c` from `t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!50001 DROP TABLE `v2`*/;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v2` AS select `v0`.`a` AS `a`,`v0`.`b` AS `b`,`v0`.`c` AS `c` from `v0` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2938,7 +3153,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -2946,17 +3161,25 @@ LOCK TABLES `t1` WRITE;
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
UNLOCK TABLES;
-
-/*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/;
-
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = 'IGNORE_SPACE' */ ;
DELIMITER ;;
-/*!50003 SET SESSION SQL_MODE="IGNORE_SPACE" */;;
-/*!50003 CREATE */ /*!50017 DEFINER=`root`@`localhost` */ /*!50003 TRIGGER `tr1` BEFORE INSERT ON `t1` FOR EACH ROW BEGIN
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER tr1 BEFORE INSERT ON t1
+FOR EACH ROW
+BEGIN
SET new.a = 0;
END */;;
-
DELIMITER ;
-/*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -2989,7 +3212,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` binary(1) default NULL,
+ `a` binary(1) DEFAULT NULL,
`b` blob
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3024,7 +3247,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` binary(1) default NULL,
+ `a` binary(1) DEFAULT NULL,
`b` blob
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3090,12 +3313,12 @@ drop trigger tr1;
drop trigger tr2;
drop table t1, t2;
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
tr1 INSERT t1 set
-new.created=now() BEFORE # root@localhost
+new.created=now() BEFORE # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
tr2 INSERT t1 begin
insert into t2 set b=new.a and created=new.created;
-end AFTER # root@localhost
+end AFTER # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop trigger tr1;
drop trigger tr2;
drop table t1, t2;
@@ -3109,15 +3332,33 @@ create view v1 as select qty, price, qty*price as value from t;
create view v2 as select qty from v1;
mysqldump {
/*!50001 DROP TABLE `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `t`.`qty` AS `qty`,`t`.`price` AS `price`,(`t`.`qty` * `t`.`price`) AS `value` from `t` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
} mysqldump {
/*!50001 DROP TABLE `v2`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v2` AS select `v1`.`qty` AS `qty` from `v1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
} mysqldump
drop view v1;
@@ -3132,13 +3373,13 @@ return 42 */|
/*!50003 CREATE PROCEDURE `p`()
select 42 */|
show create function f;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
f CREATE DEFINER=`root`@`localhost` FUNCTION `f`() RETURNS bigint(20)
-return 42
+return 42 latin1 latin1_swedish_ci latin1_swedish_ci
show create procedure p;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p CREATE DEFINER=`root`@`localhost` PROCEDURE `p`()
-select 42
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
drop function f;
drop procedure p;
#
@@ -3185,7 +3426,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `id` int(11) default NULL
+ `id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3196,16 +3437,28 @@ INSERT INTO `t1` VALUES (1232131),(4711),(3231),(815);
UNLOCK TABLES;
DROP TABLE IF EXISTS `v1`;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `v1` (
`id` int(11)
) */;
+SET character_set_client = @saved_cs_client;
USE `mysqldump_test_db`;
/*!50001 DROP TABLE `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `t1`.`id` AS `id` from `t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -3235,8 +3488,8 @@ USE `mysqldump_tables`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `basetable` (
- `id` bigint(20) unsigned NOT NULL auto_increment,
- `tag` varchar(64) default NULL,
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `tag` varchar(64) DEFAULT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3244,17 +3497,29 @@ SET character_set_client = @saved_cs_client;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_views` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `mysqldump_views`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
/*!50001 CREATE TABLE `nasishnasifu` (
`id` bigint(20) unsigned
) */;
+SET character_set_client = @saved_cs_client;
USE `mysqldump_tables`;
USE `mysqldump_views`;
/*!50001 DROP TABLE `nasishnasifu`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `mysqldump_views`.`nasishnasifu` AS select `mysqldump_tables`.`basetable`.`id` AS `id` from `mysqldump_tables`.`basetable` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
drop view nasishnasifu;
drop database mysqldump_views;
drop table mysqldump_tables.basetable;
@@ -3306,14 +3571,6 @@ grant RELOAD on *.* to mysqltest_1@localhost;
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227)
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227)
grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
-CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=537;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `t1` (
- `a` int(11) default NULL,
- `b` varchar(34) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
drop table t1;
drop user mysqltest_1@localhost;
#
@@ -3405,14 +3662,14 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t2`,`t3`);
SET character_set_client = @saved_cs_client;
DROP TABLE IF EXISTS `t2`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t2` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3424,7 +3681,7 @@ DROP TABLE IF EXISTS `t3`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t3` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -3458,11 +3715,11 @@ create function f2() returns int return f1();
create view v3 as select bug23491_original.f1();
use bug23491_restore;
show create view bug23491_restore.v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `f1`() AS `f1()`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `f1`() AS `f1()` latin1 latin1_swedish_ci
show create view bug23491_restore.v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `bug23491_original`.`f1`() AS `bug23491_original.f1()`
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `bug23491_original`.`f1`() AS `bug23491_original.f1()` latin1 latin1_swedish_ci
drop database bug23491_original;
drop database bug23491_restore;
use test;
@@ -3478,21 +3735,25 @@ grant all privileges on mysqldump_test_db.* to user1;
grant all privileges on mysqldump_test_db.* to user2;
create procedure mysqldump_test_db.sp1() select 'hello';
-/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;
-DELIMITER ;;
-
-- insufficient privileges to SHOW CREATE PROCEDURE `sp1`
-- does user2 have permissions on mysql.proc?
-DELIMITER ;
-
-/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
-/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`()
select 'hello' */;;
-/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
drop procedure sp1;
drop user user1;
drop user user2;
@@ -3505,7 +3766,7 @@ INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `c1` int(11) default NULL,
+ `c1` int(11) DEFAULT NULL,
`c2` longblob
);
SET character_set_client = @saved_cs_client;
@@ -3568,3 +3829,407 @@ DROP TABLE t1,t2;
#
# End of 5.0 tests
#
+drop table if exists t1;
+CREATE TABLE t1(a int, b int);
+INSERT INTO t1 VALUES (1,1);
+INSERT INTO t1 VALUES (2,3);
+INSERT INTO t1 VALUES (3,4), (4,5);
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+DROP TABLE IF EXISTS `t1`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+SET character_set_client = @saved_cs_client;
+
+LOCK TABLES `t1` WRITE;
+/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
+REPLACE INTO `t1` VALUES (1,1),(2,3),(3,4),(4,5);
+/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!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
+#
+create database first;
+use first;
+set time_zone = 'UTC';
+create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;
+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
+first ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+show create event ee1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ee1 UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5 latin1 latin1_swedish_ci latin1_swedish_ci
+drop database first;
+create database second;
+use second;
+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
+second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+show create event ee1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ee1 UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5 latin1 latin1_swedish_ci latin1_swedish_ci
+create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;
+create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
+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
+second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+second ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+second ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+drop database second;
+create database third;
+use third;
+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
+third ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+third ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+third ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+drop database third;
+set time_zone = 'SYSTEM';
+use test;
+#
+# BUG#17201 Spurious 'DROP DATABASE' in output,
+# also confusion between tables and views.
+# Example code from Markus Popp
+#
+create database mysqldump_test_db;
+use mysqldump_test_db;
+create table t1 (id int);
+create view v1 as select * from t1;
+insert into t1 values (1232131);
+insert into t1 values (4711);
+insert into t1 values (3231);
+insert into t1 values (0815);
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+/*!40000 DROP DATABASE IF EXISTS `mysqldump_test_db`*/;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_test_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
+
+USE `mysqldump_test_db`;
+DROP TABLE IF EXISTS `t1`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `t1` (
+ `id` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+SET character_set_client = @saved_cs_client;
+
+LOCK TABLES `t1` WRITE;
+/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
+INSERT INTO `t1` VALUES (1232131),(4711),(3231),(815);
+/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
+UNLOCK TABLES;
+DROP TABLE IF EXISTS `v1`;
+/*!50001 DROP VIEW IF EXISTS `v1`*/;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+/*!50001 CREATE TABLE `v1` (
+ `id` int(11)
+) */;
+SET character_set_client = @saved_cs_client;
+
+USE `mysqldump_test_db`;
+/*!50001 DROP TABLE `v1`*/;
+/*!50001 DROP VIEW IF EXISTS `v1`*/;
+/*!50001 SET @saved_cs_client = @@character_set_client */;
+/*!50001 SET @saved_cs_results = @@character_set_results */;
+/*!50001 SET @saved_col_connection = @@collation_connection */;
+/*!50001 SET character_set_client = latin1 */;
+/*!50001 SET character_set_results = latin1 */;
+/*!50001 SET collation_connection = latin1_swedish_ci */;
+/*!50001 CREATE ALGORITHM=UNDEFINED */
+/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
+/*!50001 VIEW `v1` AS select `t1`.`id` AS `id` from `t1` */;
+/*!50001 SET character_set_client = @saved_cs_client */;
+/*!50001 SET character_set_results = @saved_cs_results */;
+/*!50001 SET collation_connection = @saved_col_connection */;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+drop view v1;
+drop table t1;
+drop database mysqldump_test_db;
+#
+# Bug #30027: mysqldump does not dump views properly.
+#
+
+# Cleanup.
+DROP DATABASE IF EXISTS mysqldump_test_db;
+
+# Create objects.
+CREATE DATABASE mysqldump_test_db;
+set names koi8r;
+CREATE VIEW mysqldump_test_db.v2 AS SELECT 1 AS 1;
+CREATE VIEW mysqldump_test_db.v1 AS SELECT 1 FROM mysqldump_test_db.v2;
+set names latin1;
+
+# Dump mysqldump_test_db to bug30027.sql.
+
+# Drop mysqldump_test_db.
+DROP DATABASE mysqldump_test_db;
+
+# Restore mysqldump_test_db from bug30027.sql.
+
+# Check the view.
+set names utf8;
+SHOW CREATE VIEW mysqldump_test_db.v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqldump_test_db`.`v1` AS select `v2`.`колонка1` AS `колонка1` from `mysqldump_test_db`.`v2` koi8r koi8r_general_ci
+SHOW CREATE VIEW mysqldump_test_db.v2;
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqldump_test_db`.`v2` AS select 1 AS `колонка1` koi8r koi8r_general_ci
+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;
+#
+# End of 5.1 tests
+#
diff --git a/mysql-test/r/mysqlshow.result b/mysql-test/r/mysqlshow.result
index 2bf8a58de4e..14d8e4f464b 100644
--- a/mysql-test/r/mysqlshow.result
+++ b/mysql-test/r/mysqlshow.result
@@ -84,10 +84,21 @@ Database: information_schema
| 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 |
@@ -105,10 +116,21 @@ Database: INFORMATION_SCHEMA
| 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 |
diff --git a/mysql-test/r/mysqlslap.result b/mysql-test/r/mysqlslap.result
new file mode 100644
index 00000000000..9207dd48d0e
--- /dev/null
+++ b/mysql-test/r/mysqlslap.result
@@ -0,0 +1,219 @@
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+CREATE TABLE t1 (id int, name varchar(64));
+INSERT INTO t1 VALUES (1, 'This is a test');
+select * from t1;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`heap`;
+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');
+select * from t1;
+select * from t2;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`myisam`;
+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');
+select * from t1;
+select * from t2;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`heap`;
+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');
+SHOW TABLES;
+select * from t1;
+select * from t2;
+SHOW TABLES;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`myisam`;
+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');
+SHOW TABLES;
+select * from t1;
+select * from t2;
+SHOW TABLES;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`heap`;
+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');
+SET AUTOCOMMIT=0;
+SHOW TABLES;
+select * from t1;
+select * from t2;
+COMMIT;
+select * from t1;
+select * from t2;
+COMMIT;
+select * from t1;
+select * from t2;
+COMMIT;
+COMMIT;
+SHOW TABLES;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+DROP SCHEMA IF EXISTS `mysqlslap`;
+CREATE SCHEMA `mysqlslap`;
+use mysqlslap;
+set storage_engine=`myisam`;
+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');
+SET AUTOCOMMIT=0;
+SHOW TABLES;
+select * from t1;
+select * from t2;
+COMMIT;
+select * from t1;
+select * from t2;
+COMMIT;
+select * from t1;
+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 d03e21b1bb0..a7df1a523cf 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -722,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
index 5d22fe4a69b..eb93c5f6344 100644
--- a/mysql-test/r/named_pipe.result
+++ b/mysql-test/r/named_pipe.result
@@ -142,9 +142,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -605,11 +605,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 index period period 4 NULL 41810
+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 41810
+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
@@ -1429,7 +1429,7 @@ companynr companynr
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
+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
@@ -1502,8 +1502,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
diff --git a/mysql-test/r/ndb_alter_table.result b/mysql-test/r/ndb_alter_table.result
deleted file mode 100644
index 89999eca051..00000000000
--- a/mysql-test/r/ndb_alter_table.result
+++ /dev/null
@@ -1,338 +0,0 @@
-DROP TABLE IF EXISTS t1, t2;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412);
-ALTER TABLE t1 ADD COLUMN c int not null;
-SELECT * FROM t1;
-a b c
-9410 9412 0
-DROP TABLE t1;
-CREATE DATABASE mysqltest;
-USE mysqltest;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-RENAME TABLE t1 TO test.t1;
-SHOW TABLES;
-Tables_in_mysqltest
-DROP DATABASE mysqltest;
-USE test;
-SHOW TABLES;
-Tables_in_test
-t1
-DROP TABLE t1;
-create table t1 (
-col1 int not null auto_increment primary key,
-col2 varchar(30) not null,
-col3 varchar (20) not null,
-col4 varchar(4) not null,
-col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
-col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 0 0 # # 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 96 # # 0 # 102 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col1 col2 col3 col4 col5 col6 to_be_deleted
-0 4 3 5 PENDING 1 7
-1 4 3 5 PENDING 1 7
-7 4 3 5 PENDING 1 7
-8 4 3 5 PENDING 1 7
-31 4 3 5 PENDING 1 7
-32 4 3 5 PENDING 1 7
-99 4 3 5 PENDING 1 7
-100 4 3 5 PENDING 1 7
-101 4 3 5 PENDING 1 7
-alter table t1
-add column col4_5 varchar(20) not null after col4,
-add column col7 varchar(30) not null after col5,
-add column col8 datetime not null, drop column to_be_deleted,
-change column col2 fourth varchar(30) not null after col3,
-modify column col6 int not null first;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 9 152 # # 0 # 102 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-1 0 3 4 5 PENDING 0000-00-00 00:00:00
-1 1 3 4 5 PENDING 0000-00-00 00:00:00
-1 7 3 4 5 PENDING 0000-00-00 00:00:00
-1 8 3 4 5 PENDING 0000-00-00 00:00:00
-1 31 3 4 5 PENDING 0000-00-00 00:00:00
-1 32 3 4 5 PENDING 0000-00-00 00:00:00
-1 99 3 4 5 PENDING 0000-00-00 00:00:00
-1 100 3 4 5 PENDING 0000-00-00 00:00:00
-1 101 3 4 5 PENDING 0000-00-00 00:00:00
-insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 10 152 # # 0 # 103 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-1 0 3 4 5 PENDING 0000-00-00 00:00:00
-1 1 3 4 5 PENDING 0000-00-00 00:00:00
-1 7 3 4 5 PENDING 0000-00-00 00:00:00
-1 8 3 4 5 PENDING 0000-00-00 00:00:00
-1 31 3 4 5 PENDING 0000-00-00 00:00:00
-1 32 3 4 5 PENDING 0000-00-00 00:00:00
-1 99 3 4 5 PENDING 0000-00-00 00:00:00
-1 100 3 4 5 PENDING 0000-00-00 00:00:00
-1 101 3 4 5 PENDING 0000-00-00 00:00:00
-2 102 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-delete from t1;
-insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-SET SQL_MODE='';
-insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-0 0 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-1 103 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-alter table t1 drop column col4_5;
-insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col5 col7 col8
-0 0 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-1 103 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-2 104 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412);
-ALTER TABLE t1 ADD COLUMN c int not null;
-select * from t1 order by a;
-a b c
-9410 9412 0
-select * from t1 order by a;
-a b c
-9410 9412 0
-alter table t1 drop c;
-select * from t1 order by a;
-a b
-9410 9412
-drop table t1;
-select * from t1 order by a;
-ERROR 42S02: Table 'test.t1' doesn't exist
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-a b
-0 1
-17 18
-SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
-alter table t1 modify column a int not null auto_increment;
-SET SQL_MODE='';
-select * from t1 order by a;
-a b
-0 1
-17 18
-INSERT INTO t1 VALUES (0,19),(20,21);
-select * from t1 order by a;
-a b
-0 1
-17 18
-18 19
-20 21
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-a b
-0 1
-17 18
-alter table t1 add c int not null unique auto_increment;
-select c from t1 order by c;
-c
-1
-2
-INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
-select c from t1 order by c;
-c
-1
-2
-3
-4
-5
-drop table t1;
-create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
-engine=ndb;
-insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
-create index c on t1(c);
-select * from t1 where b = 'two';
-a b c
-2 two two
-alter table t1 drop index c;
-select * from t1 where b = 'two';
-ERROR HY000: Can't lock file (errno: 241)
-select * from t1 where b = 'two';
-a b c
-2 two two
-drop table t1;
-create table t3 (a int primary key) engine=ndbcluster;
-begin;
-insert into t3 values (1);
-alter table t3 rename t4;
-delete from t3;
-insert into t3 values (1);
-commit;
-select * from t3;
-ERROR HY000: Can't lock file (errno: 155)
-select * from t4;
-a
-1
-drop table t4;
-show tables;
-Tables_in_test
-create table t1 (
-ai bigint auto_increment,
-c001 int(11) not null,
-c002 int(11) not null,
-c003 int(11) not null,
-c004 int(11) not null,
-c005 int(11) not null,
-c006 int(11) not null,
-c007 int(11) not null,
-c008 int(11) not null,
-c009 int(11) not null,
-c010 int(11) not null,
-c011 int(11) not null,
-c012 int(11) not null,
-c013 int(11) not null,
-c014 int(11) not null,
-c015 int(11) not null,
-c016 int(11) not null,
-c017 int(11) not null,
-c018 int(11) not null,
-c019 int(11) not null,
-c020 int(11) not null,
-c021 int(11) not null,
-c022 int(11) not null,
-c023 int(11) not null,
-c024 int(11) not null,
-c025 int(11) not null,
-c026 int(11) not null,
-c027 int(11) not null,
-c028 int(11) not null,
-c029 int(11) not null,
-c030 int(11) not null,
-c031 int(11) not null,
-c032 int(11) not null,
-c033 int(11) not null,
-c034 int(11) not null,
-c035 int(11) not null,
-c036 int(11) not null,
-c037 int(11) not null,
-c038 int(11) not null,
-c039 int(11) not null,
-c040 int(11) not null,
-c041 int(11) not null,
-c042 int(11) not null,
-c043 int(11) not null,
-c044 int(11) not null,
-c045 int(11) not null,
-c046 int(11) not null,
-c047 int(11) not null,
-c048 int(11) not null,
-c049 int(11) not null,
-c050 int(11) not null,
-c051 int(11) not null,
-c052 int(11) not null,
-c053 int(11) not null,
-c054 int(11) not null,
-c055 int(11) not null,
-c056 int(11) not null,
-c057 int(11) not null,
-c058 int(11) not null,
-c059 int(11) not null,
-c060 int(11) not null,
-c061 int(11) not null,
-c062 int(11) not null,
-c063 int(11) not null,
-c064 int(11) not null,
-c065 int(11) not null,
-c066 int(11) not null,
-c067 int(11) not null,
-c068 int(11) not null,
-c069 int(11) not null,
-c070 int(11) not null,
-c071 int(11) not null,
-c072 int(11) not null,
-c073 int(11) not null,
-c074 int(11) not null,
-c075 int(11) not null,
-c076 int(11) not null,
-c077 int(11) not null,
-c078 int(11) not null,
-c079 int(11) not null,
-c080 int(11) not null,
-c081 int(11) not null,
-c082 int(11) not null,
-c083 int(11) not null,
-c084 int(11) not null,
-c085 int(11) not null,
-c086 int(11) not null,
-c087 int(11) not null,
-c088 int(11) not null,
-c089 int(11) not null,
-c090 int(11) not null,
-c091 int(11) not null,
-c092 int(11) not null,
-c093 int(11) not null,
-c094 int(11) not null,
-c095 int(11) not null,
-c096 int(11) not null,
-c097 int(11) not null,
-c098 int(11) not null,
-c099 int(11) not null,
-c100 int(11) not null,
-c101 int(11) not null,
-c102 int(11) not null,
-c103 int(11) not null,
-c104 int(11) not null,
-c105 int(11) not null,
-c106 int(11) not null,
-c107 int(11) not null,
-c108 int(11) not null,
-c109 int(11) not null,
-primary key (ai),
-unique key tx1 (c002, c003, c004, c005)) engine=ndb;
-create index tx2
-on t1 (c010, c011, c012, c013);
-drop table t1;
-create table t1 (a int primary key auto_increment, b int) engine=ndb;
-insert into t1 (b) values (101),(102),(103);
-select * from t1 where a = 3;
-a b
-3 103
-alter table t1 rename t2;
-insert into t2 (b) values (201),(202),(203);
-select * from t2 where a = 6;
-a b
-6 203
-alter table t2 add c int;
-insert into t2 (b) values (301),(302),(303);
-select * from t2 where a = 9;
-a b c
-9 303 NULL
-alter table t2 rename t1;
-insert into t1 (b) values (401),(402),(403);
-select * from t1 where a = 12;
-a b c
-12 403 NULL
-drop table t1;
diff --git a/mysql-test/r/ndb_alter_table2.result b/mysql-test/r/ndb_alter_table2.result
deleted file mode 100644
index 399578dc97b..00000000000
--- a/mysql-test/r/ndb_alter_table2.result
+++ /dev/null
@@ -1,42 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-BEGIN;
-INSERT INTO t1 VALUES (9410,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9411,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9412,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9413,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9414,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9415,9412);
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL
-) ENGINE=ndbcluster;
-select * from t1;
-ERROR HY000: Got error 241 'Invalid schema object version' from ndbcluster
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-drop table t1;
diff --git a/mysql-test/r/ndb_autodiscover.result b/mysql-test/r/ndb_autodiscover.result
deleted file mode 100644
index 01ea884a8ba..00000000000
--- a/mysql-test/r/ndb_autodiscover.result
+++ /dev/null
@@ -1,397 +0,0 @@
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-flush status;
-create table t1(
-id int not null primary key,
-name char(20)
-) engine=ndb;
-insert into t1 values(1, "Autodiscover");
-flush tables;
-select * from t1;
-id name
-1 Autodiscover
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-flush tables;
-insert into t1 values (2, "Auto 2");
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-insert into t1 values (3, "Discover 3");
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-flush tables;
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Auto 2
-3 Discover 3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 3
-flush tables;
-update t1 set name="Autodiscover" where id = 2;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 4
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Autodiscover
-3 Discover 3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 4
-flush tables;
-delete from t1 where id = 3;
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Autodiscover
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 5
-drop table t1;
-flush status;
-create table t2(
-id int not null primary key,
-name char(22)
-) engine=ndb;
-insert into t2 values (1, "Discoverer");
-select * from t2;
-id name
-1 Discoverer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-select * from t2;
-id name
-1 Discoverer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-drop table t2;
-flush status;
-create table t3(
-id int not null primary key,
-name char(255)
-) engine=ndb;
-insert into t3 values (1, "Explorer");
-select * from t3;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-create table t3(
-id int not null primary key,
-name char(20), a int, b float, c char(24)
-) engine=ndb;
-ERROR 42S01: Table 't3' already exists
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table IF NOT EXISTS t3(
-id int not null primary key,
-id2 int not null,
-name char(20)
-) engine=ndb;
-Warnings:
-Note 1050 Table 't3' already exists
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-SHOW CREATE TABLE t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `id` int(11) NOT NULL,
- `name` char(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-select * from t3;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-drop table t3;
-flush status;
-create table t7(
-id int not null primary key,
-name char(255)
-) engine=ndb;
-create table t6(
-id int not null primary key,
-name char(255)
-) engine=MyISAM;
-insert into t7 values (1, "Explorer");
-insert into t6 values (2, "MyISAM table");
-select * from t7;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-show tables from test;
-Tables_in_test
-t6
-t7
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-flush tables;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t6 MyISAM 10 Fixed 1 260 # # # 0 NULL # # NULL # NULL #
-t7 ndbcluster 10 Fixed 1 276 # # # 0 NULL # # NULL # NULL #
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t6, t7;
-flush status;
-create table t4(
-id int not null primary key,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-id name
-1 Automatic
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t4;
-ERROR 42S02: Unknown table 't4'
-create table t4(
-id int not null primary key,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-id name
-1 Automatic
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-drop table if exists t4;
-Warnings:
-Error 155 Table 'test.t4' doesn't exist
-drop table t5;
-ERROR 42S02: Unknown table 't5'
-drop table if exists t5;
-Warnings:
-Note 1051 Unknown table 't5'
-flush status;
-create table t4(
-id int not null primary key,
-id2 int,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, 76, "Automatic2");
-select * from t4;
-id id2 name
-1 76 Automatic2
-flush tables;
-SHOW TABLES;
-Tables_in_test
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-SHOW TABLES;
-Tables_in_test
-t1
-t2
-t4
-t8
-t9
-t7
-t6
-select * from t6;
-id
-6
-select * from t7;
-id
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t1, t2, t4, t6, t7, t8, t9;
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-SHOW TABLES LIKE 't6';
-Tables_in_test (t6)
-t6
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-create table t3(a int);
-ERROR 42S01: Table 't3' already exists
-create table t5(a int);
-ERROR 42S01: Table 't5' already exists
-SHOW TABLES LIKE 't%';
-Tables_in_test (t%)
-t1
-t2
-t4
-t6
-t8
-t9
-t7
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t1, t2, t4, t6, t7, t8, t9;
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=ndbcluster;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-insert into t1 values (1);
-insert into t2 values (2, "table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t4 values (4);
-flush tables;
-select * from t1, t2, t3, t4;
-id id b id c id
-1 2 table 2 3 ndb table 3 4
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 3
-drop table t1, t2, t3, t4;
-flush status;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t5(
-id int not null primary key,
-name char(200)
-) engine=ndb;
-insert into t5 values (1, "Magnus");
-select * from t5;
-id name
-1 Magnus
-ALTER TABLE t5 ADD COLUMN adress char(255) FIRST;
-select * from t5;
-adress id name
-NULL 1 Magnus
-insert into t5 values
-("Adress for record 2", 2, "Carl-Gustav"),
-("Adress for record 3", 3, "Karl-Emil");
-update t5 set name="Bertil" where id = 2;
-select * from t5 order by id;
-adress id name
-NULL 1 Magnus
-Adress for record 2 2 Bertil
-Adress for record 3 3 Karl-Emil
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t5;
-flush status;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t6(
-id int not null primary key,
-name char(20)
-) engine=ndb;
-insert into t6 values (1, "Magnus");
-select * from t6;
-id name
-1 Magnus
-ALTER TABLE t6 ADD COLUMN adress char(255) FIRST;
-select * from t6;
-adress id name
-NULL 1 Magnus
-insert into t6 values
-("Adress for record 2", 2, "Carl-Gustav"),
-("Adress for record 3", 3, "Karl-Emil");
-update t6 set name="Bertil" where id = 2;
-select * from t6 order by id;
-adress id name
-NULL 1 Magnus
-Adress for record 2 2 Bertil
-Adress for record 3 3 Karl-Emil
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t6;
-show tables;
-Tables_in_test
-create table t1 (a int,b longblob) engine=ndb;
-show tables;
-Tables_in_test
-t1
-create database test2;
-use test2;
-show tables;
-Tables_in_test2
-select * from t1;
-ERROR 42S02: Table 'test2.t1' doesn't exist
-create table t2 (b int,c longblob) engine=ndb;
-use test;
-select * from t1;
-a b
-show tables;
-Tables_in_test
-t1
-drop table t1;
-use test2;
-drop table t2;
-drop database test2;
-use test;
-drop database if exists test_only_ndb_tables;
-create database test_only_ndb_tables;
-use test_only_ndb_tables;
-create table t1 (a int primary key) engine=ndb;
-select * from t1;
-a
-select * from t1;
-ERROR HY000: Can't lock file (errno: 157)
-use test;
-drop database test_only_ndb_tables;
-CREATE TABLE t9 (
-a int NOT NULL PRIMARY KEY,
-b int
-) engine=ndb;
-insert t9 values(1, 2), (2,3), (3, 4), (4, 5);
-create table t10 (
-a int not null primary key,
-b blob
-) engine=ndb;
-insert into t10 values (1, 'kalle');
diff --git a/mysql-test/r/ndb_autodiscover2.result b/mysql-test/r/ndb_autodiscover2.result
deleted file mode 100644
index 91f018b5d02..00000000000
--- a/mysql-test/r/ndb_autodiscover2.result
+++ /dev/null
@@ -1,13 +0,0 @@
-select * from t9 order by a;
-a b
-1 2
-2 3
-3 4
-4 5
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-drop table t9;
-select * from t10;
-ERROR HY000: Got error 4263 'Invalid blob attributes or invalid blob parts table' from ndbcluster
-drop table t10;
diff --git a/mysql-test/r/ndb_autodiscover3.result b/mysql-test/r/ndb_autodiscover3.result
deleted file mode 100644
index 8bc1b968436..00000000000
--- a/mysql-test/r/ndb_autodiscover3.result
+++ /dev/null
@@ -1,45 +0,0 @@
-drop table if exists t1, t2;
-create table t1 (a int key) engine=ndbcluster;
-begin;
-insert into t1 values (1);
-insert into t1 values (2);
-ERROR HY000: Got temporary error 4025 'Node failure caused abort of transaction' from ndbcluster
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-drop table t1;
-create table t2 (a int, b int, primary key(a,b)) engine=ndbcluster;
-insert into t2 values (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1);
-select * from t2 order by a limit 3;
-a b
-1 1
-2 1
-3 1
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-select * from t2 order by a limit 3;
-ERROR HY000: Can't lock file (errno: 241)
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-show tables;
-Tables_in_test
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-drop table t2;
diff --git a/mysql-test/r/ndb_backup_print.result b/mysql-test/r/ndb_backup_print.result
deleted file mode 100644
index fdd929802b2..00000000000
--- a/mysql-test/r/ndb_backup_print.result
+++ /dev/null
@@ -1,64 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-Connected to Management Server at: :
-Waiting for completed, this may take several minutes
-Node : Backup started from node
-Node : Backup started from node completed
- StartGCP: StopGCP:
- #Records: #LogRecords:
- Data: bytes Log: bytes
-create table t1
-(pk int key
-,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
-,b1 TINYINT, b2 TINYINT UNSIGNED
-,c1 SMALLINT, c2 SMALLINT UNSIGNED
-,d1 INT, d2 INT UNSIGNED
-,e1 BIGINT, e2 BIGINT UNSIGNED
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine ndb;
-insert into t1 values
-(1
-,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
-,127, 255
-,32767, 65535
-,2147483647, 4294967295
-,9223372036854775807, 18446744073709551615
-,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
-,0x12,0x123456789abcdef0, 0x00123450
-);
-insert into t1 values
-(2
-,0, 0, 0, 0, 0
-,-128, 0
-,-32768, 0
-,-2147483648, 0
-,-9223372036854775808, 0
-,'','',''
- ,'','',''
- ,0x0,0x0,0x0
-,0x0,0x0,0x0
-);
-insert into t1 values
-(3
-,NULL,NULL,NULL,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-);
-Connected to Management Server at: :
-Waiting for completed, this may take several minutes
-Node : Backup started from node
-Node : Backup started from node completed
- StartGCP: StopGCP:
- #Records: #LogRecords:
- Data: bytes Log: bytes
diff --git a/mysql-test/r/ndb_basic.result b/mysql-test/r/ndb_basic.result
deleted file mode 100644
index 346b1d5741b..00000000000
--- a/mysql-test/r/ndb_basic.result
+++ /dev/null
@@ -1,844 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 0 PRIMARY 1 pk1 A 0 NULL NULL BTREE
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t1 0 PRIMARY 1 pk1 A 2 NULL NULL BTREE
-SELECT pk1 FROM t1 ORDER BY pk1;
-pk1
-9410
-9411
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 9412 NULL 9412
-9411 9413 17 9413
-SELECT t1.* FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 9412 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET attr1=1 WHERE pk1=9410;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 1 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET pk1=2 WHERE attr1=1;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-2 1 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET pk1=pk1 + 1;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-3 1 NULL 9412
-9412 9413 17 9413
-UPDATE t1 SET pk1=4 WHERE pk1 = 3;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-4 1 NULL 9412
-9412 9413 17 9413
-DELETE FROM t1;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9408, 8765, NULL, '8765'),
-(7,8, NULL, NULL), (8,9, NULL, NULL), (9,10, NULL, NULL), (10,11, NULL, NULL), (11,12, NULL, NULL), (12,13, NULL, NULL), (13,14, NULL, NULL);
-UPDATE t1 SET attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9999 NULL NULL
-8 9999 NULL NULL
-9 9999 NULL NULL
-10 9999 NULL NULL
-11 9999 NULL NULL
-12 9999 NULL NULL
-13 9999 NULL NULL
-9408 9999 NULL 8765
-9410 9999 NULL 9412
-UPDATE t1 SET attr1 = 9998 WHERE pk1 < 1000;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9999 NULL 8765
-9410 9999 NULL 9412
-UPDATE t1 SET attr1 = 9997 WHERE attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9997 NULL 8765
-9410 9997 NULL 9412
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9997 NULL 8765
-DELETE FROM t1;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-INSERT INTO t1 values (1, 4, NULL, NULL), (2, 4, NULL, NULL), (3, 5, NULL, NULL), (4, 4, NULL, NULL), (5, 5, NULL, NULL);
-DELETE FROM t1 WHERE attr1=4;
-SELECT * FROM t1 order by pk1;
-pk1 attr1 attr2 attr3
-3 5 NULL NULL
-5 5 NULL NULL
-DELETE FROM t1;
-INSERT INTO t1 VALUES (9410,9412, NULL, NULL), (9411, 9413, NULL, NULL);
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-9411 9413 NULL NULL
-DROP TABLE t1;
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-INSERT INTO t1 values(3456, 7890);
-SELECT * FROM t1;
-id id2
-3456 7890
-UPDATE t1 SET id=2 WHERE id2=12;
-SELECT * FROM t1;
-id id2
-3456 7890
-UPDATE t1 SET id=1234 WHERE id2=7890;
-SELECT * FROM t1;
-id id2
-1234 7890
-DELETE FROM t1;
-INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890), (3454, 7890);
-SELECT * FROM t1 ORDER BY id;
-id id2
-3454 7890
-3456 7890
-3456 7890
-3456 7890
-DELETE FROM t1 WHERE id = 3456;
-SELECT * FROM t1 ORDER BY id;
-id id2
-3454 7890
-DROP TABLE t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=NDBCLUSTER;
-INSERT INTO t1 values(1, 9999);
-DROP TABLE t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=NDB;
-INSERT INTO t1 values(1, 9999);
-DROP TABLE t1;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-CREATE TABLE t3 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned,
-PRIMARY KEY(a)
-) engine=ndbcluster;
-CREATE TABLE t4 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-select * from t2 where a = 7 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 order by 2;
-a b c
-7 16 5
-select * from t2 where a = 7 order by c;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 17 order by a;
-a b c
-select * from t2 where a = 7 and b != 16 order by b;
-a b c
-select * from t2 where a = 7 and b = 16 and c = 5 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 and c = 5 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 and c = 6 order by a;
-a b c
-select * from t2 where a = 7 and b != 16 and c = 5 order by b;
-a b c
-select * from t3 where a = 7 order by b;
-a b c
-7 16 5
-select * from t3 where a = 7 order by a;
-a b c
-7 16 5
-select * from t3 where a = 7 order by 2;
-a b c
-7 16 5
-select * from t3 where a = 7 order by c;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 16 order by b;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 16 order by a;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 17 order by a;
-a b c
-select * from t3 where a = 7 and b != 16 order by b;
-a b c
-select * from t4 where a = 7 order by b;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by a;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by 2;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by c;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 16 order by b;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 16 order by a;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 17 order by a;
-a b c d
-select * from t4 where a = 7 and b != 16 order by b;
-a b c d
-delete from t2 where a > 5;
-select x1.a, x1.b from t2 x1, t2 x2 where x1.b = x2.b order by x1.a;
-a b
-1 10
-3 12
-5 14
-select a, b FROM t2 outer_table where
-a = (select a from t2 where b = outer_table.b ) order by a;
-a b
-1 10
-3 12
-5 14
-delete from t2;
-delete from t3;
-delete from t4;
-drop table t2;
-drop table t3;
-drop table t4;
-CREATE TABLE t5 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-insert into t5 values(10, 19, 5, 26010);
-delete from t5 where a=10 and b=19 and c=5;
-select * from t5;
-a b c d
-insert into t5 values(10, 19, 5, 26010);
-update t5 set d=21997 where a=10 and b=19 and c=5;
-select * from t5;
-a b c d
-10 19 5 21997
-delete from t5;
-drop table t5;
-CREATE TABLE t6 (
-adress char(255),
-a int NOT NULL PRIMARY KEY,
-b int
-) engine = NDB;
-insert into t6 values
-("Nice road 3456", 1, 23),
-("Street Road 78", 3, 92),
-("Road street 89C", 5, 71),
-(NULL, 7, NULL);
-select * from t6 order by a;
-adress a b
-Nice road 3456 1 23
-Street Road 78 3 92
-Road street 89C 5 71
-NULL 7 NULL
-select a, b from t6 order by a;
-a b
-1 23
-3 92
-5 71
-7 NULL
-update t6 set adress="End of road 09" where a=3;
-update t6 set b=181, adress="Street 76" where a=7;
-select * from t6 order by a;
-adress a b
-Nice road 3456 1 23
-End of road 09 3 92
-Road street 89C 5 71
-Street 76 7 181
-select * from t6 where a=1;
-adress a b
-Nice road 3456 1 23
-delete from t6 where a=1;
-select * from t6 order by a;
-adress a b
-End of road 09 3 92
-Road street 89C 5 71
-Street 76 7 181
-delete from t6 where b=71;
-select * from t6 order by a;
-adress a b
-End of road 09 3 92
-Street 76 7 181
-drop table t6;
-CREATE TABLE t7 (
-adress char(255),
-a int NOT NULL,
-b int,
-c int NOT NULL,
-PRIMARY KEY(a, c)
-) engine = NDB;
-insert into t7 values
-("Highway 3456", 1, 23, 2),
-("Street Road 78", 3, 92, 3),
-("Main street 89C", 5, 71, 4),
-(NULL, 8, NULL, 12);
-select * from t7 order by a;
-adress a b c
-Highway 3456 1 23 2
-Street Road 78 3 92 3
-Main street 89C 5 71 4
-NULL 8 NULL 12
-select a, b from t7 order by a;
-a b
-1 23
-3 92
-5 71
-8 NULL
-update t7 set adress="End of road 09" where a=3;
-update t7 set adress="Gatuvägen 90C" where a=5 and c=4;
-update t7 set adress="No adress" where adress is NULL;
-select * from t7 order by a;
-adress a b c
-Highway 3456 1 23 2
-End of road 09 3 92 3
-Gatuvägen 90C 5 71 4
-No adress 8 NULL 12
-select * from t7 where a=1 and c=2;
-adress a b c
-Highway 3456 1 23 2
-delete from t7 where a=1;
-delete from t7 where a=3 and c=3;
-delete from t7 where a=5 and c=4;
-select * from t7;
-adress a b c
-No adress 8 NULL 12
-delete from t7 where b=23;
-select * from t7;
-adress a b c
-No adress 8 NULL 12
-drop table t7;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-create database mysqltest;
-use mysqltest;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-insert into t2 select pk1,attr1,attr2 from test.t1;
-select * from t2 order by a;
-a b c
-9410 9412 NULL
-9411 9413 17
-select b from test.t1, t2 where c = test.t1.attr2;
-b
-9413
-select b,test.t1.attr1 from test.t1, t2 where test.t1.pk1 < a;
-b attr1
-9413 9412
-drop table test.t1, t2;
-drop database mysqltest;
-drop database if exists ndbtest1;
-create database ndbtest1;
-use ndbtest1;
-create table t1(id int) engine=ndbcluster;
-drop database ndbtest1;
-drop database ndbtest1;
-ERROR HY000: Can't drop database 'ndbtest1'; database doesn't exist
-use test;
-create table t1 (a int primary key, b char(0));
-insert into t1 values (1,"");
-insert into t1 values (2,NULL);
-select * from t1 order by a;
-a b
-1
-2 NULL
-select * from t1 order by b;
-a b
-2 NULL
-1
-select * from t1 where b IS NULL;
-a b
-2 NULL
-select * from t1 where b IS NOT NULL;
-a b
-1
-drop table t1;
-create table t1 (
-c1 int,
-c2 int,
-c3 int,
-c4 int,
-c5 int,
-c6 int,
-c7 int,
-c8 int,
-c9 int,
-c10 int,
-c11 int,
-c12 int,
-c13 int,
-c14 int,
-c15 int,
-c16 int,
-c17 int,
-c18 int,
-c19 int,
-c20 int,
-c21 int,
-c22 int,
-c23 int,
-c24 int,
-c25 int,
-c26 int,
-c27 int,
-c28 int,
-c29 int,
-c30 int,
-c31 int,
-c32 int,
-c33 int,
-c34 int,
-c35 int,
-c36 int,
-c37 int,
-c38 int,
-c39 int,
-c40 int,
-c41 int,
-c42 int,
-c43 int,
-c44 int,
-c45 int,
-c46 int,
-c47 int,
-c48 int,
-c49 int,
-c50 int,
-c51 int,
-c52 int,
-c53 int,
-c54 int,
-c55 int,
-c56 int,
-c57 int,
-c58 int,
-c59 int,
-c60 int,
-c61 int,
-c62 int,
-c63 int,
-c64 int,
-c65 int,
-c66 int,
-c67 int,
-c68 int,
-c69 int,
-c70 int,
-c71 int,
-c72 int,
-c73 int,
-c74 int,
-c75 int,
-c76 int,
-c77 int,
-c78 int,
-c79 int,
-c80 int,
-c81 int,
-c82 int,
-c83 int,
-c84 int,
-c85 int,
-c86 int,
-c87 int,
-c88 int,
-c89 int,
-c90 int,
-c91 int,
-c92 int,
-c93 int,
-c94 int,
-c95 int,
-c96 int,
-c97 int,
-c98 int,
-c99 int,
-c100 int,
-c101 int,
-c102 int,
-c103 int,
-c104 int,
-c105 int,
-c106 int,
-c107 int,
-c108 int,
-c109 int,
-c110 int,
-c111 int,
-c112 int,
-c113 int,
-c114 int,
-c115 int,
-c116 int,
-c117 int,
-c118 int,
-c119 int,
-c120 int,
-c121 int,
-c122 int,
-c123 int,
-c124 int,
-c125 int,
-c126 int,
-c127 int,
-c128 int,
-primary key(c1)) engine=ndb;
-drop table t1;
-create table t1 (
-a1234567890123456789012345678901234567890 int primary key,
-a12345678901234567890123456789a1234567890 int,
-index(a12345678901234567890123456789a1234567890)
-) engine=ndb;
-show tables;
-Tables_in_test
-t1
-insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1);
-explain select * from t1 where a12345678901234567890123456789a1234567890=2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a12345678901234567890123456789a1234567890 a12345678901234567890123456789a1234567890 5 const 10 Using where
-select * from t1 where a12345678901234567890123456789a1234567890=2;
-a1234567890123456789012345678901234567890 a12345678901234567890123456789a1234567890
-5 2
-drop table t1;
-create table t1
-(a bigint, b bigint, c bigint, d bigint,
-primary key (a,b,c,d))
-engine=ndb
-max_rows=800000000;
-Warnings:
-Warning 1105 Ndb might have problems storing the max amount of rows specified
-insert into t1 values
-(1,2,3,4),(2,3,4,5),(3,4,5,6),
-(3,2,3,4),(1,3,4,5),(2,4,5,6),
-(1,2,3,5),(2,3,4,8),(3,4,5,9),
-(3,2,3,5),(1,3,4,8),(2,4,5,9),
-(1,2,3,6),(2,3,4,6),(3,4,5,7),
-(3,2,3,6),(1,3,4,6),(2,4,5,7),
-(1,2,3,7),(2,3,4,7),(3,4,5,8),
-(3,2,3,7),(1,3,4,7),(2,4,5,8),
-(1,3,3,4),(2,4,4,5),(3,5,5,6),
-(3,3,3,4),(1,4,4,5),(2,5,5,6),
-(1,3,3,5),(2,4,4,8),(3,5,5,9),
-(3,3,3,5),(1,4,4,8),(2,5,5,9),
-(1,3,3,6),(2,4,4,6),(3,5,5,7),
-(3,3,3,6),(1,4,4,6),(2,5,5,7),
-(1,3,3,7),(2,4,4,7),(3,5,5,8),
-(3,3,3,7),(1,4,4,7),(2,5,5,8);
-select count(*) from t1;
-count(*)
-48
-drop table t1;
-create table t1
-(a bigint, b bigint, c bigint, d bigint,
-primary key (a))
-engine=ndb
-max_rows=1;
-drop table t1;
-create table t1
-(counter int(64) NOT NULL auto_increment,
-datavalue char(40) default 'XXXX',
-primary key (counter)
-) ENGINE=ndbcluster;
-insert into t1 (datavalue) values ('newval');
-insert into t1 (datavalue) values ('newval');
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-3 newval
-4 newval
-5 newval
-6 newval
-7 newval
-8 newval
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-3 newval
-4 newval
-5 newval
-6 newval
-7 newval
-8 newval
-35 newval
-36 newval
-37 newval
-38 newval
-39 newval
-40 newval
-41 newval
-42 newval
-43 newval
-44 newval
-45 newval
-46 newval
-47 newval
-48 newval
-49 newval
-50 newval
-51 newval
-52 newval
-53 newval
-54 newval
-55 newval
-56 newval
-57 newval
-58 newval
-drop table t1;
-create table t1 (a int primary key auto_increment) engine = ndb;
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-insert into t1(a) values (20),(28);
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-insert into t1() values (21), (22);
-drop table t1;
-CREATE TABLE t1 ( b INT ) PACK_KEYS = 0 ENGINE = ndb;
-select * from t1;
-b
-drop table t1;
-create table t1 (a int) engine=ndb;
-create table t2 (a int) engine=ndb;
-insert into t1 values (1);
-insert into t2 values (1);
-delete t1.* from t1, t2 where t1.a = t2.a;
-select * from t1;
-a
-select * from t2;
-a
-1
-drop table t1;
-drop table t2;
-CREATE TABLE t1 (
-i INT,
-j INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-CREATE TABLE t2 (
-i INT,
-k INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-CREATE TABLE t3 (
-j INT,
-k INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-INSERT INTO t1 VALUES ( 1, 2,13,14,15);
-INSERT INTO t2 VALUES ( 1, 3,23,24,25);
-INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
-UPDATE t1 AS a
-INNER JOIN t2 AS b
-ON a.i = b.i
-INNER JOIN t3 AS c
-ON a.j = c.j AND b.k = c.k
-SET a.x = b.x,
-a.y = b.y,
-a.z = (
-SELECT sum(z)
-FROM t3
-WHERE y = 34
-)
-WHERE b.x = 23;
-select * from t1;
-i j x y z
-1 2 23 24 71
-drop table t1;
-drop table t2;
-drop table t3;
-create table atablewithareallylongandirritatingname (a int);
-insert into atablewithareallylongandirritatingname values (2);
-select * from atablewithareallylongandirritatingname;
-a
-2
-drop table atablewithareallylongandirritatingname;
-create table t1 (f1 varchar(50), f2 text,f3 int, primary key(f1)) engine=NDB;
-insert into t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
-insert into t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
-select * from t1 order by f1;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-select * from t1 order by f2;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-select * from t1 order by f3;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-drop table t1;
-Illegal ndb error code: 1186
-CREATE TABLE t1 (
-a VARBINARY(40) NOT NULL,
-b VARCHAR (256) CHARACTER SET UTF8 NOT NULL,
-c VARCHAR(256) CHARACTER SET UTF8 NOT NULL,
-PRIMARY KEY (b,c)) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES
-("a","ab","abc"),("b","abc","abcd"),("c","abc","ab"),("d","ab","ab"),("e","abc","abc");
-SELECT * FROM t1 ORDER BY a;
-a b c
-a ab abc
-b abc abcd
-c abc ab
-d ab ab
-e abc abc
-DROP TABLE t1;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
-insert into t2 values (1,10), (2,20), (3,30);
-select * from t1 order by a;
-a b
-1 10
-2 20
-3 30
-delete from t1 where a > 0 order by a desc limit 1;
-select * from t1 order by a;
-a b
-1 10
-2 20
-delete from t1,t2 using t1,t2 where t1.a = t2.a;
-select * from t2 order by a;
-a b
-3 30
-drop table t1,t2;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
-insert into t1 set a=1, b=100;
-ERROR 23000: Duplicate entry '1' for key 1
-insert ignore into t1 set a=1, b=100;
-select * from t1 order by a;
-a b
-1 10
-2 20
-3 30
-insert into t1 set a=1, b=1000 on duplicate key update b=b+1;
-select * from t1 order by a;
-a b
-1 11
-2 20
-3 30
-drop table t1;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (c int not null primary key, d int not null) engine=ndb;
-insert into t1 values (1,10), (2,10), (3,30), (4, 30);
-insert into t2 values (1,10), (2,10), (3,30), (4, 30);
-update t1 set a = 1 where a = 3;
-ERROR 23000: Duplicate entry '1' for key 1
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 30
-update t1 set b = 1 where a > 1 order by a desc limit 1;
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-update t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-ERROR 23000: Duplicate entry '1' for key 1
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-drop table t1,t2;
-End of 5.0 tests
diff --git a/mysql-test/r/ndb_blob.result b/mysql-test/r/ndb_blob.result
deleted file mode 100644
index 2864b1dc7c9..00000000000
--- a/mysql-test/r/ndb_blob.result
+++ /dev/null
@@ -1,570 +0,0 @@
-drop table if exists t1;
-drop database if exists test2;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b text not null,
-c int not null,
-d longblob,
-key (c)
-) engine=ndbcluster;
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-select length(@x0),length(@b1),length(@d1) from dual;
-length(@x0) length(@b1) length(@d1)
-256 2256 3000
-select length(@x0),length(@b2),length(@d2) from dual;
-length(@x0) length(@b2) length(@d2)
-256 20000 30000
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-update t1 set b=@b2,d=@d2 where a=1;
-update t1 set b=@b1,d=@d1 where a=2;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-update t1 set b=concat(b,b),d=concat(d,d) where a=1;
-update t1 set b=concat(b,b),d=concat(d,d) where a=2;
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 40000 b2 60000 dd2
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
-2 4512 b1 6000 dd1
-update t1 set d=null where a=1;
-commit;
-select a from t1 where d is null;
-a
-1
-delete from t1 where a=45567;
-commit;
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-count(*)
-0
-replace t1 set a=1,b=@b1,c=111,d=@d1;
-replace t1 set a=2,b=@b2,c=222,d=@d2;
-commit;
-explain select * from t1 where a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-replace t1 set a=1,b=@b2,c=111,d=@d2;
-replace t1 set a=2,b=@b1,c=222,d=@d1;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-replace t1 set a=1,b=concat(@b2,@b2),c=111,d=concat(@d2,@d2);
-replace t1 set a=2,b=concat(@b1,@b1),c=222,d=concat(@d1,@d1);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 40000 b2 60000 dd2
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
-2 4512 b1 6000 dd1
-replace t1 set a=1,b='xyz',c=111,d=null;
-commit;
-select a,b from t1 where d is null;
-a b
-1 xyz
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where c = 111;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref c c 4 const 10
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=111;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=222;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-update t1 set b=@b2,d=@d2 where c=111;
-update t1 set b=@b1,d=@d1 where c=222;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=111;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=222;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-update t1 set d=null where c=111;
-commit;
-select a from t1 where d is null;
-a
-1
-delete from t1 where c=111;
-delete from t1 where c=222;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-explain select * from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 9
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d);
-commit;
-select * from t1 order by a;
-a b c d
-1 1xb1 111 1xdd1
-2 2xb2 222 2xdd2
-3 3xb3 333 3xdd3
-4 4xb4 444 4xdd4
-5 5xb5 555 5xdd5
-6 6xb6 666 6xdd6
-7 7xb7 777 7xdd7
-8 8xb8 888 8xdd8
-9 9xb9 999 9xdd9
-delete from t1;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 order by a;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 4512 6000
-2 40000 b2 60000 dd2
-delete from t1;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-explain select * from t1 where c >= 100 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 4 NULL 10 Using where; Using filesort
-select * from t1 where c >= 100 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d)
-where c >= 100;
-commit;
-select * from t1 where c >= 100 order by a;
-a b c d
-1 1xb1 111 1xdd1
-2 2xb2 222 2xdd2
-3 3xb3 333 3xdd3
-4 4xb4 444 4xdd4
-5 5xb5 555 5xdd5
-6 6xb6 666 6xdd6
-7 7xb7 777 7xdd7
-8 8xb8 888 8xdd8
-9 9xb9 999 9xdd9
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where c >= 100 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 4 NULL 10 Using where; Using filesort
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c >= 100 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where c >= 100 order by a;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 4512 6000
-2 40000 b2 60000 dd2
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 0;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-rollback;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-alter table t1 add x int;
-select * from t1 order by a;
-a b c d x
-1 b1 111 dd1 NULL
-2 b2 222 dd2 NULL
-3 b3 333 dd3 NULL
-4 b4 444 dd4 NULL
-5 b5 555 dd5 NULL
-6 b6 666 dd6 NULL
-7 b7 777 dd7 NULL
-8 b8 888 dd8 NULL
-9 b9 999 dd9 NULL
-alter table t1 drop x;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-create database test2;
-use test2;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-insert into t2 values (1,1,1),(2,2,2);
-select * from test.t1,t2 where test.t1.a = t2.a order by test.t1.a;
-a b c d a b c
-1 b1 111 dd1 1 1 1
-2 b2 222 dd2 2 2 2
-drop table t2;
-use test;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-alter table t1 add x int;
-select * from t1 order by a;
-a b c d x
-1 b1 111 dd1 NULL
-2 b2 222 dd2 NULL
-3 b3 333 dd3 NULL
-4 b4 444 dd4 NULL
-5 b5 555 dd5 NULL
-6 b6 666 dd6 NULL
-7 b7 777 dd7 NULL
-8 b8 888 dd8 NULL
-9 b9 999 dd9 NULL
-alter table t1 drop x;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-drop table t1;
-drop database test2;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b tinytext
-) engine=ndbcluster;
-insert into t1 values(1, 'x');
-update t1 set b = 'y';
-select * from t1;
-a b
-1 y
-delete from t1;
-select * from t1;
-a b
-commit;
-replace t1 set a=2, b='y';
-select * from t1;
-a b
-2 y
-delete from t1;
-select * from t1;
-a b
-drop table t1;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b text not null
-) engine=ndbcluster;
-insert into t1 values(1, '');
-select * from t1;
-a b
-1
-commit;
-drop table t1;
-set autocommit=1;
-use test;
-CREATE TABLE t1 (
-a int,
-b text,
-PRIMARY KEY (a)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES
-(1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
-INSERT INTO t1 VALUES
-(2,'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-alter table t1 engine=ndb;
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-set autocommit=1;
-alter table t1 engine=myisam;
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-drop table t1;
-create table t1 (
-id int(11) unsigned primary key NOT NULL auto_increment,
-msg text NOT NULL
-) engine=ndbcluster default charset=utf8;
-insert into t1 (msg) values(
-'Tries to validate (8 byte length + inline bytes) as UTF8 :(
-Fast fix: removed validation for Text. It is not yet indexable
-so bad data will not crash kernel.');
-select * from t1;
-id msg
-1 Tries to validate (8 byte length + inline bytes) as UTF8 :(
-Fast fix: removed validation for Text. It is not yet indexable
-so bad data will not crash kernel.
-drop table t1;
-create table t1 (
-a int primary key not null auto_increment,
-b text
-) engine=ndbcluster;
-select count(*) from t1;
-count(*)
-500
-truncate t1;
-select count(*) from t1;
-count(*)
-0
-drop table t1;
-create table t1 (
-a varchar(40) not null,
-b mediumint not null,
-t text,
-c varchar(2) not null,
-d bigint not null,
-primary key (a,b,c),
-key (c,a),
-unique key (d)
-) engine=ndb;
-insert into t1 (a,b,c,d,t) values ('a',1110,'a',1,@v1);
-insert into t1 (a,b,c,d,t) values ('b',1110,'a',2,@v2);
-insert into t1 (a,b,c,d,t) values ('a',1110,'b',3,@v3);
-insert into t1 (a,b,c,d,t) values ('b',1110,'b',4,@v4);
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='a';
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='b';
-a b c d sha1(t)
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-update t1 set t=@v4 where a='b' and b=1110 and c='a';
-update t1 set t=@v2 where a='b' and b=1110 and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 NULL
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-update t1 set t=@v2 where d=2;
-update t1 set t=@v4 where d=4;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-update t1 set t=@v4 where a='b' and c='a';
-update t1 set t=@v2 where a='b' and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 NULL
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-update t1 set t=@v2 where b+d=1112;
-update t1 set t=@v4 where b+d=1114;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-delete from t1 where a='a' and b=1110 and c='a';
-delete from t1 where a='b' and c='a';
-delete from t1 where d=3;
-delete from t1 where b+d=1114;
-select count(*) from t1;
-count(*)
-0
-drop table t1;
diff --git a/mysql-test/r/ndb_bug26793.result b/mysql-test/r/ndb_bug26793.result
deleted file mode 100644
index a9a8a798546..00000000000
--- a/mysql-test/r/ndb_bug26793.result
+++ /dev/null
@@ -1,8 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE `test` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`t` VARCHAR( 10 ) NOT NULL
-) ENGINE = ndbcluster;
-GRANT USAGE ON *.* TO user1@localhost IDENTIFIED BY 'pass';
-DROP TABLE `test`.`test`;
-drop user user1@localhost;
diff --git a/mysql-test/r/ndb_cache.result b/mysql-test/r/ndb_cache.result
deleted file mode 100644
index 478663b1aa1..00000000000
--- a/mysql-test/r/ndb_cache.result
+++ /dev/null
@@ -1,191 +0,0 @@
-drop table if exists t1;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-CREATE TABLE t1 ( pk int not null primary key,
-a int, b int not null, c varchar(20)) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-select * from t1;
-pk a b c
-1 2 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-pk a b c
-1 2 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-update t1 set a=3 where pk=1;
-select * from t1;
-pk a b c
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-4 5 6 Fourth row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-4 5 6 Fourth row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-delete from t1 where c='Fourth row';
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-use test;
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 4
-update t1 set a=4 where b=3;
-use test;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-begin;
-update t1 set a=5 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 8
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 8
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 9
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 9
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 8
-drop table t1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-SET GLOBAL query_cache_size=0;
diff --git a/mysql-test/r/ndb_cache2.result b/mysql-test/r/ndb_cache2.result
deleted file mode 100644
index 2876002f864..00000000000
--- a/mysql-test/r/ndb_cache2.result
+++ /dev/null
@@ -1,623 +0,0 @@
-drop table if exists t1, t2, t3, t4, t5;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=100;
-reset query cache;
-flush status;
-CREATE TABLE t1 (
-pk int not null primary key,
-a1 int,
-b1 int not null,
-c1 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t2 (
-pk int not null primary key,
-a2 int,
-b2 int not null
-) ENGINE=ndb;
-CREATE TABLE t3 (
-pk int not null primary key,
-a3 int,
-b3 int not null,
-c3 int not null,
-d3 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t4 (
-a4 int,
-b4 int not null,
-c4 char(20)
-) ENGINE=ndbcluster;
-CREATE TABLE t5 (
-pk int not null primary key,
-a5 int,
-b5 int not null,
-c5 varchar(255)
-) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-insert into t2 value (1, 2, 3);
-insert into t3 value (1, 2, 3, 4, '3 - First row');
-insert into t4 value (2, 3, '4 - First row');
-insert into t5 value (1, 2, 3, '5 - First row');
-select * from t1;
-pk a1 b1 c1
-1 2 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-pk a1 b1 c1
-1 2 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-update t1 set a1=3 where pk=1;
-select * from t1;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk desc;
-pk a1 b1 c1
-4 5 6 Fourth row
-2 7 8 Second row
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-4 5 6 Fourth row
-2 7 8 Second row
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-delete from t1 where c1='Fourth row';
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-use test;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 3 3 First row
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 4
-update t1 set a1=4 where b1=3;
-use test;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t2;
-pk a2 b2
-1 2 3
-select * from t3;
-pk a3 b3 c3 d3
-1 2 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-2 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 2 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-flush status;
-begin;
-update t1 set a1=5 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-flush status;
-begin;
-update t1 set a1=6 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-flush status;
-begin;
-insert into t1 set pk=5, a1=6, b1=3, c1="New row";
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=5;
-pk a1 b1 c1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=5;
-pk a1 b1 c1
-5 6 3 New row
-select * from t1 where pk=5;
-pk a1 b1 c1
-5 6 3 New row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-flush status;
-begin;
-delete from t1 where pk=2;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=2;
-pk a1 b1 c1
-2 7 8 Second row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=2;
-pk a1 b1 c1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 where pk=2;
-pk a1 b1 c1
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 where pk=2;
-pk a1 b1 c1
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 4
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-flush status;
-begin;
-update t1 set a1=9 where pk=1;
-update t2 set a2=9 where pk=1;
-update t3 set a3=9 where pk=1;
-update t4 set a4=9 where a4=2;
-update t5 set a5=9 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t2;
-pk a2 b2
-1 2 3
-select * from t3;
-pk a3 b3 c3 d3
-1 2 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-2 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 2 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 5
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 5
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 10
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 15
-drop table t1, t2, t3, t4, t5;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-SET GLOBAL query_cache_size=0;
-SET GLOBAL ndb_cache_check_time=0;
diff --git a/mysql-test/r/ndb_cache_multi.result b/mysql-test/r/ndb_cache_multi.result
deleted file mode 100644
index c7135ed9e8a..00000000000
--- a/mysql-test/r/ndb_cache_multi.result
+++ /dev/null
@@ -1,72 +0,0 @@
-drop table if exists t1, t2;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select * from t2;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-update t1 set a=3 where a=2;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-drop table t1, t2;
diff --git a/mysql-test/r/ndb_cache_multi2.result b/mysql-test/r/ndb_cache_multi2.result
deleted file mode 100644
index 53767bb6d3c..00000000000
--- a/mysql-test/r/ndb_cache_multi2.result
+++ /dev/null
@@ -1,75 +0,0 @@
-drop table if exists t1, t2;
-== Connected to server1 ==
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-== Connected to server2 ==
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-== Connected to server1 ==
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select a != 3 from t1;
-a != 3
-1
-select * from t2;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-== Connected to server2 ==
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-update t1 set a=3 where a=2;
-== Connected to server1 ==
-select * from t1;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-drop table t1, t2;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
diff --git a/mysql-test/r/ndb_charset.result b/mysql-test/r/ndb_charset.result
deleted file mode 100644
index 9e519c39496..00000000000
--- a/mysql-test/r/ndb_charset.result
+++ /dev/null
@@ -1,326 +0,0 @@
-drop table if exists t1;
-create table t1 (
-a char(3) character set latin1 collate latin1_bin primary key
-) engine=ndb;
-insert into t1 values('aAa');
-insert into t1 values('aaa');
-insert into t1 values('AAA');
-select * from t1 order by a;
-a
-AAA
-aAa
-aaa
-select * from t1 where a = 'aAa';
-a
-aAa
-select * from t1 where a = 'aaa';
-a
-aaa
-select * from t1 where a = 'AaA';
-a
-select * from t1 where a = 'AAA';
-a
-AAA
-drop table t1;
-create table t1 (
-a char(3) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-insert into t1 values('aAa');
-insert into t1 values('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 1
-insert into t1 values('AAA');
-ERROR 23000: Duplicate entry 'AAA' for key 1
-select * from t1 order by a;
-a
-aAa
-select * from t1 where a = 'aAa';
-a
-aAa
-select * from t1 where a = 'aaa';
-a
-aAa
-select * from t1 where a = 'AaA';
-a
-aAa
-select * from t1 where a = 'AAA';
-a
-aAa
-drop table t1;
-create table t1 (
-a varchar(20) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-insert into t1 values ('A'),('b '),('C '),('d '),('E'),('f');
-insert into t1 values('b');
-ERROR 23000: Duplicate entry 'b' for key 1
-insert into t1 values('a ');
-ERROR 23000: Duplicate entry 'a ' for key 1
-select a,length(a) from t1 order by a;
-a length(a)
-A 1
-b 2
-C 3
-d 7
-E 1
-f 1
-select a,length(a) from t1 order by a desc;
-a length(a)
-f 1
-E 1
-d 7
-C 3
-b 2
-A 1
-select * from t1 where a = 'a';
-a
-A
-select * from t1 where a = 'a ';
-a
-A
-select * from t1 where a = 'd';
-a
-d
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_bin not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-select * from t1 where a = 'aAa';
-p a
-1 aAa
-select * from t1 where a = 'aaa';
-p a
-2 aaa
-select * from t1 where a = 'AaA';
-p a
-select * from t1 where a = 'AAA';
-p a
-3 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_swedish_ci not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-ERROR 23000: Duplicate entry '' for key 0
-insert into t1 values(3, 'AAA');
-ERROR 23000: Duplicate entry '' for key 0
-select * from t1 order by p;
-p a
-1 aAa
-select * from t1 where a = 'aAa';
-p a
-1 aAa
-select * from t1 where a = 'aaa';
-p a
-1 aAa
-select * from t1 where a = 'AaA';
-p a
-1 aAa
-select * from t1 where a = 'AAA';
-p a
-1 aAa
-drop table t1;
-create table t1 (
-p int primary key,
-a varchar(20) character set latin1 collate latin1_swedish_ci not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
-insert into t1 values(99,'b');
-ERROR 23000: Duplicate entry '' for key 0
-insert into t1 values(99,'a ');
-ERROR 23000: Duplicate entry '' for key 0
-select a,length(a) from t1 order by a;
-a length(a)
-A 1
-b 2
-C 3
-d 7
-E 1
-f 1
-select a,length(a) from t1 order by a desc;
-a length(a)
-f 1
-E 1
-d 7
-C 3
-b 2
-A 1
-select * from t1 where a = 'a';
-p a
-1 A
-select * from t1 where a = 'a ';
-p a
-1 A
-select * from t1 where a = 'd';
-p a
-4 d
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_bin not null,
-index(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-explain select * from t1 where a = 'zZz' order by p;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
-select * from t1 where a = 'aAa' order by p;
-p a
-1 aAa
-4 aAa
-select * from t1 where a = 'aaa' order by p;
-p a
-2 aaa
-5 aaa
-select * from t1 where a = 'AaA' order by p;
-p a
-select * from t1 where a = 'AAA' order by p;
-p a
-3 AAA
-6 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_swedish_ci not null,
-index(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-explain select * from t1 where a = 'zZz' order by p;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
-select * from t1 where a = 'aAa' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'aaa' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'AaA' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'AAA' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a varchar(20) character set latin1 collate latin1_swedish_ci not null,
-index(a, p)
-) engine=ndb;
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
-insert into t1 values (7,'a'),(8,'B '),(9,'c '),(10,'D'),(11,'e'),(12,'F ');
-select p,a,length(a) from t1 order by a, p;
-p a length(a)
-1 A 1
-7 a 1
-2 b 2
-8 B 2
-3 C 3
-9 c 3
-4 d 7
-10 D 1
-5 E 1
-11 e 1
-6 f 1
-12 F 3
-select * from t1 where a = 'a ' order by a desc, p desc;
-p a
-7 a
-1 A
-select * from t1 where a >= 'D' order by a, p;
-p a
-4 d
-10 D
-5 E
-11 e
-6 f
-12 F
-select * from t1 where a < 'D' order by a, p;
-p a
-1 A
-7 a
-2 b
-8 B
-3 C
-9 c
-select count(*) from t1 x, t1 y, t1 z where x.a = y.a and y.a = z.a;
-count(*)
-48
-drop table t1;
-create table t1 (
-a char(10) primary key
-) engine=ndbcluster default charset=latin1;
-insert into t1 values ('aaabb');
-select * from t1;
-a
-aaabb
-replace into t1 set a = 'AAABB';
-select * from t1;
-a
-AAABB
-replace into t1 set a = 'aAaBb';
-select * from t1;
-a
-aAaBb
-replace into t1 set a = 'aaabb';
-select * from t1;
-a
-aaabb
-drop table t1;
diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result
deleted file mode 100644
index d49c0cd983e..00000000000
--- a/mysql-test/r/ndb_condition_pushdown.result
+++ /dev/null
@@ -1,1914 +0,0 @@
-DROP TABLE IF EXISTS t1,t2;
-CREATE TABLE t1 (
-auto int(5) unsigned NOT NULL auto_increment,
-string char(10),
-vstring varchar(10),
-bin binary(2),
-vbin varbinary(7),
-tiny tinyint(4) DEFAULT '0' NOT NULL ,
-short smallint(6) DEFAULT '1' NOT NULL ,
-medium mediumint(8) DEFAULT '0' NOT NULL,
-long_int int(11) DEFAULT '0' NOT NULL,
-longlong bigint(13) DEFAULT '0' NOT NULL,
-real_float float(13,1) DEFAULT 0.0 NOT NULL,
-real_double double(16,4),
-real_decimal decimal(16,4),
-utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
-ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
-umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
-ulong int(11) unsigned DEFAULT '0' NOT NULL,
-ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
-bits bit(3),
-options enum('zero','one','two','three','four') not null,
-flags set('zero','one','two','three','four') not null,
-date_field date,
-year_field year,
-time_field time,
-date_time datetime,
-time_stamp timestamp,
-PRIMARY KEY (auto)
-) engine=ndb;
-insert into t1 values
-(NULL,"aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
-b'001','one','one',
-'1901-01-01','1901',
-'01:01:01','1901-01-01 01:01:01',NULL),
-(NULL,"bbbb","bbbb",0xBBBB,0xBBBB,-2,-2,-2,-2,-2,2.2,2.2,2.2,2,2,2,2,2,
-b'010','two','one,two',
-'1902-02-02','1902',
-'02:02:02','1902-02-02 02:02:02',NULL),
-(NULL,"cccc","cccc",0xCCCC,0xCCCC,-3,-3,-3,-3,-3,3.3,3.3,3.3,3,3,3,3,3,
-b'011','three','one,two,three',
-'1903-03-03','1903',
-'03:03:03','1903-03-03 03:03:03',NULL),
-(NULL,"dddd","dddd",0xDDDD,0xDDDD,-4,-4,-4,-4,-4,4.4,4.4,4.4,4,4,4,4,4,
-b'100','four','one,two,three,four',
-'1904-04-04','1904',
-'04:04:04','1904-04-04 04:04:04',NULL);
-CREATE TABLE t2 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 int unsigned, attr3 VARCHAR(10) ) ENGINE=ndbcluster;
-insert into t2 values (0,0,0, "a"),(1,1,1,"b"),(2,2,NULL,NULL),(3,3,3,"d"),(4,4,4,"e"),(5,5,5,"f");
-CREATE TABLE t3 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) ) ENGINE=ndbcluster;
-insert into t3 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) , KEY (attr1)) ENGINE=ndbcluster;
-insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-set @old_ecpd = @@session.engine_condition_pushdown;
-set engine_condition_pushdown = off;
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-bits = b'001' and
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-bits != b'001' and
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-bits > b'001' and
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-bits >= b'001' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-bits < b'100' and
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 and
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-bits <= b'100' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-auto
-2
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-auto
-1
-3
-4
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-(bits between b'001' and b'011') and
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-(b'001' between bits and bits) and
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-auto
-1
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-(bits not between b'001' and b'011') and
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-4
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-(b'001' not between bits and bits) and
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-bits in(b'001',b'011') and
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in(short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-b'001' in(bits) and
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-auto
-1
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-bits not in(b'001',b'011') and
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-2
-4
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-b'001' not in(bits) and
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-auto
-2
-3
-4
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-pk1 attr1 attr2 attr3
-2 2 NULL NULL
-3 3 3 d
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-pk1 attr1 attr2 attr3
-3 3 3 d
-4 4 4 e
-5 5 5 f
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-5 5 9223372036854775807 5 f
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
-0 0 0 a 0 0 0 0 a
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
-3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
-4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
-set engine_condition_pushdown = on;
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-create index medium_index on t1(medium);
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref medium_index medium_index 3 const 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-auto
-2
-explain
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-auto
-1
-3
-4
-explain
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-explain
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-4
-explain
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-explain
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref medium_index medium_index 3 const 10 Using where with pushed condition; Using filesort
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL 30 Using where with pushed condition; Using filesort
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-2
-4
-explain
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-auto
-2
-3
-4
-update t1
-set medium = 17
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-delete from t1
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = 17 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-select count(*) from t1;
-count(*)
-3
-explain
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 6 Using where with pushed condition; Using filesort
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-pk1 attr1 attr2 attr3
-2 2 NULL NULL
-3 3 3 d
-explain
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-pk1 attr1 attr2 attr3
-3 3 3 d
-4 4 4 e
-5 5 5 f
-explain
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-5 5 9223372036854775807 5 f
-explain
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using temporary; Using filesort
-1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
-0 0 0 a 0 0 0 0 a
-explain
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using filesort
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-explain
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using temporary; Using filesort
-1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
-3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
-4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
-explain
-select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using filesort
-explain
-select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using filesort
-explain
-select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort
-1 SIMPLE t4 ALL NULL NULL NULL NULL 6 Using where
-create table t5 (a int primary key auto_increment, b tinytext not null)
-engine = ndb;
-insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
-set engine_condition_pushdown = off;
-select * from t5 where b like '%jo%' order by a;
-a b
-1 jonas
-3 johan
-set engine_condition_pushdown = on;
-explain select * from t5 where b like '%jo%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t5 ALL NULL NULL NULL NULL 3 Using where
-select * from t5 where b like '%jo%' order by a;
-a b
-1 jonas
-3 johan
-set engine_condition_pushdown = off;
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
-auto
-2
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-auto
-3
-4
-set engine_condition_pushdown = on;
-explain select auto from t1 where date_time like '1902-02-02 %';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
-auto
-2
-explain select auto from t1 where date_time not like '1902-02-02 %';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-auto
-3
-4
-drop table t1;
-create table t1 (a int, b varchar(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-set engine_condition_pushdown = off;
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-set engine_condition_pushdown = on;
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-drop table t1;
-create table t1 (a int, b char(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-set engine_condition_pushdown = off;
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-set engine_condition_pushdown = on;
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-drop table t1;
-create table t1 ( fname varchar(255), lname varchar(255) )
-engine=ndbcluster;
-insert into t1 values ("Young","Foo");
-set engine_condition_pushdown = 0;
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-set engine_condition_pushdown = 1;
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-insert into t1 values ("aaa", "aaa");
-insert into t1 values ("bbb", "bbb");
-insert into t1 values ("ccc", "ccc");
-insert into t1 values ("ddd", "ddd");
-set engine_condition_pushdown = 0;
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-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
-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/r/ndb_config.result b/mysql-test/r/ndb_config.result
deleted file mode 100644
index 9470cd7256c..00000000000
--- a/mysql-test/r/ndb_config.result
+++ /dev/null
@@ -1,14 +0,0 @@
-ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7,
-1,localhost,41943040,12582912 2,localhost,41943040,12582912
-1 localhost 41943040 12582912
-2 localhost 41943040 12582912
-1 2
-ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7,
-ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,,
-ndbd,1,localhost ndbd,2,localhost ndbd,3,localhost ndbd,4,localhost ndb_mgmd,5,localhost mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10,
-ndbd,2,localhost ndbd,3,localhost ndbd,4,localhost ndbd,5,localhost ndb_mgmd,6,localhost mysqld,1, mysqld,7, mysqld,8, mysqld,9, mysqld,10,
-ndbd,3,localhost ndbd,4,localhost ndbd,5,localhost ndbd,6,localhost ndb_mgmd,1,localhost ndb_mgmd,2,localhost mysqld,11, mysqld,12, mysqld,13, mysqld,14, mysqld,15,
-shm,3,4,35,3 shm,3,5,35,3 shm,3,6,35,3 shm,4,5,35,4 shm,4,6,35,4 shm,5,6,35,5 tcp,11,3,55,3 tcp,11,4,55,4 tcp,11,5,55,5 tcp,11,6,55,6 tcp,12,3,55,3 tcp,12,4,55,4 tcp,12,5,55,5 tcp,12,6,55,6 tcp,13,3,55,3 tcp,13,4,55,4 tcp,13,5,55,5 tcp,13,6,55,6 tcp,14,3,55,3 tcp,14,4,55,4 tcp,14,5,55,5 tcp,14,6,55,6 tcp,15,3,55,3 tcp,15,4,55,4 tcp,15,5,55,5 tcp,15,6,55,6 tcp,1,3,55,1 tcp,1,4,55,1 tcp,1,5,55,1 tcp,1,6,55,1 tcp,2,3,55,2 tcp,2,4,55,2 tcp,2,5,55,2 tcp,2,6,55,2
-1 2 3
-
-1 2 3
diff --git a/mysql-test/r/ndb_database.result b/mysql-test/r/ndb_database.result
deleted file mode 100644
index 566a3eaf3dd..00000000000
--- a/mysql-test/r/ndb_database.result
+++ /dev/null
@@ -1,27 +0,0 @@
-drop table if exists t1;
-drop database if exists mysqltest;
-drop table if exists t1;
-drop database if exists mysqltest;
-create database mysqltest;
-create database mysqltest;
-create table mysqltest.t1 (a int primary key, b int) engine=ndb;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-t1
-drop database mysqltest;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-create database mysqltest;
-create table mysqltest.t1 (c int, d int primary key) engine=ndb;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-t1
-drop database mysqltest;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-drop table if exists t1;
-drop database if exists mysqltest;
diff --git a/mysql-test/r/ndb_gis.result b/mysql-test/r/ndb_gis.result
deleted file mode 100644
index ec064ace651..00000000000
--- a/mysql-test/r/ndb_gis.result
+++ /dev/null
@@ -1,1088 +0,0 @@
-SET storage_engine=ndbcluster;
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER, g POINT);
-CREATE TABLE gis_line (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
-SHOW CREATE TABLE gis_point;
-Table Create Table
-gis_point CREATE TABLE `gis_point` (
- `fid` int(11) default NULL,
- `g` point default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW FIELDS FROM gis_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g point YES NULL
-SHOW FIELDS FROM gis_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g linestring YES NULL
-SHOW FIELDS FROM gis_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g polygon YES NULL
-SHOW FIELDS FROM gis_multi_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipoint YES NULL
-SHOW FIELDS FROM gis_multi_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multilinestring YES NULL
-SHOW FIELDS FROM gis_multi_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipolygon YES NULL
-SHOW FIELDS FROM gis_geometrycollection;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometrycollection YES NULL
-SHOW FIELDS FROM gis_geometry;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometry YES NULL
-INSERT INTO gis_point VALUES
-(101, PointFromText('POINT(10 10)')),
-(102, PointFromText('POINT(20 10)')),
-(103, PointFromText('POINT(20 20)')),
-(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
-INSERT INTO gis_line VALUES
-(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
-(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
-(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));
-INSERT INTO gis_polygon VALUES
-(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
-(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
-(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));
-INSERT INTO gis_multi_point VALUES
-(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
-(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
-(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));
-INSERT INTO gis_multi_line VALUES
-(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
-(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
-(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));
-INSERT INTO gis_multi_polygon VALUES
-(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));
-INSERT INTO gis_geometrycollection VALUES
-(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
-(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));
-INSERT into gis_geometry SELECT * FROM gis_point;
-INSERT into gis_geometry SELECT * FROM gis_line;
-INSERT into gis_geometry SELECT * FROM gis_polygon;
-INSERT into gis_geometry SELECT * FROM gis_multi_point;
-INSERT into gis_geometry SELECT * FROM gis_multi_line;
-INSERT into gis_geometry SELECT * FROM gis_multi_polygon;
-INSERT into gis_geometry SELECT * FROM gis_geometrycollection;
-SELECT fid, AsText(g) FROM gis_point ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-SELECT fid, AsText(g) FROM gis_line ORDER by fid;
-fid AsText(g)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;
-fid AsText(g)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;
-fid AsText(g)
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;
-fid AsText(g)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;
-fid AsText(g)
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;
-fid AsText(g)
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;
-fid Dimension(g)
-101 0
-102 0
-103 0
-104 0
-105 1
-106 1
-107 1
-108 2
-109 2
-110 2
-111 0
-112 0
-113 0
-114 1
-115 1
-116 1
-117 2
-118 2
-119 2
-120 1
-121 1
-SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;
-fid GeometryType(g)
-101 POINT
-102 POINT
-103 POINT
-104 POINT
-105 LINESTRING
-106 LINESTRING
-107 LINESTRING
-108 POLYGON
-109 POLYGON
-110 POLYGON
-111 MULTIPOINT
-112 MULTIPOINT
-113 MULTIPOINT
-114 MULTILINESTRING
-115 MULTILINESTRING
-116 MULTILINESTRING
-117 MULTIPOLYGON
-118 MULTIPOLYGON
-119 MULTIPOLYGON
-120 GEOMETRYCOLLECTION
-121 GEOMETRYCOLLECTION
-SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid;
-fid IsEmpty(g)
-101 0
-102 0
-103 0
-104 0
-105 0
-106 0
-107 0
-108 0
-109 0
-110 0
-111 0
-112 0
-113 0
-114 0
-115 0
-116 0
-117 0
-118 0
-119 0
-120 0
-121 0
-SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid;
-fid AsText(Envelope(g))
-101 POLYGON((10 10,10 10,10 10,10 10,10 10))
-102 POLYGON((20 10,20 10,20 10,20 10,20 10))
-103 POLYGON((20 20,20 20,20 20,20 20,20 20))
-104 POLYGON((10 20,10 20,10 20,10 20,10 20))
-105 POLYGON((0 0,10 0,10 10,0 10,0 0))
-106 POLYGON((10 10,20 10,20 20,10 20,10 10))
-107 POLYGON((10 10,40 10,40 10,10 10,10 10))
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0))
-110 POLYGON((0 0,30 0,30 30,0 30,0 0))
-111 POLYGON((0 0,20 0,20 20,0 20,0 0))
-112 POLYGON((1 1,21 1,21 21,1 21,1 1))
-113 POLYGON((3 6,4 6,4 10,3 10,3 6))
-114 POLYGON((10 0,16 0,16 48,10 48,10 0))
-115 POLYGON((10 0,10 0,10 48,10 48,10 0))
-116 POLYGON((1 2,21 2,21 8,1 8,1 2))
-117 POLYGON((28 0,84 0,84 42,28 42,28 0))
-118 POLYGON((28 0,84 0,84 42,28 42,28 0))
-119 POLYGON((0 0,3 0,3 3,0 3,0 0))
-120 POLYGON((0 0,10 0,10 10,0 10,0 0))
-121 POLYGON((3 6,44 6,44 9,3 9,3 6))
-explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
-Warnings:
-Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
-SELECT fid, X(g) FROM gis_point ORDER by fid;
-fid X(g)
-101 10
-102 20
-103 20
-104 10
-SELECT fid, Y(g) FROM gis_point ORDER by fid;
-fid Y(g)
-101 10
-102 10
-103 20
-104 20
-explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
-Warnings:
-Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
-SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(StartPoint(g))
-105 POINT(0 0)
-106 POINT(10 10)
-107 POINT(10 10)
-SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(EndPoint(g))
-105 POINT(10 0)
-106 POINT(10 10)
-107 POINT(40 10)
-SELECT fid, GLength(g) FROM gis_line ORDER by fid;
-fid GLength(g)
-105 24.142135623731
-106 40
-107 30
-SELECT fid, NumPoints(g) FROM gis_line ORDER by fid;
-fid NumPoints(g)
-105 3
-106 5
-107 2
-SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid;
-fid AsText(PointN(g, 2))
-105 POINT(0 10)
-106 POINT(20 10)
-107 POINT(40 10)
-SELECT fid, IsClosed(g) FROM gis_line ORDER by fid;
-fid IsClosed(g)
-105 0
-106 1
-107 0
-explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
-SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
-fid AsText(Centroid(g))
-108 POINT(15 15)
-109 POINT(25.416666666667 25.416666666667)
-110 POINT(20 10)
-SELECT fid, Area(g) FROM gis_polygon ORDER by fid;
-fid Area(g)
-108 100
-109 2400
-110 450
-SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid;
-fid AsText(ExteriorRing(g))
-108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
-110 LINESTRING(0 0,30 0,30 30,0 0)
-SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid;
-fid NumInteriorRings(g)
-108 0
-109 1
-110 0
-SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid;
-fid AsText(InteriorRingN(g, 1))
-108 NULL
-109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-110 NULL
-explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
-SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
-fid IsClosed(g)
-114 0
-115 0
-116 0
-SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
-fid AsText(Centroid(g))
-117 POINT(55.588527753042 17.426536064114)
-118 POINT(55.588527753042 17.426536064114)
-119 POINT(2 2)
-SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
-fid Area(g)
-117 1684.5
-118 1684.5
-119 4.5
-SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid;
-fid NumGeometries(g)
-111 4
-112 4
-113 2
-SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid;
-fid NumGeometries(g)
-114 2
-115 1
-116 2
-SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid;
-fid NumGeometries(g)
-117 2
-118 2
-119 1
-SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid;
-fid NumGeometries(g)
-120 2
-121 2
-explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
-fid AsText(GeometryN(g, 2))
-111 POINT(10 10)
-112 POINT(11 11)
-113 POINT(4 10)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;
-fid AsText(GeometryN(g, 2))
-114 LINESTRING(16 0,16 23,16 48)
-115 NULL
-116 LINESTRING(2 5,5 8,21 7)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;
-fid AsText(GeometryN(g, 2))
-117 POLYGON((59 18,67 18,67 13,59 13,59 18))
-118 POLYGON((59 18,67 18,67 13,59 13,59 18))
-119 NULL
-SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 2))
-120 LINESTRING(0 0,10 10)
-121 LINESTRING(3 6,7 9)
-SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 1))
-120 POINT(0 0)
-121 POINT(44 6)
-explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
-SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
-120 121 0 0 1 0 0 0 1 0
-121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
-explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
-Warnings:
-Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
-DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE t1 (
-gp point,
-ln linestring,
-pg polygon,
-mp multipoint,
-mln multilinestring,
-mpg multipolygon,
-gc geometrycollection,
-gm geometry
-);
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-ALTER TABLE t1 ADD fid INT;
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-fid int(11) YES NULL
-DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
-INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));
-INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
-INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));
-INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));
-INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));
-INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));
-INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));
-INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));
-INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));
-INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));
-INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));
-INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));
-INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));
-INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));
-INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrcontains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrdisjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrequal
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrintersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbroverlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrtouches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrwithin
-big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-contains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-disjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-intersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-overlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-touches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-within
-big,center
-SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
-SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');
-SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');
-SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
-SET @point1 = GeomFromText('POLYGON ((0 0))');
-SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
-0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
-1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
-0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
-0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
-0
-DROP TABLE t1;
-End of 5.0 tests
-set engine_condition_pushdown = on;
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER, g POINT);
-CREATE TABLE gis_line (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
-SHOW CREATE TABLE gis_point;
-Table Create Table
-gis_point CREATE TABLE `gis_point` (
- `fid` int(11) default NULL,
- `g` point default NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW FIELDS FROM gis_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g point YES NULL
-SHOW FIELDS FROM gis_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g linestring YES NULL
-SHOW FIELDS FROM gis_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g polygon YES NULL
-SHOW FIELDS FROM gis_multi_point;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipoint YES NULL
-SHOW FIELDS FROM gis_multi_line;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multilinestring YES NULL
-SHOW FIELDS FROM gis_multi_polygon;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g multipolygon YES NULL
-SHOW FIELDS FROM gis_geometrycollection;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometrycollection YES NULL
-SHOW FIELDS FROM gis_geometry;
-Field Type Null Key Default Extra
-fid int(11) YES NULL
-g geometry YES NULL
-INSERT INTO gis_point VALUES
-(101, PointFromText('POINT(10 10)')),
-(102, PointFromText('POINT(20 10)')),
-(103, PointFromText('POINT(20 20)')),
-(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
-INSERT INTO gis_line VALUES
-(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
-(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
-(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));
-INSERT INTO gis_polygon VALUES
-(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
-(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
-(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));
-INSERT INTO gis_multi_point VALUES
-(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
-(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
-(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));
-INSERT INTO gis_multi_line VALUES
-(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
-(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
-(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));
-INSERT INTO gis_multi_polygon VALUES
-(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));
-INSERT INTO gis_geometrycollection VALUES
-(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
-(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));
-INSERT into gis_geometry SELECT * FROM gis_point;
-INSERT into gis_geometry SELECT * FROM gis_line;
-INSERT into gis_geometry SELECT * FROM gis_polygon;
-INSERT into gis_geometry SELECT * FROM gis_multi_point;
-INSERT into gis_geometry SELECT * FROM gis_multi_line;
-INSERT into gis_geometry SELECT * FROM gis_multi_polygon;
-INSERT into gis_geometry SELECT * FROM gis_geometrycollection;
-SELECT fid, AsText(g) FROM gis_point ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-SELECT fid, AsText(g) FROM gis_line ORDER by fid;
-fid AsText(g)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;
-fid AsText(g)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;
-fid AsText(g)
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;
-fid AsText(g)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;
-fid AsText(g)
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;
-fid AsText(g)
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;
-fid Dimension(g)
-101 0
-102 0
-103 0
-104 0
-105 1
-106 1
-107 1
-108 2
-109 2
-110 2
-111 0
-112 0
-113 0
-114 1
-115 1
-116 1
-117 2
-118 2
-119 2
-120 1
-121 1
-SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;
-fid GeometryType(g)
-101 POINT
-102 POINT
-103 POINT
-104 POINT
-105 LINESTRING
-106 LINESTRING
-107 LINESTRING
-108 POLYGON
-109 POLYGON
-110 POLYGON
-111 MULTIPOINT
-112 MULTIPOINT
-113 MULTIPOINT
-114 MULTILINESTRING
-115 MULTILINESTRING
-116 MULTILINESTRING
-117 MULTIPOLYGON
-118 MULTIPOLYGON
-119 MULTIPOLYGON
-120 GEOMETRYCOLLECTION
-121 GEOMETRYCOLLECTION
-SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid;
-fid IsEmpty(g)
-101 0
-102 0
-103 0
-104 0
-105 0
-106 0
-107 0
-108 0
-109 0
-110 0
-111 0
-112 0
-113 0
-114 0
-115 0
-116 0
-117 0
-118 0
-119 0
-120 0
-121 0
-SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid;
-fid AsText(Envelope(g))
-101 POLYGON((10 10,10 10,10 10,10 10,10 10))
-102 POLYGON((20 10,20 10,20 10,20 10,20 10))
-103 POLYGON((20 20,20 20,20 20,20 20,20 20))
-104 POLYGON((10 20,10 20,10 20,10 20,10 20))
-105 POLYGON((0 0,10 0,10 10,0 10,0 0))
-106 POLYGON((10 10,20 10,20 20,10 20,10 10))
-107 POLYGON((10 10,40 10,40 10,10 10,10 10))
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0))
-110 POLYGON((0 0,30 0,30 30,0 30,0 0))
-111 POLYGON((0 0,20 0,20 20,0 20,0 0))
-112 POLYGON((1 1,21 1,21 21,1 21,1 1))
-113 POLYGON((3 6,4 6,4 10,3 10,3 6))
-114 POLYGON((10 0,16 0,16 48,10 48,10 0))
-115 POLYGON((10 0,10 0,10 48,10 48,10 0))
-116 POLYGON((1 2,21 2,21 8,1 8,1 2))
-117 POLYGON((28 0,84 0,84 42,28 42,28 0))
-118 POLYGON((28 0,84 0,84 42,28 42,28 0))
-119 POLYGON((0 0,3 0,3 3,0 3,0 0))
-120 POLYGON((0 0,10 0,10 10,0 10,0 0))
-121 POLYGON((3 6,44 6,44 9,3 9,3 6))
-explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21
-Warnings:
-Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
-SELECT fid, X(g) FROM gis_point ORDER by fid;
-fid X(g)
-101 10
-102 20
-103 20
-104 10
-SELECT fid, Y(g) FROM gis_point ORDER by fid;
-fid Y(g)
-101 10
-102 10
-103 20
-104 20
-explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4
-Warnings:
-Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
-SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(StartPoint(g))
-105 POINT(0 0)
-106 POINT(10 10)
-107 POINT(10 10)
-SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(EndPoint(g))
-105 POINT(10 0)
-106 POINT(10 10)
-107 POINT(40 10)
-SELECT fid, GLength(g) FROM gis_line ORDER by fid;
-fid GLength(g)
-105 24.142135623731
-106 40
-107 30
-SELECT fid, NumPoints(g) FROM gis_line ORDER by fid;
-fid NumPoints(g)
-105 3
-106 5
-107 2
-SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid;
-fid AsText(PointN(g, 2))
-105 POINT(0 10)
-106 POINT(20 10)
-107 POINT(40 10)
-SELECT fid, IsClosed(g) FROM gis_line ORDER by fid;
-fid IsClosed(g)
-105 0
-106 1
-107 0
-explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
-SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
-fid AsText(Centroid(g))
-108 POINT(15 15)
-109 POINT(25.416666666667 25.416666666667)
-110 POINT(20 10)
-SELECT fid, Area(g) FROM gis_polygon ORDER by fid;
-fid Area(g)
-108 100
-109 2400
-110 450
-SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid;
-fid AsText(ExteriorRing(g))
-108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
-110 LINESTRING(0 0,30 0,30 30,0 0)
-SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid;
-fid NumInteriorRings(g)
-108 0
-109 1
-110 0
-SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid;
-fid AsText(InteriorRingN(g, 1))
-108 NULL
-109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-110 NULL
-explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
-SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
-fid IsClosed(g)
-114 0
-115 0
-116 0
-SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
-fid AsText(Centroid(g))
-117 POINT(55.588527753042 17.426536064114)
-118 POINT(55.588527753042 17.426536064114)
-119 POINT(2 2)
-SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
-fid Area(g)
-117 1684.5
-118 1684.5
-119 4.5
-SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid;
-fid NumGeometries(g)
-111 4
-112 4
-113 2
-SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid;
-fid NumGeometries(g)
-114 2
-115 1
-116 2
-SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid;
-fid NumGeometries(g)
-117 2
-118 2
-119 1
-SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid;
-fid NumGeometries(g)
-120 2
-121 2
-explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
-fid AsText(GeometryN(g, 2))
-111 POINT(10 10)
-112 POINT(11 11)
-113 POINT(4 10)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;
-fid AsText(GeometryN(g, 2))
-114 LINESTRING(16 0,16 23,16 48)
-115 NULL
-116 LINESTRING(2 5,5 8,21 7)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;
-fid AsText(GeometryN(g, 2))
-117 POLYGON((59 18,67 18,67 13,59 13,59 18))
-118 POLYGON((59 18,67 18,67 13,59 13,59 18))
-119 NULL
-SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 2))
-120 LINESTRING(0 0,10 10)
-121 LINESTRING(3 6,7 9)
-SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 1))
-120 POINT(0 0)
-121 POINT(44 6)
-explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
-SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
-120 121 0 0 1 0 0 0 1 0
-121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
-explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2
-Warnings:
-Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
-DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE t1 (
-gp point,
-ln linestring,
-pg polygon,
-mp multipoint,
-mln multilinestring,
-mpg multipolygon,
-gc geometrycollection,
-gm geometry
-);
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-ALTER TABLE t1 ADD fid INT;
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-fid int(11) YES NULL
-DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
-INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));
-INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
-INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));
-INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));
-INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));
-INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));
-INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));
-INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));
-INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));
-INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));
-INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));
-INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));
-INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));
-INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));
-INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrcontains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrdisjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrequal
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrintersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbroverlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrtouches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrwithin
-big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-contains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-disjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-intersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-overlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-touches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-within
-big,center
-SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
-SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');
-SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');
-SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
-SET @point1 = GeomFromText('POLYGON ((0 0))');
-SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
-0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
-1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
-0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
-0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
-0
-DROP TABLE t1;
-End of 5.0 tests
diff --git a/mysql-test/r/ndb_grant.result b/mysql-test/r/ndb_grant.result
deleted file mode 100644
index 6192a7cace5..00000000000
--- a/mysql-test/r/ndb_grant.result
+++ /dev/null
@@ -1,444 +0,0 @@
-drop table if exists t1;
-SET NAMES binary;
-use mysql;
-alter table columns_priv engine=ndb;
-alter table db engine=ndb;
-alter table func engine=ndb;
-alter table help_category engine=ndb;
-alter table help_keyword engine=ndb;
-alter table help_relation engine=ndb;
-alter table help_topic engine=ndb;
-alter table host engine=ndb;
-alter table tables_priv engine=ndb;
-alter table time_zone engine=ndb;
-alter table time_zone_leap_second engine=ndb;
-alter table time_zone_name engine=ndb;
-alter table time_zone_transition engine=ndb;
-alter table time_zone_transition_type engine=ndb;
-alter table user engine=ndb;
-use test;
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-flush privileges;
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA";
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant delete on mysqltest.* to mysqltest_1@localhost;
-commit;
-select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N 0 0 0
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT, DELETE ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke delete on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require NONE;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant USAGE on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA" AND SUBJECT "testsubject" ISSUER "MySQL AB";
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE ISSUER 'MySQL AB' SUBJECT 'testsubject' CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE ISSUER 'MySQL AB' SUBJECT 'testsubject' CIPHER 'EDH-RSA-DES-CBC3-SHA'
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-begin;
-grant CREATE TEMPORARY TABLES, LOCK TABLES on mysqltest.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-flush privileges;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke CREATE TEMPORARY TABLES on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant ALL PRIVILEGES on mysqltest.* to mysqltest_1@localhost with GRANT OPTION;
-commit;
-flush privileges;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-begin;
-revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-begin;
-grant usage on test.* to mysqltest_1@localhost with grant option;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT USAGE ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-GRANT USAGE ON `test`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-delete from mysql.tables_priv where user='mysqltest_1';
-delete from mysql.columns_priv where user='mysqltest_1';
-flush privileges;
-show grants for mysqltest_1@localhost;
-ERROR 42000: There is no such grant defined for user 'mysqltest_1' on host 'localhost'
-create table t1 (a int);
-begin;
-GRANT select,update,insert on t1 to mysqltest_1@localhost;
-GRANT select (a), update (a),insert(a), references(a) on t1 to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, SELECT (a), INSERT, INSERT (a), UPDATE, UPDATE (a), REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-table_priv column_priv
-Select,Insert,Update Select,Insert,Update,References
-begin;
-REVOKE select (a), update on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, INSERT, INSERT (a), REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-begin;
-REVOKE select,update,insert,insert (a) on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-begin;
-GRANT select,references on t1 to mysqltest_1@localhost;
-commit;
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-table_priv column_priv
-Select,References References
-begin;
-grant all on test.* to mysqltest_3@localhost with grant option;
-revoke all on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-Grants for mysqltest_3@localhost
-GRANT USAGE ON *.* TO 'mysqltest_3'@'localhost'
-GRANT USAGE ON `test`.* TO 'mysqltest_3'@'localhost' WITH GRANT OPTION
-begin;
-revoke grant option on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-Grants for mysqltest_3@localhost
-GRANT USAGE ON *.* TO 'mysqltest_3'@'localhost'
-begin;
-grant all on test.t1 to mysqltest_2@localhost with grant option;
-revoke all on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-Grants for mysqltest_2@localhost
-GRANT USAGE ON *.* TO 'mysqltest_2'@'localhost'
-GRANT USAGE ON `test`.`t1` TO 'mysqltest_2'@'localhost' WITH GRANT OPTION
-begin;
-revoke grant option on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-Grants for mysqltest_2@localhost
-GRANT USAGE ON *.* TO 'mysqltest_2'@'localhost'
-delete from mysql.user where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.db where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.tables_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.columns_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-flush privileges;
-drop table t1;
-begin;
-GRANT FILE on mysqltest.* to mysqltest_1@localhost;
-ERROR HY000: Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
-commit;
-select 1;
-1
-1
-create database mysqltest1;
-begin;
-grant usage on mysqltest1.* to test6123 identified by 'magic123';
-commit;
-select host,db,user,select_priv,insert_priv from mysql.db where db="mysqltest1";
-host db user select_priv insert_priv
-delete from mysql.user where user='test6123';
-drop database mysqltest1;
-create table t1 (a int);
-begin;
-grant ALL PRIVILEGES on *.* to drop_user2@localhost with GRANT OPTION;
-commit;
-show grants for drop_user2@localhost;
-Grants for drop_user2@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user2'@'localhost' WITH GRANT OPTION
-begin;
-revoke all privileges, grant option from drop_user2@localhost;
-commit;
-drop user drop_user2@localhost;
-begin;
-grant ALL PRIVILEGES on *.* to drop_user@localhost with GRANT OPTION;
-grant ALL PRIVILEGES on test.* to drop_user@localhost with GRANT OPTION;
-grant select(a) on test.t1 to drop_user@localhost;
-commit;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON `test`.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON `test`.`t1` TO 'drop_user'@'localhost'
-set sql_mode=ansi_quotes;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON "test".* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON "test"."t1" TO 'drop_user'@'localhost'
-set sql_mode=default;
-set sql_quote_show_create=0;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON test.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON test.t1 TO 'drop_user'@'localhost'
-set sql_mode="ansi_quotes";
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON test.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON test.t1 TO 'drop_user'@'localhost'
-set sql_quote_show_create=1;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON "test".* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON "test"."t1" TO 'drop_user'@'localhost'
-set sql_mode="";
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON `test`.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON `test`.`t1` TO 'drop_user'@'localhost'
-revoke all privileges, grant option from drop_user@localhost;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT USAGE ON *.* TO 'drop_user'@'localhost'
-drop user drop_user@localhost;
-begin;
-revoke all privileges, grant option from drop_user@localhost;
-ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
-commit;
-begin;
-grant select(a) on test.t1 to drop_user1@localhost;
-commit;
-flush privileges;
-begin;
-grant select on test.t1 to drop_user2@localhost;
-grant select on test.* to drop_user3@localhost;
-grant select on *.* to drop_user4@localhost;
-commit;
-flush privileges;
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-begin;
-revoke all privileges, grant option from drop_user1@localhost, drop_user2@localhost,
-drop_user3@localhost, drop_user4@localhost;
-ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
-commit;
-flush privileges;
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-drop table t1;
-begin;
-grant usage on *.* to mysqltest_1@localhost identified by "password";
-grant select, update, insert on test.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'
-GRANT SELECT, INSERT, UPDATE ON `test`.* TO 'mysqltest_1'@'localhost'
-drop user mysqltest_1@localhost;
-SET NAMES koi8r;
-CREATE DATABASE ;
-USE ;
-CREATE TABLE ( int);
-begin;
-GRANT SELECT ON .* TO @localhost;
-commit;
-SHOW GRANTS FOR @localhost;
-Grants for @localhost
-GRANT USAGE ON *.* TO ''@'localhost'
-GRANT SELECT ON ``.* TO ''@'localhost'
-begin;
-REVOKE SELECT ON .* FROM @localhost;
-commit;
-begin;
-GRANT SELECT ON . TO @localhost;
-commit;
-SHOW GRANTS FOR @localhost;
-Grants for @localhost
-GRANT USAGE ON *.* TO ''@'localhost'
-GRANT SELECT ON ``.`` TO ''@'localhost'
-begin;
-REVOKE SELECT ON . FROM @localhost;
-commit;
-begin;
-GRANT SELECT () ON . TO @localhost;
-commit;
-SHOW GRANTS FOR @localhost;
-Grants for @localhost
-GRANT USAGE ON *.* TO ''@'localhost'
-GRANT SELECT () ON ``.`` TO ''@'localhost'
-begin;
-REVOKE SELECT () ON . FROM @localhost;
-commit;
-DROP DATABASE ;
-SET NAMES latin1;
-USE test;
-CREATE TABLE t1 (a int );
-CREATE TABLE t2 LIKE t1;
-CREATE TABLE t3 LIKE t1;
-CREATE TABLE t4 LIKE t1;
-CREATE TABLE t5 LIKE t1;
-CREATE TABLE t6 LIKE t1;
-CREATE TABLE t7 LIKE t1;
-CREATE TABLE t8 LIKE t1;
-CREATE TABLE t9 LIKE t1;
-CREATE TABLE t10 LIKE t1;
-CREATE DATABASE testdb1;
-CREATE DATABASE testdb2;
-CREATE DATABASE testdb3;
-CREATE DATABASE testdb4;
-CREATE DATABASE testdb5;
-CREATE DATABASE testdb6;
-CREATE DATABASE testdb7;
-CREATE DATABASE testdb8;
-CREATE DATABASE testdb9;
-CREATE DATABASE testdb10;
-begin;
-GRANT ALL ON testdb1.* TO testuser@localhost;
-GRANT ALL ON testdb2.* TO testuser@localhost;
-GRANT ALL ON testdb3.* TO testuser@localhost;
-GRANT ALL ON testdb4.* TO testuser@localhost;
-GRANT ALL ON testdb5.* TO testuser@localhost;
-GRANT ALL ON testdb6.* TO testuser@localhost;
-GRANT ALL ON testdb7.* TO testuser@localhost;
-GRANT ALL ON testdb8.* TO testuser@localhost;
-GRANT ALL ON testdb9.* TO testuser@localhost;
-GRANT ALL ON testdb10.* TO testuser@localhost;
-GRANT SELECT ON test.t1 TO testuser@localhost;
-GRANT SELECT ON test.t2 TO testuser@localhost;
-GRANT SELECT ON test.t3 TO testuser@localhost;
-GRANT SELECT ON test.t4 TO testuser@localhost;
-GRANT SELECT ON test.t5 TO testuser@localhost;
-GRANT SELECT ON test.t6 TO testuser@localhost;
-GRANT SELECT ON test.t7 TO testuser@localhost;
-GRANT SELECT ON test.t8 TO testuser@localhost;
-GRANT SELECT ON test.t9 TO testuser@localhost;
-GRANT SELECT ON test.t10 TO testuser@localhost;
-GRANT SELECT (a) ON test.t1 TO testuser@localhost;
-GRANT SELECT (a) ON test.t2 TO testuser@localhost;
-GRANT SELECT (a) ON test.t3 TO testuser@localhost;
-GRANT SELECT (a) ON test.t4 TO testuser@localhost;
-GRANT SELECT (a) ON test.t5 TO testuser@localhost;
-GRANT SELECT (a) ON test.t6 TO testuser@localhost;
-GRANT SELECT (a) ON test.t7 TO testuser@localhost;
-GRANT SELECT (a) ON test.t8 TO testuser@localhost;
-GRANT SELECT (a) ON test.t9 TO testuser@localhost;
-GRANT SELECT (a) ON test.t10 TO testuser@localhost;
-commit;
-begin;
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM testuser@localhost;
-commit;
-SHOW GRANTS FOR testuser@localhost;
-Grants for testuser@localhost
-GRANT USAGE ON *.* TO 'testuser'@'localhost'
-DROP USER testuser@localhost;
-DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-DROP DATABASE testdb1;
-DROP DATABASE testdb2;
-DROP DATABASE testdb3;
-DROP DATABASE testdb4;
-DROP DATABASE testdb5;
-DROP DATABASE testdb6;
-DROP DATABASE testdb7;
-DROP DATABASE testdb8;
-DROP DATABASE testdb9;
-DROP DATABASE testdb10;
-SHOW PRIVILEGES;
-Privilege Context Comment
-Alter Tables To alter the table
-Create Databases,Tables,Indexes To create new databases and tables
-Create temporary tables Databases To use CREATE TEMPORARY TABLE
-Create view Tables To create new views
-Delete Tables To delete existing rows
-Drop Databases,Tables To drop databases, tables, and views
-File File access on server To read and write files on the server
-Grant option Databases,Tables To give to other users those privileges you possess
-Index Tables To create or drop indexes
-Insert Tables To insert data into tables
-Lock tables Databases To use LOCK TABLES (together with SELECT privilege)
-Process Server Admin To view the plain text of currently executing queries
-References Databases,Tables To have references on tables
-Reload Server Admin To reload or refresh tables, logs and privileges
-Replication client Server Admin To ask where the slave or master servers are
-Replication slave Server Admin To read binary log events from the master
-Select Tables To retrieve rows from table
-Show databases Server Admin To see all databases with SHOW DATABASES
-Show view Tables To see views with SHOW CREATE VIEW
-Shutdown Server Admin To shut down the server
-Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
-Update Tables To update existing rows
-Usage Server Admin No privileges - allow connect only
-use mysql;
-alter table columns_priv engine=myisam;
-alter table db engine=myisam;
-alter table func engine=myisam;
-alter table help_category engine=myisam;
-alter table help_keyword engine=myisam;
-alter table help_relation engine=myisam;
-alter table help_topic engine=myisam;
-alter table host engine=myisam;
-alter table tables_priv engine=myisam;
-alter table time_zone engine=myisam;
-alter table time_zone_leap_second engine=myisam;
-alter table time_zone_name engine=myisam;
-alter table time_zone_transition engine=myisam;
-alter table time_zone_transition_type engine=myisam;
-alter table user engine=myisam;
-use test;
-flush privileges;
diff --git a/mysql-test/r/ndb_index.result b/mysql-test/r/ndb_index.result
deleted file mode 100644
index 5702552b0b5..00000000000
--- a/mysql-test/r/ndb_index.result
+++ /dev/null
@@ -1,154 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 (
-PORT varchar(16) NOT NULL,
-ACCESSNODE varchar(16) NOT NULL,
-POP varchar(48) NOT NULL,
-ACCESSTYPE int unsigned NOT NULL,
-CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
-PROVIDER varchar(16),
-TEXPIRE int unsigned,
-NUM_IP int unsigned,
-LEASED_NUM_IP int unsigned,
-LOCKED_IP int unsigned,
-STATIC_DNS int unsigned,
-SUSPENDED_SERVICE int unsigned,
-SUSPENDED_REASON int unsigned,
-BGP_COMMUNITY int unsigned,
-INDEX CUSTOMER_ID_INDEX(CUSTOMER_ID),
-INDEX FQPN_INDEX(POP,ACCESSNODE,PORT),
-PRIMARY KEY(POP,ACCESSNODE,PORT,ACCESSTYPE)
-) engine=ndbcluster;
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop98', 1, 'kllopmn', 'pr_43', 121212, 1, 2, 3, 8, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop99', 2, 'klkighh', 'pr_44', 121213, 3, 3, 6, 7, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port79', 'node79', 'pop79', 2, 'kpongfaa', 'pr_44', 981213, 2, 4, 10, 11, 2, 99, 1278);
-select port, accessnode, pop, accesstype from t1 where port='port67' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-port67 node78 pop99 2
-select port, accessnode, pop, accesstype from t1 where port='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accessnode='node78' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-port67 node78 pop99 2
-select port, accessnode, pop, accesstype from t1 where accessnode='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where accesstype=2 order by port;
-port accessnode pop accesstype
-port67 node78 pop99 2
-port79 node79 pop79 2
-select port, accessnode, pop, accesstype from t1 where accesstype=98 order by port;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='KLLOPMN';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='kLLoPMn';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where provider='pr_43';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where provider='foo';
-port accessnode pop accesstype
-select port, accessnode from t1 where texpire=121212;
-port accessnode
-port67 node78
-select port, accessnode from t1 where texpire=2323;
-port accessnode
-select port, accessnode, pop, accesstype from t1 where num_ip=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where num_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=2;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where locked_ip=3;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where locked_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where static_dns=8;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where static_dns=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_service=8;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_service=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=NULL;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=0;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=NULL;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=0;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where port='port67' and accessnode='node78' and pop='pop98' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78' and pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and port='port67' and accesstype=1 and accessnode='node78';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo' and accesstype=99;
-port accessnode
-select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where accesstype=1 and accessnode='node78' and pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo';
-port accessnode
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=2;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accesstype=2 and customer_id='kllopmn';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='foo';
-port accessnode pop accesstype
-drop table t1;
diff --git a/mysql-test/r/ndb_index_ordered.result b/mysql-test/r/ndb_index_ordered.result
deleted file mode 100644
index b3e55a23073..00000000000
--- a/mysql-test/r/ndb_index_ordered.result
+++ /dev/null
@@ -1,668 +0,0 @@
-drop table if exists t1, test1, test2;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-KEY(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b >= 4 order by b;
-a b c
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b = 4 order by b;
-a b c
-3 4 6
-select * from t1 where b > 4 order by b;
-a b c
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b < 4 order by b;
-a b c
-1 2 3
-2 3 5
-select * from t1 where b <= 4 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select a, b, c from t1 where a!=2 and c=6;
-a b c
-3 4 6
-select a, b, c from t1 where a!=2 order by a;
-a b c
-1 2 3
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-update t1 set c = 3 where b = 3;
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 3
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-update t1 set c = 10 where b >= 6;
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 3
-3 4 6
-4 5 8
-5 6 10
-6 7 10
-update t1 set c = 11 where b < 5;
-select * from t1 order by a;
-a b c
-1 2 11
-2 3 11
-3 4 11
-4 5 8
-5 6 10
-6 7 10
-update t1 set c = 12 where b > 0;
-select * from t1 order by a;
-a b c
-1 2 12
-2 3 12
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-update t1 set c = 13 where b <= 3;
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-update t1 set b = b + 1 where b > 4 and b < 7;
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 6 12
-5 7 12
-6 7 12
-update t1 set a = a + 10 where b > 1 and b < 7;
-select * from t1 order by a;
-a b c
-5 7 12
-6 7 12
-11 2 13
-12 3 13
-13 4 12
-14 6 12
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-KEY(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
-delete from t1 where b = 3;
-select * from t1 order by a;
-a b c
-1 2 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-delete from t1 where b >= 6;
-select * from t1 order by a;
-a b c
-1 2 13
-3 4 12
-4 5 12
-delete from t1 where b < 4;
-select * from t1 order by a;
-a b c
-3 4 12
-4 5 12
-delete from t1 where b > 5;
-select * from t1 order by a;
-a b c
-3 4 12
-4 5 12
-delete from t1 where b <= 4;
-select * from t1 order by a;
-a b c
-4 5 12
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned not null
-) engine = ndb;
-create index a1 on t1 (b, c);
-insert into t1 values (1, 2, 13);
-insert into t1 values (2,3, 13);
-insert into t1 values (3, 4, 12);
-insert into t1 values (4, 5, 12);
-insert into t1 values (5,6, 12);
-insert into t1 values (6,7, 12);
-insert into t1 values (7, 2, 1);
-insert into t1 values (8,3, 6);
-insert into t1 values (9, 4, 12);
-insert into t1 values (14, 5, 4);
-insert into t1 values (15,5,5);
-insert into t1 values (16,5, 6);
-insert into t1 values (17,4,4);
-insert into t1 values (18,1, 7);
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-7 2 1
-8 3 6
-9 4 12
-14 5 4
-15 5 5
-16 5 6
-17 4 4
-18 1 7
-select * from t1 where b<=5 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-7 2 1
-8 3 6
-9 4 12
-14 5 4
-15 5 5
-16 5 6
-17 4 4
-18 1 7
-select * from t1 where b<=5 and c=0;
-a b c
-insert into t1 values (19,4, 0);
-select * from t1 where b<=5 and c=0;
-a b c
-19 4 0
-select * from t1 where b=4 and c<=5 order by a;
-a b c
-17 4 4
-19 4 0
-select * from t1 where b<=4 and c<=5 order by a;
-a b c
-7 2 1
-17 4 4
-19 4 0
-select * from t1 where b<=5 and c=0 or b<=5 and c=2;
-a b c
-19 4 0
-select count(*) from t1 where b = 0;
-count(*)
-0
-select count(*) from t1 where b = 1;
-count(*)
-1
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-KEY bc(b,c)
-) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc)order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (bc) order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-a b c
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-a b c
-2 NULL 2
-select * from t1 use index (bc) where b < 4 order by a;
-a b c
-1 1 1
-select * from t1 use index (bc) where b IS NOT NULL order by a;
-a b c
-1 1 1
-4 4 NULL
-drop table t1;
-create table t1 (
-a int unsigned primary key,
-b int unsigned,
-c char(10),
-key bc (b, c)
-) engine=ndb;
-insert into t1 values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d'),(5,5,'e');
-insert into t1 select a*7,10*b,'f' from t1;
-insert into t1 select a*13,10*b,'g' from t1;
-insert into t1 select a*17,10*b,'h' from t1;
-insert into t1 select a*19,10*b,'i' from t1;
-insert into t1 select a*23,10*b,'j' from t1;
-insert into t1 select a*29,10*b,'k' from t1;
-select b, c from t1 where b <= 10 and c <'f' order by b, c;
-b c
-1 a
-2 b
-3 c
-4 d
-5 e
-select b, c from t1 where b <= 10 and c <'f' order by b desc, c desc;
-b c
-5 e
-4 d
-3 c
-2 b
-1 a
-select b, c from t1 where b=4000 and c<'k' order by b, c;
-b c
-4000 h
-4000 i
-4000 i
-4000 i
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-select b, c from t1 where b=4000 and c<'k' order by b desc, c desc;
-b c
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 i
-4000 i
-4000 i
-4000 h
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b, c;
-b c
-1000 h
-1000 i
-1000 i
-1000 i
-2000 h
-2000 i
-2000 i
-2000 i
-3000 h
-3000 i
-3000 i
-3000 i
-4000 h
-4000 i
-4000 i
-4000 i
-5000 h
-5000 i
-5000 i
-5000 i
-10000 i
-20000 i
-30000 i
-40000 i
-50000 i
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b desc, c desc;
-b c
-50000 i
-40000 i
-30000 i
-20000 i
-10000 i
-5000 i
-5000 i
-5000 i
-5000 h
-4000 i
-4000 i
-4000 i
-4000 h
-3000 i
-3000 i
-3000 i
-3000 h
-2000 i
-2000 i
-2000 i
-2000 h
-1000 i
-1000 i
-1000 i
-1000 h
-select min(b), max(b) from t1;
-min(b) max(b)
-1 5000000
-drop table t1;
-CREATE TABLE test1 (
-SubscrID int(11) NOT NULL auto_increment,
-UsrID int(11) NOT NULL default '0',
-PRIMARY KEY (SubscrID),
-KEY idx_usrid (UsrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
-CREATE TABLE test2 (
-SbclID int(11) NOT NULL auto_increment,
-SbcrID int(11) NOT NULL default '0',
-PRIMARY KEY (SbclID),
-KEY idx_sbcrid (SbcrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
-select * from test1 order by 1;
-SubscrID UsrID
-1 224
-2 224
-3 224
-select * from test2 order by 1;
-SbclID SbcrID
-1 1
-2 1
-3 2
-4 2
-SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
-l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
-SubscrID SbclID
-1 1
-1 2
-2 3
-2 4
-3 NULL
-drop table test1;
-drop table test2;
-create table t1 (
-pk int primary key,
-dt datetime not null,
-da date not null,
-ye year not null,
-ti time not null,
-ts timestamp not null,
-index(dt),
-index(da),
-index(ye),
-index(ti),
-index(ts)
-) engine=ndb;
-insert into t1 (pk,dt,da,ye,ti,ts) values
-(1, '1901-05-05 23:00:59', '1901-05-05', '1901', '23:00:59', '2001-01-01 23:00:59'),
-(2, '1912-09-05 13:00:59', '1912-09-05', '1912', '13:00:59', '2001-01-01 13:00:59'),
-(3, '1945-12-31 00:00:00', '1945-12-31', '1945', '00:00:00', '2001-01-01 00:00:00'),
-(4, '1955-12-31 00:00:00', '1955-12-31', '1955', '00:00:00', '2001-01-01 00:00:00'),
-(5, '1963-06-06 06:06:06', '1963-06-06', '1963', '06:06:06', '2001-01-01 06:06:06'),
-(6, '1993-06-06 06:06:06', '1993-06-06', '1993', '06:06:06', '2001-01-01 06:06:06'),
-(7, '2001-01-01 10:11:10', '2001-01-01', '2001', '10:11:10', '2001-01-01 10:11:10'),
-(8, '2001-01-01 10:11:11', '2001-01-01', '2001', '10:11:11', '2001-01-01 10:11:11'),
-(9, '2005-01-31 23:59:59', '2005-01-31', '2005', '23:59:59', '2001-01-01 23:59:59');
-select count(*)-9 from t1 use index (dt) where dt > '1900-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-6 from t1 use index (dt) where dt >= '1955-12-31 00:00:00';
-count(*)-6
-0
-select count(*)-5 from t1 use index (dt) where dt > '1955-12-31 00:00:00';
-count(*)-5
-0
-select count(*)-5 from t1 use index (dt) where dt < '1970-03-03 22:22:22';
-count(*)-5
-0
-select count(*)-7 from t1 use index (dt) where dt < '2001-01-01 10:11:11';
-count(*)-7
-0
-select count(*)-8 from t1 use index (dt) where dt <= '2001-01-01 10:11:11';
-count(*)-8
-0
-select count(*)-9 from t1 use index (dt) where dt <= '2055-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-9 from t1 use index (da) where da > '1900-01-01';
-count(*)-9
-0
-select count(*)-6 from t1 use index (da) where da >= '1955-12-31';
-count(*)-6
-0
-select count(*)-5 from t1 use index (da) where da > '1955-12-31';
-count(*)-5
-0
-select count(*)-5 from t1 use index (da) where da < '1970-03-03';
-count(*)-5
-0
-select count(*)-6 from t1 use index (da) where da < '2001-01-01';
-count(*)-6
-0
-select count(*)-8 from t1 use index (da) where da <= '2001-01-02';
-count(*)-8
-0
-select count(*)-9 from t1 use index (da) where da <= '2055-01-01';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ye) where ye > '1900';
-count(*)-9
-0
-select count(*)-6 from t1 use index (ye) where ye >= '1955';
-count(*)-6
-0
-select count(*)-5 from t1 use index (ye) where ye > '1955';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ye) where ye < '1970';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ye) where ye < '2001';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ye) where ye <= '2001';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ye) where ye <= '2055';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ti) where ti >= '00:00:00';
-count(*)-9
-0
-select count(*)-7 from t1 use index (ti) where ti > '00:00:00';
-count(*)-7
-0
-select count(*)-7 from t1 use index (ti) where ti > '05:05:05';
-count(*)-7
-0
-select count(*)-5 from t1 use index (ti) where ti > '06:06:06';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ti) where ti < '10:11:11';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ti) where ti < '23:59:59';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ts) where ts >= '2001-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 00:00:00';
-count(*)-7
-0
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 05:05:05';
-count(*)-7
-0
-select count(*)-5 from t1 use index (ts) where ts > '2001-01-01 06:06:06';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ts) where ts < '2001-01-01 10:11:11';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ts) where ts <= '2001-01-01 10:11:11';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ts) where ts < '2001-01-01 23:59:59';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
-count(*)-9
-0
-drop table t1;
-create table t1 (
-a int primary key,
-s decimal(12),
-t decimal(12, 5),
-u decimal(12) unsigned,
-v decimal(12, 5) unsigned,
-key (s),
-key (t),
-key (u),
-key (v)
-) engine=ndb;
-insert into t1 values
-( 0, -000000000007, -0000061.00003, 000000000061, 0000965.00042),
-( 1, -000000000007, -0000061.00042, 000000000061, 0000965.00003),
-( 2, -071006035767, 4210253.00024, 000000000001, 0000001.84488),
-( 3, 000000007115, 0000000.77607, 000077350625, 0000018.00013),
-( 4, -000000068391, -0346486.00000, 000000005071, 0005334.00002),
-( 5, -521579890459, -1936874.00001, 000000000154, 0000003.00018),
-( 6, -521579890459, -1936874.00018, 000000000154, 0000003.00001),
-( 7, 000000000333, 0000051.39140, 000000907958, 0788643.08374),
-( 8, 000042731229, 0000009.00000, 000000000009, 6428667.00000),
-( 9, -000008159769, 0000918.00004, 000096951421, 7607730.00008);
-select count(*)- 5 from t1 use index (s) where s < -000000000007;
-count(*)- 5
-0
-select count(*)- 7 from t1 use index (s) where s <= -000000000007;
-count(*)- 7
-0
-select count(*)- 2 from t1 use index (s) where s = -000000000007;
-count(*)- 2
-0
-select count(*)- 5 from t1 use index (s) where s >= -000000000007;
-count(*)- 5
-0
-select count(*)- 3 from t1 use index (s) where s > -000000000007;
-count(*)- 3
-0
-select count(*)- 4 from t1 use index (t) where t < -0000061.00003;
-count(*)- 4
-0
-select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
-count(*)- 5
-0
-select count(*)- 1 from t1 use index (t) where t = -0000061.00003;
-count(*)- 1
-0
-select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
-count(*)- 6
-0
-select count(*)- 5 from t1 use index (t) where t > -0000061.00003;
-count(*)- 5
-0
-select count(*)- 2 from t1 use index (u) where u < 000000000061;
-count(*)- 2
-0
-select count(*)- 4 from t1 use index (u) where u <= 000000000061;
-count(*)- 4
-0
-select count(*)- 2 from t1 use index (u) where u = 000000000061;
-count(*)- 2
-0
-select count(*)- 8 from t1 use index (u) where u >= 000000000061;
-count(*)- 8
-0
-select count(*)- 6 from t1 use index (u) where u > 000000000061;
-count(*)- 6
-0
-select count(*)- 5 from t1 use index (v) where v < 0000965.00042;
-count(*)- 5
-0
-select count(*)- 6 from t1 use index (v) where v <= 0000965.00042;
-count(*)- 6
-0
-select count(*)- 1 from t1 use index (v) where v = 0000965.00042;
-count(*)- 1
-0
-select count(*)- 5 from t1 use index (v) where v >= 0000965.00042;
-count(*)- 5
-0
-select count(*)- 4 from t1 use index (v) where v > 0000965.00042;
-count(*)- 4
-0
-drop table t1;
-create table t1(a int primary key, b int not null, index(b));
-insert into t1 values (1,1), (2,2);
-set autocommit=0;
-begin;
-select count(*) from t1;
-count(*)
-2
-ALTER TABLE t1 ADD COLUMN c int;
-select a from t1 where b = 2;
-a
-2
-show tables;
-Tables_in_test
-t1
-drop table t1;
-create table t1 (a int, c varchar(10),
-primary key using hash (a), index(c)) engine=ndb;
-insert into t1 (a, c) values (1,'aaa'),(3,'bbb');
-select count(*) from t1 where c<'bbb';
-count(*)
-1
-create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT,
-CountryCode char(3) NOT NULL,
-DishTitle varchar(64) NOT NULL,
-calories smallint(5) unsigned DEFAULT NULL,
-PRIMARY KEY (DishID),
-INDEX i USING HASH (countrycode,calories)
-) ENGINE=ndbcluster;
-ERROR HY000: Can't create table './test/nationaldish.frm' (errno: 138)
diff --git a/mysql-test/r/ndb_index_unique.result b/mysql-test/r/ndb_index_unique.result
deleted file mode 100644
index 670fbe5b4e0..00000000000
--- a/mysql-test/r/ndb_index_unique.result
+++ /dev/null
@@ -1,685 +0,0 @@
-drop table if exists t1, t2, t3, t4, t5, t6, t7, t8;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-UNIQUE(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b = 4 order by b;
-a b c
-3 4 6
-insert into t1 values(7,8,3);
-select * from t1 where b = 4 order by a;
-a b c
-3 4 6
-insert into t1 values(8, 2, 3);
-ERROR 23000: Duplicate entry '' for key 0
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-delete from t1 where a = 1;
-insert into t1 values(8, 2, 3);
-select * from t1 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-UNIQUE bc(b,c)
-) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc)order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (bc) order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-a b c
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-a b c
-2 NULL 2
-select * from t1 use index (bc) where b < 4 order by a;
-a b c
-1 1 1
-select * from t1 use index (bc) where b IS NOT NULL order by a;
-a b c
-1 1 1
-4 4 NULL
-insert into t1 values(5,1,1);
-ERROR 23000: Duplicate entry '' for key 0
-drop table t1;
-CREATE TABLE t2 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned not null,
-UNIQUE USING HASH (b, c)
-) engine=ndbcluster;
-insert t2 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t2 where a = 3;
-a b c
-3 4 6
-select * from t2 where b = 4;
-a b c
-3 4 6
-select * from t2 where c = 6;
-a b c
-3 4 6
-insert into t2 values(7,8,3);
-select * from t2 where b = 4 order by a;
-a b c
-3 4 6
-insert into t2 values(8, 2, 3);
-ERROR 23000: Duplicate entry '' for key 0
-select * from t2 order by a;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-delete from t2 where a = 1;
-insert into t2 values(8, 2, 3);
-select * from t2 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-create unique index bi using hash on t2(b);
-insert into t2 values(9, 3, 1);
-ERROR 23000: Duplicate entry '' for key 0
-alter table t2 drop index bi;
-insert into t2 values(9, 3, 1);
-select * from t2 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-9 3 1
-drop table t2;
-CREATE TABLE t2 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-UNIQUE USING HASH (b, c)
-) engine=ndbcluster;
-Warnings:
-Warning 1121 Ndb does not support unique index on NULL valued attributes, index access with NULL value will become full table scan
-insert t2 values(1,1,NULL),(2,2,2),(3,3,NULL),(4,4,4),(5,5,NULL),(6,6,6),(7,7,NULL),(8,3,NULL),(9,3,NULL);
-select * from t2 where c IS NULL order by a;
-a b c
-1 1 NULL
-3 3 NULL
-5 5 NULL
-7 7 NULL
-8 3 NULL
-9 3 NULL
-select * from t2 where b = 3 AND c IS NULL order by a;
-a b c
-3 3 NULL
-8 3 NULL
-9 3 NULL
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL order by a;
-a b c
-3 3 NULL
-5 5 NULL
-8 3 NULL
-9 3 NULL
-set @old_ecpd = @@session.engine_condition_pushdown;
-set engine_condition_pushdown = true;
-explain select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 range PRIMARY,b PRIMARY 4 NULL 1 Using where with pushed condition
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-a b c
-3 3 NULL
-5 5 NULL
-8 3 NULL
-set engine_condition_pushdown = @old_ecpd;
-drop table t2;
-CREATE TABLE t3 (
-a int unsigned NOT NULL,
-b int unsigned not null,
-c int unsigned,
-PRIMARY KEY USING HASH (a, b)
-) engine=ndbcluster;
-insert t3 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t3 where a = 3;
-a b c
-3 4 6
-select * from t3 where b = 4;
-a b c
-3 4 6
-select * from t3 where c = 6;
-a b c
-3 4 6
-insert into t3 values(7,8,3);
-select * from t3 where b = 4 order by a;
-a b c
-3 4 6
-drop table t3;
-CREATE TABLE t1 (
-pk int NOT NULL PRIMARY KEY,
-a int unsigned,
-UNIQUE KEY (a)
-) engine=ndbcluster;
-insert into t1 values (-1,NULL), (0,0), (1,NULL),(2,2),(3,NULL),(4,4);
-select * from t1 order by pk;
-pk a
--1 NULL
-0 0
-1 NULL
-2 2
-3 NULL
-4 4
-insert into t1 values (5,0);
-ERROR 23000: Duplicate entry '' for key 0
-select * from t1 order by pk;
-pk a
--1 NULL
-0 0
-1 NULL
-2 2
-3 NULL
-4 4
-delete from t1 where a = 0;
-insert into t1 values (5,0);
-select * from t1 order by pk;
-pk a
--1 NULL
-1 NULL
-2 2
-3 NULL
-4 4
-5 0
-CREATE TABLE t2 (
-pk int NOT NULL PRIMARY KEY,
-a int unsigned,
-b tinyint NOT NULL,
-c VARCHAR(10),
-UNIQUE KEY si(a, c)
-) engine=ndbcluster;
-insert into t2 values (-1,1,17,NULL),(0,NULL,18,NULL),(1,3,19,'abc');
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-1 3 19 abc
-insert into t2 values(2,3,19,'abc');
-ERROR 23000: Duplicate entry '' for key 0
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-1 3 19 abc
-delete from t2 where c IS NOT NULL;
-insert into t2 values(2,3,19,'abc');
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-2 3 19 abc
-drop table t1, t2;
-CREATE TABLE t1 (
-cid smallint(5) unsigned NOT NULL default '0',
-cv varchar(250) NOT NULL default '',
-PRIMARY KEY (cid),
-UNIQUE KEY cv (cv)
-) engine=ndbcluster;
-INSERT INTO t1 VALUES (8,'dummy');
-CREATE TABLE t2 (
-cid bigint(20) unsigned NOT NULL auto_increment,
-cap varchar(255) NOT NULL default '',
-PRIMARY KEY (cid),
-UNIQUE KEY (cid, cap)
-) engine=ndbcluster;
-INSERT INTO t2 VALUES (NULL,'another dummy');
-CREATE TABLE t3 (
-gid bigint(20) unsigned NOT NULL auto_increment,
-gn varchar(255) NOT NULL default '',
-must tinyint(4) default NULL,
-PRIMARY KEY (gid)
-) engine=ndbcluster;
-INSERT INTO t3 VALUES (1,'V1',NULL);
-CREATE TABLE t4 (
-uid bigint(20) unsigned NOT NULL default '0',
-gid bigint(20) unsigned NOT NULL,
-rid bigint(20) unsigned NOT NULL,
-cid bigint(20) unsigned NOT NULL,
-UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t4 VALUES (1,1,2,4);
-INSERT INTO t4 VALUES (1,1,2,3);
-INSERT INTO t4 VALUES (1,1,5,7);
-INSERT INTO t4 VALUES (1,1,10,8);
-CREATE TABLE t5 (
-rid bigint(20) unsigned NOT NULL auto_increment,
-rl varchar(255) NOT NULL default '',
-PRIMARY KEY (rid)
-) engine=ndbcluster;
-CREATE TABLE t6 (
-uid bigint(20) unsigned NOT NULL auto_increment,
-un varchar(250) NOT NULL default '',
-uc smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (uid),
-UNIQUE KEY nc (un,uc)
-) engine=ndbcluster;
-INSERT INTO t6 VALUES (1,'test',8);
-INSERT INTO t6 VALUES (2,'test2',9);
-INSERT INTO t6 VALUES (3,'tre',3);
-CREATE TABLE t7 (
-mid bigint(20) unsigned NOT NULL PRIMARY KEY,
-uid bigint(20) unsigned NOT NULL default '0',
-gid bigint(20) unsigned NOT NULL,
-rid bigint(20) unsigned NOT NULL,
-cid bigint(20) unsigned NOT NULL,
-UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t7 VALUES(1, 1, 1, 1, 1);
-INSERT INTO t7 VALUES(2, 2, 1, 1, 1);
-INSERT INTO t7 VALUES(3, 3, 1, 1, 1);
-INSERT INTO t7 VALUES(4, 4, 1, 1, 1);
-INSERT INTO t7 VALUES(5, 5, 1, 1, 1);
-INSERT INTO t7 VALUES(6, 1, 1, 1, 6);
-INSERT INTO t7 VALUES(7, 2, 1, 1, 7);
-INSERT INTO t7 VALUES(8, 3, 1, 1, 8);
-INSERT INTO t7 VALUES(9, 4, 1, 1, 9);
-INSERT INTO t7 VALUES(10, 5, 1, 1, 10);
-select * from t1 where cv = 'dummy';
-cid cv
-8 dummy
-select * from t1 where cv = 'test';
-cid cv
-select * from t2 where cap = 'another dummy';
-cid cap
-1 another dummy
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-uid gid rid cid
-1 1 2 4
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-uid gid rid cid
-select * from t4 where uid = 1 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-select * from t4 where rid = 2 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-select * from t6 where un='test' and uc=8;
-uid un uc
-1 test 8
-select * from t6 where un='test' and uc=7;
-uid un uc
-select * from t6 where un='test';
-uid un uc
-1 test 8
-select * from t7 where mid = 8;
-mid uid gid rid cid
-8 3 1 1 8
-select * from t7 where uid = 8;
-mid uid gid rid cid
-select * from t7 where uid = 1 order by mid;
-mid uid gid rid cid
-1 1 1 1 1
-6 1 1 1 6
-select * from t7 where uid = 4 order by mid;
-mid uid gid rid cid
-4 4 1 1 1
-9 4 1 1 9
-select * from t7 where gid = 4;
-mid uid gid rid cid
-select * from t7 where gid = 1 order by mid;
-mid uid gid rid cid
-1 1 1 1 1
-2 2 1 1 1
-3 3 1 1 1
-4 4 1 1 1
-5 5 1 1 1
-6 1 1 1 6
-7 2 1 1 7
-8 3 1 1 8
-9 4 1 1 9
-10 5 1 1 10
-select * from t7 where cid = 4;
-mid uid gid rid cid
-select * from t7 where cid = 8;
-mid uid gid rid cid
-8 3 1 1 8
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-uid gid rid cid
-1 1 2 4
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-uid gid rid cid
-select * from t4 where uid = 1 order by gid,cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-1 1 5 12
-1 2 5 12
-1 3 9 11
-1 3 5 12
-1 4 5 12
-1 5 5 12
-1 6 5 12
-1 7 5 12
-1 8 5 12
-1 9 5 12
-1 10 5 12
-1 11 5 12
-1 12 5 12
-1 13 5 12
-1 14 5 12
-1 15 5 12
-1 16 5 12
-1 17 5 12
-1 18 5 12
-1 19 5 12
-1 20 5 12
-1 21 5 12
-1 22 5 12
-1 23 5 12
-1 24 5 12
-1 25 5 12
-1 26 5 12
-1 27 5 12
-1 28 5 12
-1 29 5 12
-1 30 5 12
-1 31 5 12
-1 32 5 12
-1 33 5 12
-1 34 5 12
-1 35 5 12
-1 36 5 12
-1 37 5 12
-1 38 5 12
-1 39 5 12
-1 40 5 12
-1 41 5 12
-1 42 5 12
-1 43 5 12
-1 44 5 12
-1 45 5 12
-1 46 5 12
-1 47 5 12
-1 48 5 12
-1 49 5 12
-1 50 5 12
-1 51 5 12
-1 52 5 12
-1 53 5 12
-1 54 5 12
-1 55 5 12
-1 56 5 12
-1 57 5 12
-1 58 5 12
-1 59 5 12
-1 60 5 12
-1 61 5 12
-1 62 5 12
-1 63 5 12
-1 64 5 12
-1 65 5 12
-1 66 5 12
-1 67 5 12
-1 68 5 12
-1 69 5 12
-1 70 5 12
-1 71 5 12
-1 72 5 12
-1 73 5 12
-1 74 5 12
-1 75 5 12
-1 76 5 12
-1 77 5 12
-1 78 5 12
-1 79 5 12
-1 80 5 12
-1 81 5 12
-1 82 5 12
-1 83 5 12
-1 84 5 12
-1 85 5 12
-1 86 5 12
-1 87 5 12
-1 88 5 12
-1 89 5 12
-1 90 5 12
-1 91 5 12
-1 92 5 12
-1 93 5 12
-1 94 5 12
-1 95 5 12
-1 96 5 12
-1 97 5 12
-1 98 5 12
-1 99 5 12
-1 100 5 12
-select * from t4 where uid = 1 order by gid,cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-1 1 5 12
-1 2 5 12
-1 3 9 11
-1 3 5 12
-1 4 5 12
-1 5 5 12
-1 6 5 12
-1 7 5 12
-1 8 5 12
-1 9 5 12
-1 10 5 12
-1 11 5 12
-1 12 5 12
-1 13 5 12
-1 14 5 12
-1 15 5 12
-1 16 5 12
-1 17 5 12
-1 18 5 12
-1 19 5 12
-1 20 5 12
-1 21 5 12
-1 22 5 12
-1 23 5 12
-1 24 5 12
-1 25 5 12
-1 26 5 12
-1 27 5 12
-1 28 5 12
-1 29 5 12
-1 30 5 12
-1 31 5 12
-1 32 5 12
-1 33 5 12
-1 34 5 12
-1 35 5 12
-1 36 5 12
-1 37 5 12
-1 38 5 12
-1 39 5 12
-1 40 5 12
-1 41 5 12
-1 42 5 12
-1 43 5 12
-1 44 5 12
-1 45 5 12
-1 46 5 12
-1 47 5 12
-1 48 5 12
-1 49 5 12
-1 50 5 12
-1 51 5 12
-1 52 5 12
-1 53 5 12
-1 54 5 12
-1 55 5 12
-1 56 5 12
-1 57 5 12
-1 58 5 12
-1 59 5 12
-1 60 5 12
-1 61 5 12
-1 62 5 12
-1 63 5 12
-1 64 5 12
-1 65 5 12
-1 66 5 12
-1 67 5 12
-1 68 5 12
-1 69 5 12
-1 70 5 12
-1 71 5 12
-1 72 5 12
-1 73 5 12
-1 74 5 12
-1 75 5 12
-1 76 5 12
-1 77 5 12
-1 78 5 12
-1 79 5 12
-1 80 5 12
-1 81 5 12
-1 82 5 12
-1 83 5 12
-1 84 5 12
-1 85 5 12
-1 86 5 12
-1 87 5 12
-1 88 5 12
-1 89 5 12
-1 90 5 12
-1 91 5 12
-1 92 5 12
-1 93 5 12
-1 94 5 12
-1 95 5 12
-1 96 5 12
-1 97 5 12
-1 98 5 12
-1 99 5 12
-1 100 5 12
-select * from t4 where rid = 2 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-drop table t1,t2,t3,t4,t5,t6,t7;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-UNIQUE bc(b,c) ) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 where b=1 and c=1;
-a b c
-1 1 1
-select * from t1 where b is null and c is null;
-a b c
-3 NULL NULL
-select * from t1 where b is null and c = 2;
-a b c
-2 NULL 2
-select * from t1 where b = 4 and c is null;
-a b c
-4 4 NULL
-create table t8 as
-select * from t1 where (b = 1 and c = 1)
-or (b is null and c is null)
-or (b is null and c = 2)
-or (b = 4 and c is null);
-select * from t8 order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-drop table t1, t8;
-create table t1(
-id integer not null auto_increment,
-month integer not null,
-year integer not null,
-code varchar( 2) not null,
-primary key ( id),
-unique idx_t1( month, code, year)
-) engine=ndb;
-INSERT INTO t1 (month, year, code) VALUES (4,2004,'12');
-INSERT INTO t1 (month, year, code) VALUES (5,2004,'12');
-select * from t1 where code = '12' and month = 4 and year = 2004 ;
-id month year code
-1 4 2004 12
-drop table t1;
-create table t1 (a int primary key, b varchar(1000) not null, unique key (b))
-engine=ndb charset=utf8;
-insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200));
-insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200));
-ERROR 23000: Duplicate entry '' for key 0
-select a, sha1(b) from t1;
-a sha1(b)
-1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d
-drop table t1;
diff --git a/mysql-test/r/ndb_insert.result b/mysql-test/r/ndb_insert.result
deleted file mode 100644
index b5349ecb59c..00000000000
--- a/mysql-test/r/ndb_insert.result
+++ /dev/null
@@ -1,828 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0, 0, 0);
-SELECT * FROM t1;
-pk1 b c
-0 0 0
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-501
-INSERT INTO t1 VALUES
-(501,501,501),(502,502,502),(503,503,503),(504,504,504),(505,505,505),
-(506,506,506),(507,507,507),(508,508,508),(509,509,509),(510,510,510),
-(511,511,511),(512,512,512),(513,513,513),(514,514,514),(515,515,515),
-(516,516,516),(517,517,517),(518,518,518),(519,519,519),(520,520,520),
-(521,521,521),(522,522,522),(523,523,523),(524,524,524),(525,525,525),
-(526,526,526),(527,527,527),(528,528,528),(529,529,529),(530,530,530),
-(531,531,531),(532,532,532),(533,533,533),(534,534,534),(535,535,535),
-(536,536,536),(537,537,537),(538,538,538),(539,539,539),(540,540,540),
-(541,541,541),(542,542,542),(543,543,543),(544,544,544),(545,545,545),
-(546,546,546),(547,547,547),(548,548,548),(549,549,549),(550,550,550),
-(551,551,551),(552,552,552),(553,553,553),(554,554,554),(555,555,555),
-(556,556,556),(557,557,557),(558,558,558),(559,559,559),(560,560,560),
-(561,561,561),(562,562,562),(563,563,563),(564,564,564),(565,565,565),
-(566,566,566),(567,567,567),(568,568,568),(569,569,569),(570,570,570),
-(571,571,571),(572,572,572),(573,573,573),(574,574,574),(575,575,575),
-(576,576,576),(577,577,577),(578,578,578),(579,579,579),(580,580,580),
-(581,581,581),(582,582,582),(583,583,583),(584,584,584),(585,585,585),
-(586,586,586),(587,587,587),(588,588,588),(589,589,589),(590,590,590),
-(591,591,591),(592,592,592),(593,593,593),(594,594,594),(595,595,595),
-(596,596,596),(597,597,597),(598,598,598),(599,599,599),(600,600,600),
-(601,601,601),(602,602,602),(603,603,603),(604,604,604),(605,605,605),
-(606,606,606),(607,607,607),(608,608,608),(609,609,609),(610,610,610),
-(611,611,611),(612,612,612),(613,613,613),(614,614,614),(615,615,615),
-(616,616,616),(617,617,617),(618,618,618),(619,619,619),(620,620,620),
-(621,621,621),(622,622,622),(623,623,623),(624,624,624),(625,625,625),
-(626,626,626),(627,627,627),(628,628,628),(629,629,629),(630,630,630),
-(631,631,631),(632,632,632),(633,633,633),(634,634,634),(635,635,635),
-(636,636,636),(637,637,637),(638,638,638),(639,639,639),(640,640,640),
-(641,641,641),(642,642,642),(643,643,643),(644,644,644),(645,645,645),
-(646,646,646),(647,647,647),(648,648,648),(649,649,649),(650,650,650),
-(651,651,651),(652,652,652),(653,653,653),(654,654,654),(655,655,655),
-(656,656,656),(657,657,657),(658,658,658),(659,659,659),(660,660,660),
-(661,661,661),(662,662,662),(663,663,663),(664,664,664),(665,665,665),
-(666,666,666),(667,667,667),(668,668,668),(669,669,669),(670,670,670),
-(671,671,671),(672,672,672),(673,673,673),(674,674,674),(675,675,675),
-(676,676,676),(677,677,677),(678,678,678),(679,679,679),(680,680,680),
-(681,681,681),(682,682,682),(683,683,683),(684,684,684),(685,685,685),
-(686,686,686),(687,687,687),(688,688,688),(689,689,689),(690,690,690),
-(691,691,691),(692,692,692),(693,693,693),(694,694,694),(695,695,695),
-(696,696,696),(697,697,697),(698,698,698),(699,699,699),(700,700,700),
-(701,701,701),(702,702,702),(703,703,703),(704,704,704),(705,705,705),
-(706,706,706),(707,707,707),(708,708,708),(709,709,709),(710,710,710),
-(711,711,711),(712,712,712),(713,713,713),(714,714,714),(715,715,715),
-(716,716,716),(717,717,717),(718,718,718),(719,719,719),(720,720,720),
-(721,721,721),(722,722,722),(723,723,723),(724,724,724),(725,725,725),
-(726,726,726),(727,727,727),(728,728,728),(729,729,729),(730,730,730),
-(731,731,731),(732,732,732),(733,733,733),(734,734,734),(735,735,735),
-(736,736,736),(737,737,737),(738,738,738),(739,739,739),(740,740,740),
-(741,741,741),(742,742,742),(743,743,743),(744,744,744),(745,745,745),
-(746,746,746),(747,747,747),(748,748,748),(749,749,749),(750,750,750),
-(751,751,751),(752,752,752),(753,753,753),(754,754,754),(755,755,755),
-(756,756,756),(757,757,757),(758,758,758),(759,759,759),(760,760,760),
-(761,761,761),(762,762,762),(763,763,763),(764,764,764),(765,765,765),
-(766,766,766),(767,767,767),(768,768,768),(769,769,769),(770,770,770),
-(771,771,771),(772,772,772),(773,773,773),(774,774,774),(775,775,775),
-(776,776,776),(777,777,777),(778,778,778),(779,779,779),(780,780,780),
-(781,781,781),(782,782,782),(783,783,783),(784,784,784),(785,785,785),
-(786,786,786),(787,787,787),(788,788,788),(789,789,789),(790,790,790),
-(791,791,791),(792,792,792),(793,793,793),(794,794,794),(795,795,795),
-(796,796,796),(797,797,797),(798,798,798),(799,799,799),(800,800,800),
-(801,801,801),(802,802,802),(803,803,803),(804,804,804),(805,805,805),
-(806,806,806),(807,807,807),(808,808,808),(809,809,809),(810,810,810),
-(811,811,811),(812,812,812),(813,813,813),(814,814,814),(815,815,815),
-(816,816,816),(817,817,817),(818,818,818),(819,819,819),(820,820,820),
-(821,821,821),(822,822,822),(823,823,823),(824,824,824),(825,825,825),
-(826,826,826),(827,827,827),(828,828,828),(829,829,829),(830,830,830),
-(831,831,831),(832,832,832),(833,833,833),(834,834,834),(835,835,835),
-(836,836,836),(837,837,837),(838,838,838),(839,839,839),(840,840,840),
-(841,841,841),(842,842,842),(843,843,843),(844,844,844),(845,845,845),
-(846,846,846),(847,847,847),(848,848,848),(849,849,849),(850,850,850),
-(851,851,851),(852,852,852),(853,853,853),(854,854,854),(855,855,855),
-(856,856,856),(857,857,857),(858,858,858),(859,859,859),(860,860,860),
-(861,861,861),(862,862,862),(863,863,863),(864,864,864),(865,865,865),
-(866,866,866),(867,867,867),(868,868,868),(869,869,869),(870,870,870),
-(871,871,871),(872,872,872),(873,873,873),(874,874,874),(875,875,875),
-(876,876,876),(877,877,877),(878,878,878),(879,879,879),(880,880,880),
-(881,881,881),(882,882,882),(883,883,883),(884,884,884),(885,885,885),
-(886,886,886),(887,887,887),(888,888,888),(889,889,889),(890,890,890),
-(891,891,891),(892,892,892),(893,893,893),(894,894,894),(895,895,895),
-(896,896,896),(897,897,897),(898,898,898),(899,899,899),(900,900,900),
-(901,901,901),(902,902,902),(903,903,903),(904,904,904),(905,905,905),
-(906,906,906),(907,907,907),(908,908,908),(909,909,909),(910,910,910),
-(911,911,911),(912,912,912),(913,913,913),(914,914,914),(915,915,915),
-(916,916,916),(917,917,917),(918,918,918),(919,919,919),(920,920,920),
-(921,921,921),(922,922,922),(923,923,923),(924,924,924),(925,925,925),
-(926,926,926),(927,927,927),(928,928,928),(929,929,929),(930,930,930),
-(931,931,931),(932,932,932),(933,933,933),(934,934,934),(935,935,935),
-(936,936,936),(937,937,937),(938,938,938),(939,939,939),(940,940,940),
-(941,941,941),(942,942,942),(943,943,943),(944,944,944),(945,945,945),
-(946,946,946),(947,947,947),(948,948,948),(949,949,949),(950,950,950),
-(951,951,951),(952,952,952),(953,953,953),(954,954,954),(955,955,955),
-(956,956,956),(957,957,957),(958,958,958),(959,959,959),(960,960,960),
-(961,961,961),(962,962,962),(963,963,963),(964,964,964),(965,965,965),
-(966,966,966),(967,967,967),(968,968,968),(969,969,969),(970,970,970),
-(971,971,971),(972,972,972),(973,973,973),(974,974,974),(975,975,975),
-(976,976,976),(977,977,977),(978,978,978),(979,979,979),(980,980,980),
-(981,981,981),(982,982,982),(983,983,983),(984,984,984),(985,985,985),
-(986,986,986),(987,987,987),(988,988,988),(989,989,989),(990,990,990),
-(991,991,991),(992,992,992),(993,993,993),(994,994,994),(995,995,995),
-(996,996,996),(997,997,997),(998,998,998),(999,999,999),(1000,1000,1000),
-(1001,1001,1001),(1002,1002,1002),(1003,1003,1003),(1004,1004,1004),(1005,1005,1005),
-(1006,1006,1006),(1007,1007,1007),(1008,1008,1008),(1009,1009,1009),(1010,1010,1010),
-(1011,1011,1011),(1012,1012,1012),(1013,1013,1013),(1014,1014,1014),(1015,1015,1015),
-(1016,1016,1016),(1017,1017,1017),(1018,1018,1018),(1019,1019,1019),(1020,1020,1020),
-(1021,1021,1021),(1022,1022,1022),(1023,1023,1023),(1024,1024,1024),(1025,1025,1025),
-(1026,1026,1026),(1027,1027,1027),(1028,1028,1028),(1029,1029,1029),(1030,1030,1030),
-(1031,1031,1031),(1032,1032,1032),(1033,1033,1033),(1034,1034,1034),(1035,1035,1035),
-(1036,1036,1036),(1037,1037,1037),(1038,1038,1038),(1039,1039,1039),(1040,1040,1040),
-(1041,1041,1041),(1042,1042,1042),(1043,1043,1043),(1044,1044,1044),(1045,1045,1045),
-(1046,1046,1046),(1047,1047,1047),(1048,1048,1048),(1049,1049,1049),(1050,1050,1050),
-(1051,1051,1051),(1052,1052,1052),(1053,1053,1053),(1054,1054,1054),(1055,1055,1055),
-(1056,1056,1056),(1057,1057,1057),(1058,1058,1058),(1059,1059,1059),(1060,1060,1060),
-(1061,1061,1061),(1062,1062,1062),(1063,1063,1063),(1064,1064,1064),(1065,1065,1065),
-(1066,1066,1066),(1067,1067,1067),(1068,1068,1068),(1069,1069,1069),(1070,1070,1070),
-(1071,1071,1071),(1072,1072,1072),(1073,1073,1073),(1074,1074,1074),(1075,1075,1075),
-(1076,1076,1076),(1077,1077,1077),(1078,1078,1078),(1079,1079,1079),(1080,1080,1080),
-(1081,1081,1081),(1082,1082,1082),(1083,1083,1083),(1084,1084,1084),(1085,1085,1085),
-(1086,1086,1086),(1087,1087,1087),(1088,1088,1088),(1089,1089,1089),(1090,1090,1090),
-(1091,1091,1091),(1092,1092,1092),(1093,1093,1093),(1094,1094,1094),(1095,1095,1095),
-(1096,1096,1096),(1097,1097,1097),(1098,1098,1098),(1099,1099,1099),(1100,1100,1100),
-(1101,1101,1101),(1102,1102,1102),(1103,1103,1103),(1104,1104,1104),(1105,1105,1105),
-(1106,1106,1106),(1107,1107,1107),(1108,1108,1108),(1109,1109,1109),(1110,1110,1110),
-(1111,1111,1111),(1112,1112,1112),(1113,1113,1113),(1114,1114,1114),(1115,1115,1115),
-(1116,1116,1116),(1117,1117,1117),(1118,1118,1118),(1119,1119,1119),(1120,1120,1120),
-(1121,1121,1121),(1122,1122,1122),(1123,1123,1123),(1124,1124,1124),(1125,1125,1125),
-(1126,1126,1126),(1127,1127,1127),(1128,1128,1128),(1129,1129,1129),(1130,1130,1130),
-(1131,1131,1131),(1132,1132,1132),(1133,1133,1133),(1134,1134,1134),(1135,1135,1135),
-(1136,1136,1136),(1137,1137,1137),(1138,1138,1138),(1139,1139,1139),(1140,1140,1140),
-(1141,1141,1141),(1142,1142,1142),(1143,1143,1143),(1144,1144,1144),(1145,1145,1145),
-(1146,1146,1146),(1147,1147,1147),(1148,1148,1148),(1149,1149,1149),(1150,1150,1150),
-(1151,1151,1151),(1152,1152,1152),(1153,1153,1153),(1154,1154,1154),(1155,1155,1155),
-(1156,1156,1156),(1157,1157,1157),(1158,1158,1158),(1159,1159,1159),(1160,1160,1160),
-(1161,1161,1161),(1162,1162,1162),(1163,1163,1163),(1164,1164,1164),(1165,1165,1165),
-(1166,1166,1166),(1167,1167,1167),(1168,1168,1168),(1169,1169,1169),(1170,1170,1170),
-(1171,1171,1171),(1172,1172,1172),(1173,1173,1173),(1174,1174,1174),(1175,1175,1175),
-(1176,1176,1176),(1177,1177,1177),(1178,1178,1178),(1179,1179,1179),(1180,1180,1180),
-(1181,1181,1181),(1182,1182,1182),(1183,1183,1183),(1184,1184,1184),(1185,1185,1185),
-(1186,1186,1186),(1187,1187,1187),(1188,1188,1188),(1189,1189,1189),(1190,1190,1190),
-(1191,1191,1191),(1192,1192,1192),(1193,1193,1193),(1194,1194,1194),(1195,1195,1195),
-(1196,1196,1196),(1197,1197,1197),(1198,1198,1198),(1199,1199,1199),(1200,1200,1200),
-(1201,1201,1201),(1202,1202,1202),(1203,1203,1203),(1204,1204,1204),(1205,1205,1205),
-(1206,1206,1206),(1207,1207,1207),(1208,1208,1208),(1209,1209,1209),(1210,1210,1210),
-(1211,1211,1211),(1212,1212,1212),(1213,1213,1213),(1214,1214,1214),(1215,1215,1215),
-(1216,1216,1216),(1217,1217,1217),(1218,1218,1218),(1219,1219,1219),(1220,1220,1220),
-(1221,1221,1221),(1222,1222,1222),(1223,1223,1223),(1224,1224,1224),(1225,1225,1225),
-(1226,1226,1226),(1227,1227,1227),(1228,1228,1228),(1229,1229,1229),(1230,1230,1230),
-(1231,1231,1231),(1232,1232,1232),(1233,1233,1233),(1234,1234,1234),(1235,1235,1235),
-(1236,1236,1236),(1237,1237,1237),(1238,1238,1238),(1239,1239,1239),(1240,1240,1240),
-(1241,1241,1241),(1242,1242,1242),(1243,1243,1243),(1244,1244,1244),(1245,1245,1245),
-(1246,1246,1246),(1247,1247,1247),(1248,1248,1248),(1249,1249,1249),(1250,1250,1250),
-(1251,1251,1251),(1252,1252,1252),(1253,1253,1253),(1254,1254,1254),(1255,1255,1255),
-(1256,1256,1256),(1257,1257,1257),(1258,1258,1258),(1259,1259,1259),(1260,1260,1260),
-(1261,1261,1261),(1262,1262,1262),(1263,1263,1263),(1264,1264,1264),(1265,1265,1265),
-(1266,1266,1266),(1267,1267,1267),(1268,1268,1268),(1269,1269,1269),(1270,1270,1270),
-(1271,1271,1271),(1272,1272,1272),(1273,1273,1273),(1274,1274,1274),(1275,1275,1275),
-(1276,1276,1276),(1277,1277,1277),(1278,1278,1278),(1279,1279,1279),(1280,1280,1280),
-(1281,1281,1281),(1282,1282,1282),(1283,1283,1283),(1284,1284,1284),(1285,1285,1285),
-(1286,1286,1286),(1287,1287,1287),(1288,1288,1288),(1289,1289,1289),(1290,1290,1290),
-(1291,1291,1291),(1292,1292,1292),(1293,1293,1293),(1294,1294,1294),(1295,1295,1295),
-(1296,1296,1296),(1297,1297,1297),(1298,1298,1298),(1299,1299,1299),(1300,1300,1300),
-(1301,1301,1301),(1302,1302,1302),(1303,1303,1303),(1304,1304,1304),(1305,1305,1305),
-(1306,1306,1306),(1307,1307,1307),(1308,1308,1308),(1309,1309,1309),(1310,1310,1310),
-(1311,1311,1311),(1312,1312,1312),(1313,1313,1313),(1314,1314,1314),(1315,1315,1315),
-(1316,1316,1316),(1317,1317,1317),(1318,1318,1318),(1319,1319,1319),(1320,1320,1320),
-(1321,1321,1321),(1322,1322,1322),(1323,1323,1323),(1324,1324,1324),(1325,1325,1325),
-(1326,1326,1326),(1327,1327,1327),(1328,1328,1328),(1329,1329,1329),(1330,1330,1330),
-(1331,1331,1331),(1332,1332,1332),(1333,1333,1333),(1334,1334,1334),(1335,1335,1335),
-(1336,1336,1336),(1337,1337,1337),(1338,1338,1338),(1339,1339,1339),(1340,1340,1340),
-(1341,1341,1341),(1342,1342,1342),(1343,1343,1343),(1344,1344,1344),(1345,1345,1345),
-(1346,1346,1346),(1347,1347,1347),(1348,1348,1348),(1349,1349,1349),(1350,1350,1350),
-(1351,1351,1351),(1352,1352,1352),(1353,1353,1353),(1354,1354,1354),(1355,1355,1355),
-(1356,1356,1356),(1357,1357,1357),(1358,1358,1358),(1359,1359,1359),(1360,1360,1360),
-(1361,1361,1361),(1362,1362,1362),(1363,1363,1363),(1364,1364,1364),(1365,1365,1365),
-(1366,1366,1366),(1367,1367,1367),(1368,1368,1368),(1369,1369,1369),(1370,1370,1370),
-(1371,1371,1371),(1372,1372,1372),(1373,1373,1373),(1374,1374,1374),(1375,1375,1375),
-(1376,1376,1376),(1377,1377,1377),(1378,1378,1378),(1379,1379,1379),(1380,1380,1380),
-(1381,1381,1381),(1382,1382,1382),(1383,1383,1383),(1384,1384,1384),(1385,1385,1385),
-(1386,1386,1386),(1387,1387,1387),(1388,1388,1388),(1389,1389,1389),(1390,1390,1390),
-(1391,1391,1391),(1392,1392,1392),(1393,1393,1393),(1394,1394,1394),(1395,1395,1395),
-(1396,1396,1396),(1397,1397,1397),(1398,1398,1398),(1399,1399,1399),(1400,1400,1400),
-(1401,1401,1401),(1402,1402,1402),(1403,1403,1403),(1404,1404,1404),(1405,1405,1405),
-(1406,1406,1406),(1407,1407,1407),(1408,1408,1408),(1409,1409,1409),(1410,1410,1410),
-(1411,1411,1411),(1412,1412,1412),(1413,1413,1413),(1414,1414,1414),(1415,1415,1415),
-(1416,1416,1416),(1417,1417,1417),(1418,1418,1418),(1419,1419,1419),(1420,1420,1420),
-(1421,1421,1421),(1422,1422,1422),(1423,1423,1423),(1424,1424,1424),(1425,1425,1425),
-(1426,1426,1426),(1427,1427,1427),(1428,1428,1428),(1429,1429,1429),(1430,1430,1430),
-(1431,1431,1431),(1432,1432,1432),(1433,1433,1433),(1434,1434,1434),(1435,1435,1435),
-(1436,1436,1436),(1437,1437,1437),(1438,1438,1438),(1439,1439,1439),(1440,1440,1440),
-(1441,1441,1441),(1442,1442,1442),(1443,1443,1443),(1444,1444,1444),(1445,1445,1445),
-(1446,1446,1446),(1447,1447,1447),(1448,1448,1448),(1449,1449,1449),(1450,1450,1450),
-(1451,1451,1451),(1452,1452,1452),(1453,1453,1453),(1454,1454,1454),(1455,1455,1455),
-(1456,1456,1456),(1457,1457,1457),(1458,1458,1458),(1459,1459,1459),(1460,1460,1460),
-(1461,1461,1461),(1462,1462,1462),(1463,1463,1463),(1464,1464,1464),(1465,1465,1465),
-(1466,1466,1466),(1467,1467,1467),(1468,1468,1468),(1469,1469,1469),(1470,1470,1470),
-(1471,1471,1471),(1472,1472,1472),(1473,1473,1473),(1474,1474,1474),(1475,1475,1475),
-(1476,1476,1476),(1477,1477,1477),(1478,1478,1478),(1479,1479,1479),(1480,1480,1480),
-(1481,1481,1481),(1482,1482,1482),(1483,1483,1483),(1484,1484,1484),(1485,1485,1485),
-(1486,1486,1486),(1487,1487,1487),(1488,1488,1488),(1489,1489,1489),(1490,1490,1490),
-(1491,1491,1491),(1492,1492,1492),(1493,1493,1493),(1494,1494,1494),(1495,1495,1495),
-(1496,1496,1496),(1497,1497,1497),(1498,1498,1498),(1499,1499,1499),(1500,1500,1500),
-(1501,1501,1501),(1502,1502,1502),(1503,1503,1503),(1504,1504,1504),(1505,1505,1505),
-(1506,1506,1506),(1507,1507,1507),(1508,1508,1508),(1509,1509,1509),(1510,1510,1510),
-(1511,1511,1511),(1512,1512,1512),(1513,1513,1513),(1514,1514,1514),(1515,1515,1515),
-(1516,1516,1516),(1517,1517,1517),(1518,1518,1518),(1519,1519,1519),(1520,1520,1520),
-(1521,1521,1521),(1522,1522,1522),(1523,1523,1523),(1524,1524,1524),(1525,1525,1525),
-(1526,1526,1526),(1527,1527,1527),(1528,1528,1528),(1529,1529,1529),(1530,1530,1530),
-(1531,1531,1531),(1532,1532,1532),(1533,1533,1533),(1534,1534,1534),(1535,1535,1535),
-(1536,1536,1536),(1537,1537,1537),(1538,1538,1538),(1539,1539,1539),(1540,1540,1540),
-(1541,1541,1541),(1542,1542,1542),(1543,1543,1543),(1544,1544,1544),(1545,1545,1545),
-(1546,1546,1546),(1547,1547,1547),(1548,1548,1548),(1549,1549,1549),(1550,1550,1550),
-(1551,1551,1551),(1552,1552,1552),(1553,1553,1553),(1554,1554,1554),(1555,1555,1555),
-(1556,1556,1556),(1557,1557,1557),(1558,1558,1558),(1559,1559,1559),(1560,1560,1560),
-(1561,1561,1561),(1562,1562,1562),(1563,1563,1563),(1564,1564,1564),(1565,1565,1565),
-(1566,1566,1566),(1567,1567,1567),(1568,1568,1568),(1569,1569,1569),(1570,1570,1570),
-(1571,1571,1571),(1572,1572,1572),(1573,1573,1573),(1574,1574,1574),(1575,1575,1575),
-(1576,1576,1576),(1577,1577,1577),(1578,1578,1578),(1579,1579,1579),(1580,1580,1580),
-(1581,1581,1581),(1582,1582,1582),(1583,1583,1583),(1584,1584,1584),(1585,1585,1585),
-(1586,1586,1586),(1587,1587,1587),(1588,1588,1588),(1589,1589,1589),(1590,1590,1590),
-(1591,1591,1591),(1592,1592,1592),(1593,1593,1593),(1594,1594,1594),(1595,1595,1595),
-(1596,1596,1596),(1597,1597,1597),(1598,1598,1598),(1599,1599,1599),(1600,1600,1600),
-(1601,1601,1601),(1602,1602,1602),(1603,1603,1603),(1604,1604,1604),(1605,1605,1605),
-(1606,1606,1606),(1607,1607,1607),(1608,1608,1608),(1609,1609,1609),(1610,1610,1610),
-(1611,1611,1611),(1612,1612,1612),(1613,1613,1613),(1614,1614,1614),(1615,1615,1615),
-(1616,1616,1616),(1617,1617,1617),(1618,1618,1618),(1619,1619,1619),(1620,1620,1620),
-(1621,1621,1621),(1622,1622,1622),(1623,1623,1623),(1624,1624,1624),(1625,1625,1625),
-(1626,1626,1626),(1627,1627,1627),(1628,1628,1628),(1629,1629,1629),(1630,1630,1630),
-(1631,1631,1631),(1632,1632,1632),(1633,1633,1633),(1634,1634,1634),(1635,1635,1635),
-(1636,1636,1636),(1637,1637,1637),(1638,1638,1638),(1639,1639,1639),(1640,1640,1640),
-(1641,1641,1641),(1642,1642,1642),(1643,1643,1643),(1644,1644,1644),(1645,1645,1645),
-(1646,1646,1646),(1647,1647,1647),(1648,1648,1648),(1649,1649,1649),(1650,1650,1650),
-(1651,1651,1651),(1652,1652,1652),(1653,1653,1653),(1654,1654,1654),(1655,1655,1655),
-(1656,1656,1656),(1657,1657,1657),(1658,1658,1658),(1659,1659,1659),(1660,1660,1660),
-(1661,1661,1661),(1662,1662,1662),(1663,1663,1663),(1664,1664,1664),(1665,1665,1665),
-(1666,1666,1666),(1667,1667,1667),(1668,1668,1668),(1669,1669,1669),(1670,1670,1670),
-(1671,1671,1671),(1672,1672,1672),(1673,1673,1673),(1674,1674,1674),(1675,1675,1675),
-(1676,1676,1676),(1677,1677,1677),(1678,1678,1678),(1679,1679,1679),(1680,1680,1680),
-(1681,1681,1681),(1682,1682,1682),(1683,1683,1683),(1684,1684,1684),(1685,1685,1685),
-(1686,1686,1686),(1687,1687,1687),(1688,1688,1688),(1689,1689,1689),(1690,1690,1690),
-(1691,1691,1691),(1692,1692,1692),(1693,1693,1693),(1694,1694,1694),(1695,1695,1695),
-(1696,1696,1696),(1697,1697,1697),(1698,1698,1698),(1699,1699,1699),(1700,1700,1700),
-(1701,1701,1701),(1702,1702,1702),(1703,1703,1703),(1704,1704,1704),(1705,1705,1705),
-(1706,1706,1706),(1707,1707,1707),(1708,1708,1708),(1709,1709,1709),(1710,1710,1710),
-(1711,1711,1711),(1712,1712,1712),(1713,1713,1713),(1714,1714,1714),(1715,1715,1715),
-(1716,1716,1716),(1717,1717,1717),(1718,1718,1718),(1719,1719,1719),(1720,1720,1720),
-(1721,1721,1721),(1722,1722,1722),(1723,1723,1723),(1724,1724,1724),(1725,1725,1725),
-(1726,1726,1726),(1727,1727,1727),(1728,1728,1728),(1729,1729,1729),(1730,1730,1730),
-(1731,1731,1731),(1732,1732,1732),(1733,1733,1733),(1734,1734,1734),(1735,1735,1735),
-(1736,1736,1736),(1737,1737,1737),(1738,1738,1738),(1739,1739,1739),(1740,1740,1740),
-(1741,1741,1741),(1742,1742,1742),(1743,1743,1743),(1744,1744,1744),(1745,1745,1745),
-(1746,1746,1746),(1747,1747,1747),(1748,1748,1748),(1749,1749,1749),(1750,1750,1750),
-(1751,1751,1751),(1752,1752,1752),(1753,1753,1753),(1754,1754,1754),(1755,1755,1755),
-(1756,1756,1756),(1757,1757,1757),(1758,1758,1758),(1759,1759,1759),(1760,1760,1760),
-(1761,1761,1761),(1762,1762,1762),(1763,1763,1763),(1764,1764,1764),(1765,1765,1765),
-(1766,1766,1766),(1767,1767,1767),(1768,1768,1768),(1769,1769,1769),(1770,1770,1770),
-(1771,1771,1771),(1772,1772,1772),(1773,1773,1773),(1774,1774,1774),(1775,1775,1775),
-(1776,1776,1776),(1777,1777,1777),(1778,1778,1778),(1779,1779,1779),(1780,1780,1780),
-(1781,1781,1781),(1782,1782,1782),(1783,1783,1783),(1784,1784,1784),(1785,1785,1785),
-(1786,1786,1786),(1787,1787,1787),(1788,1788,1788),(1789,1789,1789),(1790,1790,1790),
-(1791,1791,1791),(1792,1792,1792),(1793,1793,1793),(1794,1794,1794),(1795,1795,1795),
-(1796,1796,1796),(1797,1797,1797),(1798,1798,1798),(1799,1799,1799),(1800,1800,1800),
-(1801,1801,1801),(1802,1802,1802),(1803,1803,1803),(1804,1804,1804),(1805,1805,1805),
-(1806,1806,1806),(1807,1807,1807),(1808,1808,1808),(1809,1809,1809),(1810,1810,1810),
-(1811,1811,1811),(1812,1812,1812),(1813,1813,1813),(1814,1814,1814),(1815,1815,1815),
-(1816,1816,1816),(1817,1817,1817),(1818,1818,1818),(1819,1819,1819),(1820,1820,1820),
-(1821,1821,1821),(1822,1822,1822),(1823,1823,1823),(1824,1824,1824),(1825,1825,1825),
-(1826,1826,1826),(1827,1827,1827),(1828,1828,1828),(1829,1829,1829),(1830,1830,1830),
-(1831,1831,1831),(1832,1832,1832),(1833,1833,1833),(1834,1834,1834),(1835,1835,1835),
-(1836,1836,1836),(1837,1837,1837),(1838,1838,1838),(1839,1839,1839),(1840,1840,1840),
-(1841,1841,1841),(1842,1842,1842),(1843,1843,1843),(1844,1844,1844),(1845,1845,1845),
-(1846,1846,1846),(1847,1847,1847),(1848,1848,1848),(1849,1849,1849),(1850,1850,1850),
-(1851,1851,1851),(1852,1852,1852),(1853,1853,1853),(1854,1854,1854),(1855,1855,1855),
-(1856,1856,1856),(1857,1857,1857),(1858,1858,1858),(1859,1859,1859),(1860,1860,1860),
-(1861,1861,1861),(1862,1862,1862),(1863,1863,1863),(1864,1864,1864),(1865,1865,1865),
-(1866,1866,1866),(1867,1867,1867),(1868,1868,1868),(1869,1869,1869),(1870,1870,1870),
-(1871,1871,1871),(1872,1872,1872),(1873,1873,1873),(1874,1874,1874),(1875,1875,1875),
-(1876,1876,1876),(1877,1877,1877),(1878,1878,1878),(1879,1879,1879),(1880,1880,1880),
-(1881,1881,1881),(1882,1882,1882),(1883,1883,1883),(1884,1884,1884),(1885,1885,1885),
-(1886,1886,1886),(1887,1887,1887),(1888,1888,1888),(1889,1889,1889),(1890,1890,1890),
-(1891,1891,1891),(1892,1892,1892),(1893,1893,1893),(1894,1894,1894),(1895,1895,1895),
-(1896,1896,1896),(1897,1897,1897),(1898,1898,1898),(1899,1899,1899),(1900,1900,1900),
-(1901,1901,1901),(1902,1902,1902),(1903,1903,1903),(1904,1904,1904),(1905,1905,1905),
-(1906,1906,1906),(1907,1907,1907),(1908,1908,1908),(1909,1909,1909),(1910,1910,1910),
-(1911,1911,1911),(1912,1912,1912),(1913,1913,1913),(1914,1914,1914),(1915,1915,1915),
-(1916,1916,1916),(1917,1917,1917),(1918,1918,1918),(1919,1919,1919),(1920,1920,1920),
-(1921,1921,1921),(1922,1922,1922),(1923,1923,1923),(1924,1924,1924),(1925,1925,1925),
-(1926,1926,1926),(1927,1927,1927),(1928,1928,1928),(1929,1929,1929),(1930,1930,1930),
-(1931,1931,1931),(1932,1932,1932),(1933,1933,1933),(1934,1934,1934),(1935,1935,1935),
-(1936,1936,1936),(1937,1937,1937),(1938,1938,1938),(1939,1939,1939),(1940,1940,1940),
-(1941,1941,1941),(1942,1942,1942),(1943,1943,1943),(1944,1944,1944),(1945,1945,1945),
-(1946,1946,1946),(1947,1947,1947),(1948,1948,1948),(1949,1949,1949),(1950,1950,1950),
-(1951,1951,1951),(1952,1952,1952),(1953,1953,1953),(1954,1954,1954),(1955,1955,1955),
-(1956,1956,1956),(1957,1957,1957),(1958,1958,1958),(1959,1959,1959),(1960,1960,1960),
-(1961,1961,1961),(1962,1962,1962),(1963,1963,1963),(1964,1964,1964),(1965,1965,1965),
-(1966,1966,1966),(1967,1967,1967),(1968,1968,1968),(1969,1969,1969),(1970,1970,1970),
-(1971,1971,1971),(1972,1972,1972),(1973,1973,1973),(1974,1974,1974),(1975,1975,1975),
-(1976,1976,1976),(1977,1977,1977),(1978,1978,1978),(1979,1979,1979),(1980,1980,1980),
-(1981,1981,1981),(1982,1982,1982),(1983,1983,1983),(1984,1984,1984),(1985,1985,1985),
-(1986,1986,1986),(1987,1987,1987),(1988,1988,1988),(1989,1989,1989),(1990,1990,1990),
-(1991,1991,1991),(1992,1992,1992),(1993,1993,1993),(1994,1994,1994),(1995,1995,1995),
-(1996,1996,1996),(1997,1997,1997),(1998,1998,1998),(1999,1999,1999);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2000
-INSERT INTO t1 VALUES (1,1,1);
-ERROR 23000: Duplicate entry '1' for key 1
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-select count(*) from t1;
-count(*)
-2000
-begin;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2000
-INSERT INTO t1 VALUES
-(2001,2001,2001),(2002,2002,2002),(2003,2003,2003),(2004,2004,2004),(2005,2005,2005);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2005
-rollback;
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-INSERT INTO t1 values (4000, 40, 44);
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-insert into t1 select * from t1 where b < 10 order by pk1;
-ERROR 23000: Can't write; duplicate key in table 't1'
-DELETE FROM t1 WHERE pk1=2;
-begin;
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 3 4
-rollback;
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 3 4
-REPLACE INTO t1 values(1, 78, 3);
-select * from t1 where pk1=1;
-pk1 b c
-1 78 3
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=79;
-select * from t1 where pk1 < 4 order by pk1;
-pk1 b c
-0 0 0
-1 79 3
-2 3 4
-3 79 3
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=pk1+c;
-select * from t1 where pk1 < 4 order by pk1;
-pk1 b c
-0 0 0
-1 4 3
-2 3 4
-3 6 3
-DELETE FROM t1 WHERE pk1 = 2 OR pk1 = 4 OR pk1 = 6;
-INSERT INTO t1 VALUES(1,1,1),(2,2,17),(3,4,5) ON DUPLICATE KEY UPDATE pk1=b;
-select * from t1 where pk1 = b and b != c order by pk1;
-pk1 b c
-2 2 17
-4 4 3
-6 6 3
-DELETE FROM t1;
-CREATE UNIQUE INDEX bi ON t1(b);
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-INSERT INTO t1 VALUES(0,1,0),(21,21,21) ON DUPLICATE KEY UPDATE pk1=b+10,b=b+10;
-select * from t1 order by pk1;
-pk1 b c
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 7 7
-8 8 8
-9 9 9
-10 10 10
-11 11 1
-21 21 21
-DROP TABLE t1;
-CREATE TABLE t1(a INT) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-SELECT * FROM t1 ORDER BY a;
-a
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-DELETE FROM t1;
-CREATE UNIQUE INDEX ai ON t1(a);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (NULL),(2);
-SELECT * FROM t1 ORDER BY a;
-a
-NULL
-1
-2
-DROP TABLE t1;
-CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3);
-INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4);
-SELECT * FROM t1 ORDER BY pk;
-pk a
-1 1
-2 2
-3 3
-4 NULL
-5 NULL
-6 NULL
-7 4
-DROP TABLE t1;
-create table t1(a int primary key, b int, unique key(b)) engine=ndb;
-insert ignore into t1 values (1,0), (2,0), (2,null), (3,null);
-select * from t1 order by a;
-a b
-1 0
-2 NULL
-3 NULL
-drop table t1;
-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/r/ndb_limit.result b/mysql-test/r/ndb_limit.result
deleted file mode 100644
index da1ec3b61c3..00000000000
--- a/mysql-test/r/ndb_limit.result
+++ /dev/null
@@ -1,72 +0,0 @@
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-select count(*) from t2;
-count(*)
-10000
-delete from t2 limit 1;
-select count(*) from t2;
-count(*)
-9999
-delete from t2 limit 100;
-select count(*) from t2;
-count(*)
-9899
-delete from t2 limit 1000;
-select count(*) from t2;
-count(*)
-8899
-update t2 set c=12345678 limit 100;
-select count(*) from t2 where c=12345678;
-count(*)
-100
-select count(*) from t2 where c=12345678 limit 1000;
-count(*)
-100
-select * from t2 limit 0;
-a b c
-drop table t2;
-CREATE TABLE `t2` (
-`views` int(11) NOT NULL default '0',
-`clicks` int(11) NOT NULL default '0',
-`day` date NOT NULL default '0000-00-00',
-`hour` tinyint(4) NOT NULL default '0',
-`bannerid` smallint(6) NOT NULL default '0',
-`zoneid` smallint(6) NOT NULL default '0',
-`source` varchar(50) NOT NULL default '',
-PRIMARY KEY (`day`,`hour`,`bannerid`,`zoneid`,`source`),
-KEY `bannerid_day` (`bannerid`,`day`),
-KEY `zoneid` (`zoneid`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2` VALUES
-( 1,0,'2004-09-17', 5,100,100,''),
-( 1,0,'2004-09-18', 7,100,100,''),
-( 17,0,'2004-09-27',20,132,100,''),
-( 4,0,'2004-09-16',23,132,100,''),
-( 86,0,'2004-09-18', 7,196,196,''),
-( 11,0,'2004-09-16',16,132,100,''),
-(140,0,'2004-09-18', 0,100,164,''),
-( 2,0,'2004-09-17', 7,132,100,''),
-(846,0,'2004-09-27',11,132,164,''),
-( 1,0,'2004-09-18', 8,132,100,''),
-( 22,0,'2004-09-27', 9,164,132,''),
-(711,0,'2004-09-27', 9,100,164,''),
-( 11,0,'2004-09-18', 0,196,132,''),
-( 41,0,'2004-09-27',15,196,132,''),
-( 57,0,'2004-09-18', 2,164,196,'');
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;
-date date_formatted
-20040927 27-09-2004
-20040918 18-09-2004
-20040917 17-09-2004
-20040916 16-09-2004
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;
-date date_formatted
-20040927 27-09-2004
-20040918 18-09-2004
-drop table t2;
diff --git a/mysql-test/r/ndb_load.result b/mysql-test/r/ndb_load.result
deleted file mode 100644
index 416a350066b..00000000000
--- a/mysql-test/r/ndb_load.result
+++ /dev/null
@@ -1,80 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=NDB;
-LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t1 ;
-ERROR 23000: Can't write; duplicate key in table 't1'
-DROP TABLE t1;
-CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=NDB;
-LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t1 ;
-SELECT * FROM t1 ORDER BY word;
-word
-Aarhus
-Aarhus
-Aaron
-Aaron
-Ababa
-Ababa
-aback
-aback
-abaft
-abaft
-abandon
-abandon
-abandoned
-abandoned
-abandoning
-abandoning
-abandonment
-abandonment
-abandons
-abandons
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-DROP TABLE t1;
diff --git a/mysql-test/r/ndb_loaddatalocal.result b/mysql-test/r/ndb_loaddatalocal.result
deleted file mode 100644
index 1d15c608f03..00000000000
--- a/mysql-test/r/ndb_loaddatalocal.result
+++ /dev/null
@@ -1,46 +0,0 @@
-DROP TABLE IF EXISTS t1;
-create table t1(a int) engine=myisam;
-select * into outfile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int) engine=ndb;
-load data local infile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' into table t1;
-select count(*) from t1;
-count(*)
-10000
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (2), (3);
-select * into outfile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (1), (2), (3);
-select * into outfile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (3), (3);
-select * into outfile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLTEST_VARDIR/master-data/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
diff --git a/mysql-test/r/ndb_lock.result b/mysql-test/r/ndb_lock.result
deleted file mode 100644
index 9a2cea0f512..00000000000
--- a/mysql-test/r/ndb_lock.result
+++ /dev/null
@@ -1,189 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-create table t1 (x integer not null primary key, y varchar(32)) engine = ndb;
-insert into t1 values (1,'one'), (2,'two');
-select * from t1 order by x;
-x y
-1 one
-2 two
-select * from t1 order by x;
-x y
-1 one
-2 two
-start transaction;
-insert into t1 values (3,'three');
-select * from t1 order by x;
-x y
-1 one
-2 two
-3 three
-start transaction;
-select * from t1 order by x;
-x y
-1 one
-2 two
-commit;
-select * from t1 order by x;
-x y
-1 one
-2 two
-3 three
-commit;
-drop table t1;
-create table t1 (pk integer not null primary key, u int not null, o int not null,
-unique(u), key(o)) engine = ndb;
-insert into t1 values (1,1,1), (2,2,2), (3,3,3), (4,4,4), (5,5,5);
-lock tables t1 write;
-delete from t1 where pk = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-lock tables t1 write;
-delete from t1 where u = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-lock tables t1 write;
-delete from t1 where o = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-drop table t1;
-create table t1 (x integer not null primary key, y varchar(32), z integer, key(z)) engine = ndb;
-insert into t1 values (1,'one',1);
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-begin;
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-rollback;
-insert into t1 values (2,'two',2),(3,"three",3);
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' for update;
-x y z
-# # #
-# # #
-begin;
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x for update;
-x y z
-1 one 1
-3 three 3
-begin;
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where z > 1 and z < 3 for update;
-x y z
-2 two 2
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-Got one of the listed errors
-rollback;
-commit;
-begin;
-select * from t1 where x = 1 lock in share mode;
-x y z
-1 one 1
-begin;
-select * from t1 where x = 1 lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' lock in share mode;
-x y z
-# # #
-# # #
-begin;
-select * from t1 where y = 'one' lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x lock in share mode;
-x y z
-1 one 1
-3 three 3
-begin;
-select * from t1 where y = 'one' lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where z > 1 and z < 3 lock in share mode;
-x y z
-2 two 2
-begin;
-select * from t1 where z = 1 lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-drop table t1;
diff --git a/mysql-test/r/ndb_minmax.result b/mysql-test/r/ndb_minmax.result
deleted file mode 100644
index cc0c238ac6e..00000000000
--- a/mysql-test/r/ndb_minmax.result
+++ /dev/null
@@ -1,120 +0,0 @@
-drop table if exists t1, t2;
-CREATE TABLE t1 (
-a int PRIMARY KEY
-) engine = ndb;
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MIN(a) from t1;
-MIN(a)
-1
-select MIN(a) from t1;
-MIN(a)
-1
-select MIN(a) from t1;
-MIN(a)
-1
-select * from t1 order by a;
-a
-1
-2
-3
-4
-5
-6
-select MIN(a) from t1;
-MIN(a)
-1
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select * from t1 order by a;
-a
-1
-2
-3
-4
-5
-6
-drop table t1;
-CREATE TABLE t2 (
-a int PRIMARY KEY,
-b int not null,
-c int not null,
-KEY(b),
-UNIQUE(c)
-) engine = ndb;
-INSERT INTO t2 VALUES (1, 5, 1);
-INSERT INTO t2 VALUES (2, 2, 7);
-INSERT INTO t2 VALUES (3, 3, 3);
-INSERT INTO t2 VALUES (4, 4, 4);
-INSERT INTO t2 VALUES (5, 5, 5);
-INSERT INTO t2 VALUES (6, 6, 6);
-INSERT INTO t2 VALUES (7, 2, 10);
-INSERT INTO t2 VALUES (8, 10, 2);
-select MAX(a) from t2;
-MAX(a)
-8
-select MAX(b) from t2;
-MAX(b)
-10
-select MAX(c) from t2;
-MAX(c)
-10
-select MIN(a) from t2;
-MIN(a)
-1
-select MIN(b) from t2;
-MIN(b)
-2
-select MIN(c) from t2;
-MIN(c)
-1
-select * from t2 order by a;
-a b c
-1 5 1
-2 2 7
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 2 10
-8 10 2
-select MIN(b) from t2;
-MIN(b)
-2
-select MAX(a) from t2;
-MAX(a)
-8
-select MAX(c) from t2;
-MAX(c)
-10
-select * from t2 order by a;
-a b c
-1 5 1
-2 2 7
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 2 10
-8 10 2
-drop table t2;
diff --git a/mysql-test/r/ndb_multi.result b/mysql-test/r/ndb_multi.result
deleted file mode 100644
index 5d75722982f..00000000000
--- a/mysql-test/r/ndb_multi.result
+++ /dev/null
@@ -1,101 +0,0 @@
-drop table if exists t1, t2, t3, t4;
-flush status;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select * from t2;
-a
-3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-select * from t1;
-a
-2
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-select * from t1;
-a
-2
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-flush table t1;
-select * from t1;
-a
-2
-flush status;
-select * from t1;
-a
-2
-update t1 set a=3 where a=2;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t3 (a int not null primary key, b varchar(22),
-c int, last_col text) engine=ndb;
-insert into t3 values(1, 'Hi!', 89, 'Longtext column');
-create table t4 (pk int primary key, b int) engine=ndb;
-select * from t1;
-a
-3
-select * from t3;
-a b c last_col
-1 Hi! 89 Longtext column
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-show tables like 't4';
-Tables_in_test (t4)
-t4
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 3
-show tables;
-Tables_in_test
-t1
-t2
-t3
-t4
-drop table t1, t2, t3, t4;
-drop table t1, t3, t4;
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(1),(3),(5);
-select * from t1 order by c1;
-c1
-1
-3
-5
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(100),(344),(533);
-select * from t1 order by c1;
-c1
-100
-344
-533
-alter table t1 engine=ndb;
-show tables;
-Tables_in_test
-t1
-Warnings:
-Warning 1050 Local table test.t1 shadows ndb table
-select * from t1 order by c1;
-c1
-100
-344
-533
-drop table t1;
-select * from t1 order by c1;
-c1
-1
-3
-5
-drop table t1;
diff --git a/mysql-test/r/ndb_read_multi_range.result b/mysql-test/r/ndb_read_multi_range.result
deleted file mode 100644
index d18f4c1e65a..00000000000
--- a/mysql-test/r/ndb_read_multi_range.result
+++ /dev/null
@@ -1,426 +0,0 @@
-DROP TABLE IF EXISTS t1, t2, r1;
-create table t1 (
-a int primary key,
-b int not null,
-c int not null,
-index(b), unique index using hash(c)
-) engine = ndb;
-insert into t1 values
-(1,2,1),(2,3,2),(3,4,3),(4,5,4),
-(5,2,12),(6,3,11),(7,4,10),(8,5,9),
-(9,2,8),(10,3,7),(11,4,6),(12,5,5);
-create table r1 as select * from t1 where a in (2,8,12);
-select * from r1 order by a;
-a b c
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where b in (1,2,5);
-select * from r1 order by a;
-a b c
-1 2 1
-4 5 4
-5 2 12
-8 5 9
-9 2 8
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where c in (2,8,12);
-select * from r1 order by a;
-a b c
-2 3 2
-5 2 12
-9 2 8
-drop table r1;
-create table r1 as select * from t1 where a in (2,8) or (a > 11) or (a <= 1);
-select * from r1 order by a;
-a b c
-1 2 1
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where a in (33,8,12);
-select * from r1 order by a;
-a b c
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where a in (2,33,8,12,34);
-select * from r1 order by a;
-a b c
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where b in (1,33,5);
-select * from r1 order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-drop table r1;
-select * from t1 where b in (1,33,5) order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-create table r1 as select * from t1 where b in (45,1,33,5,44);
-select * from r1 order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-drop table r1;
-select * from t1 where b in (45,22) order by a;
-a b c
-create table r1 as select * from t1 where c in (2,8,33);
-select * from r1 order by a;
-a b c
-2 3 2
-9 2 8
-drop table r1;
-create table r1 as select * from t1 where c in (13,2,8,33,12);
-select * from r1 order by a;
-a b c
-2 3 2
-5 2 12
-9 2 8
-drop table r1;
-select * from t1 where a in (33,8,12) order by a;
-a b c
-8 5 9
-12 5 5
-select * from t1 where a in (33,34,35) order by a;
-a b c
-select * from t1 where a in (2,8) or (a > 11) or (a <= 1) order by a;
-a b c
-1 2 1
-2 3 2
-8 5 9
-12 5 5
-select * from t1 where b in (6,7) or (b <= 5) or (b >= 10) order by b,a;
-a b c
-1 2 1
-5 2 12
-9 2 8
-2 3 2
-6 3 11
-10 3 7
-3 4 3
-7 4 10
-11 4 6
-4 5 4
-8 5 9
-12 5 5
-select * from t1 where c in (13,2,8,33,12) order by c,a;
-a b c
-2 3 2
-9 2 8
-5 2 12
-drop table t1;
-create table t1 (
-a int not null,
-b int not null,
-c int not null,
-d int not null,
-e int not null,
-primary key (a,b,c,d), index (d)
-) engine = ndb;
-insert into t1 values
-(1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),
-(5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),
-(9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),
-(1,2,1,2,1),
-(1,2,1,3,1),
-(1,2,1,4,1),
-(1,2,1,5,1);
-create table r1 as select * from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2);
-select * from r1 order by a,b,c,d;
-a b c d e
-1 2 1 1 1
-1 2 1 2 1
-1 2 1 3 1
-1 2 1 4 1
-drop table r1;
-update t1 set e = 100
-where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-a b c d e
-4 5 4 7 100
-5 2 12 12 100
-9 2 8 6 100
-select * from t1 where d not in (12,6,7) and e = 100;
-a b c d e
-update t1
-set e = 101
-where a=1 and
-b=2 and
-c=1 and
-d in (1,4,3,2);
-select *
-from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2)
-order by a,b,c,d;
-a b c d e
-1 2 1 1 101
-1 2 1 2 101
-1 2 1 3 101
-1 2 1 4 101
-select *
-from t1
-where not (a=1 and b=2 and c=1 and d in (1,4,3,2))
-and e=101;
-a b c d e
-update t1
-set e =
-(case d
-when 12 then 112
-when 6 then 106
-when 7 then 107
-end)
-where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-a b c d e
-4 5 4 7 107
-5 2 12 12 112
-9 2 8 6 106
-update t1
-set e =
-(case d
-when 1 then 111
-when 4 then 444
-when 3 then 333
-when 2 then 222
-end)
-where a=1 and
-b=2 and
-c=1 and
-d in (1,4,3,2);
-select *
-from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2)
-order by a,b,c,d;
-a b c d e
-1 2 1 1 111
-1 2 1 2 222
-1 2 1 3 333
-1 2 1 4 444
-delete from t1 where d in (12,6,7);
-select * from t1 where d in (12,6,7);
-a b c d e
-drop table t1;
-create table t1 (
-a int not null primary key,
-b int,
-c int,
-d int,
-unique index (b),
-index(c)
-) engine = ndb;
-insert into t1 values
-(1,null,1,1),
-(2,2,2,2),
-(3,null,null,3),
-(4,4,null,4),
-(5,null,5,null),
-(6,6,6,null),
-(7,null,null,null),
-(8,8,null,null),
-(9,null,9,9),
-(10,10,10,10),
-(11,null,null,11),
-(12,12,null,12),
-(13,null,13,null),
-(14,14,14,null),
-(15,null,null,null),
-(16,16,null,null);
-create table t2 as select * from t1 where a in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-5 NULL 5 NULL
-6 6 6 NULL
-7 NULL NULL NULL
-8 8 NULL NULL
-9 NULL 9 9
-10 10 10 10
-drop table t2;
-create table t2 as select * from t1 where b in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-6 6 6 NULL
-8 8 NULL NULL
-10 10 10 10
-drop table t2;
-create table t2 as select * from t1 where c in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-5 NULL 5 NULL
-6 6 6 NULL
-9 NULL 9 9
-10 10 10 10
-drop table t2;
-drop table t1;
-CREATE TABLE t1 (
-a int(11) NOT NULL,
-b int(11) NOT NULL,
-c datetime default NULL,
-PRIMARY KEY (a),
-KEY idx_bc (b,c)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES
-(406989,67,'2006-02-23 17:08:46'), (150078,67,'2005-10-26 11:17:45'),
-(406993,67,'2006-02-27 11:20:57'), (245655,67,'2005-12-08 15:59:08'),
-(406994,67,'2006-02-27 11:26:46'), (256,67,NULL),
-(398341,67,'2006-02-20 04:48:44'), (254,67,NULL),(1120,67,NULL),
-(406988,67,'2006-02-23 17:07:22'), (255,67,NULL),
-(398340,67,'2006-02-20 04:38:53'),(406631,67,'2006-02-23 10:49:42'),
-(245653,67,'2005-12-08 15:59:07'),(406992,67,'2006-02-24 16:47:18'),
-(245654,67,'2005-12-08 15:59:08'),(406995,67,'2006-02-28 11:55:00'),
-(127261,67,'2005-10-13 12:17:58'),(406991,67,'2006-02-24 16:42:32'),
-(245652,67,'2005-12-08 15:58:27'),(398545,67,'2006-02-20 04:53:13'),
-(154504,67,'2005-10-28 11:53:01'),(9199,67,NULL),(1,67,'2006-02-23 15:01:35'),
-(223456,67,NULL),(4101,67,NULL),(1133,67,NULL),
-(406990,67,'2006-02-23 18:01:45'),(148815,67,'2005-10-25 15:34:17'),
-(148812,67,'2005-10-25 15:30:01'),(245651,67,'2005-12-08 15:58:27'),
-(154503,67,'2005-10-28 11:52:38');
-create table t11 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 asc;
-create table t12 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 desc;
-create table t21 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 asc;
-create table t22 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 desc;
-select * from t11 order by 1,2,3;
-a b c
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-select * from t12 order by 1,2,3;
-a b c
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-select * from t21 order by 1,2,3;
-a b c
-1 67 2006-02-23 15:01:35
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-245651 67 2005-12-08 15:58:27
-245652 67 2005-12-08 15:58:27
-245653 67 2005-12-08 15:59:07
-245654 67 2005-12-08 15:59:08
-245655 67 2005-12-08 15:59:08
-398340 67 2006-02-20 04:38:53
-398341 67 2006-02-20 04:48:44
-398545 67 2006-02-20 04:53:13
-406631 67 2006-02-23 10:49:42
-406988 67 2006-02-23 17:07:22
-406989 67 2006-02-23 17:08:46
-406990 67 2006-02-23 18:01:45
-406991 67 2006-02-24 16:42:32
-406992 67 2006-02-24 16:47:18
-406993 67 2006-02-27 11:20:57
-406994 67 2006-02-27 11:26:46
-406995 67 2006-02-28 11:55:00
-select * from t22 order by 1,2,3;
-a b c
-1 67 2006-02-23 15:01:35
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-245651 67 2005-12-08 15:58:27
-245652 67 2005-12-08 15:58:27
-245653 67 2005-12-08 15:59:07
-245654 67 2005-12-08 15:59:08
-245655 67 2005-12-08 15:59:08
-398340 67 2006-02-20 04:38:53
-398341 67 2006-02-20 04:48:44
-398545 67 2006-02-20 04:53:13
-406631 67 2006-02-23 10:49:42
-406988 67 2006-02-23 17:07:22
-406989 67 2006-02-23 17:08:46
-406990 67 2006-02-23 18:01:45
-406991 67 2006-02-24 16:42:32
-406992 67 2006-02-24 16:47:18
-406993 67 2006-02-27 11:20:57
-406994 67 2006-02-27 11:26:46
-406995 67 2006-02-28 11:55:00
-DROP TABLE t1, t11, t12, t21, t22;
-CREATE TABLE t1 (id varchar(255) NOT NULL,
-tag int(11) NOT NULL,
-doc text NOT NULL,
-type varchar(150) NOT NULL,
-modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (id)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES ('sakila',1,'Some text goes here','text',CURRENT_TIMESTAMP);
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','orka');
-id tag doc type
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','sakila');
-id tag doc type
-sakila 1 Some text goes here text
-DROP TABLE t1;
-CREATE TABLE t1 (
-var1 int(2) NOT NULL,
-var2 int(2) NOT NULL,
-PRIMARY KEY (var1)
-) ENGINE=ndbcluster DEFAULT CHARSET=ascii CHECKSUM=1;
-CREATE TABLE t2 (
-var1 int(2) NOT NULL,
-var2 int(2) NOT NULL,
-PRIMARY KEY (var1)
-) ENGINE=MyISAM DEFAULT CHARSET=ascii CHECKSUM=1;
-CREATE TRIGGER testtrigger
-AFTER UPDATE ON t1 FOR EACH ROW BEGIN
-REPLACE INTO t2 SELECT * FROM t1 WHERE t1.var1 = NEW.var1;END|
-INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
-UPDATE t1 SET var2 = 9 WHERE var1 IN(1,2,3);
-DROP TRIGGER testtrigger;
-DROP TABLE t1, t2;
-create table t2 (a int, b int, primary key (a), key ab (a,b)) engine=ndbcluster;
-insert into t2 values (1,1), (10,10);
-select * from t2 use index (ab) where a in(1,10) order by a;
-a b
-1 1
-10 10
-drop table 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/r/ndb_rename.result b/mysql-test/r/ndb_rename.result
deleted file mode 100644
index cacef136311..00000000000
--- a/mysql-test/r/ndb_rename.result
+++ /dev/null
@@ -1,14 +0,0 @@
-DROP TABLE IF EXISTS t1,t2;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10),
-INDEX i1(attr1)
-) ENGINE=ndbcluster;
-alter table t1 rename t2;
-create database ndbtest;
-alter table t2 rename ndbtest.t2;
-drop table ndbtest.t2;
-drop database ndbtest;
diff --git a/mysql-test/r/ndb_replace.result b/mysql-test/r/ndb_replace.result
deleted file mode 100644
index 4d63c397d60..00000000000
--- a/mysql-test/r/ndb_replace.result
+++ /dev/null
@@ -1,99 +0,0 @@
-drop table if exists t1,t2;
-CREATE TABLE t1 (
-gesuchnr int(11) DEFAULT '0' NOT NULL,
-benutzer_id int(11) DEFAULT '0' NOT NULL,
-PRIMARY KEY (gesuchnr,benutzer_id)
-) engine=ndbcluster;
-replace into t1 (gesuchnr,benutzer_id) values (2,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-insert into t1 (gesuchnr, benutzer_id) value (3,2);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-insert into t1 (gesuchnr,benutzer_id) values (1,1);
-ERROR 23000: Duplicate entry '1-1' for key 1
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-select * from t1 order by gesuchnr;
-gesuchnr benutzer_id
-1 1
-2 1
-3 2
-drop table t1;
-CREATE TABLE t1(i INT PRIMARY KEY AUTO_INCREMENT,
-j INT,
-k INT,
-UNIQUE INDEX(j)
-) ENGINE = ndb;
-INSERT INTO t1 VALUES (1,1,23),(2,2,24);
-REPLACE INTO t1 (j,k) VALUES (1,42);
-REPLACE INTO t1 (i,j) VALUES (17,2);
-SELECT * from t1 ORDER BY i;
-i j k
-3 1 42
-17 2 NULL
-DROP TABLE t1;
-CREATE TABLE t2 (a INT(11) NOT NULL,
-b INT(11) NOT NULL,
-c INT(11) NOT NULL,
-x TEXT,
-y TEXT,
-z TEXT,
-id INT(10) unsigned NOT NULL AUTO_INCREMENT,
-i INT(11) DEFAULT NULL,
-PRIMARY KEY (id),
-UNIQUE KEY a (a,b,c)
-) ENGINE=ndbcluster;
-REPLACE INTO t2 (a,b,c,x,y,z,i) VALUES (1,1,1,'a','a','a',1),(1,1,1,'b','b','b',2), (1,1,1,'c','c','c',3);
-SELECT * FROM t2 ORDER BY id;
-a b c x y z id i
-1 1 1 c c c 3 3
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'a','a','a',1);
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'b','b','b',2);
-SELECT * FROM t2 ORDER BY id;
-a b c x y z id i
-1 1 1 b b b 5 2
-DROP TABLE t2;
-drop table if exists t1;
-create table t1 (pk int primary key, apk int unique, data int) engine=ndbcluster;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (4, 1), (5, 2);
-select * from t1 order by pk;
-pk apk data
-3 3 3
-4 1 NULL
-5 2 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (1, 4), (2, 5);
-select * from t1 order by pk;
-pk apk data
-1 4 NULL
-2 5 NULL
-3 3 3
-delete from t1;
-insert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);
-load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-pk apk data
-1 1 1
-3 4 NULL
-5 6 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (3, 3, 3), (5, 5, 5);
-load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-pk apk data
-1 1 1
-3 4 NULL
-5 6 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) select 4, 1;
-replace into t1 (pk, apk) select 2, 4;
-select * from t1 order by pk;
-pk apk data
-2 4 NULL
-3 3 3
-4 1 NULL
-drop table t1;
-End of 5.0 tests.
diff --git a/mysql-test/r/ndb_restore.result b/mysql-test/r/ndb_restore.result
deleted file mode 100644
index 9faac2df0a4..00000000000
--- a/mysql-test/r/ndb_restore.result
+++ /dev/null
@@ -1,286 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-CREATE TABLE `t1_c` (
-`capgoaledatta` mediumint(5) unsigned NOT NULL auto_increment,
-`goaledatta` char(2) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(400,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3000,'20','threetrees.qt');
-CREATE TABLE `t2_c` (
-`capgotod` smallint(5) unsigned NOT NULL auto_increment,
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`goaledatta` char(2) default NULL,
-`maturegarbagefa` varchar(32) default NULL,
-`descrpooppo` varchar(64) default NULL,
-`svcutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capgotod`),
-KEY `i quadaddsvr` (`gotod`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2_c` VALUES (500,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
-CREATE TABLE `t3_c` (
-`CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
-`capgotod` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capgotod`,`CapGoaledatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
-CREATE TABLE `t4_c` (
-`capfa` bigint(20) unsigned NOT NULL auto_increment,
-`realm` varchar(32) NOT NULL default '',
-`authpwchap` varchar(32) default NULL,
-`fa` varchar(32) NOT NULL default '',
-`payyingatta` tinyint(4) NOT NULL default '0',
-`status` char(1) default NULL,
-PRIMARY KEY (`fa`,`realm`),
-KEY `capfa` (`capfa`),
-KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(2200,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32000,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(290000000,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL);
-CREATE TABLE `t5_c` (
-`capfa` bigint(20) unsigned NOT NULL default '0',
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`orderutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
-CREATE TABLE `t6_c` (
-`capfa_parent` bigint(20) unsigned NOT NULL default '0',
-`capfa_child` bigint(20) unsigned NOT NULL default '0',
-`relatta` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-CREATE TABLE `t7_c` (
-`dardpo` char(15) NOT NULL default '',
-`dardtestard` tinyint(3) unsigned NOT NULL auto_increment,
-`FastFA` char(5) NOT NULL default '',
-`FastCode` char(6) NOT NULL default '',
-`Fastca` char(1) NOT NULL default '',
-`Fastmag` char(1) NOT NULL default '',
-`Beareratta` char(2) NOT NULL default '',
-PRIMARY KEY (`dardpo`,`dardtestard`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-CREATE TABLE `t8_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`aaaproxysessfa` varchar(255) default NULL,
-`autologonallowed` char(1) default NULL,
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`acctoutputoctets` bigint(20) unsigned default NULL,
-`acctinputoctets` bigint(20) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
-KEY `squardporoot` (`squardporoot`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-CREATE TABLE `t9_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`actcoutpuocttets` bigint(20) unsigned default NULL,
-`actinputocctets` bigint(20) unsigned default NULL,
-`terminateraste` tinyint(3) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-create table t10_c (a int auto_increment key) ENGINE=ndbcluster;
-insert into t10_c values (1),(2),(3);
-insert into t10_c values (10000),(2000),(3000);
-create table t1 engine=myisam as select * from t1_c;
-create table t2 engine=myisam as select * from t2_c;
-create table t3 engine=myisam as select * from t3_c;
-create table t4 engine=myisam as select * from t4_c;
-create table t5 engine=myisam as select * from t5_c;
-create table t6 engine=myisam as select * from t6_c;
-create table t7 engine=myisam as select * from t7_c;
-create table t8 engine=myisam as select * from t8_c;
-create table t9 engine=myisam as select * from t9_c;
-create table t10 engine=myisam as select * from t10_c;
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM test.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-SELECT @the_backup_id:=backup_id FROM test.backup_info;
-@the_backup_id:=backup_id
-<the_backup_id>
-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;
-show tables;
-Tables_in_test
-t1
-t10
-t2
-t3
-t4
-t5
-t6
-t7
-t8
-t9
-t3_c
-t9_c
-t1_c
-t8_c
-t7_c
-t6_c
-t5_c
-t4_c
-t10_c
-t2_c
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-6
-select count(*) from t2_c;
-count(*)
-6
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-6
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-select * from t10_c order by a;
-a
-1
-2
-3
-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
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9, t10;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c, t10_c;
-520093696,<the_backup_id>
diff --git a/mysql-test/r/ndb_restore_different_endian_data.result b/mysql-test/r/ndb_restore_different_endian_data.result
deleted file mode 100644
index e1efefb751a..00000000000
--- a/mysql-test/r/ndb_restore_different_endian_data.result
+++ /dev/null
@@ -1,200 +0,0 @@
-USE test;
-DROP TABLE IF EXISTS t_num,t_datetime,t_string_1,t_string_2,t_gis;
-SHOW TABLES;
-Tables_in_test
-t_gis
-t_string_1
-t_num
-t_string_2
-t_datetime
-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_num
-t_string_2
-t_datetime
-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/r/ndb_restore_print.result b/mysql-test/r/ndb_restore_print.result
deleted file mode 100644
index e05f8e43d1a..00000000000
--- a/mysql-test/r/ndb_restore_print.result
+++ /dev/null
@@ -1,321 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-create table t1
-(pk int key
-,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
-,b1 TINYINT, b2 TINYINT UNSIGNED
-,c1 SMALLINT, c2 SMALLINT UNSIGNED
-,d1 INT, d2 INT UNSIGNED
-,e1 BIGINT, e2 BIGINT UNSIGNED
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine myisam;
-insert into t1 values
-(1
-,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
-,127, 255
-,32767, 65535
-,2147483647, 4294967295
-,9223372036854775807, 18446744073709551615
-,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
-,0x12,0x123456789abcdef0, 0x00123450
-);
-insert into t1 values
-(2
-,0, 0, 0, 0, 0
-,-128, 0
-,-32768, 0
-,-2147483648, 0
-,-9223372036854775808, 0
-,'','',''
- ,'','',''
- ,0x0,0x0,0x0
-,0x0,0x0,0x0
-);
-insert into t1 values
-(3
-,NULL,NULL,NULL,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-);
-select pk
-,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
-,b1, b2
-,c1 , c2
-,d1 , d2
-,e1 , e2
-,f1 , f2, f3
-,g1 , g2, g3
-,hex(h1), hex(h2), hex(h3)
-,hex(i1), hex(i2), hex(i3)
-from t1 order by pk;
-pk 1
-hex(a1) 1
-hex(a2) 17
-hex(a3) 789A
-hex(a4) 789ABCDE
-hex(a5) FEDC0001
-b1 127
-b2 255
-c1 32767
-c2 65535
-d1 2147483647
-d2 4294967295
-e1 9223372036854775807
-e2 18446744073709551615
-f1 1
-f2 12345678901234567890123456789012
-f3 123456789
-g1 1
-g2 12345678901234567890123456789012
-g3 123456789
-hex(h1) 12
-hex(h2) 123456789ABCDEF0
-hex(h3) 012345000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 12
-hex(i2) 123456789ABCDEF0
-hex(i3) 00123450
-pk 2
-hex(a1) 0
-hex(a2) 0
-hex(a3) 0
-hex(a4) 0
-hex(a5) 0
-b1 -128
-b2 0
-c1 -32768
-c2 0
-d1 -2147483648
-d2 0
-e1 -9223372036854775808
-e2 0
-f1
-f2
-f3
-g1
-g2
-g3
-hex(h1) 00
-hex(h2) 0000000000000000
-hex(h3) 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 00
-hex(i2) 00
-hex(i3) 00
-pk 3
-hex(a1) NULL
-hex(a2) NULL
-hex(a3) NULL
-hex(a4) NULL
-hex(a5) NULL
-b1 NULL
-b2 NULL
-c1 NULL
-c2 NULL
-d1 NULL
-d2 NULL
-e1 NULL
-e2 NULL
-f1 NULL
-f2 NULL
-f3 NULL
-g1 NULL
-g2 NULL
-g3 NULL
-hex(h1) NULL
-hex(h2) NULL
-hex(h3) NULL
-hex(i1) NULL
-hex(i2) NULL
-hex(i3) NULL
-alter table t1 engine ndb;
-select pk
-,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
-,b1, b2
-,c1 , c2
-,d1 , d2
-,e1 , e2
-,f1 , f2, f3
-,g1 , g2, g3
-,hex(h1), hex(h2), hex(h3)
-,hex(i1), hex(i2), hex(i3)
-from t1 order by pk;
-pk 1
-hex(a1) 1
-hex(a2) 17
-hex(a3) 789A
-hex(a4) 789ABCDE
-hex(a5) FEDC0001
-b1 127
-b2 255
-c1 32767
-c2 65535
-d1 2147483647
-d2 4294967295
-e1 9223372036854775807
-e2 18446744073709551615
-f1 1
-f2 12345678901234567890123456789012
-f3 123456789
-g1 1
-g2 12345678901234567890123456789012
-g3 123456789
-hex(h1) 12
-hex(h2) 123456789ABCDEF0
-hex(h3) 012345000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 12
-hex(i2) 123456789ABCDEF0
-hex(i3) 00123450
-pk 2
-hex(a1) 0
-hex(a2) 0
-hex(a3) 0
-hex(a4) 0
-hex(a5) 0
-b1 -128
-b2 0
-c1 -32768
-c2 0
-d1 -2147483648
-d2 0
-e1 -9223372036854775808
-e2 0
-f1
-f2
-f3
-g1
-g2
-g3
-hex(h1) 00
-hex(h2) 0000000000000000
-hex(h3) 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 00
-hex(i2) 00
-hex(i3) 00
-pk 3
-hex(a1) NULL
-hex(a2) NULL
-hex(a3) NULL
-hex(a4) NULL
-hex(a5) NULL
-b1 NULL
-b2 NULL
-c1 NULL
-c2 NULL
-d1 NULL
-d2 NULL
-e1 NULL
-e2 NULL
-f1 NULL
-f2 NULL
-f3 NULL
-g1 NULL
-g2 NULL
-g3 NULL
-hex(h1) NULL
-hex(h2) NULL
-hex(h3) NULL
-hex(i1) NULL
-hex(i2) NULL
-hex(i3) NULL
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM test.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-SELECT @the_backup_id:=backup_id FROM test.backup_info;
-@the_backup_id:=backup_id
-<the_backup_id>
-DROP TABLE test.backup_info;
-1;0x1;0x17;0x789A;0x789ABCDE;0xFEDC0001;127;255;32767;65535;2147483647;4294967295;9223372036854775807;18446744073709551615;1;12345678901234567890123456789012;123456789;1;12345678901234567890123456789012;123456789;0x12;0x123456789ABCDEF0;0x012345;0x12;0x123456789ABCDEF0;0x00123450
-2;0x0;0x0;0x0;0x0;0x0;-128;0;-32768;0;-2147483648;0;-9223372036854775808;0;;;;;;;0x0;0x0;0x0;0x0;0x0;0x0
-3;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N
-1,0x1,0x17,0x789A,0x789ABCDE,0xFEDC0001,127,255,32767,65535,2147483647,4294967295,9223372036854775807,18446744073709551615,'1','12345678901234567890123456789012','123456789','1','12345678901234567890123456789012','123456789',0x12,0x123456789ABCDEF0,0x012345,0x12,0x123456789ABCDEF0,0x00123450
-2,0x0,0x0,0x0,0x0,0x0,-128,0,-32768,0,-2147483648,0,-9223372036854775808,0,'','','','','','',0x0,0x0,0x0,0x0,0x0,0x0
-3,,,,,,,,,,,,,,,,,,,,,,,,,
-drop table t1;
-create table t1
-(pk int key
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(9), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine ndb;
-insert into t1 values
-(1
-,'1','12345678901234567890123456789012','123456789 '
- ,'1 ','12345678901234567890123456789012 ','123456789 '
- ,0x20,0x123456789abcdef020, 0x012345000020
-,0x1200000020,0x123456789abcdef000000020, 0x00123450000020
-);
-create table t2 (pk int key, a int) engine ndb;
-create table t3 (pk int key, a int) engine ndb;
-create table t4 (pk int key, a int) engine ndb;
-insert into t2 values (1,11),(2,12),(3,13),(4,14),(5,15);
-insert into t3 values (1,21),(2,22),(3,23),(4,24),(5,25);
-insert into t4 values (1,31),(2,32),(3,33),(4,34),(5,35);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM test.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-SELECT @the_backup_id:=backup_id FROM test.backup_info;
-@the_backup_id:=backup_id
-<the_backup_id>
-DROP TABLE test.backup_info;
-'1' '1' '12345678901234567890123456789012' '123456789' '1' '12345678901234567890123456789012' '123456789' '0x20' '0x123456789ABCDEF020' '0x012345000020' '0x1200000020' '0x123456789ABCDEF000000020' '0x00123450000020'
-
-t1
---
-1 1 12345678901234567890123456789012 123456789 1 12345678901234567890123456789012 123456789 0x20 0x123456789ABCDEF020 0x012345000020 0x1200000020 0x123456789ABCDEF000000020 0x00123450000020
-
-t2
---
-1 11
-2 12
-3 13
-4 14
-5 15
-
-t3
---
-1 21
-2 22
-3 23
-4 24
-5 25
-
-t4
---
-1 31
-2 32
-3 33
-4 34
-5 35
-drop table t1;
-create table t1
-(pk int key
-,a1 MEDIUMINT, a2 MEDIUMINT UNSIGNED
-) engine ndb;
-insert into t1 values(1, 8388607, 16777215);
-insert into t1 values(2, -8388608, 0);
-insert into t1 values(3, -1, 1);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM test.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-SELECT @the_backup_id:=backup_id FROM test.backup_info;
-@the_backup_id:=backup_id
-<the_backup_id>
-DROP TABLE test.backup_info;
-1;8388607;16777215
-2;-8388608;0
-3;-1;1
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
diff --git a/mysql-test/r/ndb_single_user.result b/mysql-test/r/ndb_single_user.result
deleted file mode 100644
index 4606a47dde2..00000000000
--- a/mysql-test/r/ndb_single_user.result
+++ /dev/null
@@ -1,60 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-create table t1 (a int key, b int unique, c int) engine ndb;
-ERROR HY000: Can't create table './test/t1.frm' (errno: 299)
-create table t1 (a int key, b int unique, c int) engine ndb;
-insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0);
-create table t2 as select * from t1;
-select * from t1 where a = 1;
-a b c
-1 1 0
-select * from t1 where b = 4;
-a b c
-4 4 0
-select * from t1 where a > 4 order by a;
-a b c
-5 5 0
-6 6 0
-7 7 0
-8 8 0
-9 9 0
-10 10 0
-update t1 set b=102 where a = 2;
-update t1 set b=103 where b = 3;
-update t1 set b=b+100;
-update t1 set b=b+100 where a > 7;
-delete from t1;
-insert into t1 select * from t2;
-create unique index new_index on t1 (b,c);
-drop table t1;
-ERROR 42S02: Unknown table 't1'
-create index new_index_fail on t1 (c);
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-insert into t1 values (21,21,0),(22,22,0),(23,23,0),(24,24,0),(25,25,0),(26,26,0),(27,27,0),(28,28,0),(29,29,0),(210,210,0);
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-select * from t1 where a = 1;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-select * from t1 where b = 4;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-update t1 set b=102 where a = 2;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-update t1 set b=103 where b = 3;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-update t1 set b=b+100;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-update t1 set b=b+100 where a > 7;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-BEGIN;
-update t1 set b=b+100 where a=1;
-BEGIN;
-update t1 set b=b+100 where a=2;
-update t1 set b=b+100 where a=3;
-COMMIT;
-update t1 set b=b+100 where a=4;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from ndbcluster
-COMMIT;
-ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
-create table t2 (a int) engine myisam;
-alter table t2 add column (b int);
-drop table t2;
-drop table t1;
diff --git a/mysql-test/r/ndb_subquery.result b/mysql-test/r/ndb_subquery.result
deleted file mode 100644
index a67efb144b2..00000000000
--- a/mysql-test/r/ndb_subquery.result
+++ /dev/null
@@ -1,61 +0,0 @@
-drop table if exists t1;
-drop table if exists t2;
-create table t1 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-create table t2 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-insert into t1 values (1,1,1),(2,2,2),(3,3,3);
-insert into t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
-explain select * from t2 where p NOT IN (select p from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
-2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1
-select * from t2 where p NOT IN (select p from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select u from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
-2 DEPENDENT SUBQUERY t1 unique_subquery u u 4 func 1
-select * from t2 where p NOT IN (select u from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select o from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
-2 DEPENDENT SUBQUERY t1 index_subquery o o 4 func 1
-select * from t2 where p NOT IN (select o from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select p+0 from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where
-select * from t2 where p NOT IN (select p+0 from t1) order by p;
-p u o
-4 4 4
-5 5 5
-drop table t1;
-drop table t2;
-create table t1 (p int not null primary key, u int not null) engine=ndb;
-insert into t1 values (1,1),(2,2),(3,3);
-create table t2 as
-select t1.*
-from t1 as t1, t1 as t2, t1 as t3, t1 as t4, t1 as t5, t1 as t6, t1 as t7, t1 as t8
-where t1.u = t2.u
-and t2.u = t3.u
-and t3.u = t4.u
-and t4.u = t5.u
-and t5.u = t6.u
-and t6.u = t7.u
-and t7.u = t8.u;
-select * from t2 order by 1;
-p u
-1 1
-2 2
-3 3
-drop table t1;
-drop table t2;
diff --git a/mysql-test/r/ndb_transaction.result b/mysql-test/r/ndb_transaction.result
deleted file mode 100644
index 691b91b1d36..00000000000
--- a/mysql-test/r/ndb_transaction.result
+++ /dev/null
@@ -1,257 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-rollback;
-select count(*) from t1;
-count(*)
-0
-select * from t1 where pk1 = 1;
-pk1 attr1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-begin;
-update t1 set attr1 = attr1 * 2;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-rollback;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-begin;
-update t1 set attr1 = attr1 * 2;
-commit;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-begin;
-delete from t1 where attr1 = 2;
-select count(*) from t1;
-count(*)
-1
-select * from t1 where pk1 = 1;
-pk1 attr1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-rollback;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-begin;
-delete from t1 where attr1 = 2;
-commit;
-select count(*) from t1;
-count(*)
-1
-select * from t1 where pk1 = 1;
-pk1 attr1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-DROP TABLE t1;
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 1;
-id id2
-1 1
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-2
-rollback;
-select sum(id) from t1;
-sum(id)
-NULL
-select * from t1 where id = 1;
-id id2
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 1;
-id id2
-1 1
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-2
-begin;
-update t1 set id = id * 2;
-select sum(id) from t1;
-sum(id)
-6
-select * from t1 where id = 2;
-id id2
-2 1
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-4 2 2 1
-rollback;
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 2;
-id id2
-2 2
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-begin;
-update t1 set id = id * 2;
-commit;
-select sum(id) from t1;
-sum(id)
-6
-select * from t1 where id = 2;
-id id2
-2 1
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-4 2 2 1
-DROP TABLE t1;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-CREATE TABLE t3 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned,
-PRIMARY KEY(a)
-) engine=ndbcluster;
-CREATE TABLE t4 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-select count(*) from t2;
-count(*)
-0
-select count(*) from t3;
-count(*)
-0
-select count(*) from t4;
-count(*)
-0
-select count(*) from t2;
-count(*)
-100
-select count(*) from t3;
-count(*)
-100
-select count(*) from t4;
-count(*)
-100
-begin;
-begin;
-drop table t2;
-drop table t3;
-drop table t4;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-create database mysqltest;
-use mysqltest;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-begin;
-insert into test.t1 values(1,1);
-insert into t2 values(1,1,1);
-insert into test.t1 values(2,2);
-insert into t2 values(2,2,2);
-select count(*) from test.t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-2
-select * from test.t1 where pk1 = 1;
-pk1 attr1
-1 1
-select * from t2 where a = 1;
-a b c
-1 1 1
-select test.t1.attr1
-from test.t1, test.t1 as t1x where test.t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-select t2.a
-from t2, t2 as t2x where t2.a = t2x.a + 1;
-a
-2
-select test.t1.pk1, a from test.t1,t2 where b > test.t1.attr1;
-pk1 a
-1 2
-rollback;
-select count(*) from test.t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-drop table test.t1, t2;
-drop database mysqltest;
diff --git a/mysql-test/r/ndb_trigger.result b/mysql-test/r/ndb_trigger.result
deleted file mode 100644
index 562c5120715..00000000000
--- a/mysql-test/r/ndb_trigger.result
+++ /dev/null
@@ -1,290 +0,0 @@
-drop table if exists t1, t2, t3;
-create table t1 (id int primary key, a int not null, b decimal (63,30) default 0) engine=ndb;
-create table t2 (op char(1), a int not null, b decimal (63,30));
-create table t3 select 1 as i;
-create trigger t1_bu before update on t1 for each row
-begin
-insert into t2 values ("u", old.a, old.b);
-set new.b = old.b + 10;
-end;//
-create trigger t1_bd before delete on t1 for each row
-begin
-insert into t2 values ("d", old.a, old.b);
-end;//
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (3, 3, 3.05), (4, 4, 4.05);
-update t1 set a=5 where a != 3;
-select * from t1 order by id;
-id a b
-1 5 11.050000000000000000000000000000
-2 5 12.050000000000000000000000000000
-3 3 3.050000000000000000000000000000
-4 5 14.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 1 1.050000000000000000000000000000
-u 2 2.050000000000000000000000000000
-u 4 4.050000000000000000000000000000
-delete from t2;
-update t1, t3 set a=6 where a = 5;
-select * from t1 order by id;
-id a b
-1 6 21.050000000000000000000000000000
-2 6 22.050000000000000000000000000000
-3 3 3.050000000000000000000000000000
-4 6 24.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 5 11.050000000000000000000000000000
-u 5 12.050000000000000000000000000000
-u 5 14.050000000000000000000000000000
-delete from t2;
-delete from t1 where a != 3;
-select * from t1 order by id;
-id a b
-3 3 3.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 6 21.050000000000000000000000000000
-d 6 22.050000000000000000000000000000
-d 6 24.050000000000000000000000000000
-delete from t2;
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (4, 4, 4.05);
-delete t1 from t1, t3 where a != 3;
-select * from t1 order by id;
-id a b
-3 3 3.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 2 2.050000000000000000000000000000
-d 4 4.050000000000000000000000000000
-delete from t2;
-insert into t1 values (4, 4, 4.05);
-insert into t1 (id, a) values (4, 1), (3, 1) on duplicate key update a= a + 1;
-select * from t1 order by id;
-id a b
-3 4 13.050000000000000000000000000000
-4 5 14.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 3 3.050000000000000000000000000000
-u 4 4.050000000000000000000000000000
-delete from t2;
-delete from t3;
-insert into t3 values (4), (3);
-insert into t1 (id, a) (select i, 1 from t3) on duplicate key update a= a + 1;
-select * from t1 order by id;
-id a b
-3 5 23.050000000000000000000000000000
-4 6 24.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 4 13.050000000000000000000000000000
-u 5 14.050000000000000000000000000000
-delete from t2;
-replace into t1 (id, a) values (4, 1), (3, 1);
-select * from t1 order by id;
-id a b
-3 1 0.000000000000000000000000000000
-4 1 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 5 23.050000000000000000000000000000
-d 6 24.050000000000000000000000000000
-delete from t1;
-delete from t2;
-insert into t1 values (3, 1, 1.05), (4, 1, 2.05);
-replace into t1 (id, a) (select i, 2 from t3);
-select * from t1 order by id;
-id a b
-3 2 0.000000000000000000000000000000
-4 2 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 1 2.050000000000000000000000000000
-delete from t1;
-delete from t2;
-insert into t1 values (3, 1, 1.05), (5, 2, 2.05);
-load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (id, a);
-select * from t1 order by id;
-id a b
-3 4 0.000000000000000000000000000000
-5 6 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 2 2.050000000000000000000000000000
-drop tables t1, t2, t3;
-CREATE TABLE t1 (
-id INT NOT NULL PRIMARY KEY,
-xy INT
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (1, 0);
-CREATE TRIGGER t1_update AFTER UPDATE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id = NEW.id; END //
-CREATE TABLE t2 (
-id INT NOT NULL PRIMARY KEY,
-xy INT
-) ENGINE=ndbcluster;
-INSERT INTO t2 VALUES (2, 0);
-CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY) ENGINE=ndbcluster;
-INSERT INTO t3 VALUES (1);
-CREATE TABLE t4 LIKE t1;
-CREATE TRIGGER t4_update AFTER UPDATE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id = NEW.id; END //
-CREATE TABLE t5 LIKE t2;
-UPDATE t1 SET xy = 3 WHERE id = 1;
-SELECT xy FROM t1 where id = 1;
-xy
-3
-SELECT xy FROM t2 where id = 1;
-xy
-3
-UPDATE t1 SET xy = 4 WHERE id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-xy
-4
-SELECT xy FROM t2 where id = 1;
-xy
-4
-INSERT INTO t4 SELECT * FROM t1;
-INSERT INTO t5 SELECT * FROM t2;
-UPDATE t1,t4 SET t1.xy = 3, t4.xy = 3 WHERE t1.id = 1 AND t4.id = 1;
-SELECT xy FROM t1 where id = 1;
-xy
-3
-SELECT xy FROM t2 where id = 1;
-xy
-3
-SELECT xy FROM t4 where id = 1;
-xy
-3
-SELECT xy FROM t5 where id = 1;
-xy
-3
-UPDATE t1,t4 SET t1.xy = 4, t4.xy = 4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 1) AND t4.id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-xy
-4
-SELECT xy FROM t2 where id = 1;
-xy
-4
-SELECT xy FROM t4 where id = 1;
-xy
-4
-SELECT xy FROM t5 where id = 1;
-xy
-4
-INSERT INTO t1 VALUES (1,0) ON DUPLICATE KEY UPDATE xy = 5;
-SELECT xy FROM t1 where id = 1;
-xy
-5
-SELECT xy FROM t2 where id = 1;
-xy
-5
-DROP TRIGGER t1_update;
-DROP TRIGGER t4_update;
-CREATE TRIGGER t1_delete AFTER DELETE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id > 4; END //
-CREATE TRIGGER t4_delete AFTER DELETE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id > 4; END //
-INSERT INTO t1 VALUES (5, 0),(6,0);
-INSERT INTO t2 VALUES (5, 1),(6,1);
-INSERT INTO t3 VALUES (5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-DELETE FROM t1 WHERE id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-INSERT INTO t1 VALUES (5,0);
-UPDATE t2 SET xy = 1 WHERE id = 6;
-TRUNCATE t4;
-INSERT INTO t4 SELECT * FROM t1;
-TRUNCATE t5;
-INSERT INTO t5 SELECT * FROM t2;
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-SELECT * FROM t4 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t5 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-DELETE FROM t1,t4 USING t1,t3,t4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 5) AND t4.id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-SELECT * FROM t4 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t5 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-INSERT INTO t1 VALUES (5, 0);
-REPLACE INTO t2 VALUES (6,1);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-REPLACE INTO t1 VALUES (5, 1);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 1
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-DROP TRIGGER t1_delete;
-DROP TRIGGER t4_delete;
-DROP TABLE t1, t2, t3, t4, t5;
-End of 5.0 tests
diff --git a/mysql-test/r/ndb_truncate.result b/mysql-test/r/ndb_truncate.result
deleted file mode 100644
index 811e5e3afeb..00000000000
--- a/mysql-test/r/ndb_truncate.result
+++ /dev/null
@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (
-a bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-select count(*) from t1;
-count(*)
-5000
-select * from t1 order by a limit 2;
-a b c
-1 509 2500
-2 510 7
-truncate table t1;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(NULL,1,1),(NULL,2,2);
-select * from t1 order by a;
-a b c
-1 1 1
-2 2 2
-drop table t1;
diff --git a/mysql-test/r/ndb_types.result b/mysql-test/r/ndb_types.result
deleted file mode 100644
index ec2858d818a..00000000000
--- a/mysql-test/r/ndb_types.result
+++ /dev/null
@@ -1,76 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-auto int(5) unsigned NOT NULL auto_increment,
-string char(10) default "hello",
-vstring varchar(10) default "hello",
-bin binary(2),
-vbin varbinary(7),
-tiny tinyint(4) DEFAULT '0' NOT NULL ,
-short smallint(6) DEFAULT '1' NOT NULL ,
-medium mediumint(8) DEFAULT '0' NOT NULL,
-long_int int(11) DEFAULT '0' NOT NULL,
-longlong bigint(13) DEFAULT '0' NOT NULL,
-real_float float(13,1) DEFAULT 0.0 NOT NULL,
-real_double double(16,4),
-real_decimal decimal(16,4),
-utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
-ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
-umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
-ulong int(11) unsigned DEFAULT '0' NOT NULL,
-ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
-bits bit(3),
-options enum('one','two','tree') not null,
-flags set('one','two','tree') not null,
-date_field date,
-year_field year,
-time_field time,
-date_time datetime,
-time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-PRIMARY KEY (auto),
-KEY (utiny),
-KEY (tiny),
-KEY (short),
-KEY any_name (medium),
-KEY (longlong),
-KEY (real_float),
-KEY (ushort),
-KEY (umedium),
-KEY (ulong),
-KEY (ulonglong,ulong),
-KEY (options,flags)
-);
-set @now = now();
-insert into t1
-(string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double, real_decimal,utiny, ushort, umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time)
-values
-("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
-b'001','one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01');
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-auto string vstring bin vbin tiny short medium long_int longlong real_float real_double real_decimal utiny ushort umedium ulong ulonglong bits options flags date_field year_field time_field date_time
-1 aaaa aaaa -1 -1 -1 -1 -1 1.1 1.1000 1.1000 1 00001 1 1 1  one one 1901-01-01 1901 01:01:01 1901-01-01 01:01:01
-select time_stamp>@now from t1;
-time_stamp>@now
-1
-set @now = now();
-update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB,
-tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2,
-real_double=2.2,real_decimal=2.2,utiny=2,ushort=2,umedium=2,ulong=2,
-ulonglong=2, bits=b'010',
-options='one',flags='one', date_field='1902-02-02',year_field='1902',
-time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1;
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-auto string vstring bin vbin tiny short medium long_int longlong real_float real_double real_decimal utiny ushort umedium ulong ulonglong bits options flags date_field year_field time_field date_time
-1 bbbb bbbb -2 -2 -2 -2 -2 2.2 2.2000 2.2000 2 00002 2 2 2  one one 1902-02-02 1902 02:02:02 1902-02-02 02:02:02
-select time_stamp>@now from t1;
-time_stamp>@now
-1
-drop table t1;
-End of 4.1 tests
diff --git a/mysql-test/r/ndb_update.result b/mysql-test/r/ndb_update.result
deleted file mode 100644
index 7848a47bcef..00000000000
--- a/mysql-test/r/ndb_update.result
+++ /dev/null
@@ -1,50 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0, 1, 0),(1,2,1),(2,3,2);
-UPDATE t1 set b = c;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 2 2
-UPDATE t1 set pk1 = 4 where pk1 = 1;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = 4 where pk1 = 2;
-ERROR 23000: Duplicate entry '4' for key 1
-UPDATE IGNORE t1 set pk1 = 4 where pk1 = 2;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
-ERROR 23000: Duplicate entry '' for key 0
-UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = pk1 + 10;
-select * from t1 order by pk1;
-pk1 b c
-10 0 0
-12 2 2
-14 1 1
-create unique index ib on t1(b);
-update t1 set c = 4 where pk1 = 12;
-update ignore t1 set b = 55 where pk1 = 14;
-select * from t1 order by pk1;
-pk1 b c
-10 0 0
-12 2 4
-14 55 1
-DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/r/negation_elimination.result b/mysql-test/r/negation_elimination.result
index a7dbe0d9052..ccb8e87b714 100644
--- a/mysql-test/r/negation_elimination.result
+++ b/mysql-test/r/negation_elimination.result
@@ -384,8 +384,8 @@ NULL NULL
2 1
3 1
explain extended select a, not(not(a)), not(a <= 2 and not(a)), not(a not like "1"), not (a not in (1,2)), not(a != 2) from t1 where not(not(a)) having not(not(a));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL a 5 NULL 5 Using where; Using index
+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`
drop table t1;
diff --git a/mysql-test/r/no-threads.result b/mysql-test/r/no-threads.result
new file mode 100644
index 00000000000..aefecd0f7bc
--- /dev/null
+++ b/mysql-test/r/no-threads.result
@@ -0,0 +1,9 @@
+select 1+1;
+1+1
+2
+select 1+2;
+1+2
+3
+SHOW GLOBAL VARIABLES LIKE 'thread_handling';
+Variable_name Value
+thread_handling no-threads
diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result
index e471b5a3afa..63351d187b6 100644
--- a/mysql-test/r/not_embedded_server.result
+++ b/mysql-test/r/not_embedded_server.result
@@ -1,5 +1,5 @@
-prepare stmt1 from ' show full processlist ';
+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 NULL show full processlist
+ID USER HOST DB COMMAND TIME STATE INFO
+number root localhost test Query time preparing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!='Daemon'
deallocate prepare stmt1;
diff --git a/mysql-test/r/have_bdb.require b/mysql-test/r/not_ndb.require
index 969cd6863db..36fcf7958d4 100644
--- a/mysql-test/r/have_bdb.require
+++ b/mysql-test/r/not_ndb.require
@@ -1,2 +1,2 @@
Variable_name Value
-have_bdb YES
+have_ndbcluster NO
diff --git a/mysql-test/r/not_ndb_default.require b/mysql-test/r/not_ndb_default.require
new file mode 100644
index 00000000000..09aae1ed1d0
--- /dev/null
+++ b/mysql-test/r/not_ndb_default.require
@@ -0,0 +1,2 @@
+TRUE
+1
diff --git a/mysql-test/r/not_partition.require b/mysql-test/r/not_partition.require
new file mode 100644
index 00000000000..808242277cb
--- /dev/null
+++ b/mysql-test/r/not_partition.require
@@ -0,0 +1,2 @@
+Variable_name Value
+have_partitioning NO
diff --git a/mysql-test/r/not_partition.result b/mysql-test/r/not_partition.result
new file mode 100644
index 00000000000..9e205a09d78
--- /dev/null
+++ b/mysql-test/r/not_partition.result
@@ -0,0 +1,48 @@
+CREATE TABLE t1 (
+firstname VARCHAR(25) NOT NULL,
+lastname VARCHAR(25) NOT NULL,
+username VARCHAR(16) NOT NULL,
+email VARCHAR(35),
+joined DATE NOT NULL
+)
+PARTITION BY KEY(joined)
+PARTITIONS 6;
+ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2;
+ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+drop table t1;
+ERROR 42S02: Unknown table 't1'
+CREATE TABLE t1 (
+firstname VARCHAR(25) NOT NULL,
+lastname VARCHAR(25) NOT NULL,
+username VARCHAR(16) NOT NULL,
+email VARCHAR(35),
+joined DATE NOT NULL
+)
+PARTITION BY RANGE( YEAR(joined) ) (
+PARTITION p0 VALUES LESS THAN (1960),
+PARTITION p1 VALUES LESS THAN (1970),
+PARTITION p2 VALUES LESS THAN (1980),
+PARTITION p3 VALUES LESS THAN (1990),
+PARTITION p4 VALUES LESS THAN MAXVALUE
+);
+ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+drop table t1;
+ERROR 42S02: Unknown table 't1'
+CREATE TABLE t1 (id INT, purchased DATE)
+PARTITION BY RANGE( YEAR(purchased) )
+SUBPARTITION BY HASH( TO_DAYS(purchased) )
+SUBPARTITIONS 2 (
+PARTITION p0 VALUES LESS THAN (1990),
+PARTITION p1 VALUES LESS THAN (2000),
+PARTITION p2 VALUES LESS THAN MAXVALUE
+);
+ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
+drop table t1;
+ERROR 42S02: Unknown table 't1'
+create table t1 (a varchar(10) charset latin1 collate latin1_bin);
+insert into t1 values (''),(' '),('a'),('a '),('a ');
+explain partitions select * from t1 where a='a ' OR a='a';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 5 Using where
+drop table t1;
diff --git a/mysql-test/r/not_valgrind.require b/mysql-test/r/not_valgrind.require
new file mode 100644
index 00000000000..5d779c6bfcb
--- /dev/null
+++ b/mysql-test/r/not_valgrind.require
@@ -0,0 +1,2 @@
+using_valgrind
+0
diff --git a/mysql-test/r/not_windows.require b/mysql-test/r/not_windows.require
new file mode 100644
index 00000000000..09aae1ed1d0
--- /dev/null
+++ b/mysql-test/r/not_windows.require
@@ -0,0 +1,2 @@
+TRUE
+1
diff --git a/mysql-test/r/null.result b/mysql-test/r/null.result
index 090f41baec3..345c9b07b98 100644
--- a/mysql-test/r/null.result
+++ b/mysql-test/r/null.result
@@ -3,8 +3,8 @@ select null,\N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnull(null,1),ifnull
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
explain extended 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;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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`
select 1 | NULL,1 & NULL,1+NULL,1-NULL;
@@ -29,8 +29,8 @@ select 2 between null and 1,2 between 3 AND NULL,NULL between 1 and 2,2 between
2 between null and 1 2 between 3 AND NULL NULL between 1 and 2 2 between NULL and 3 2 between 1 AND null
0 0 NULL NULL NULL
explain extended select 2 between null and 1,2 between 3 AND NULL,NULL between 1 and 2,2 between NULL and 3, 2 between 1 AND null;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (2 between NULL and 1) AS `2 between null and 1`,(2 between 3 and NULL) AS `2 between 3 AND NULL`,(NULL between 1 and 2) AS `NULL between 1 and 2`,(2 between NULL and 3) AS `2 between NULL and 3`,(2 between 1 and NULL) AS `2 between 1 AND null`
SELECT NULL AND NULL, 1 AND NULL, NULL AND 1, NULL OR NULL, 0 OR NULL, NULL OR 0;
@@ -46,8 +46,8 @@ select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."
inet_ntoa(null) inet_aton(null) inet_aton("122.256") inet_aton("122.226.") inet_aton("")
NULL NULL NULL NULL NULL
explain extended select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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("")`
create table t1 (x int);
@@ -227,44 +227,44 @@ rpad(null, 10, 'str') as c38;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c00` binary(0) default NULL,
- `c01` varchar(6) character set latin2 default NULL,
- `c02` varchar(6) character set latin2 default NULL,
- `c03` varchar(6) character set latin2 NOT NULL default '',
- `c04` varchar(6) character set latin2 default NULL,
- `c05` varchar(6) character set latin2 default NULL,
- `c06` varchar(6) character set latin2 default NULL,
- `c07` varchar(6) character set latin2 default NULL,
- `c08` varchar(6) character set latin2 default NULL,
- `c09` varchar(6) character set latin2 default NULL,
- `c10` varchar(6) character set latin2 default NULL,
- `c11` varchar(6) character set latin2 default NULL,
- `c12` varchar(6) character set latin2 default NULL,
- `c13` varchar(6) character set latin2 default NULL,
- `c14` char(0) character set latin2 default NULL,
- `c15` char(0) character set latin2 default NULL,
- `c16` varchar(6) character set latin2 default NULL,
- `c17` varchar(6) character set latin2 default NULL,
- `c18` char(0) character set latin2 default NULL,
- `c19` varchar(6) character set latin2 default NULL,
- `c20` varchar(6) character set latin2 default NULL,
- `c21` varchar(6) character set latin2 default NULL,
- `c22` varchar(6) character set latin2 default NULL,
- `c23` varchar(9) character set latin2 default NULL,
- `c24` varchar(9) character set latin2 default NULL,
- `c25` varchar(12) character set latin2 default NULL,
- `c26` varchar(7) character set latin2 default NULL,
- `c27` varchar(7) character set latin2 default NULL,
- `c29` varchar(381) character set latin2 default NULL,
- `c30` varchar(317) character set latin2 default NULL,
- `c31` varchar(192) character set latin2 default NULL,
- `c32` char(0) character set latin2 default NULL,
- `c33` varchar(3) character set latin2 default NULL,
- `c34` varchar(3) character set latin2 default NULL,
- `c35` varchar(3) character set latin2 default NULL,
- `c36` varchar(3) character set latin2 default NULL,
- `c37` varchar(10) character set latin2 default NULL,
- `c38` varchar(10) character set latin2 default NULL
+ `c00` binary(0) DEFAULT NULL,
+ `c01` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c02` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c03` varchar(6) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `c04` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c05` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c06` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c07` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c08` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c09` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c10` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c11` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c12` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c13` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c14` char(0) CHARACTER SET latin2 DEFAULT NULL,
+ `c15` char(0) CHARACTER SET latin2 DEFAULT NULL,
+ `c16` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c17` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c18` char(0) CHARACTER SET latin2 DEFAULT NULL,
+ `c19` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c20` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c21` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c22` varchar(6) CHARACTER SET latin2 DEFAULT NULL,
+ `c23` varchar(9) CHARACTER SET latin2 DEFAULT NULL,
+ `c24` varchar(9) CHARACTER SET latin2 DEFAULT NULL,
+ `c25` varchar(12) CHARACTER SET latin2 DEFAULT NULL,
+ `c26` varchar(7) CHARACTER SET latin2 DEFAULT NULL,
+ `c27` varchar(7) CHARACTER SET latin2 DEFAULT NULL,
+ `c29` varchar(381) CHARACTER SET latin2 DEFAULT NULL,
+ `c30` varchar(317) CHARACTER SET latin2 DEFAULT NULL,
+ `c31` varchar(192) CHARACTER SET latin2 DEFAULT NULL,
+ `c32` char(0) CHARACTER SET latin2 DEFAULT NULL,
+ `c33` varchar(3) CHARACTER SET latin2 DEFAULT NULL,
+ `c34` varchar(3) CHARACTER SET latin2 DEFAULT NULL,
+ `c35` varchar(3) CHARACTER SET latin2 DEFAULT NULL,
+ `c36` varchar(3) CHARACTER SET latin2 DEFAULT NULL,
+ `c37` varchar(10) CHARACTER SET latin2 DEFAULT NULL,
+ `c38` varchar(10) CHARACTER SET latin2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select
@@ -299,23 +299,23 @@ alter table bug19145c add column (i int);
show create table bug19145a;
Table Create Table
bug19145a CREATE TABLE `bug19145a` (
- `e` enum('a','b','c') default NULL,
- `s` set('x','y','z') default NULL,
- `i` int(11) default NULL
+ `e` enum('a','b','c') DEFAULT NULL,
+ `s` set('x','y','z') DEFAULT NULL,
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create table bug19145b;
Table Create Table
bug19145b CREATE TABLE `bug19145b` (
- `e` enum('a','b','c') default NULL,
- `s` set('x','y','z') default NULL,
- `i` int(11) default NULL
+ `e` enum('a','b','c') DEFAULT NULL,
+ `s` set('x','y','z') DEFAULT NULL,
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create table bug19145c;
Table Create Table
bug19145c CREATE TABLE `bug19145c` (
- `e` enum('a','b','c') NOT NULL default 'b',
- `s` set('x','y','z') NOT NULL default 'y',
- `i` int(11) default NULL
+ `e` enum('a','b','c') NOT NULL DEFAULT 'b',
+ `s` set('x','y','z') NOT NULL DEFAULT 'y',
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table bug19145a;
drop table bug19145b;
diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result
index ad04e7304c9..4540c9d5218 100644
--- a/mysql-test/r/olap.result
+++ b/mysql-test/r/olap.result
@@ -87,8 +87,8 @@ TV 2 NULL 200
TV NULL NULL 600
NULL NULL NULL 7785
explain extended select product, country_id , year, sum(profit) from t1 group by product, country_id, year with rollup;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 15 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 15 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`product` AS `product`,`test`.`t1`.`country_id` AS `country_id`,`test`.`t1`.`year` AS `year`,sum(`test`.`t1`.`profit`) AS `sum(profit)` from `test`.`t1` group by `test`.`t1`.`product`,`test`.`t1`.`country_id`,`test`.`t1`.`year` with rollup
select product, country_id , sum(profit) from t1 group by product desc, country_id with rollup;
diff --git a/mysql-test/r/one_thread_per_connection.require b/mysql-test/r/one_thread_per_connection.require
new file mode 100644
index 00000000000..b2efbca6441
--- /dev/null
+++ b/mysql-test/r/one_thread_per_connection.require
@@ -0,0 +1,2 @@
+@@thread_handling
+one-thread-per-connection
diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result
index 9c6c29eea47..a042d0a5dc3 100644
--- a/mysql-test/r/openssl_1.result
+++ b/mysql-test/r/openssl_1.result
@@ -56,6 +56,28 @@ Variable_name Value
Ssl_cipher DHE-RSA-AES256-SHA
Variable_name Value
Ssl_cipher DHE-RSA-AES256-SHA
+End of 5.0 tests
+DROP TABLE IF EXISTS thread_status;
+DROP EVENT IF EXISTS event_status;
+SET GLOBAL event_scheduler=1;
+CREATE EVENT event_status
+ON SCHEDULE AT NOW()
+ON COMPLETION NOT PRESERVE
+DO
+BEGIN
+CREATE TABLE thread_status
+SELECT variable_name, variable_value
+FROM information_schema.session_status
+WHERE variable_name LIKE 'SSL_ACCEPTS' OR
+variable_name LIKE 'SSL_CALLBACK_CACHE_HITS';
+END$$
+SELECT variable_name, variable_value FROM thread_status;
+variable_name variable_value
+SSL_ACCEPTS 0
+SSL_CALLBACK_CACHE_HITS 0
+DROP TABLE thread_status;
+SET GLOBAL event_scheduler=0;
+End of 5.1 tests
SHOW STATUS LIKE 'Ssl_cipher';
Variable_name Value
Ssl_cipher AES128-SHA
@@ -80,7 +102,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -114,7 +136,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
@@ -148,7 +170,7 @@ DROP TABLE IF EXISTS `t1`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
);
SET character_set_client = @saved_cs_client;
diff --git a/mysql-test/r/openssl_2.result b/mysql-test/r/openssl_2.result
deleted file mode 100644
index 879c623dd40..00000000000
--- a/mysql-test/r/openssl_2.result
+++ /dev/null
@@ -1,25 +0,0 @@
-SHOW STATUS LIKE 'Ssl%';
-Variable_name Value
-Ssl_accepts 1
-Ssl_finished_accepts 1
-Ssl_finished_connects 0
-Ssl_accept_renegotiates 0
-Ssl_connect_renegotiates 0
-Ssl_callback_cache_hits 0
-Ssl_session_cache_hits 0
-Ssl_session_cache_misses 0
-Ssl_session_cache_timeouts 0
-Ssl_used_session_cache_entries 1
-Ssl_client_connects 0
-Ssl_session_cache_overflows 0
-Ssl_session_cache_size 128
-Ssl_session_cache_mode SERVER
-Ssl_sessions_reused 0
-Ssl_ctx_verify_mode 7
-Ssl_ctx_verify_depth 4294967295
-Ssl_verify_mode 7
-Ssl_verify_depth 4294967295
-Ssl_version TLSv1
-Ssl_cipher EDH-RSA-DES-CBC3-SHA
-Ssl_cipher_list
-Ssl_default_timeout 7200
diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result
index eedc2fa476b..3d0f4915d0a 100644
--- a/mysql-test/r/order_by.result
+++ b/mysql-test/r/order_by.result
@@ -495,17 +495,17 @@ gid sid uid
103853 5 250
EXPLAIN select t1.gid, t2.sid, t3.uid from t3, t2, t1 where t2.gid = t1.gid and t2.uid = t3.uid order by t1.gid, t3.uid;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 6 Using index
-1 SIMPLE t2 eq_ref PRIMARY,uid PRIMARY 4 test.t1.gid 1
+1 SIMPLE t2 ALL PRIMARY,uid NULL NULL NULL 6 Using temporary; Using filesort
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 2 test.t2.uid 1 Using where; Using index
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.gid 1 Using index
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t1.gid,t3.skr;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL PRIMARY NULL NULL NULL 6 Using temporary; Using filesort
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t3.uid 1 Using where; Using index
EXPLAIN SELECT t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 6 Using index; Using temporary; Using filesort
-1 SIMPLE t2 eq_ref PRIMARY,uid PRIMARY 4 test.t1.gid 1
+1 SIMPLE t2 ALL PRIMARY,uid NULL NULL NULL 6 Using temporary; Using filesort
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.gid 1 Using index
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 2 test.t2.uid 1 Using where; Using index
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t3.skr,t1.gid;
id select_type table type possible_keys key key_len ref rows Extra
@@ -1064,3 +1064,355 @@ a b
10 00:00:10
0 00:00:00
DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), UNIQUE KEY b (b));
+INSERT INTO t1 VALUES (1,1),(2,2);
+CREATE TABLE t2 (a INT, b INT, KEY a (a,b));
+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;
+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;
diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result
new file mode 100644
index 00000000000..ef53f227ec0
--- /dev/null
+++ b/mysql-test/r/parser.result
@@ -0,0 +1,529 @@
+SET @save_sql_mode=@@sql_mode;
+set SQL_MODE='';
+create table ADDDATE(a int);
+drop table ADDDATE;
+create table ADDDATE (a int);
+drop table ADDDATE;
+create table BIT_AND(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 'BIT_AND(a int)' at line 1
+create table BIT_AND (a int);
+drop table BIT_AND;
+create table BIT_OR(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 'BIT_OR(a int)' at line 1
+create table BIT_OR (a int);
+drop table BIT_OR;
+create table BIT_XOR(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 'BIT_XOR(a int)' at line 1
+create table BIT_XOR (a int);
+drop table BIT_XOR;
+create table CAST(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 'CAST(a int)' at line 1
+create table CAST (a int);
+drop table CAST;
+create table COUNT(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 'COUNT(a int)' at line 1
+create table COUNT (a int);
+drop table COUNT;
+create table CURDATE(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 'CURDATE(a int)' at line 1
+create table CURDATE (a int);
+drop table CURDATE;
+create table CURTIME(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 'CURTIME(a int)' at line 1
+create table CURTIME (a int);
+drop table CURTIME;
+create table DATE_ADD(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 'DATE_ADD(a int)' at line 1
+create table DATE_ADD (a int);
+drop table DATE_ADD;
+create table DATE_SUB(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 'DATE_SUB(a int)' at line 1
+create table DATE_SUB (a int);
+drop table DATE_SUB;
+create table EXTRACT(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 'EXTRACT(a int)' at line 1
+create table EXTRACT (a int);
+drop table EXTRACT;
+create table GROUP_CONCAT(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 'GROUP_CONCAT(a int)' at line 1
+create table GROUP_CONCAT (a int);
+drop table GROUP_CONCAT;
+create table GROUP_UNIQUE_USERS(a int);
+drop table GROUP_UNIQUE_USERS;
+create table GROUP_UNIQUE_USERS (a int);
+drop table GROUP_UNIQUE_USERS;
+create table MAX(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 'MAX(a int)' at line 1
+create table MAX (a int);
+drop table MAX;
+create table MID(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 'MID(a int)' at line 1
+create table MID (a int);
+drop table MID;
+create table MIN(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 'MIN(a int)' at line 1
+create table MIN (a int);
+drop table MIN;
+create table NOW(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 'NOW(a int)' at line 1
+create table NOW (a int);
+drop table NOW;
+create table POSITION(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 'POSITION(a int)' at line 1
+create table POSITION (a int);
+drop table POSITION;
+create table SESSION_USER(a int);
+drop table SESSION_USER;
+create table SESSION_USER (a int);
+drop table SESSION_USER;
+create table STD(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 'STD(a int)' at line 1
+create table STD (a int);
+drop table STD;
+create table STDDEV(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 'STDDEV(a int)' at line 1
+create table STDDEV (a int);
+drop table STDDEV;
+create table STDDEV_POP(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 'STDDEV_POP(a int)' at line 1
+create table STDDEV_POP (a int);
+drop table STDDEV_POP;
+create table STDDEV_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 'STDDEV_SAMP(a int)' at line 1
+create table STDDEV_SAMP (a int);
+drop table STDDEV_SAMP;
+create table SUBDATE(a int);
+drop table SUBDATE;
+create table SUBDATE (a int);
+drop table SUBDATE;
+create table SUBSTR(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 'SUBSTR(a int)' at line 1
+create table SUBSTR (a int);
+drop table SUBSTR;
+create table SUBSTRING(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 'SUBSTRING(a int)' at line 1
+create table SUBSTRING (a int);
+drop table SUBSTRING;
+create table SUM(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 'SUM(a int)' at line 1
+create table SUM (a int);
+drop table SUM;
+create table SYSDATE(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 'SYSDATE(a int)' at line 1
+create table SYSDATE (a int);
+drop table SYSDATE;
+create table SYSTEM_USER(a int);
+drop table SYSTEM_USER;
+create table SYSTEM_USER (a int);
+drop table SYSTEM_USER;
+create table TRIM(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 'TRIM(a int)' at line 1
+create table TRIM (a int);
+drop table TRIM;
+create table UNIQUE_USERS(a int);
+drop table UNIQUE_USERS;
+create table UNIQUE_USERS (a int);
+drop table UNIQUE_USERS;
+create table VARIANCE(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 'VARIANCE(a int)' at line 1
+create table VARIANCE (a int);
+drop table VARIANCE;
+create table VAR_POP(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_POP(a int)' at line 1
+create table VAR_POP (a int);
+drop table VAR_POP;
+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);
+drop table VAR_SAMP;
+set SQL_MODE='IGNORE_SPACE';
+create table ADDDATE(a int);
+drop table ADDDATE;
+create table ADDDATE (a int);
+drop table ADDDATE;
+create table BIT_AND(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 'BIT_AND(a int)' at line 1
+create table BIT_AND (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 'BIT_AND (a int)' at line 1
+create table BIT_OR(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 'BIT_OR(a int)' at line 1
+create table BIT_OR (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 'BIT_OR (a int)' at line 1
+create table BIT_XOR(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 'BIT_XOR(a int)' at line 1
+create table BIT_XOR (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 'BIT_XOR (a int)' at line 1
+create table CAST(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 'CAST(a int)' at line 1
+create table CAST (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 'CAST (a int)' at line 1
+create table COUNT(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 'COUNT(a int)' at line 1
+create table COUNT (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 'COUNT (a int)' at line 1
+create table CURDATE(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 'CURDATE(a int)' at line 1
+create table CURDATE (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 'CURDATE (a int)' at line 1
+create table CURTIME(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 'CURTIME(a int)' at line 1
+create table CURTIME (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 'CURTIME (a int)' at line 1
+create table DATE_ADD(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 'DATE_ADD(a int)' at line 1
+create table DATE_ADD (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 'DATE_ADD (a int)' at line 1
+create table DATE_SUB(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 'DATE_SUB(a int)' at line 1
+create table DATE_SUB (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 'DATE_SUB (a int)' at line 1
+create table EXTRACT(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 'EXTRACT(a int)' at line 1
+create table EXTRACT (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 'EXTRACT (a int)' at line 1
+create table GROUP_CONCAT(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 'GROUP_CONCAT(a int)' at line 1
+create table GROUP_CONCAT (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 'GROUP_CONCAT (a int)' at line 1
+create table GROUP_UNIQUE_USERS(a int);
+drop table GROUP_UNIQUE_USERS;
+create table GROUP_UNIQUE_USERS (a int);
+drop table GROUP_UNIQUE_USERS;
+create table MAX(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 'MAX(a int)' at line 1
+create table MAX (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 'MAX (a int)' at line 1
+create table MID(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 'MID(a int)' at line 1
+create table MID (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 'MID (a int)' at line 1
+create table MIN(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 'MIN(a int)' at line 1
+create table MIN (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 'MIN (a int)' at line 1
+create table NOW(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 'NOW(a int)' at line 1
+create table NOW (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 'NOW (a int)' at line 1
+create table POSITION(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 'POSITION(a int)' at line 1
+create table POSITION (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 'POSITION (a int)' at line 1
+create table SESSION_USER(a int);
+drop table SESSION_USER;
+create table SESSION_USER (a int);
+drop table SESSION_USER;
+create table STD(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 'STD(a int)' at line 1
+create table STD (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 'STD (a int)' at line 1
+create table STDDEV(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 'STDDEV(a int)' at line 1
+create table STDDEV (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 'STDDEV (a int)' at line 1
+create table STDDEV_POP(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 'STDDEV_POP(a int)' at line 1
+create table STDDEV_POP (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 'STDDEV_POP (a int)' at line 1
+create table STDDEV_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 'STDDEV_SAMP(a int)' at line 1
+create table STDDEV_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 'STDDEV_SAMP (a int)' at line 1
+create table SUBDATE(a int);
+drop table SUBDATE;
+create table SUBDATE (a int);
+drop table SUBDATE;
+create table SUBSTR(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 'SUBSTR(a int)' at line 1
+create table SUBSTR (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 'SUBSTR (a int)' at line 1
+create table SUBSTRING(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 'SUBSTRING(a int)' at line 1
+create table SUBSTRING (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 'SUBSTRING (a int)' at line 1
+create table SUM(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 'SUM(a int)' at line 1
+create table SUM (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 'SUM (a int)' at line 1
+create table SYSDATE(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 'SYSDATE(a int)' at line 1
+create table SYSDATE (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 'SYSDATE (a int)' at line 1
+create table SYSTEM_USER(a int);
+drop table SYSTEM_USER;
+create table SYSTEM_USER (a int);
+drop table SYSTEM_USER;
+create table TRIM(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 'TRIM(a int)' at line 1
+create table TRIM (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 'TRIM (a int)' at line 1
+create table UNIQUE_USERS(a int);
+drop table UNIQUE_USERS;
+create table UNIQUE_USERS (a int);
+drop table UNIQUE_USERS;
+create table VARIANCE(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 'VARIANCE(a int)' at line 1
+create table VARIANCE (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 'VARIANCE (a int)' at line 1
+create table VAR_POP(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_POP(a int)' at line 1
+create table VAR_POP (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_POP (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
+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'
+select tan();
+ERROR 42000: Incorrect parameter count in the call to native function 'tan'
+select tan(1, 2);
+ERROR 42000: Incorrect parameter count in the call to native function 'tan'
+select makedate(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'makedate'
+select makedate(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'makedate'
+select maketime();
+ERROR 42000: Incorrect parameter count in the call to native function 'maketime'
+select maketime(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'maketime'
+select maketime(1, 2);
+ERROR 42000: Incorrect parameter count in the call to native function 'maketime'
+select maketime(1, 2, 3, 4);
+ERROR 42000: Incorrect parameter count in the call to native function 'maketime'
+select atan();
+ERROR 42000: Incorrect parameter count in the call to native function 'atan'
+select atan2(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'atan2'
+select concat();
+ERROR 42000: Incorrect parameter count in the call to native function 'concat'
+select concat("foo");
+concat("foo")
+foo
+select concat_ws();
+ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws'
+select concat_ws("foo");
+ERROR 42000: Incorrect parameter count in the call to native function 'concat_ws'
+select encrypt();
+ERROR 42000: Incorrect parameter count in the call to native function 'encrypt'
+select encrypt(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'encrypt'
+select des_encrypt("p1", "p2", "not expected");
+ERROR 42000: Incorrect parameter count in the call to native function 'des_encrypt'
+select des_decrypt("p1", "p2", "not expected");
+ERROR 42000: Incorrect parameter count in the call to native function 'des_decrypt'
+select elt();
+ERROR 42000: Incorrect parameter count in the call to native function 'elt'
+select elt(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'elt'
+select export_set();
+ERROR 42000: Incorrect parameter count in the call to native function 'export_set'
+select export_set("p1");
+ERROR 42000: Incorrect parameter count in the call to native function 'export_set'
+select export_set("p1", "p2");
+ERROR 42000: Incorrect parameter count in the call to native function 'export_set'
+select export_set("p1", "p2", "p3", "p4", "p5", "p6");
+ERROR 42000: Incorrect parameter count in the call to native function 'export_set'
+select field();
+ERROR 42000: Incorrect parameter count in the call to native function 'field'
+select field("p1");
+ERROR 42000: Incorrect parameter count in the call to native function 'field'
+select from_unixtime();
+ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime'
+select from_unixtime(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'from_unixtime'
+select unix_timestamp(1, 2);
+ERROR 42000: Incorrect parameter count in the call to native function 'unix_timestamp'
+select greatest();
+ERROR 42000: Incorrect parameter count in the call to native function 'greatest'
+select greatest(12);
+ERROR 42000: Incorrect parameter count in the call to native function 'greatest'
+select last_insert_id(1, 2);
+ERROR 42000: Incorrect parameter count in the call to native function 'last_insert_id'
+select least();
+ERROR 42000: Incorrect parameter count in the call to native function 'least'
+select least(12);
+ERROR 42000: Incorrect parameter count in the call to native function 'least'
+select locate();
+ERROR 42000: Incorrect parameter count in the call to native function 'locate'
+select locate(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'locate'
+select locate(1, 2, 3, 4);
+ERROR 42000: Incorrect parameter count in the call to native function 'locate'
+select log();
+ERROR 42000: Incorrect parameter count in the call to native function 'log'
+select log(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'log'
+select make_set();
+ERROR 42000: Incorrect parameter count in the call to native function 'make_set'
+select make_set(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'make_set'
+select master_pos_wait();
+ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait'
+select master_pos_wait(1);
+ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait'
+select master_pos_wait(1, 2, 3, 4);
+ERROR 42000: Incorrect parameter count in the call to native function 'master_pos_wait'
+select rand(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'rand'
+select round(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'round'
+select yearweek();
+ERROR 42000: Incorrect parameter count in the call to native function 'yearweek'
+select yearweek(1, 2, 3);
+ERROR 42000: Incorrect parameter count in the call to native function 'yearweek'
+select abs(3);
+abs(3)
+3
+select abs(3 AS three);
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+select abs(3 three);
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+select abs(3 AS "three");
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+select abs(3 "three");
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+set @bar="bar";
+set @foobar="foobar";
+select instr("foobar", "bar");
+instr("foobar", "bar")
+4
+select instr("foobar" AS p1, "bar");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar" p1, "bar");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar" AS "p1", "bar");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar" "p1", "bar");
+instr("foobar" "p1", "bar")
+4
+select instr(@foobar "p1", "bar");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar", "bar" AS p2);
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar", "bar" p2);
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar", "bar" AS "p2");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar", "bar" "p2");
+instr("foobar", "bar" "p2")
+0
+select instr("foobar", @bar "p2");
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select instr("foobar" AS p1, "bar" AS p2);
+ERROR 42000: Incorrect parameters in the call to native function 'instr'
+select conv(255, 10, 16);
+conv(255, 10, 16)
+FF
+select conv(255 AS p1, 10, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255 p1, 10, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255 AS "p1", 10, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255 "p1", 10, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10 AS p2, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10 p2, 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10 AS "p2", 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10 "p2", 16);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10, 16 AS p3);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10, 16 p3);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10, 16 AS "p3");
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255, 10, 16 "p3");
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select conv(255 AS p1, 10 AS p2, 16 AS p3);
+ERROR 42000: Incorrect parameters in the call to native function 'conv'
+select atan(10);
+atan(10)
+1.4711276743037
+select atan(10 AS p1);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 p1);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 AS "p1");
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 "p1");
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10, 20);
+atan(10, 20)
+0.46364760900081
+select atan(10 AS p1, 20);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 p1, 20);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 AS "p1", 20);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10 "p1", 20);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10, 20 AS p2);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10, 20 p2);
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+select atan(10, 20 AS "p2");
+ERROR 42000: Incorrect parameters in the call to native function 'atan'
+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;
diff --git a/mysql-test/r/parser_bug21114_innodb.result b/mysql-test/r/parser_bug21114_innodb.result
new file mode 100644
index 00000000000..e39b63f571d
--- /dev/null
+++ b/mysql-test/r/parser_bug21114_innodb.result
@@ -0,0 +1,867 @@
+drop table if exists abs;
+drop table if exists bug21114_child;
+SHOW CREATE TABLE abs;
+Table Create Table
+abs CREATE TABLE `abs` (
+ `col1` int(11) NOT NULL,
+ `col2` int(11) NOT NULL,
+ `col3` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`col1`,`col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE bug21114_child;
+Table Create Table
+bug21114_child CREATE TABLE `bug21114_child` (
+ `pk` int(11) NOT NULL,
+ `fk_col1` int(11) NOT NULL,
+ `fk_col2` int(11) NOT NULL,
+ `fk_col3` int(11) NOT NULL,
+ `fk_col4` int(11) NOT NULL,
+ KEY `fk_fct` (`fk_col1`,`fk_col2`),
+ KEY `fk_fct_space` (`fk_col3`,`fk_col4`),
+ CONSTRAINT `fk_fct` FOREIGN KEY (`fk_col1`, `fk_col2`) REFERENCES `abs` (`col1`, `col2`),
+ CONSTRAINT `fk_fct_space` FOREIGN KEY (`fk_col3`, `fk_col4`) REFERENCES `abs` (`col1`, `col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE bug21114_child;
+DROP TABLE abs;
+drop table if exists field;
+drop table if exists bug21114_child;
+SHOW CREATE TABLE field;
+Table Create Table
+field CREATE TABLE `field` (
+ `col1` int(11) NOT NULL,
+ `col2` int(11) NOT NULL,
+ `col3` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`col1`,`col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE bug21114_child;
+Table Create Table
+bug21114_child CREATE TABLE `bug21114_child` (
+ `pk` int(11) NOT NULL,
+ `fk_col1` int(11) NOT NULL,
+ `fk_col2` int(11) NOT NULL,
+ `fk_col3` int(11) NOT NULL,
+ `fk_col4` int(11) NOT NULL,
+ KEY `fk_fct` (`fk_col1`,`fk_col2`),
+ KEY `fk_fct_space` (`fk_col3`,`fk_col4`),
+ CONSTRAINT `fk_fct` FOREIGN KEY (`fk_col1`, `fk_col2`) REFERENCES `field` (`col1`, `col2`),
+ CONSTRAINT `fk_fct_space` FOREIGN KEY (`fk_col3`, `fk_col4`) REFERENCES `field` (`col1`, `col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE bug21114_child;
+DROP TABLE field;
+drop table if exists format;
+drop table if exists bug21114_child;
+SHOW CREATE TABLE format;
+Table Create Table
+format CREATE TABLE `format` (
+ `col1` int(11) NOT NULL,
+ `col2` int(11) NOT NULL,
+ `col3` varchar(10) DEFAULT NULL,
+ PRIMARY KEY (`col1`,`col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE bug21114_child;
+Table Create Table
+bug21114_child CREATE TABLE `bug21114_child` (
+ `pk` int(11) NOT NULL,
+ `fk_col1` int(11) NOT NULL,
+ `fk_col2` int(11) NOT NULL,
+ `fk_col3` int(11) NOT NULL,
+ `fk_col4` int(11) NOT NULL,
+ KEY `fk_fct` (`fk_col1`,`fk_col2`),
+ KEY `fk_fct_space` (`fk_col3`,`fk_col4`),
+ CONSTRAINT `fk_fct` FOREIGN KEY (`fk_col1`, `fk_col2`) REFERENCES `format` (`col1`, `col2`),
+ CONSTRAINT `fk_fct_space` FOREIGN KEY (`fk_col3`, `fk_col4`) REFERENCES `format` (`col1`, `col2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE bug21114_child;
+DROP TABLE format;
+drop table if exists acos;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE acos;
+drop table if exists adddate;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE adddate;
+drop table if exists addtime;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE addtime;
+drop table if exists aes_decrypt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE aes_decrypt;
+drop table if exists aes_encrypt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE aes_encrypt;
+drop table if exists area;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE area;
+drop table if exists asbinary;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE asbinary;
+drop table if exists asin;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE asin;
+drop table if exists astext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE astext;
+drop table if exists aswkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE aswkb;
+drop table if exists aswkt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE aswkt;
+drop table if exists atan;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE atan;
+drop table if exists atan2;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE atan2;
+drop table if exists benchmark;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE benchmark;
+drop table if exists bin;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE bin;
+drop table if exists bit_count;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE bit_count;
+drop table if exists bit_length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE bit_length;
+drop table if exists ceil;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ceil;
+drop table if exists ceiling;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ceiling;
+drop table if exists centroid;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE centroid;
+drop table if exists character_length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE character_length;
+drop table if exists char_length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE char_length;
+drop table if exists coercibility;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE coercibility;
+drop table if exists compress;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE compress;
+drop table if exists concat;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE concat;
+drop table if exists concat_ws;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE concat_ws;
+drop table if exists connection_id;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE connection_id;
+drop table if exists conv;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE conv;
+drop table if exists convert_tz;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE convert_tz;
+drop table if exists cos;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE cos;
+drop table if exists cot;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE cot;
+drop table if exists crc32;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE crc32;
+drop table if exists crosses;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE crosses;
+drop table if exists datediff;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE datediff;
+drop table if exists date_format;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE date_format;
+drop table if exists dayname;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE dayname;
+drop table if exists dayofmonth;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE dayofmonth;
+drop table if exists dayofweek;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE dayofweek;
+drop table if exists dayofyear;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE dayofyear;
+drop table if exists decode;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE decode;
+drop table if exists degrees;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE degrees;
+drop table if exists des_decrypt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE des_decrypt;
+drop table if exists des_encrypt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE des_encrypt;
+drop table if exists dimension;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE dimension;
+drop table if exists disjoint;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE disjoint;
+drop table if exists elt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE elt;
+drop table if exists encode;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE encode;
+drop table if exists encrypt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE encrypt;
+drop table if exists endpoint;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE endpoint;
+drop table if exists envelope;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE envelope;
+drop table if exists equals;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE equals;
+drop table if exists exp;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE exp;
+drop table if exists export_set;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE export_set;
+drop table if exists exteriorring;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE exteriorring;
+drop table if exists extractvalue;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE extractvalue;
+drop table if exists find_in_set;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE find_in_set;
+drop table if exists floor;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE floor;
+drop table if exists found_rows;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE found_rows;
+drop table if exists from_days;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE from_days;
+drop table if exists from_unixtime;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE from_unixtime;
+drop table if exists geomcollfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geomcollfromtext;
+drop table if exists geomcollfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geomcollfromwkb;
+drop table if exists geometrycollectionfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometrycollectionfromtext;
+drop table if exists geometrycollectionfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometrycollectionfromwkb;
+drop table if exists geometryfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometryfromtext;
+drop table if exists geometryfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometryfromwkb;
+drop table if exists geometryn;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometryn;
+drop table if exists geometrytype;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geometrytype;
+drop table if exists geomfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geomfromtext;
+drop table if exists geomfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE geomfromwkb;
+drop table if exists get_lock;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE get_lock;
+drop table if exists glength;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE glength;
+drop table if exists greatest;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE greatest;
+drop table if exists hex;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE hex;
+drop table if exists ifnull;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ifnull;
+drop table if exists inet_aton;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE inet_aton;
+drop table if exists inet_ntoa;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE inet_ntoa;
+drop table if exists instr;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE instr;
+drop table if exists interiorringn;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE interiorringn;
+drop table if exists intersects;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE intersects;
+drop table if exists isclosed;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE isclosed;
+drop table if exists isempty;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE isempty;
+drop table if exists isnull;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE isnull;
+drop table if exists issimple;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE issimple;
+drop table if exists is_free_lock;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE is_free_lock;
+drop table if exists is_used_lock;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE is_used_lock;
+drop table if exists last_day;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE last_day;
+drop table if exists last_insert_id;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE last_insert_id;
+drop table if exists lcase;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE lcase;
+drop table if exists least;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE least;
+drop table if exists length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE length;
+drop table if exists linefromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE linefromtext;
+drop table if exists linefromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE linefromwkb;
+drop table if exists linestringfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE linestringfromtext;
+drop table if exists linestringfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE linestringfromwkb;
+drop table if exists ln;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ln;
+drop table if exists load_file;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE load_file;
+drop table if exists locate;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE locate;
+drop table if exists log;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE log;
+drop table if exists log10;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE log10;
+drop table if exists log2;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE log2;
+drop table if exists lower;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE lower;
+drop table if exists lpad;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE lpad;
+drop table if exists ltrim;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ltrim;
+drop table if exists makedate;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE makedate;
+drop table if exists maketime;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE maketime;
+drop table if exists make_set;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE make_set;
+drop table if exists master_pos_wait;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE master_pos_wait;
+drop table if exists mbrcontains;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrcontains;
+drop table if exists mbrdisjoint;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrdisjoint;
+drop table if exists mbrequal;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrequal;
+drop table if exists mbrintersects;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrintersects;
+drop table if exists mbroverlaps;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbroverlaps;
+drop table if exists mbrtouches;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrtouches;
+drop table if exists mbrwithin;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mbrwithin;
+drop table if exists md5;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE md5;
+drop table if exists mlinefromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mlinefromtext;
+drop table if exists mlinefromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mlinefromwkb;
+drop table if exists monthname;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE monthname;
+drop table if exists mpointfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mpointfromtext;
+drop table if exists mpointfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mpointfromwkb;
+drop table if exists mpolyfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mpolyfromtext;
+drop table if exists mpolyfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE mpolyfromwkb;
+drop table if exists multilinestringfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multilinestringfromtext;
+drop table if exists multilinestringfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multilinestringfromwkb;
+drop table if exists multipointfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multipointfromtext;
+drop table if exists multipointfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multipointfromwkb;
+drop table if exists multipolygonfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multipolygonfromtext;
+drop table if exists multipolygonfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE multipolygonfromwkb;
+drop table if exists name_const;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE name_const;
+drop table if exists nullif;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE nullif;
+drop table if exists numgeometries;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE numgeometries;
+drop table if exists numinteriorrings;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE numinteriorrings;
+drop table if exists numpoints;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE numpoints;
+drop table if exists oct;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE oct;
+drop table if exists octet_length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE octet_length;
+drop table if exists ord;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ord;
+drop table if exists overlaps;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE overlaps;
+drop table if exists period_add;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE period_add;
+drop table if exists period_diff;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE period_diff;
+drop table if exists pi;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE pi;
+drop table if exists pointfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE pointfromtext;
+drop table if exists pointfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE pointfromwkb;
+drop table if exists pointn;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE pointn;
+drop table if exists polyfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE polyfromtext;
+drop table if exists polyfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE polyfromwkb;
+drop table if exists polygonfromtext;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE polygonfromtext;
+drop table if exists polygonfromwkb;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE polygonfromwkb;
+drop table if exists pow;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE pow;
+drop table if exists power;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE power;
+drop table if exists quote;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE quote;
+drop table if exists radians;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE radians;
+drop table if exists rand;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE rand;
+drop table if exists release_lock;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE release_lock;
+drop table if exists reverse;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE reverse;
+drop table if exists round;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE round;
+drop table if exists row_count;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE row_count;
+drop table if exists rpad;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE rpad;
+drop table if exists rtrim;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE rtrim;
+drop table if exists sec_to_time;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sec_to_time;
+drop table if exists session_user;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE session_user;
+drop table if exists sha;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sha;
+drop table if exists sha1;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sha1;
+drop table if exists sign;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sign;
+drop table if exists sin;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sin;
+drop table if exists sleep;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sleep;
+drop table if exists soundex;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE soundex;
+drop table if exists space;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE space;
+drop table if exists sqrt;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE sqrt;
+drop table if exists srid;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE srid;
+drop table if exists startpoint;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE startpoint;
+drop table if exists strcmp;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE strcmp;
+drop table if exists str_to_date;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE str_to_date;
+drop table if exists subdate;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE subdate;
+drop table if exists substring_index;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE substring_index;
+drop table if exists subtime;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE subtime;
+drop table if exists system_user;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE system_user;
+drop table if exists tan;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE tan;
+drop table if exists timediff;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE timediff;
+drop table if exists time_format;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE time_format;
+drop table if exists time_to_sec;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE time_to_sec;
+drop table if exists touches;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE touches;
+drop table if exists to_days;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE to_days;
+drop table if exists ucase;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE ucase;
+drop table if exists uncompress;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE uncompress;
+drop table if exists uncompressed_length;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE uncompressed_length;
+drop table if exists unhex;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE unhex;
+drop table if exists unix_timestamp;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE unix_timestamp;
+drop table if exists updatexml;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE updatexml;
+drop table if exists upper;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE upper;
+drop table if exists uuid;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE uuid;
+drop table if exists version;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE version;
+drop table if exists weekday;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE weekday;
+drop table if exists weekofyear;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE weekofyear;
+drop table if exists within;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE within;
+drop table if exists x;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE x;
+drop table if exists y;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE y;
+drop table if exists yearweek;
+drop table if exists bug21114_child;
+DROP TABLE bug21114_child;
+DROP TABLE yearweek;
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
new file mode 100644
index 00000000000..a361a8f6bcc
--- /dev/null
+++ b/mysql-test/r/partition.result
@@ -0,0 +1,1420 @@
+drop table if exists t1;
+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;
+ERROR 42000: Only integers allowed as number here near '0.2+e1' at line 3
+create table t1 (a int)
+partition by key(a)
+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 3
+create table t1 (a int)
+partition by key(a)
+partitions 1.5;
+ERROR 42000: Only integers allowed as number here near '1.5' at line 3
+create table t1 (a int)
+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()
+alter table t1 engine = myisam;
+call pz();
+call pz();
+drop procedure pz;
+drop table t1;
+create table t1 (a bigint)
+partition by range (a)
+(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
+partition p1 values less than (10));
+ERROR 42000: VALUES value must be of same type as partition function near '),
+partition p1 values less than (10))' at line 3
+create table t1 (a bigint)
+partition by list (a)
+(partition p0 values in (0xFFFFFFFFFFFFFFFF),
+partition p1 values in (10));
+ERROR 42000: VALUES value must be of same type as partition function near '),
+partition p1 values in (10))' at line 3
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (100),
+partition p1 values less than MAXVALUE);
+insert into t1 values (1);
+drop table t1;
+create table t1 (a bigint unsigned)
+partition by hash (a);
+insert into t1 values (0xFFFFFFFFFFFFFFFD);
+insert into t1 values (0xFFFFFFFFFFFFFFFE);
+select * from t1 where (a + 1) < 10;
+a
+select * from t1 where (a + 1) > 10;
+a
+18446744073709551613
+18446744073709551614
+drop table t1;
+create table t1 (a int)
+partition by key(a)
+(partition p0 engine = MEMORY);
+drop table t1;
+create table t1 (a int)
+partition by range (a)
+subpartition by key (a)
+(partition p0 values less than (1));
+alter table t1 add partition (partition p1 values less than (2));
+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) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (2) ENGINE = MyISAM) */
+alter table t1 reorganize partition p1 into (partition p1 values less than (3));
+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) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (3) ENGINE = MyISAM) */
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a);
+select count(*) from t1;
+count(*)
+0
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a, b);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition x1, partition x2, partition x3);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition x1 nodegroup 0,
+partition x2 nodegroup 1,
+partition x3 nodegroup 2);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition x1 engine myisam,
+partition x2 engine myisam,
+partition x3 engine myisam);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+CREATE TABLE t2 LIKE t1;
+drop table t2;
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 3
+(partition x1 values in (1,2,9,4) tablespace ts1,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (b*a)
+partitions 3
+(partition x1 values in (1,2,9,4) tablespace ts1,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (b*a)
+(partition x1 values in (1) tablespace ts1,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+drop table t1;
+CREATE TABLE t1 (
+a int not null)
+partition by key(a);
+LOCK TABLES t1 WRITE;
+insert into t1 values (1);
+insert into t1 values (2);
+insert into t1 values (3);
+insert into t1 values (4);
+UNLOCK TABLES;
+drop table t1;
+CREATE TABLE t1 (a int, name VARCHAR(50), purchased DATE)
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (3),
+PARTITION p1 VALUES LESS THAN (7),
+PARTITION p2 VALUES LESS THAN (9),
+PARTITION p3 VALUES LESS THAN (11));
+INSERT INTO t1 VALUES
+(1, 'desk organiser', '2003-10-15'),
+(2, 'CD player', '1993-11-05'),
+(3, 'TV set', '1996-03-10'),
+(4, 'bookcase', '1982-01-10'),
+(5, 'exercise bike', '2004-05-09'),
+(6, 'sofa', '1987-06-05'),
+(7, 'popcorn maker', '2001-11-22'),
+(8, 'acquarium', '1992-08-04'),
+(9, 'study desk', '1984-09-16'),
+(10, 'lava lamp', '1998-12-25');
+SELECT * from t1 ORDER BY a;
+a name purchased
+1 desk organiser 2003-10-15
+2 CD player 1993-11-05
+3 TV set 1996-03-10
+4 bookcase 1982-01-10
+5 exercise bike 2004-05-09
+6 sofa 1987-06-05
+7 popcorn maker 2001-11-22
+8 acquarium 1992-08-04
+9 study desk 1984-09-16
+10 lava lamp 1998-12-25
+ALTER TABLE t1 DROP PARTITION p0;
+SELECT * from t1 ORDER BY a;
+a name purchased
+3 TV set 1996-03-10
+4 bookcase 1982-01-10
+5 exercise bike 2004-05-09
+6 sofa 1987-06-05
+7 popcorn maker 2001-11-22
+8 acquarium 1992-08-04
+9 study desk 1984-09-16
+10 lava lamp 1998-12-25
+drop table t1;
+CREATE TABLE t1 (a int)
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (1,2,3), PARTITION p1 VALUES IN (4,5,6));
+insert into t1 values (1),(2),(3),(4),(5),(6);
+select * from t1;
+a
+1
+2
+3
+4
+5
+6
+truncate t1;
+select * from t1;
+a
+truncate t1;
+select * from t1;
+a
+drop table t1;
+CREATE TABLE t1 (a int, b int, primary key(a,b))
+PARTITION BY KEY(b,a) PARTITIONS 4;
+insert into t1 values (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
+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
+(PARTITION x1 VALUES IN (1) ENGINE=MEMORY);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION x1 VALUES IN (1) ENGINE = MEMORY) */
+drop table t1;
+CREATE TABLE t1 (a int, unique(a))
+PARTITION BY LIST (a)
+(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20));
+REPLACE t1 SET a = 4;
+ERROR HY000: Table has no partition for value 4
+drop table t1;
+CREATE TABLE t1 (a int)
+PARTITION BY LIST (a)
+(PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3));
+insert into t1 values (2), (3);
+insert into t1 values (4);
+ERROR HY000: Table has no partition for value 4
+insert into t1 values (1);
+ERROR HY000: Table has no partition for value 1
+drop table t1;
+CREATE TABLE t1 (a int)
+PARTITION BY HASH(a)
+PARTITIONS 5;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */
+drop table t1;
+CREATE TABLE t1 (a int)
+PARTITION BY RANGE (a)
+(PARTITION x1 VALUES LESS THAN (2));
+insert into t1 values (1);
+update t1 set a = 5;
+ERROR HY000: Table has no partition for value 5
+drop table t1;
+CREATE TABLE t1 (a int)
+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
+(a int)
+partition by range (a)
+( partition p0 values less than(10),
+partition p1 values less than (20),
+partition p2 values less than (25));
+alter table t1 reorganize partition p2 into (partition p2 values less than (30));
+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 (10) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM) */
+drop table t1;
+CREATE TABLE t1 (a int, b int)
+PARTITION BY RANGE (a)
+(PARTITION x0 VALUES LESS THAN (2),
+PARTITION x1 VALUES LESS THAN (4),
+PARTITION x2 VALUES LESS THAN (6),
+PARTITION x3 VALUES LESS THAN (8),
+PARTITION x4 VALUES LESS THAN (10),
+PARTITION x5 VALUES LESS THAN (12),
+PARTITION x6 VALUES LESS THAN (14),
+PARTITION x7 VALUES LESS THAN (16),
+PARTITION x8 VALUES LESS THAN (18),
+PARTITION x9 VALUES LESS THAN (20));
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO
+(PARTITION x1 VALUES LESS THAN (6));
+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 (a) (PARTITION x1 VALUES LESS THAN (6) ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN (8) ENGINE = MyISAM, PARTITION x4 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION x5 VALUES LESS THAN (12) ENGINE = MyISAM, PARTITION x6 VALUES LESS THAN (14) ENGINE = MyISAM, PARTITION x7 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION x8 VALUES LESS THAN (18) ENGINE = MyISAM, PARTITION x9 VALUES LESS THAN (20) ENGINE = MyISAM) */
+drop table t1;
+create table t1 (a int not null, b int not null) partition by LIST (a+b) (
+partition p0 values in (12),
+partition p1 values in (14)
+);
+insert into t1 values (10,1);
+ERROR HY000: Table has no partition for value 11
+drop table t1;
+create table t1 (f1 integer,f2 integer, f3 varchar(10), primary key(f1,f2))
+partition by range(f1) subpartition by hash(f2) subpartitions 2
+(partition p1 values less than (0),
+partition p2 values less than (2),
+partition p3 values less than (2147483647));
+insert into t1 values(10,10,'10');
+insert into t1 values(2,2,'2');
+select * from t1 where f1 = 2;
+f1 f2 f3
+2 2 2
+drop table t1;
+create table t1 (f1 integer,f2 integer, unique index(f1))
+partition by range(f1 div 2)
+subpartition by hash(f1) subpartitions 2
+(partition partb values less than (2),
+partition parte values less than (4),
+partition partf values less than (10000));
+insert into t1 values(10,1);
+select * from t1 where f1 = 10;
+f1 f2
+10 1
+drop table t1;
+set session storage_engine= 'memory';
+create table t1 (f_int1 int(11) default null) engine = memory
+partition by range (f_int1) subpartition by hash (f_int1)
+(partition part1 values less than (1000)
+(subpartition subpart11 engine = memory));
+drop table t1;
+set session storage_engine='myisam';
+create table t1 (f_int1 integer, f_int2 integer, primary key (f_int1))
+partition by hash(f_int1) partitions 2;
+insert into t1 values (1,1),(2,2);
+replace into t1 values (1,1),(2,2);
+drop table t1;
+create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20));
+alter table t1 add partition (partition x3 values in (30));
+drop table t1;
+create table t1 (a int)
+partition by key(a)
+partitions 2
+(partition p0 engine=myisam, partition p1 engine=myisam);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+alter table t1;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+alter table t1 engine=myisam;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+alter table t1 engine=heap;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
+alter table t1 remove partitioning;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+drop table t1;
+create table t1 (a int)
+engine=myisam
+partition by key(a)
+partitions 2
+(partition p0 engine=myisam, partition p1 engine=myisam);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+alter table t1 add column b int remove partitioning;
+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
+alter table t1
+engine=myisam
+partition by key(a)
+(partition p0 engine=myisam, partition p1);
+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 KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+alter table t1
+engine=heap
+partition by key(a)
+(partition p0, partition p1 engine=heap);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
+alter table t1 engine=myisam, add column c int remove partitioning;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1
+engine=heap
+partition by key (a)
+(partition p0, partition p1);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
+alter table t1
+partition by key (a)
+(partition p0, partition p1);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
+alter table t1
+engine=heap
+partition by key (a)
+(partition p0, partition p1);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
+alter table t1
+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)
+(partition p0 engine=heap, partition p1 engine=myisam);
+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 engine=myisam);
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
+drop table t1;
+CREATE TABLE t1 (
+f_int1 INTEGER, f_int2 INTEGER,
+f_char1 CHAR(10), f_char2 CHAR(10), 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 parte VALUES LESS THAN (10),
+PARTITION partf VALUES LESS THAN (2147483647));
+INSERT INTO t1 SET f_int1 = NULL , f_int2 = -20, f_char1 = CAST(-20 AS CHAR),
+f_char2 = CAST(-20 AS CHAR), f_charbig = '#NULL#';
+SELECT * FROM t1 WHERE f_int1 IS NULL;
+f_int1 f_int2 f_char1 f_char2 f_charbig
+NULL -20 -20 -20 #NULL#
+SELECT * FROM t1;
+f_int1 f_int2 f_char1 f_char2 f_charbig
+NULL -20 -20 -20 #NULL#
+drop table t1;
+CREATE TABLE t1 (
+f_int1 INTEGER, f_int2 INTEGER,
+f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) )
+PARTITION BY LIST(MOD(f_int1,2))
+SUBPARTITION BY KEY(f_int1)
+(PARTITION part1 VALUES IN (-1) (SUBPARTITION sp1, SUBPARTITION sp2),
+PARTITION part2 VALUES IN (0) (SUBPARTITION sp3, SUBPARTITION sp5),
+PARTITION part3 VALUES IN (1) (SUBPARTITION sp4, SUBPARTITION sp6));
+INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2===';
+INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2===';
+SELECT * FROM t1 WHERE f_int1 IS NULL;
+f_int1 f_int2 f_char1 f_char2 f_charbig
+drop table t1;
+create procedure p ()
+begin
+create table t1 (s1 mediumint,s2 mediumint)
+partition by list (s2)
+(partition p1 values in (0),
+partition p2 values in (1));
+end//
+call p()//
+drop procedure p//
+drop table t1;
+create procedure p ()
+begin
+create table t1 (a int not null,b int not null,c int not null,primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+(partition x1 values less than (1)
+(subpartition x11,
+subpartition x12),
+partition x2 values less than (5)
+(subpartition x21,
+subpartition x22));
+end//
+call p()//
+drop procedure p//
+drop table t1//
+create table t1 (a int,b int,c int,key(a,b))
+partition by range (a)
+partitions 3
+(partition x1 values less than (0) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+insert into t1 values (NULL, 1, 1);
+insert into t1 values (0, 1, 1);
+insert into t1 values (12, 1, 1);
+select partition_name, partition_description, table_rows
+from information_schema.partitions where table_schema ='test';
+partition_name partition_description table_rows
+x1 0 1
+x2 10 1
+x3 MAXVALUE 1
+drop table t1;
+create table t1 (a int,b int, c int)
+partition by list(a)
+partitions 2
+(partition x123 values in (11,12),
+partition x234 values in (1 ,NULL, NULL));
+ERROR HY000: Multiple definition of same constant in list partitioning
+create table t1 (a int,b int, c int)
+partition by list(a)
+partitions 2
+(partition x123 values in (11, NULL),
+partition x234 values in (1 ,NULL));
+ERROR HY000: Multiple definition of same constant in list partitioning
+create table t1 (a int,b int, c int)
+partition by list(a)
+partitions 2
+(partition x123 values in (11, 12),
+partition x234 values in (5, 1));
+insert into t1 values (NULL,1,1);
+ERROR HY000: Table has no partition for value NULL
+drop table t1;
+create table t1 (a int,b int, c int)
+partition by list(a)
+partitions 2
+(partition x123 values in (11, 12),
+partition x234 values in (NULL, 1));
+insert into t1 values (11,1,6);
+insert into t1 values (NULL,1,1);
+select partition_name, partition_description, table_rows
+from information_schema.partitions where table_schema ='test';
+partition_name partition_description table_rows
+x123 11,12 1
+x234 NULL,1 1
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition p0 values in (1));
+alter table t1 rebuild partition;
+ERROR 42000: You 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
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition p0 values in (5));
+insert into t1 values (0);
+ERROR HY000: Table has no partition for value 0
+drop table t1;
+create table t1 (a int)
+partition by range (a) subpartition by hash (a)
+(partition p0 values less than (100));
+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) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM) */
+alter table t1 add partition (partition p1 values less than (200)
+(subpartition subpart21));
+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) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) (SUBPARTITION p0sp0 ENGINE = MyISAM), PARTITION p1 VALUES LESS THAN (200) (SUBPARTITION subpart21 ENGINE = MyISAM)) */
+drop table t1;
+create table t1 (a int)
+partition by key (a);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */
+alter table t1 add partition (partition p1);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */
+drop table t1;
+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 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 5
+create table t1 (a int, b int)
+partition by range (a)
+subpartition by hash(a)
+(partition p0 values less than (0),
+partition p1 values less than (1) (subpartition sp0));
+ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '))' at line 5
+create table t1 (a int)
+partition by hash (a)
+(partition p0 (subpartition sp0));
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+create table t1 (a int)
+partition by range (a)
+(partition p0 values less than (1));
+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: 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)
+(partition p0 values in (1));
+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: Syntax error: LIST PARTITIONING requires definition of VALUES IN for each partition
+drop table t1;
+create table t1 (a int)
+partition by hash (a)
+(partition p0);
+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 values in (2));
+ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition p0 values in (1));
+alter table t1 rebuild partition;
+ERROR 42000: You 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
+drop table t1;
+create table t2 (s1 int not null auto_increment, primary key (s1)) partition by list (s1) (partition p1 values in (1),partition p2 values in (2),partition p3 values in (3),partition p4 values in (4));
+insert into t2 values (null),(null),(null);
+select * from t2;
+s1
+1
+2
+3
+select * from t2 where s1 < 2;
+s1
+1
+update t2 set s1 = s1 + 1 order by s1 desc;
+select * from t2 where s1 < 3;
+s1
+2
+select * from t2 where s1 = 2;
+s1
+2
+drop table t2;
+create temporary table t1 (a int) partition by hash(a);
+ERROR HY000: Cannot create temporary table with partitions
+create table t1 (a int, b int) partition by list (a)
+(partition p1 values in (1), partition p2 values in (2));
+alter table t1 add primary key (b);
+ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
+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 LIST (a) (PARTITION p1 VALUES IN (1) ENGINE = MyISAM, PARTITION p2 VALUES IN (2) ENGINE = MyISAM) */
+drop table t1;
+create table t1 (a int unsigned not null auto_increment primary key)
+partition by key(a);
+alter table t1 rename t2, add c char(10), comment "no comment";
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `c` char(10) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='no comment' /*!50100 PARTITION BY KEY (a) */
+drop table t2;
+create table t1 (f1 int) partition by hash (f1) as select 1;
+drop table t1;
+prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)';
+execute stmt1;
+execute stmt1;
+ERROR 42S01: Table 't1' already exists
+drop table t1;
+CREATE PROCEDURE test.p1(IN i INT)
+BEGIN
+DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (num INT,PRIMARY KEY(num));
+START TRANSACTION;
+INSERT INTO t1 VALUES(i);
+savepoint t1_save;
+INSERT INTO t1 VALUES (14);
+ROLLBACK to savepoint t1_save;
+COMMIT;
+END|
+CALL test.p1(12);
+Warnings:
+Note 1051 Unknown table 't1'
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+CALL test.p1(13);
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+drop table t1;
+drop procedure test.p1;
+CREATE TABLE t1 (a int not null)
+partition by key(a)
+(partition p0 COMMENT='first partition');
+drop table t1;
+CREATE TABLE t1 (`a b` int not null)
+partition by key(`a b`);
+drop table t1;
+CREATE TABLE t1 (`a b` int not null)
+partition by hash(`a b`);
+drop table t1;
+create table t1 (f1 integer) partition by range(f1)
+(partition p1 values less than (0), partition p2 values less than (10));
+insert into t1 set f1 = null;
+select * from t1 where f1 is null;
+f1
+NULL
+explain partitions select * from t1 where f1 is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (f1 integer) partition by list(f1)
+(partition p1 values in (1), partition p2 values in (null));
+insert into t1 set f1 = null;
+insert into t1 set f1 = 1;
+select * from t1 where f1 is null or f1 = 1;
+f1
+1
+NULL
+drop table t1;
+create table t1 (f1 smallint)
+partition by list (f1) (partition p0 values in (null));
+insert into t1 values (null);
+select * from t1 where f1 is null;
+f1
+NULL
+select * from t1 where f1 < 1;
+f1
+select * from t1 where f1 <= NULL;
+f1
+select * from t1 where f1 < NULL;
+f1
+select * from t1 where f1 >= NULL;
+f1
+select * from t1 where f1 > NULL;
+f1
+select * from t1 where f1 > 1;
+f1
+drop table t1;
+create table t1 (f1 smallint)
+partition by range (f1) (partition p0 values less than (0));
+insert into t1 values (null);
+select * from t1 where f1 is null;
+f1
+NULL
+drop table t1;
+create table t1 (f1 integer) 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 where f1 < 3;
+f1
+1
+2
+explain partitions select * from t1 where f1 < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p3 ALL NULL NULL NULL NULL 2 Using where
+select * from t1 where f1 is null;
+f1
+NULL
+explain partitions select * from t1 where f1 is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (f1 int) partition by list(f1 div 2)
+(
+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 (2),(4),(6),(8),(null);
+select * from t1 where f1 < 3;
+f1
+2
+explain partitions select * from t1 where f1 < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2,p3,p4,p5 ALL NULL NULL NULL NULL 5 Using where
+select * from t1 where f1 is null;
+f1
+NULL
+explain partitions select * from t1 where f1 is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (a int) partition by LIST(a) (
+partition pn values in (NULL),
+partition p0 values in (0),
+partition p1 values in (1),
+partition p2 values in (2)
+);
+insert into t1 values (NULL),(0),(1),(2);
+select * from t1 where a is null or a < 2;
+a
+NULL
+0
+1
+explain partitions select * from t1 where a is null or a < 2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pn,p0,p1 ALL NULL NULL NULL NULL 3 Using where
+select * from t1 where a is null or a < 0 or a > 1;
+a
+NULL
+2
+explain partitions select * from t1 where a is null or a < 0 or a > 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20))
+ENGINE=MyISAM DEFAULT CHARSET=latin1
+PARTITION BY RANGE(id)
+(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM,
+PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM,
+PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM);
+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 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+DROP TABLE t1;
+create table t1 (a bigint unsigned)
+partition by list (a)
+(partition p0 values in (0-1));
+ERROR HY000: Partition constant is out of partition function domain
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (10));
+insert into t1 values (0xFFFFFFFFFFFFFFFF);
+ERROR HY000: Table has no partition for value 18446744073709551615
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition `s1 s2` values in (0));
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition `7` values in (0));
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+(partition `s1 s2 ` values in (0));
+ERROR HY000: Incorrect partition name
+create table t1 (a int)
+partition by list (a)
+subpartition by hash (a)
+(partition p1 values in (0) (subpartition `p1 p2 `));
+ERROR HY000: Incorrect partition name
+CREATE TABLE t1 (a int)
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (NULL));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) */
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY RANGE(a)
+(PARTITION p0 VALUES LESS THAN (NULL));
+ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3
+create table t1 (s1 int auto_increment primary key)
+partition by list (s1)
+(partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3));
+insert into t1 values (null);
+insert into t1 values (null);
+insert into t1 values (null);
+select auto_increment from information_schema.tables where table_name='t1';
+auto_increment
+4
+select * from t1;
+s1
+1
+2
+3
+drop table t1;
+create table t1 (a int) engine=memory
+partition by key(a);
+insert into t1 values (1);
+create index inx1 on t1(a);
+drop table t1;
+create table t1 (a int)
+PARTITION BY KEY (a)
+(PARTITION p0);
+set session sql_mode='no_table_options';
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 PARTITION BY KEY (a) (PARTITION p0) */
+set session sql_mode='';
+drop table t1;
+create table t1 (a int)
+partition by key (a)
+(partition p0 engine = MERGE);
+ERROR HY000: Engine cannot be used in partitioned tables
+create table t1 (a varchar(1))
+partition by key (a)
+as select 'a';
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` varchar(1) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */
+drop table t1;
+CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a);
+INSERT into t1 values (1), (2);
+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 2 7 14 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned
+DELETE from t1 where a = 1;
+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
+DROP TABLE t1;
+CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a);
+ALTER TABLE t1 DISABLE KEYS;
+ALTER TABLE t1 ENABLE KEYS;
+DROP TABLE t1;
+create table t1 (a int)
+engine=MEMORY
+partition by key (a);
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+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
+drop table t1;
+drop procedure if exists mysqltest_1;
+create table t1 (a int)
+partition by list (a)
+(partition p0 values in (0));
+insert into t1 values (0);
+create procedure mysqltest_1 ()
+begin
+begin
+declare continue handler for sqlexception begin end;
+update ignore t1 set a = 1 where a = 0;
+end;
+prepare stmt1 from 'alter table t1';
+execute stmt1;
+end//
+call mysqltest_1()//
+drop table t1;
+drop procedure mysqltest_1;
+create table t1 (a int, index(a))
+partition by hash(a);
+insert into t1 values (1),(2);
+select * from t1 ORDER BY a DESC;
+a
+2
+1
+drop table t1;
+create table t1 (a bigint unsigned not null, primary key(a))
+engine = myisam
+partition by key (a)
+partitions 10;
+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 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */
+insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE),
+(18446744073709551613), (18446744073709551612);
+select * from t1;
+a
+18446744073709551612
+18446744073709551613
+18446744073709551614
+18446744073709551615
+select * from t1 where a = 18446744073709551615;
+a
+18446744073709551615
+delete from t1 where a = 18446744073709551615;
+select * from t1;
+a
+18446744073709551612
+18446744073709551613
+18446744073709551614
+drop table t1;
+CREATE TABLE t1 (
+num int(11) NOT NULL, cs int(11) NOT NULL)
+PARTITION BY RANGE (num) SUBPARTITION BY HASH (
+cs) SUBPARTITIONS 2 (PARTITION p_X VALUES LESS THAN MAXVALUE);
+ALTER TABLE t1
+REORGANIZE PARTITION p_X INTO (
+PARTITION p_100 VALUES LESS THAN (100),
+PARTITION p_X VALUES LESS THAN MAXVALUE
+);
+drop table t1;
+CREATE TABLE t2 (
+taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+id int(11) NOT NULL DEFAULT '0',
+PRIMARY KEY (id,taken),
+KEY taken (taken)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO t2 VALUES
+('2006-09-27 21:50:01',16421),
+('2006-10-02 21:50:01',16421),
+('2006-09-27 21:50:01',19092),
+('2006-09-28 21:50:01',19092),
+('2006-09-29 21:50:01',19092),
+('2006-09-30 21:50:01',19092),
+('2006-10-01 21:50:01',19092),
+('2006-10-02 21:50:01',19092),
+('2006-09-27 21:50:01',22589),
+('2006-09-29 21:50:01',22589);
+CREATE TABLE t1 (
+id int(8) NOT NULL,
+PRIMARY KEY (id)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO t1 VALUES
+(16421),
+(19092),
+(22589);
+CREATE TABLE t4 (
+taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+id int(11) NOT NULL DEFAULT '0',
+PRIMARY KEY (id,taken),
+KEY taken (taken)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+PARTITION BY RANGE (to_days(taken))
+(
+PARTITION p01 VALUES LESS THAN (732920) ,
+PARTITION p02 VALUES LESS THAN (732950) ,
+PARTITION p03 VALUES LESS THAN MAXVALUE ) ;
+INSERT INTO t4 select * from t2;
+set @f_date='2006-09-28';
+set @t_date='2006-10-02';
+SELECT t1.id AS MyISAM_part
+FROM t1
+WHERE t1.id IN (
+SELECT distinct id
+FROM t4
+WHERE taken BETWEEN @f_date AND date_add(@t_date, INTERVAL 1 DAY))
+ORDER BY t1.id
+;
+MyISAM_part
+16421
+19092
+22589
+drop table t1, t2, t4;
+CREATE TABLE t1 (
+taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+id int(11) NOT NULL DEFAULT '0',
+status varchar(20) NOT NULL DEFAULT '',
+PRIMARY KEY (id,taken)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+PARTITION BY RANGE (to_days(taken))
+(
+PARTITION p15 VALUES LESS THAN (732950) ,
+PARTITION p16 VALUES LESS THAN MAXVALUE ) ;
+INSERT INTO t1 VALUES
+('2006-09-27 21:50:01',22589,'Open'),
+('2006-09-29 21:50:01',22589,'Verified');
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 't2'
+CREATE TABLE t2 (
+id int(8) NOT NULL,
+severity tinyint(4) NOT NULL DEFAULT '0',
+priority tinyint(4) NOT NULL DEFAULT '0',
+status varchar(20) DEFAULT NULL,
+alien tinyint(4) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO t2 VALUES
+(22589,1,1,'Need Feedback',0);
+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;
+insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1;
+select * from t1;
+c1 c2
+aaa 2
+drop table t1;
+create table t1 (s1 bigint) partition by list (s1) (partition p1 values in (-9223372036854775808));
+drop table t1;
+create table t1(a int auto_increment, b int, primary key (b, a))
+partition by hash(b) partitions 2;
+insert into t1 values (null, 1);
+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 9 9 0 0 0 1 NULL NULL NULL latin1_swedish_ci NULL partitioned
+drop table t1;
+create table t1(a int auto_increment primary key)
+partition by key(a) partitions 2;
+insert into t1 values (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 MyISAM 10 Fixed 3 7 21 0 0 0 4 NULL NULL NULL latin1_swedish_ci NULL partitioned
+drop table t1;
+CREATE TABLE t1(a INT NOT NULL, b TINYBLOB, KEY(a))
+PARTITION BY RANGE(a) ( PARTITION p0 VALUES LESS THAN (32));
+INSERT INTO t1 VALUES (1, REPEAT('a', 10));
+INSERT INTO t1 SELECT a + 1, b FROM t1;
+INSERT INTO t1 SELECT a + 2, b FROM t1;
+INSERT INTO t1 SELECT a + 4, b FROM t1;
+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;
+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 = 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
+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_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_bug18198.result b/mysql-test/r/partition_bug18198.result
new file mode 100644
index 00000000000..18d7d904bb0
--- /dev/null
+++ b/mysql-test/r/partition_bug18198.result
@@ -0,0 +1,173 @@
+drop table if exists t1;
+create table t1 (col1 datetime)
+partition by range(datediff(col1,col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+drop table t1;
+create table t1 (col1 int)
+partition by range(greatest(col1,10))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(isnull(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(least(col1,12))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(case when col1>0 then 10 else 20 end)
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(ifnull(col1,5))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(nullif(col1,5))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(bit_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(bit_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(char_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(char_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(character_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(find_in_set(col1,1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(find_in_set(col1,'1'))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(instr(col1,3))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(instr(col1,'3'))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(locate(1,col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(locate(1,col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(octet_length(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(position(1 in col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(position(1 in col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 char(5))
+partition by range(strcmp(col1,2))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(strcmp(col1,2))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(crc32(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(round(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(sign(col1))
+(partition p0 values less than (2), partition p1 values less than (6));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 datetime)
+partition by range(period_add(col1,5))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 datetime, col2 datetime)
+partition by range(period_diff(col1,col2))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int, col2 int)
+partition by range(period_diff(col1,col2))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 datetime)
+partition by range(timestampdiff(day,5,col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 date)
+partition by range(unix_timestamp(col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 datetime)
+partition by range(week(col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 varchar(25))
+partition by range(cast(col1 as signed))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 varchar(25))
+partition by range(convert(col1,unsigned))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(col1 | 20)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(col1 & 20)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(col1 ^ 20)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(col1 << 20)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(col1 >> 20)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(~col1)
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(bit_count(col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
+create table t1 (col1 int)
+partition by range(inet_aton(col1))
+(partition p0 values less than (10), partition p1 values less than (30));
+ERROR HY000: This partition function is not allowed
diff --git a/mysql-test/r/partition_charset.result b/mysql-test/r/partition_charset.result
new file mode 100644
index 00000000000..f8f75e8bee7
--- /dev/null
+++ b/mysql-test/r/partition_charset.result
@@ -0,0 +1,22 @@
+drop table if exists t1;
+set names utf8;
+create table t1 (s1 int)
+partition by list (s1)
+(partition c values in (1),
+partition Ç values in (3));
+insert into t1 values (1),(3);
+select * from t1;
+s1
+1
+3
+flush tables;
+set names latin1;
+select * from t1;
+s1
+1
+3
+drop table t1;
+create table t1 (a varchar(1), primary key (a))
+partition by list (ascii(a))
+(partition p1 values in (65));
+ERROR HY000: This partition function is not allowed
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..c6506178b03
--- /dev/null
+++ b/mysql-test/r/partition_datatype.result
@@ -0,0 +1,282 @@
+drop table if exists 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 (2.1);
+select * from t1 where a = 2.1;
+a
+drop table t1;
+create table t1 (a double not null) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+a
+2.1
+drop table t1;
+create table t1 (a decimal not null) partition by key (a);
+insert into t1 values (2.1);
+Warnings:
+Note 1265 Data truncated for column 'a' at row 1
+select * from t1 where a = 2.1;
+a
+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;
+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 (2.1);
+select * from t1 where a = 2.1;
+a
+drop table t1;
+create table t1 (a double) partition by key (a);
+insert into t1 values (2.1);
+select * from t1 where a = 2.1;
+a
+2.1
+drop table t1;
+create table t1 (a decimal) partition by key (a);
+insert into t1 values (2.1);
+Warnings:
+Note 1265 Data truncated for column 'a' at row 1
+select * from t1 where a = 2.1;
+a
+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 = 'aaa%';
+a
+select * from t1 where a like 'aaa%';
+a
+aaaa
+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 = 'aaa%';
+a
+select * from t1 where a like 'aaa%';
+a
+aaaa
+drop table t1;
+create table t1 (a varchar(65533) not null) partition by key (a);
+insert into t1 values ('aaaa');
+select * from t1 where a = 'aaa%';
+a
+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
diff --git a/mysql-test/r/partition_error.result b/mysql-test/r/partition_error.result
new file mode 100644
index 00000000000..46532cb32ab
--- /dev/null
+++ b/mysql-test/r/partition_error.result
@@ -0,0 +1,631 @@
+drop table if exists t1;
+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,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+ERROR 42000: Partitioning can not be used stand-alone in query near 'partition by list (a)
+partitions 3
+(partition x1 values in (1,2,9,4) tablespace ' at line 1
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2;
+ERROR HY000: For LIST partitions each partition must be defined
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (sin(a))
+partitions 3
+(partition x1 values in (1,2,9,4) tablespace ts1,
+partition x2 values in (3, 11, 5, 7) tablespace ts2,
+partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
+ERROR HY000: This partition function is not allowed
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a+2)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+ERROR 42000: You 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)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+part' at line 6
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3)' at line 8
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a,d)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+ERROR HY000: Field in list of fields for partition function not found in table
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (a + d)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+ERROR 42S22: Unknown column 'd' in 'partition function'
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (sin(a))
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+ERROR HY000: This partition function is not allowed
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+partitions 3
+(partition x1, partition x2);
+ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (rand(a))
+partitions 2
+(partition x1, partition x2);
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
+partitions 2
+(partition x1, partition x2)' at line 6
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (rand(a))
+partitions 2
+(partition x1 values less than (0), partition x2 values less than (2));
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
+partitions 2
+(partition x1 values less than (0), partition x2 values less than' at line 6
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (rand(a))
+partitions 2
+(partition x1 values in (1), partition x2 values in (2));
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')
+partitions 2
+(partition x1 values in (1), partition x2 values in (2))' at line 6
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (a)
+partitions 2
+(partition x1 values less than (4),
+partition x2 values less than (5));
+ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (a)
+partitions 2
+(partition x1 values in (4),
+partition x2 values in (5));
+ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (a)
+partitions 2
+(partition x1 values in (4,6),
+partition x2 values in (5,7));
+ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by key (b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by key (a, b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by hash (a+b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by key (b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by key (a, b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by hash (a+b);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by hash (rand(a+b));
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 7
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by hash (sin(a+b))
+(partition x1 (subpartition x11, subpartition x12),
+partition x2 (subpartition x21, subpartition x22));
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by key (a+b)
+(partition x1 values less than (1) (subpartition x11, subpartition x12),
+partition x2 values less than (2) (subpartition x21, subpartition x22));
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+b)
+(partition x1 values less than (1) (subpartition x11, subpartition x12),
+par' at line 7
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by key (a,d)
+(partition x1 values less than (1) (subpartition x11, subpartition x12),
+partition x2 values less than (2) (subpartition x21, subpartition x22));
+ERROR HY000: Field in list of fields for partition function not found in table
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by hash (3+4);
+ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+d)
+(partition x1 values less than (1) (subpartition x11, subpartition x12),
+partition x2 values less than (2) (subpartition x21, subpartition x22));
+ERROR 42S22: Unknown column 'd' in 'partition function'
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a);
+ERROR HY000: For RANGE partitions each partition must be defined
+select load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par');
+load_file('$MYSQLTEST_VARDIR/master-data/test/t1.par')
+NULL
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a+d)
+partitions 2
+(partition x1 values less than (4) tablespace ts1,
+partition x2 values less than (8) tablespace ts2);
+ERROR 42S22: Unknown column 'd' in 'partition function'
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (4.0) tablespace ts1,
+partition x2 values less than (8) tablespace ts2);
+ERROR 42000: VALUES value must be of same type as partition function near ') tablespace ts1,
+partition x2 values less than (8) tablespace ts2)' at line 8
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (3+4)
+partitions 2
+(partition x1 values less than (4) tablespace ts1,
+partition x2 values less than (8) tablespace ts2);
+ERROR HY000: Constant/Random expression in (sub)partitioning function is not allowed
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (4),
+partition x2);
+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,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values in (4),
+partition x2);
+ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values in (4),
+partition x2 values less than (5));
+ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values less than 4,
+partition x2 values less than (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 '4,
+partition x2 values less than (5))' at line 8
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values less than maxvalue,
+partition x2 values less than (5));
+ERROR 42000: MAXVALUE can only be used in last partition definition near '))' at line 9
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values less than maxvalue,
+partition x2 values less than maxvalue);
+ERROR 42000: MAXVALUE can only be used in last partition definition near 'maxvalue)' at line 9
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (4),
+partition x2 values less than (3));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (sin(a))
+partitions 2
+(partition x1 values less than (4),
+partition x2 values less than (5));
+ERROR HY000: This partition function is not allowed
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by list (a)
+subpartition by hash (a+b)
+subpartitions 3
+( partition x1 values in (1,2,4)
+( subpartition x11 nodegroup 0,
+subpartition x12 nodegroup 1),
+partition x2 values in (3,5,6)
+( subpartition x21 nodegroup 0,
+subpartition x22 nodegroup 1)
+);
+ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
+partition x2 values in (3,5,6)
+( subpartition x21 nodegroup 0,
+subpartition x' at line 11
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by list (a)
+subpartition by hash (a+b)
+( partition x1 values in (1)
+( subpartition x11 nodegroup 0,
+subpartition xextra,
+subpartition x12 nodegroup 1),
+partition x2 values in (2)
+( subpartition x21 nodegroup 0,
+subpartition x22 nodegroup 1)
+);
+ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')
+)' at line 14
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by list (a+b)
+( partition x1
+( subpartition x11 engine myisam,
+subpartition x12 engine myisam),
+partition x2
+( subpartition x21 engine myisam,
+subpartition x22 engine myisam)
+);
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'list (a+b)
+( partition x1
+( subpartition x11 engine myisam,
+subpartition x12 eng' at line 7
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by key (a)
+subpartition by list (a+b)
+( partition x1
+( subpartition x11 engine myisam values in (0),
+subpartition x12 engine myisam values in (1)),
+partition x2
+( subpartition x21 engine myisam values in (0),
+subpartition x22 engine myisam values in (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 'list (a+b)
+( partition x1
+( subpartition x11 engine myisam values in (0),
+subpar' at line 7
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a);
+ERROR HY000: For LIST partitions each partition must be defined
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (3+4)
+partitions 2
+(partition x1 values in (4) tablespace ts1,
+partition x2 values in (8) tablespace ts2);
+ERROR HY000: Constant/Random expression in (sub)partitioning function is not allowed
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a+d)
+partitions 2
+(partition x1 values in (4) tablespace ts1,
+partition x2 values in (8) tablespace ts2);
+ERROR 42S22: Unknown column 'd' in 'partition function'
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in (4),
+partition x2);
+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,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in (4),
+partition x2 values less than (5));
+ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in (4,6),
+partition x2);
+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,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in (4, 12+9),
+partition x2 values in (3, 21));
+ERROR HY000: Multiple definition of same constant in list partitioning
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in (4.0, 12+8),
+partition x2 values in (3, 21));
+ERROR 42000: VALUES value must be of same type as partition function near ' 12+8),
+partition x2 values in (3, 21))' at line 8
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+partitions 2
+(partition x1 values in 4,
+partition x2 values in (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 '4,
+partition x2 values in (5))' at line 8
+CREATE TABLE t1 (a int)
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (x1));
+ERROR 42S22: Unknown column 'x1' in 'partition function'
+CREATE TABLE t1(a int)
+PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN(5));
+insert into t1 values (10);
+ERROR HY000: Table has no partition for value 10
+drop table t1;
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (-1));
+ERROR HY000: Partition constant is out of partition function domain
+create table t1 (v varchar(12))
+partition by range (ascii(v))
+(partition p0 values less than (10));
+ERROR HY000: This partition function is not allowed
+create table t1 (a int)
+partition by hash (rand(a));
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+create table t1 (a int)
+partition by hash(CURTIME() + a);
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+create table t1 (a int)
+partition by hash (NOW()+a);
+ERROR 42000: Constant/Random expression in (sub)partitioning function is not allowed near ')' at line 2
+create table t1 (a int)
+partition by hash (extract(hour from convert_tz(a, '+00:00', '+00:00')));
+ERROR HY000: This partition function is not allowed
+create table t1 (a int)
+partition by range (a + (select count(*) from t1))
+(partition p1 values less than (1));
+ERROR HY000: This partition function is not allowed
+create table t1 (a char(10))
+partition by hash (extractvalue(a,'a'));
+ERROR HY000: This partition function is not allowed
diff --git a/mysql-test/r/partition_federated.result b/mysql-test/r/partition_federated.result
new file mode 100644
index 00000000000..2d98e366c95
--- /dev/null
+++ b/mysql-test/r/partition_federated.result
@@ -0,0 +1,6 @@
+drop table if exists t1;
+create table t1 (s1 int) engine=federated
+connection='mysql://root@localhost/federated/t1' partition by list (s1)
+(partition p1 values in (1), partition p2 values in (2));
+ERROR HY000: Engine cannot be used in partitioned tables
+End of 5.1 tests
diff --git a/mysql-test/r/partition_grant.result b/mysql-test/r/partition_grant.result
new file mode 100644
index 00000000000..c334a473a2a
--- /dev/null
+++ b/mysql-test/r/partition_grant.result
@@ -0,0 +1,34 @@
+drop schema if exists mysqltest_1;
+create schema mysqltest_1;
+use mysqltest_1;
+create table t1 (a int) partition by list (a) (partition p1 values in (1), partition p2 values in (2), partition p3 values in (3));
+insert into t1 values (1),(2);
+grant usage on *.* to mysqltest_1@localhost;
+revoke all privileges on *.* from mysqltest_1@localhost;
+grant select,alter on mysqltest_1.* to mysqltest_1@localhost;
+show grants for current_user;
+Grants for mysqltest_1@localhost
+GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
+GRANT SELECT, ALTER ON `mysqltest_1`.* TO 'mysqltest_1'@'localhost'
+alter table t1 add b int;
+alter table t1 drop partition p2;
+ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 't1'
+grant drop on mysqltest_1.* to mysqltest_1@localhost;
+alter table t1 drop partition p2;
+revoke alter on mysqltest_1.* from mysqltest_1@localhost;
+alter table t1 drop partition p3;
+ERROR 42000: ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1'
+revoke select,alter,drop on mysqltest_1.* from mysqltest_1@localhost;
+drop table t1;
+create table t1 (s1 int);
+insert into t1 values (1);
+grant alter on mysqltest_1.* to mysqltest_1@localhost;
+alter table t1 partition by list (s1) (partition p1 values in (2));
+ERROR HY000: Table has no partition for some existing values
+grant select, alter on mysqltest_1.* to mysqltest_1@localhost;
+alter table t1 partition by list (s1) (partition p1 values in (2));
+ERROR HY000: Table has no partition for value 1
+drop table t1;
+drop user mysqltest_1@localhost;
+drop schema mysqltest_1;
+End of 5.1 tests
diff --git a/mysql-test/r/partition_hash.result b/mysql-test/r/partition_hash.result
new file mode 100644
index 00000000000..94fefe77a77
--- /dev/null
+++ b/mysql-test/r/partition_hash.result
@@ -0,0 +1,200 @@
+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;
+insert into t1 values (null),(0),(1),(2),(3),(4),(5),(6),(7);
+select * from t1 where a < 0;
+a
+select * from t1 where a is null or (a >= 5 and a <= 7);
+a
+NULL
+5
+6
+7
+select * from t1 where a is null;
+a
+NULL
+select * from t1 where a is not null;
+a
+0
+1
+2
+3
+4
+5
+6
+7
+select * from t1 where a >= 1 and a < 3;
+a
+1
+2
+select * from t1 where a >= 3 and a <= 5;
+a
+3
+4
+5
+select * from t1 where a > 2 and a < 4;
+a
+3
+select * from t1 where a > 3 and a <= 6;
+a
+4
+5
+6
+select * from t1 where a > 5;
+a
+6
+7
+select * from t1 where a >= 1 and a <= 5;
+a
+1
+2
+3
+4
+5
+explain partitions select * from t1 where a < 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
+explain partitions select * from t1 where a is null or (a >= 5 and a <= 7);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 7 Using where
+explain partitions select * from t1 where a is null;
+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
+explain partitions select * from t1 where a is not null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
+explain partitions select * from t1 where a >= 1 and a < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 5 Using where
+explain partitions select * from t1 where a >= 3 and a <= 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t1 where a > 2 and a < 4;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a > 3 and a <= 6;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t1 where a > 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
+explain partitions select * from t1 where a >= 1 and a <= 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+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
+update t1 set c=3 where b=1;
+select * from t1;
+a b c
+1 1 3
+4 1 3
+2 1 3
+5 1 3
+3 1 3
+select b from t1 where a=3;
+b
+1
+select b,c from t1 where a=1 AND b=1;
+b c
+1 3
+delete from t1 where a=1;
+delete from t1 where c=3;
+select * from t1;
+a b c
+ALTER TABLE t1
+partition by hash (a + 3)
+partitions 3
+(partition x1 tablespace ts1,
+partition x2 tablespace ts2,
+partition x3 tablespace ts3);
+select * from t1;
+a b c
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by hash (a)
+(partition x1);
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by key (a)
+(partition x1);
+drop table t1;
+CREATE TABLE t1 (f1 INTEGER, f2 char(20)) ENGINE = 'MYISAM' PARTITION BY HASH(f1) PARTITIONS 2;
+INSERT INTO t1 SET f1 = 0 - 1, f2 = '#######';
+select * from t1;
+f1 f2
+-1 #######
+drop table t1;
+CREATE TABLE t1 (s1 int) ENGINE=BLACKHOLE PARTITION BY HASH (s1);
+INSERT INTO t1 VALUES (0);
+DROP TABLE t1;
+create table t1 (c1 int DEFAULT NULL,
+c2 varchar (30) DEFAULT NULL,
+c3 date DEFAULT NULL)
+engine = myisam
+partition by hash (to_days(c3))
+partitions 12;
+insert into t1 values
+(136,'abc','2002-01-05'),(142,'abc','2002-02-14'),(162,'abc','2002-06-28'),
+(182,'abc','2002-11-09'),(158,'abc','2002-06-01'),(184,'abc','2002-11-22');
+select * from t1;
+c1 c2 c3
+136 abc 2002-01-05
+158 abc 2002-06-01
+142 abc 2002-02-14
+162 abc 2002-06-28
+182 abc 2002-11-09
+184 abc 2002-11-22
+select * from t1 where c3 between '2002-01-01' and '2002-12-31';
+c1 c2 c3
+136 abc 2002-01-05
+158 abc 2002-06-01
+142 abc 2002-02-14
+162 abc 2002-06-28
+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
new file mode 100644
index 00000000000..5cbe34c94ca
--- /dev/null
+++ b/mysql-test/r/partition_innodb.result
@@ -0,0 +1,163 @@
+# 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
+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
+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
+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
+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
+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
+drop table t1;
+create table t1 (a int)
+partition by key (a)
+(partition p1 engine = innodb);
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+drop table t1;
+create table t1 (a date)
+engine = innodb
+partition by range (year(a))
+(partition p0 values less than (2006),
+partition p1 values less than (2007));
+explain partitions select * from t1
+where a between '2006-01-01' and '2007-06-01';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
+create table t1 (a int)
+engine = x
+partition by key (a);
+Warnings:
+Warning 1286 Unknown table engine 'x'
+Warning 1266 Using storage engine MyISAM for table 't1'
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */
+drop table t1;
+create table t1 (a int)
+engine = innodb
+partition by list (a)
+(partition p0 values in (0));
+alter table t1 engine = x;
+Warnings:
+Warning 1286 Unknown table engine 'x'
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */
+drop table t1;
+create table t1
+(
+id int unsigned auto_increment,
+time datetime not null,
+first_name varchar(40),
+last_name varchar(50),
+primary key (id, time),
+index first_index (first_name),
+index last_index (last_name)
+) engine=Innodb partition by range (to_days(time)) (
+partition p1 values less than (to_days('2007-02-07')),
+partition p2 values less than (to_days('2007-02-08')),
+partition p3 values less than MAXVALUE
+);
+insert into t1 (time, first_name, last_name) values ('2007-02-07', 'Q', 'Robert'),
+('2007-02-07', 'Mark', 'Nate'), ('2007-02-07', 'Nate', 'Oscar'),
+('2007-02-07', 'Zack', 'Alice'), ('2007-02-07', 'Jack', 'Kathy'),
+('2007-02-06', 'Alice', 'Alice'), ('2007-02-06', 'Brian', 'Charles'),
+('2007-02-06', 'Charles', 'David'), ('2007-02-06', 'David', 'Eric'),
+('2007-02-07', 'Hector', 'Isaac'), ('2007-02-07', 'Oscar', 'Patricia'),
+('2007-02-07', 'Patricia', 'Q'), ('2007-02-07', 'X', 'Yuri'),
+('2007-02-07', 'Robert', 'Shawn'), ('2007-02-07', 'Kathy', 'Lois'),
+('2007-02-07', 'Eric', 'Francis'), ('2007-02-06', 'Shawn', 'Theron'),
+('2007-02-06', 'U', 'Vincent'), ('2007-02-06', 'Francis', 'George'),
+('2007-02-06', 'George', 'Hector'), ('2007-02-06', 'Vincent', 'Walter'),
+('2007-02-06', 'Walter', 'X'), ('2007-02-07', 'Lois', 'Mark'),
+('2007-02-07', 'Yuri', 'Zack'), ('2007-02-07', 'Isaac', 'Jack'),
+('2007-02-07', 'Sharon', 'Mark'), ('2007-02-07', 'Michael', 'Michelle'),
+('2007-02-07', 'Derick', 'Nathan'), ('2007-02-07', 'Peter', 'Xavier'),
+('2007-02-07', 'Fred', 'Harold'), ('2007-02-07', 'Katherine', 'Lisa'),
+('2007-02-07', 'Tom', 'Rina'), ('2007-02-07', 'Jerry', 'Victor'),
+('2007-02-07', 'Alexander', 'Terry'), ('2007-02-07', 'Justin', 'John'),
+('2007-02-07', 'Greg', 'Ernest'), ('2007-02-07', 'Robert', 'Q'),
+('2007-02-07', 'Nate', 'Mark'), ('2007-02-07', 'Oscar', 'Nate'),
+('2007-02-07', 'Alice', 'Zack'), ('2007-02-07', 'Kathy', 'Jack'),
+('2007-02-06', 'Alice', 'Alice'), ('2007-02-06', 'Charles', 'Brian'),
+('2007-02-06', 'David', 'Charles'), ('2007-02-06', 'Eric', 'David'),
+('2007-02-07', 'Isaac', 'Hector'), ('2007-02-07', 'Patricia', 'Oscar'),
+('2007-02-07', 'Q', 'Patricia'), ('2007-02-07', 'Yuri', 'X'),
+('2007-02-07', 'Shawn', 'Robert'), ('2007-02-07', 'Lois', 'Kathy'),
+('2007-02-07', 'Francis', 'Eric'), ('2007-02-06', 'Theron', 'Shawn'),
+('2007-02-06', 'Vincent', 'U'), ('2007-02-06', 'George', 'Francis'),
+('2007-02-06', 'Hector', 'George'), ('2007-02-06', 'Walter', 'Vincent'),
+('2007-02-06', 'X', 'Walter'), ('2007-02-07', 'Mark', 'Lois'),
+('2007-02-07', 'Zack', 'Yuri'), ('2007-02-07', 'Jack', 'Isaac'),
+('2007-02-07', 'Mark', 'Sharon'), ('2007-02-07', 'Michelle', 'Michael'),
+('2007-02-07', 'Nathan', 'Derick'), ('2007-02-07', 'Xavier', 'Peter'),
+('2007-02-07', 'Harold', 'Fred'), ('2007-02-07', 'Lisa', 'Katherine'),
+('2007-02-07', 'Rina', 'Tom'), ('2007-02-07', 'Victor', 'Jerry'),
+('2007-02-07', 'Terry', 'Alexander'), ('2007-02-07', 'John', 'Justin'),
+('2007-02-07', 'Ernest', 'Greg');
+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 PARTITION BY RANGE (int_column)
+subpartition by key (char_column) subpartitions 2
+(PARTITION p1 VALUES LESS THAN (5) ENGINE = myisam);
+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_list.result b/mysql-test/r/partition_list.result
new file mode 100644
index 00000000000..a68a67c6386
--- /dev/null
+++ b/mysql-test/r/partition_list.result
@@ -0,0 +1,301 @@
+drop table if exists t1;
+create table t1 (a int unsigned)
+partition by list (a)
+(partition p0 values in (0),
+partition p1 values in (1),
+partition pnull values in (null),
+partition p2 values in (2));
+insert into t1 values (null),(0),(1),(2);
+select * from t1 where a < 2;
+a
+0
+1
+select * from t1 where a <= 0;
+a
+0
+select * from t1 where a < 1;
+a
+0
+select * from t1 where a > 0;
+a
+1
+2
+select * from t1 where a > 1;
+a
+2
+select * from t1 where a >= 0;
+a
+0
+1
+2
+select * from t1 where a >= 1;
+a
+1
+2
+select * from t1 where a is null;
+a
+NULL
+select * from t1 where a is not null;
+a
+0
+1
+2
+select * from t1 where a is null or a > 0;
+a
+1
+NULL
+2
+drop table t1;
+create table t1 (a int unsigned, b int)
+partition by list (a)
+subpartition by hash (b)
+subpartitions 2
+(partition p0 values in (0),
+partition p1 values in (1),
+partition pnull values in (null, 2),
+partition p3 values in (3));
+insert into t1 values (0,0),(0,1),(1,0),(1,1),(null,0),(null,1);
+insert into t1 values (2,0),(2,1),(3,0),(3,1);
+explain partitions select * from t1 where a is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 4 Using where
+select * from t1 where a is null;
+a b
+NULL 0
+NULL 1
+explain partitions select * from t1 where a = 2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 4 Using where
+select * from t1 where a = 2;
+a b
+2 0
+2 1
+select * from t1 where a <= 0;
+a b
+0 0
+0 1
+select * from t1 where a < 3;
+a b
+0 0
+0 1
+1 0
+1 1
+2 0
+2 1
+select * from t1 where a >= 1 or a is null;
+a b
+1 0
+1 1
+NULL 0
+2 0
+NULL 1
+2 1
+3 0
+3 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null)
+partition by list(a)
+partitions 2
+(partition x123 values in (1,5,6),
+partition x234 values in (4,7,8));
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (2,1,1);
+ERROR HY000: Table has no partition for value 2
+INSERT into t1 VALUES (3,1,1);
+ERROR HY000: Table has no partition for value 3
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (5,1,1);
+INSERT into t1 VALUES (6,1,1);
+INSERT into t1 VALUES (7,1,1);
+INSERT into t1 VALUES (8,1,1);
+INSERT into t1 VALUES (9,1,1);
+ERROR HY000: Table has no partition for value 9
+INSERT into t1 VALUES (1,2,1);
+INSERT into t1 VALUES (1,3,1);
+INSERT into t1 VALUES (1,4,1);
+INSERT into t1 VALUES (7,2,1);
+INSERT into t1 VALUES (7,3,1);
+INSERT into t1 VALUES (7,4,1);
+SELECT * from t1;
+a b c
+1 1 1
+5 1 1
+6 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+8 1 1
+7 2 1
+7 3 1
+7 4 1
+SELECT * from t1 WHERE a=1;
+a b c
+1 1 1
+1 2 1
+1 3 1
+1 4 1
+SELECT * from t1 WHERE a=7;
+a b c
+7 1 1
+7 2 1
+7 3 1
+7 4 1
+SELECT * from t1 WHERE b=2;
+a b c
+1 2 1
+7 2 1
+UPDATE t1 SET a=8 WHERE a=7 AND b=3;
+SELECT * from t1;
+a b c
+1 1 1
+5 1 1
+6 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+8 1 1
+7 2 1
+8 3 1
+7 4 1
+UPDATE t1 SET a=8 WHERE a=5 AND b=1;
+SELECT * from t1;
+a b c
+1 1 1
+6 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+8 1 1
+7 2 1
+8 3 1
+7 4 1
+8 1 1
+DELETE from t1 WHERE a=8;
+SELECT * from t1;
+a b c
+1 1 1
+6 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+7 2 1
+7 4 1
+DELETE from t1 WHERE a=2;
+SELECT * from t1;
+a b c
+1 1 1
+6 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+7 2 1
+7 4 1
+DELETE from t1 WHERE a=5 OR a=6;
+SELECT * from t1;
+a b c
+1 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+7 2 1
+7 4 1
+ALTER TABLE t1
+partition by list(a)
+partitions 2
+(partition x123 values in (1,5,6),
+partition x234 values in (4,7,8));
+SELECT * from t1;
+a b c
+1 1 1
+1 2 1
+1 3 1
+1 4 1
+4 1 1
+7 1 1
+7 2 1
+7 4 1
+INSERT into t1 VALUES (6,2,1);
+INSERT into t1 VALUES (2,2,1);
+ERROR HY000: Table has no partition for value 2
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by list (a)
+subpartition by hash (a+b)
+( partition x1 values in (1,2,3)
+( subpartition x11 nodegroup 0,
+subpartition x12 nodegroup 1),
+partition x2 values in (4,5,6)
+( subpartition x21 nodegroup 0,
+subpartition x22 nodegroup 1)
+);
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (7,1,1);
+ERROR HY000: Table has no partition for value 7
+UPDATE t1 SET a=5 WHERE a=1;
+SELECT * from t1;
+a b c
+5 1 1
+4 1 1
+UPDATE t1 SET a=6 WHERE a=4;
+SELECT * from t1;
+a b c
+5 1 1
+6 1 1
+DELETE from t1 WHERE a=6;
+SELECT * from t1;
+a b c
+5 1 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by list (a)
+(partition x1 values in (1,2,9,4) tablespace ts1);
+drop table t1;
+CREATE TABLE t1 (s1 int) PARTITION BY LIST (s1)
+(PARTITION p1 VALUES IN (1),
+PARTITION p2 VALUES IN (2),
+PARTITION p3 VALUES IN (3),
+PARTITION p4 VALUES IN (4),
+PARTITION p5 VALUES IN (5));
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+SELECT COUNT(*) FROM t1 WHERE s1 < 3;
+COUNT(*)
+2
+DROP TABLE t1;
+create table t1 (a int auto_increment primary key)
+auto_increment=100
+partition by list (a)
+(partition p0 values in (1, 100));
+create index inx on t1 (a);
+insert into t1 values (null);
+select * from t1;
+a
+100
+drop table t1;
+create table t1 (a char(1))
+partition by list (ascii(ucase(a)))
+(partition p1 values in (2));
+ERROR HY000: This partition function is not allowed
diff --git a/mysql-test/r/partition_mgm.result b/mysql-test/r/partition_mgm.result
new file mode 100644
index 00000000000..9ef220028b3
--- /dev/null
+++ b/mysql-test/r/partition_mgm.result
@@ -0,0 +1,38 @@
+DROP TABLE IF EXISTS t1;
+create table t1 (a int)
+partition by range (a)
+subpartition by key (a)
+(partition p0 values less than (10) (subpartition sp00, subpartition sp01),
+partition p1 values less than (20) (subpartition sp10, subpartition sp11));
+alter table t1 reorganize partition p0 into
+(partition p0 values less than (10) (subpartition sp00,
+subpartition sp01, subpartition sp02));
+ERROR HY000: Wrong number of subpartitions defined, mismatch with previous setting
+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;
+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 (YEAR(f_date)) PARTITIONS 2 */
+ALTER TABLE t1 COALESCE PARTITION 1;
+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 (YEAR(f_date)) PARTITIONS 1 */
+drop table t1;
+create table t1 (a int)
+partition by list (a)
+subpartition by hash (a)
+(partition p11 values in (1,2),
+partition p12 values in (3,4));
+alter table t1 REORGANIZE partition p11, p12 INTO
+(partition p1 values in (1,2,3,4));
+alter table t1 REORGANIZE partition p1 INTO
+(partition p11 values in (1,2),
+partition p12 values in (3,4));
+drop table t1;
diff --git a/mysql-test/r/partition_mgm_err.result b/mysql-test/r/partition_mgm_err.result
new file mode 100644
index 00000000000..764f6fb5632
--- /dev/null
+++ b/mysql-test/r/partition_mgm_err.result
@@ -0,0 +1,150 @@
+drop table if exists t1;
+CREATE TABLE t1 (a int, b int)
+PARTITION BY RANGE (a)
+(PARTITION x0 VALUES LESS THAN (2),
+PARTITION x1 VALUES LESS THAN (4),
+PARTITION x2 VALUES LESS THAN (6),
+PARTITION x3 VALUES LESS THAN (8),
+PARTITION x4 VALUES LESS THAN (10),
+PARTITION x5 VALUES LESS THAN (12),
+PARTITION x6 VALUES LESS THAN (14),
+PARTITION x7 VALUES LESS THAN (16),
+PARTITION x8 VALUES LESS THAN (18),
+PARTITION x9 VALUES LESS THAN (20));
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
+(PARTITION x01 VALUES LESS THAN (2),
+PARTITION x11 VALUES LESS THAN (5));
+ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
+ALTER TABLE t1 DROP PARTITION x0, x1, x2, x3, x3;
+ERROR HY000: Error in list of partitions to DROP
+ALTER TABLE t1 DROP PARTITION x0, x1, x2, x10;
+ERROR HY000: Error in list of partitions to DROP
+ALTER TABLE t1 DROP PARTITION x10, x1, x2, x1;
+ERROR HY000: Error in list of partitions to DROP
+ALTER TABLE t1 DROP PARTITION x10, x1, x2, x3;
+ERROR HY000: Error in list of partitions to DROP
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 INTO
+(PARTITION x11 VALUES LESS THAN (22));
+ERROR HY000: More partitions to reorganise than there are partitions
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO
+(PARTITION x3 VALUES LESS THAN (6));
+ERROR HY000: Duplicate partition name x3
+ALTER TABLE t1 REORGANIZE PARTITION x0, x2 INTO
+(PARTITION x11 VALUES LESS THAN (2));
+ERROR HY000: When reorganising a set of partitions they must be in consecutive order
+ALTER TABLE t1 REORGANIZE PARTITION x0, x1, x1 INTO
+(PARTITION x11 VALUES LESS THAN (4));
+ERROR HY000: Error in list of partitions to REORGANIZE
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
+(PARTITION x01 VALUES LESS THAN (5));
+ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
+(PARTITION x01 VALUES LESS THAN (4),
+PARTITION x11 VALUES LESS THAN (2));
+ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
+ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
+(PARTITION x01 VALUES LESS THAN (6),
+PARTITION x11 VALUES LESS THAN (4));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY KEY (a)
+PARTITIONS 2;
+ALTER TABLE t1 ADD PARTITION (PARTITION p1);
+ERROR HY000: Duplicate partition name p1
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY KEY (a)
+(PARTITION x0, PARTITION x1, PARTITION x2, PARTITION x3, PARTITION x3);
+ERROR HY000: Duplicate partition name x3
+CREATE TABLE t1 (a int)
+PARTITION BY RANGE (a)
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2
+(PARTITION x0 VALUES LESS THAN (4),
+PARTITION x1 VALUES LESS THAN (8));
+ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (5)
+(SUBPARTITION sp0, SUBPARTITION sp1));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
+ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (12)
+(SUBPARTITION sp0, SUBPARTITION sp1, SUBPARTITION sp2));
+ERROR HY000: Trying to Add partition(s) with wrong number of subpartitions
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY LIST (a)
+(PARTITION x0 VALUES IN (1,2,3),
+PARTITION x1 VALUES IN (4,5,6));
+ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES IN (3,4));
+ERROR HY000: Multiple definition of same constant in list partitioning
+DROP TABLE t1;
+CREATE TABLE t1 (a int);
+ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
+ERROR HY000: Partition management on a not partitioned table is not possible
+ALTER TABLE t1 DROP PARTITION x1;
+ERROR HY000: Partition management on a not partitioned table is not possible
+ALTER TABLE t1 COALESCE PARTITION 1;
+ERROR HY000: Partition management on a not partitioned table is not possible
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY KEY (a)
+(PARTITION x0, PARTITION x1);
+ALTER TABLE t1 ADD PARTITION PARTITIONS 0;
+ERROR HY000: At least one partition must be added
+ALTER TABLE t1 ADD PARTITION PARTITIONS 1024;
+ERROR HY000: Too many partitions (including subpartitions) were defined
+ALTER TABLE t1 DROP PARTITION x0;
+ERROR HY000: DROP PARTITION can only be used on RANGE/LIST partitions
+ALTER TABLE t1 COALESCE PARTITION 1;
+ALTER TABLE t1 COALESCE PARTITION 1;
+ERROR HY000: Cannot remove all partitions, use DROP TABLE instead
+DROP TABLE t1;
+CREATE TABLE t1 (a int)
+PARTITION BY RANGE (a)
+(PARTITION x0 VALUES LESS THAN (4),
+PARTITION x1 VALUES LESS THAN (8));
+ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
+ERROR HY000: For RANGE partitions each partition must be defined
+ALTER TABLE t1 DROP PARTITION x2;
+ERROR HY000: Error in list of partitions to DROP
+ALTER TABLE t1 COALESCE PARTITION 1;
+ERROR HY000: COALESCE PARTITION can only be used on HASH/KEY partitions
+ALTER TABLE t1 DROP PARTITION x1;
+ALTER TABLE t1 DROP PARTITION x0;
+ERROR HY000: Cannot remove all partitions, use DROP TABLE instead
+DROP TABLE t1;
+CREATE TABLE t1 ( id INT NOT NULL,
+fname VARCHAR(50) NOT NULL,
+lname VARCHAR(50) NOT NULL,
+hired DATE NOT NULL )
+PARTITION BY RANGE(YEAR(hired)) (
+PARTITION p1 VALUES LESS THAN (1991),
+PARTITION p2 VALUES LESS THAN (1996),
+PARTITION p3 VALUES LESS THAN (2001),
+PARTITION p4 VALUES LESS THAN (2005));
+ALTER TABLE t1 ADD PARTITION (
+PARTITION p5 VALUES LESS THAN (2010),
+PARTITION p6 VALUES LESS THAN MAXVALUE);
+DROP TABLE t1;
+CREATE TABLE t1 (a INT);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 PARTITION BY KEY(a) PARTITIONS 2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 2 */
+DROP TABLE t1;
+CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
+ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
+DROP TABLE t1;
+CREATE TABLE t1 (s1 int, s2 int)
+PARTITION BY LIST (s1)
+SUBPARTITION BY KEY (s2) (
+PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
+PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
+);
+ERROR HY000: Duplicate partition name p1b
diff --git a/mysql-test/r/partition_mgm_err2.result b/mysql-test/r/partition_mgm_err2.result
new file mode 100644
index 00000000000..7e5763b8f1b
--- /dev/null
+++ b/mysql-test/r/partition_mgm_err2.result
@@ -0,0 +1,2 @@
+INSERT INTO t1 VALUES (15);
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_not_windows.result b/mysql-test/r/partition_not_windows.result
new file mode 100644
index 00000000000..31ea300e8ed
--- /dev/null
+++ b/mysql-test/r/partition_not_windows.result
@@ -0,0 +1,27 @@
+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'
+(SUBPARTITION subpart00, SUBPARTITION subpart01));
+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'
+(SUBPARTITION subpart10, SUBPARTITION subpart11),
+partition p2 VALUES LESS THAN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpdata' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/master-data/tmpinx'
+(SUBPARTITION subpart20, SUBPARTITION subpart21));
+Checking if file exists after alter
+drop table t1;
+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`)
+) 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'
+);
+ERROR HY000: Can't create/write to file '/build/5.1/data/partitiontest/p0Data/example#P#p0.MYD' (Errcode: 2)
diff --git a/mysql-test/r/partition_order.result b/mysql-test/r/partition_order.result
new file mode 100644
index 00000000000..78ff7cd3121
--- /dev/null
+++ b/mysql-test/r/partition_order.result
@@ -0,0 +1,785 @@
+drop table if exists t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b tinyint not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b tinyint unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b smallint not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b smallint unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b mediumint not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b mediumint unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b bigint unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b bigint not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b bigint not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b float not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b double not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b double unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b float unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b double precision not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b double precision unsigned not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b decimal not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (2, 5);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b char(10) not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > 0 order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b varchar(10) not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b varchar(10) not null,
+primary key(a),
+index (b(5)))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b varchar(10) binary not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b tinytext not null,
+primary key(a),
+index (b(10)))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b text not null,
+primary key(a),
+index (b(10)))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b mediumtext not null,
+primary key(a),
+index (b(10)))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b longtext not null,
+primary key(a),
+index (b(10)))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b > '0' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b enum('1','2', '4', '5') not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b >= '1' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b set('1','2', '4', '5') not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '1');
+INSERT into t1 values (2, '5');
+INSERT into t1 values (30, '4');
+INSERT into t1 values (35, '2');
+select * from t1 force index (b) where b >= '1' order by b;
+a b
+1 1
+35 2
+30 4
+2 5
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b date not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '2001-01-01');
+INSERT into t1 values (2, '2005-01-01');
+INSERT into t1 values (30, '2004-01-01');
+INSERT into t1 values (35, '2002-01-01');
+select * from t1 force index (b) where b > '2000-01-01' order by b;
+a b
+1 2001-01-01
+35 2002-01-01
+30 2004-01-01
+2 2005-01-01
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b datetime not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '2001-01-01 00:00:00');
+INSERT into t1 values (2, '2005-01-01 00:00:00');
+INSERT into t1 values (30, '2004-01-01 00:00:00');
+INSERT into t1 values (35, '2002-01-01 00:00:00');
+select * from t1 force index (b) where b > '2000-01-01 00:00:00' order by b;
+a b
+1 2001-01-01 00:00:00
+35 2002-01-01 00:00:00
+30 2004-01-01 00:00:00
+2 2005-01-01 00:00:00
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b timestamp not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '2001-01-01 00:00:00');
+INSERT into t1 values (2, '2005-01-01 00:00:00');
+INSERT into t1 values (30, '2004-01-01 00:00:00');
+INSERT into t1 values (35, '2002-01-01 00:00:00');
+select * from t1 force index (b) where b > '2000-01-01 00:00:00' order by b;
+a b
+1 2001-01-01 00:00:00
+35 2002-01-01 00:00:00
+30 2004-01-01 00:00:00
+2 2005-01-01 00:00:00
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b time not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, '01:00:00');
+INSERT into t1 values (2, '05:00:00');
+INSERT into t1 values (30, '04:00:00');
+INSERT into t1 values (35, '02:00:00');
+select * from t1 force index (b) where b > '00:00:00' order by b;
+a b
+1 01:00:00
+35 02:00:00
+30 04:00:00
+2 05:00:00
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b year not null,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 2001);
+INSERT into t1 values (2, 2005);
+INSERT into t1 values (30, 2004);
+INSERT into t1 values (35, 2002);
+select * from t1 force index (b) where b > 2000 order by b;
+a b
+1 2001
+35 2002
+30 2004
+2 2005
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b bit(5) not null,
+c int,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, b'00001', NULL);
+INSERT into t1 values (2, b'00101', 2);
+INSERT into t1 values (30, b'00100', 2);
+INSERT into t1 values (35, b'00010', NULL);
+select a from t1 force index (b) where b > b'00000' order by b;
+a
+1
+35
+30
+2
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b bit(15) not null,
+c int,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, b'000000000000001', NULL);
+INSERT into t1 values (2, b'001010000000101', 2);
+INSERT into t1 values (30, b'001000000000100', 2);
+INSERT into t1 values (35, b'000100000000010', NULL);
+select a from t1 force index (b) where b > b'000000000000000' order by b;
+a
+1
+35
+30
+2
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int,
+primary key(a),
+index (b))
+partition by range (a)
+partitions 2
+(partition x1 values less than (25),
+partition x2 values less than (100));
+INSERT into t1 values (1, 1);
+INSERT into t1 values (5, NULL);
+INSERT into t1 values (2, 4);
+INSERT into t1 values (3, 3);
+INSERT into t1 values (4, 5);
+INSERT into t1 values (7, 1);
+INSERT into t1 values (6, 6);
+INSERT into t1 values (30, 4);
+INSERT into t1 values (35, 2);
+INSERT into t1 values (40, NULL);
+select * from t1 force index (b) where b < 10 OR b IS NULL order by b;
+a b
+5 NULL
+40 NULL
+1 1
+7 1
+35 2
+3 3
+2 4
+30 4
+4 5
+6 6
+select * from t1 force index (b) where b < 10 ORDER BY b;
+a b
+1 1
+7 1
+35 2
+3 3
+2 4
+30 4
+4 5
+6 6
+select * from t1 force index (b) where b < 10 ORDER BY b DESC;
+a b
+6 6
+4 5
+2 4
+30 4
+3 3
+35 2
+7 1
+1 1
+drop table t1;
+create table t1 (a int not null, b int, c varchar(20), key (a,b,c))
+partition by range (b)
+(partition p0 values less than (5),
+partition p1 values less than (10));
+INSERT into t1 values (1,1,'1'),(2,2,'2'),(1,3,'3'),(2,4,'4'),(1,5,'5');
+INSERT into t1 values (2,6,'6'),(1,7,'7'),(2,8,'8'),(1,9,'9');
+INSERT into t1 values (1, NULL, NULL), (2, NULL, '10');
+select * from t1 where a = 1 order by a desc, b desc;
+a b c
+1 9 9
+1 7 7
+1 5 5
+1 3 3
+1 1 1
+1 NULL NULL
+select * from t1 where a = 1 order by b desc;
+a b c
+1 9 9
+1 7 7
+1 5 5
+1 3 3
+1 1 1
+1 NULL NULL
+drop table t1;
diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result
new file mode 100644
index 00000000000..396400f9010
--- /dev/null
+++ b/mysql-test/r/partition_pruning.result
@@ -0,0 +1,941 @@
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+create table t1 ( a int not null) partition by hash(a) partitions 2;
+insert into t1 values (1),(2),(3);
+explain select * from t1 where a=5 and a=6;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+drop table t1;
+create table t1 (
+a int(11) not null
+) partition by hash (a) partitions 2;
+insert into t1 values (1),(2),(3);
+explain partitions select * from t1 where a=1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a=2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where a=1 or a=2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 3 Using where
+create table t2 (
+a int not null,
+b int not null
+) partition by key(a,b) partitions 2;
+insert into t2 values (1,1),(2,2),(3,3);
+explain partitions select * from t2 where a=1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t2 where b=1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t2 where a=1 and b=1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where
+create table t3 (
+a int
+)
+partition by range (a*1) (
+partition p0 values less than (10),
+partition p1 values less than (20)
+);
+insert into t3 values (5),(15);
+explain partitions select * from t3 where a=11;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t3 where a=10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t3 where a=20;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t3 where a=30;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+create table t4 (a int not null, b int not null) partition by LIST (a+b) (
+partition p0 values in (12),
+partition p1 values in (14)
+);
+insert into t4 values (10,2), (10,4);
+explain partitions select * from t4 where (a=10 and b=1) or (a=10 and b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 p0 system NULL NULL NULL NULL 1
+explain partitions select * from t4
+where (a=10 and b=1) or (a=10 and b=2) or (a=10 and b = 3);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 p0 system NULL NULL NULL NULL 1
+explain partitions select * from t4 where (a=10 and b=2) or (a=10 and b=3)
+or (a=10 and b = 4);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t4 where (a=10 and b=1) or a=11;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t4 where (a=10 and b=2) or a=11;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t4 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+drop table t1, t2, t3, t4;
+create table t5 (a int not null, b int not null,
+c int not null, d int not null)
+partition by LIST(a+b) subpartition by HASH (c+d) subpartitions 2
+(
+partition p0 values in (12),
+partition p1 values in (14)
+);
+insert into t5 values (10,2,0,0), (10,4,0,0), (10,2,0,1), (10,4,0,1);
+explain partitions select * from t5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4
+explain partitions select * from t5
+where (a=10 and b=1) or (a=10 and b=2) or (a=10 and b = 3);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t5 where (a=10 and b=2) or (a=10 and b=3)
+or (a=10 and b = 4);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t5 where (c=1 and d=1);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p1_p1sp0 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t5 where (c=2 and d=1);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t5 where (a=10 and b=2 and c=1 and d=1) or
+(c=2 and d=1);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t5 where (a=10 and b=2 and c=1 and d=1) or
+(b=2 and c=2 and d=1);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 3 Using where
+create table t6 (a int not null) partition by LIST(a) (
+partition p1 values in (1),
+partition p3 values in (3),
+partition p5 values in (5),
+partition p7 values in (7),
+partition p9 values in (9)
+);
+insert into t6 values (1),(3),(5);
+explain partitions select * from t6 where a < 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a <= 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a > 9;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a >= 9;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a > 0 and a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1,p3 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t6 where a > 5 and a < 12;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a > 3 and a < 8 ;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p5,p7 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a >= 0 and a <= 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1,p3,p5 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t6 where a >= 5 and a <= 12;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p5,p7,p9 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a >= 3 and a <= 8;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t6 where a > 3 and a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t6;
+create table t6 (a int unsigned not null) partition by LIST(a) (
+partition p1 values in (1),
+partition p3 values in (3),
+partition p5 values in (5),
+partition p7 values in (7),
+partition p9 values in (9)
+);
+insert into t6 values (1),(3),(5);
+explain partitions select * from t6 where a < 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a <= 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a > 9;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a >= 9;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a > 0 and a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1,p3 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t6 where a > 5 and a < 12;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t6 where a > 3 and a < 8 ;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p5,p7 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a >= 0 and a <= 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p1,p3,p5 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t6 where a >= 5 and a <= 12;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p5,p7,p9 system NULL NULL NULL NULL 1
+explain partitions select * from t6 where a >= 3 and a <= 8;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t6 where a > 3 and a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+create table t7 (a int not null) partition by RANGE(a) (
+partition p10 values less than (10),
+partition p30 values less than (30),
+partition p50 values less than (50),
+partition p70 values less than (70),
+partition p90 values less than (90)
+);
+insert into t7 values (10),(30),(50);
+explain partitions select * from t7 where a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a < 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a <= 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p10,p30 system NULL NULL NULL NULL 1
+explain partitions select * from t7 where a = 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p30 system NULL NULL NULL NULL 1
+explain partitions select * from t7 where a < 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p10,p30,p50,p70,p90 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t7 where a = 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a > 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a >= 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a > 11 and a < 29;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t7;
+create table t7 (a int unsigned not null) partition by RANGE(a) (
+partition p10 values less than (10),
+partition p30 values less than (30),
+partition p50 values less than (50),
+partition p70 values less than (70),
+partition p90 values less than (90)
+);
+insert into t7 values (10),(30),(50);
+explain partitions select * from t7 where a < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a < 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a <= 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p10,p30 system NULL NULL NULL NULL 1
+explain partitions select * from t7 where a = 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p30 system NULL NULL NULL NULL 1
+explain partitions select * from t7 where a < 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t7 p10,p30,p50,p70,p90 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t7 where a = 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a > 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a >= 90;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t7 where a > 11 and a < 29;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+create table t8 (a date not null) partition by RANGE(YEAR(a)) (
+partition p0 values less than (1980),
+partition p1 values less than (1990),
+partition p2 values less than (2000)
+);
+insert into t8 values ('1985-05-05'),('1995-05-05');
+explain partitions select * from t8 where a < '1980-02-02';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+create table t9 (a date not null) partition by RANGE(TO_DAYS(a)) (
+partition p0 values less than (732299), -- 2004-12-19
+partition p1 values less than (732468), -- 2005-06-06
+partition p2 values less than (732664) -- 2005-12-19
+);
+insert into t9 values ('2005-05-05'), ('2005-04-04');
+explain partitions select * from t9 where a < '2004-12-19';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t9 where a <= '2004-12-19';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t9 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+drop table t5,t6,t7,t8,t9;
+create table t1 (
+a1 int not null
+)
+partition by range (a1) (
+partition p0 values less than (3),
+partition p1 values less than (6),
+partition p2 values less than (9)
+);
+insert into t1 values (1),(2),(3);
+explain partitions select * from t1 where a1 > 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t1 where a1 >= 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where a1 < 3 and a1 > 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t1;
+create table t3 (a int, b int)
+partition by list(a) subpartition by hash(b) subpartitions 4 (
+partition p0 values in (1),
+partition p1 values in (2),
+partition p2 values in (3),
+partition p3 values in (4)
+);
+insert into t3 values (1,1),(2,2),(3,3);
+explain partitions select * from t3 where a=2 or b=1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 p0_p0sp1,p1_p1sp0,p1_p1sp1,p1_p1sp2,p1_p1sp3,p2_p2sp1,p3_p3sp1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t3 where a=4 or b=2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 p0_p0sp2,p1_p1sp2,p2_p2sp2,p3_p3sp0,p3_p3sp1,p3_p3sp2,p3_p3sp3 system NULL NULL NULL NULL 1
+explain partitions select * from t3 where (a=2 or b=1) and (a=4 or b=2) ;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 p1_p1sp2,p3_p3sp1 system NULL NULL NULL NULL 1
+drop table t3;
+create table t1 (a int) partition by hash(a) partitions 2;
+insert into t1 values (1),(2);
+explain partitions select * from t1 where a is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t1 where a is not null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
+create table t1 (a int not null, b int not null, key(a), key(b))
+partition by hash(a) partitions 4;
+insert into t1 values (1,1),(2,2),(3,3),(4,4);
+explain partitions
+select * from t1 X, t1 Y
+where X.b = Y.b and (X.a=1 or X.a=2) and (Y.a=2 or Y.a=3);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE X p1,p2 ALL a,b NULL NULL NULL 2 Using where
+1 SIMPLE Y p2,p3 ref a,b b 4 test.X.b 2 Using where
+explain partitions
+select * from t1 X, t1 Y where X.a = Y.a and (X.a=1 or X.a=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE X p1,p2 ALL a NULL NULL NULL 2 Using where
+1 SIMPLE Y p1,p2 ref a a 4 test.X.a 2
+drop table t1;
+create table t1 (a int) partition by hash(a) partitions 20;
+insert into t1 values (1),(2),(3);
+explain partitions select * from t1 where a > 1 and a < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where a >= 1 and a < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a > 1 and a <= 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a >= 1 and a <= 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2,p3 ALL NULL NULL NULL NULL 3 Using where
+drop table t1;
+create table t1 (a int, b int)
+partition by list(a) subpartition by hash(b) subpartitions 20
+(
+partition p0 values in (0),
+partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3)
+);
+insert into t1 values (1,1),(2,2),(3,3);
+explain partitions select * from t1 where b > 1 and b < 3;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0_p0sp2,p1_p1sp2,p2_p2sp2,p3_p3sp2 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where b > 1 and b < 3 and (a =1 or a =2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1_p1sp2,p2_p2sp2 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (a int) partition by list(a) (
+partition p0 values in (1,2),
+partition p1 values in (3,4)
+);
+insert into t1 values (1),(1),(2),(2),(3),(4),(3),(4);
+flush status;
+update t1 set a=100 where a=5;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+flush status;
+update t1 set a=100 where a+1=5+1;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 10
+flush status;
+delete from t1 where a=5;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+flush status;
+delete from t1 where a+1=5+1;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 10
+create table t2 like t1;
+insert into t2 select * from t2;
+flush status;
+update t1,t2 set t1.a=1000, t2.a=1000 where t1.a=5 and t2.a=5;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+flush status;
+delete t1,t2 from t1, t2 where t1.a=5 and t2.a=5;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+drop table t1,t2;
+CREATE TABLE `t1` (
+`a` int(11) default NULL
+);
+INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+CREATE TABLE `t2` (
+`a` int(11) default NULL,
+KEY `a` (`a`)
+) ;
+insert into t2 select A.a + 10*(B.a + 10* C.a) from t1 A, t1 B, t1 C ;
+insert into t1 select a from t2;
+drop table t2;
+CREATE TABLE `t2` (
+`a` int(11) default NULL,
+`b` int(11) default NULL
+)
+PARTITION BY RANGE (a) (
+PARTITION p0 VALUES LESS THAN (200),
+PARTITION p1 VALUES LESS THAN (400),
+PARTITION p2 VALUES LESS THAN (600),
+PARTITION p3 VALUES LESS THAN (800),
+PARTITION p4 VALUES LESS THAN (1001));
+insert into t2 select a,1 from t1 where a < 200;
+insert into t2 select a,2 from t1 where a >= 200 and a < 400;
+insert into t2 select a,3 from t1 where a >= 400 and a < 600;
+insert into t2 select a,4 from t1 where a >= 600 and a < 800;
+insert into t2 select a,5 from t1 where a >= 800 and a < 1001;
+explain partitions select * from t2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 1010
+explain partitions select * from t2 where a < 801 and a > 200;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p1,p2,p3,p4 ALL NULL NULL NULL NULL 800 Using where
+explain partitions select * from t2 where a < 801 and a > 800;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 200 Using where
+explain partitions select * from t2 where a > 600;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where
+explain partitions select * from t2 where a > 600 and b = 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where
+explain partitions select * from t2 where a > 600 and b = 4;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where
+explain partitions select * from t2 where a > 600 and b = 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where
+explain partitions select * from t2 where b = 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 1010 Using where
+flush status;
+update t2 set b = 100 where b = 6;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 1015
+flush status;
+update t2 set a = 1002 where a = 1001;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+flush status;
+update t2 set b = 6 where a = 600;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 201
+flush status;
+update t2 set b = 6 where a > 600 and a < 800;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 201
+flush status;
+delete from t2 where a > 600;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 402
+drop table t2;
+CREATE TABLE `t2` (
+`a` int(11) default NULL,
+`b` int(11) default NULL,
+index (b)
+)
+PARTITION BY RANGE (a) (
+PARTITION p0 VALUES LESS THAN (200),
+PARTITION p1 VALUES LESS THAN (400),
+PARTITION p2 VALUES LESS THAN (600),
+PARTITION p3 VALUES LESS THAN (800),
+PARTITION p4 VALUES LESS THAN (1001));
+insert into t2 select a,1 from t1 where a < 100;
+insert into t2 select a,2 from t1 where a >= 200 and a < 300;
+insert into t2 select a,3 from t1 where a >= 300 and a < 400;
+insert into t2 select a,4 from t1 where a >= 400 and a < 500;
+insert into t2 select a,5 from t1 where a >= 500 and a < 600;
+insert into t2 select a,6 from t1 where a >= 600 and a < 700;
+insert into t2 select a,7 from t1 where a >= 700 and a < 800;
+insert into t2 select a,8 from t1 where a >= 800 and a < 900;
+insert into t2 select a,9 from t1 where a >= 900 and a < 1001;
+explain partitions select * from t2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 910
+explain partitions select * from t2 where a = 101;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 110 Using where
+explain partitions select * from t2 where a = 550;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 200 Using where
+explain partitions select * from t2 where a = 833;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 200 Using where
+explain partitions select * from t2 where (a = 100 OR a = 900);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p4 ALL NULL NULL NULL NULL 310 Using where
+explain partitions select * from t2 where (a > 100 AND a < 600);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3 ALL NULL NULL NULL NULL 710 Using where
+explain partitions select * from t2 where b = 4;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ref b b 5 const 76 Using where
+explain extended select * from t2 where b = 6;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ref b b 5 const 76 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` = 6)
+explain partitions select * from t2 where b = 6;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ref b b 5 const 76 Using where
+explain extended select * from t2 where b in (1,3,5);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 40.66 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` in (1,3,5))
+explain partitions select * from t2 where b in (1,3,5);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+explain extended select * from t2 where b in (2,4,6);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 25.05 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` in (2,4,6))
+explain partitions select * from t2 where b in (2,4,6);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+explain extended select * from t2 where b in (7,8,9);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 36.70 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` in (7,8,9))
+explain partitions select * from t2 where b in (7,8,9);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+explain extended select * from t2 where b > 5;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 44.84 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` > 5)
+explain partitions select * from t2 where b > 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+explain extended select * from t2 where b > 5 and b < 8;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 22.09 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where ((`test`.`t2`.`b` > 5) and (`test`.`t2`.`b` < 8))
+explain partitions select * from t2 where b > 5 and b < 8;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+explain extended select * from t2 where b > 5 and b < 7;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 range b b 5 NULL 76 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where ((`test`.`t2`.`b` > 5) and (`test`.`t2`.`b` < 7))
+explain partitions select * from t2 where b > 5 and b < 7;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 range b b 5 NULL 76 Using where
+explain extended select * from t2 where b > 0 and b < 5;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t2 ALL b NULL NULL NULL 910 41.65 Using where
+Warnings:
+Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where ((`test`.`t2`.`b` > 0) and (`test`.`t2`.`b` < 5))
+explain partitions select * from t2 where b > 0 and b < 5;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1,p2,p3,p4 ALL b NULL NULL NULL 910 Using where
+flush status;
+update t2 set a = 111 where b = 10;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 5
+flush status;
+update t2 set a = 111 where b in (5,6);
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 915
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 0
+flush status;
+update t2 set a = 222 where b = 7;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 5
+flush status;
+delete from t2 where b = 7;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 0
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 5
+flush status;
+delete from t2 where b > 5;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 1215
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 0
+show status like 'Handler_read_prev';
+Variable_name Value
+Handler_read_prev 0
+show status like 'Handler_read_next';
+Variable_name Value
+Handler_read_next 0
+flush status;
+delete from t2 where b < 5 or b > 3;
+show status like 'Handler_read_rnd_next';
+Variable_name Value
+Handler_read_rnd_next 1215
+show status like 'Handler_read_key';
+Variable_name Value
+Handler_read_key 0
+show status like 'Handler_read_prev';
+Variable_name Value
+Handler_read_prev 0
+show status like 'Handler_read_next';
+Variable_name Value
+Handler_read_next 0
+drop table t1, t2;
+create table t1 ( f_int1 mediumint, f_int2 integer)
+partition by list(mod(f_int1,4)) (
+partition p_3 values in (-3),
+partition p_2 values in (-2),
+partition p_1 values in (-1),
+partition p0 values in (0),
+partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3)
+);
+insert into t1 values (9, 9), (8, 8), (7, 7), (6, 6), (5, 5),
+(4, 4), (3, 3), (2, 2), (1, 1);
+select * from t1 where f_int1 between 5 and 15 order by f_int1;
+f_int1 f_int2
+5 5
+6 6
+7 7
+8 8
+9 9
+drop table t1;
+create table t1 (f_int1 integer) partition by list(abs(mod(f_int1,2)))
+subpartition by hash(f_int1) subpartitions 2
+(
+partition part1 values in (0),
+partition part2 values in (1),
+partition part4 values in (null)
+);
+insert into t1 set f_int1 = null;
+select * from t1 where f_int1 is null;
+f_int1
+NULL
+explain partitions select * from t1 where f_int1 is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 part4_part4sp0 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (a int not null, b int not null)
+partition by list(a)
+subpartition by hash(b) subpartitions 4
+(
+partition p0 values in (1),
+partition p1 values in (2),
+partition p2 values in (3)
+);
+insert into t1 values (1,1),(1,2),(1,3),(1,4),
+(2,1),(2,2),(2,3),(2,4);
+explain partitions select * from t1 where a=1 AND (b=1 OR b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0_p0sp1,p0_p0sp2 ALL NULL NULL NULL NULL 2 Using where
+drop table t1;
+create table t1 (a int, b int not null)
+partition by list(a)
+subpartition by hash(b) subpartitions 2
+(
+partition p0 values in (1),
+partition p1 values in (2),
+partition p2 values in (3),
+partition pn values in (NULL)
+);
+insert into t1 values (1,1),(1,2),(1,3),(1,4),
+(2,1),(2,2),(2,3),(2,4), (NULL,1);
+explain partitions select * from t1 where a IS NULL AND (b=1 OR b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pn_pnsp0,pn_pnsp1 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where (a IS NULL or a < 1) AND (b=1 OR b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pn_pnsp0,pn_pnsp1 system NULL NULL NULL NULL 1
+explain partitions select * from t1 where (a IS NULL or a < 2) AND (b=1 OR b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0_p0sp0,p0_p0sp1,pn_pnsp0,pn_pnsp1 ALL NULL NULL NULL NULL 5 Using where
+explain partitions select * from t1 where (a IS NULL or a <= 1) AND (b=1 OR b=2);
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0_p0sp0,p0_p0sp1,pn_pnsp0,pn_pnsp1 ALL NULL NULL NULL NULL 5 Using where
+drop table t1;
+create table t1 ( a int) partition by list (MOD(a, 10))
+( partition p0 values in (0), partition p1 values in (1),
+partition p2 values in (2), partition p3 values in (3),
+partition p4 values in (4), partition p5 values in (5),
+partition p6 values in (6), partition pn values in (NULL)
+);
+insert into t1 values (NULL), (0),(1),(2),(3),(4),(5),(6);
+explain partitions select * from t1 where a is null or a < 2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1,p2,p3,p4,p5,p6,pn ALL NULL NULL NULL NULL 8 Using where
+drop table t1;
+create table t1 (s1 int) partition by list (s1)
+(partition p1 values in (0),
+partition p2 values in (1),
+partition p3 values in (null));
+insert into t1 values (0),(1),(null);
+select count(*) from t1 where s1 < 0 or s1 is null;
+count(*)
+1
+explain partitions select count(*) from t1 where s1 < 0 or s1 is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p3 system NULL NULL NULL NULL 1
+drop table t1;
+create table t1 (a char(32) primary key)
+partition by key()
+partitions 100;
+insert into t1 values ('na');
+select * from t1;
+a
+na
+select * from t1 where a like 'n%';
+a
+na
+drop table t1;
+create table t1 (s1 varchar(15)) partition by key (s1);
+select * from t1 where s1 = 0 or s1 is null;
+s1
+insert into t1 values ('aa'),('bb'),('0');
+explain partitions select * from t1 where s1 = 0 or s1 is null;
+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
+drop table t1;
+create table t2 (a int, b int)
+partition by LIST(a)
+subpartition by HASH(b) subpartitions 40
+( partition p_0_long_partition_name values in(1),
+partition p_1_long_partition_name values in(2));
+insert into t2 values (1,1),(2,2);
+explain partitions select * from t2;
+id 1
+select_type SIMPLE
+table t2
+partitions p_0_long_partition_name_p_0_long_partition_namesp0,p_0_long_partition_name_p_0_long_partition_namesp1,p_0_long_partition_name_p_0_long_partition_namesp2,p_0_long_partition_name_p_0_long_partition_namesp3,p_0_long_partition_name_p_0_long_partition_namesp4,p_0_long_partition_name_p_0_long_partition_namesp5,p_0_long_partition_name_p_0_long_partition_namesp6,p_0_long_partition_name_p_0_long_partition_namesp7,p_0_long_partition_name_p_0_long_partition_namesp8,p_0_long_partition_name_p_0_long_partition_namesp9,p_0_long_partition_name_p_0_long_partition_namesp10,p_0_long_partition_name_p_0_long_partition_namesp11,p_0_long_partition_name_p_0_long_partition_namesp12,p_0_long_partition_name_p_0_long_partition_namesp13,p_0_long_partition_name_p_0_long_partition_namesp14,p_0_long_partition_name_p_0_long_partition_namesp15,p_0_long_partition_name_p_0_long_partition_namesp16,p_0_long_partition_name_p_0_long_partition_namesp17,p_0_long_partition_name_p_0_long_partition_namesp18,p_0_long_partition_name_p_0_long_partition_namesp19,p_0_long_partition_name_p_0_long_partition_namesp20,p_0_long_partition_name_p_0_long_partition_namesp21,p_0_long_partition_name_p_0_long_partition_namesp22,p_0_long_partition_name_p_0_long_partition_namesp23,p_0_long_partition_name_p_0_long_partition_namesp24,p_0_long_partition_name_p_0_long_partition_namesp25,p_0_long_partition_name_p_0_long_partition_namesp26,p_0_long_partition_name_p_0_long_partition_namesp27,p_0_long_partition_name_p_0_long_partition_namesp28,p_0_long_partition_name_p_0_long_partition_namesp29,p_0_long_partition_name_p_0_long_partition_namesp30,p_0_long_partition_name_p_0_long_partition_namesp31,p_0_long_partition_name_p_0_long_partition_namesp32,p_0_long_partition_name_p_0_long_partition_namesp33,p_0_long_partition_name_p_0_long_partition_namesp34,p_0_long_partition_name_p_0_long_partition_namesp35,p_0_long_partition_name_p_0_long_partition_namesp36,p_0_long_partition_name_p_0_long_partition_namesp37,p_0_long_partition_name_p_0_long_partition_namesp38,p_0_long_partition_name_p_0_long_partition_namesp39,p_1_long_partition_name_p_1_long_partition_namesp0,p_1_long_partition_name_p_1_long_partition_namesp1,p_1_long_partition_name_p_1_long_partition_namesp2,p_1_long_partition_name_p_1_long_partition_namesp3,p_1_long_partition_name_p_1_long_partition_namesp4,p_1_long_partition_name_p_1_long_partition_namesp5,p_1_long_partition_name_p_1_long_partition_namesp6,p_1_long_partition_name_p_1_long_partition_namesp7,p_1_long_partition_name_p_1_long_partition_namesp8,p_1_long_partition_name_p_1_long_partition_namesp9,p_1_long_partition_name_p_1_long_partition_namesp10,p_1_long_partition_name_p_1_long_partition_namesp11,p_1_long_partition_name_p_1_long_partition_namesp12,p_1_long_partition_name_p_1_long_partition_namesp13,p_1_long_partition_name_p_1_long_partition_namesp14,p_1_long_partition_name_p_1_long_partition_namesp15,p_1_long_partition_name_p_1_long_partition_namesp16,p_1_long_partition_name_p_1_long_partition_namesp17,p_1_long_partition_name_p_1_long_partition_namesp18,p_1_long_partition_name_p_1_long_partition_namesp19,p_1_long_partition_name_p_1_long_partition_namesp20,p_1_long_partition_name_p_1_long_partition_namesp21,p_1_long_partition_name_p_1_long_partition_namesp22,p_1_long_partition_name_p_1_long_partition_namesp23,p_1_long_partition_name_p_1_long_partition_namesp24,p_1_long_partition_name_p_1_long_partition_namesp25,p_1_long_partition_name_p_1_long_partition_namesp26,p_1_long_partition_name_p_1_long_partition_namesp27,p_1_long_partition_name_p_1_long_partition_namesp28,p_1_long_partition_name_p_1_long_partition_namesp29,p_1_long_partition_name_p_1_long_partition_namesp30,p_1_long_partition_name_p_1_long_partition_namesp31,p_1_long_partition_name_p_1_long_partition_namesp32,p_1_long_partition_name_p_1_long_partition_namesp33,p_1_long_partition_name_p_1_long_partition_namesp34,p_1_long_partition_name_p_1_long_partition_namesp35,p_1_long_partition_name_p_1_long_partition_namesp36,p_1_long_partition_name_p_1_long_partition_namesp37,p_1_long_partition_name_p_1_long_partition_namesp38,p_1_long_partition_name_p_1_long_partition_namesp39
+type ALL
+possible_keys NULL
+key NULL
+key_len NULL
+ref NULL
+rows 2
+Extra
+drop table t2;
+create table t1 (s1 int);
+explain partitions select 1 from t1 union all select 2;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 NULL system NULL NULL NULL NULL 0 const row not found
+2 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union1,2> NULL ALL NULL NULL NULL NULL NULL
+drop table t1;
+create table t1 (a bigint unsigned not null) partition by range(a) (
+partition p0 values less than (10),
+partition p1 values less than (100),
+partition p2 values less than (1000),
+partition p3 values less than (18446744073709551000),
+partition p4 values less than (18446744073709551614)
+);
+insert into t1 values (5),(15),(105),(1005);
+insert into t1 values (18446744073709551000+1);
+insert into t1 values (18446744073709551614-1);
+explain partitions select * from t1 where a < 10;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0 system NULL NULL NULL NULL 1
+explain partitions select * from t1
+where a >= 18446744073709551000-1 and a <= 18446744073709551000+1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p3,p4 ALL NULL NULL NULL NULL 3 Using where
+explain partitions select * from t1
+where a between 18446744073709551001 and 18446744073709551002;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a = 18446744073709551000;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a = 18446744073709551613;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a = 18446744073709551614;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t1;
+create table t1 (a int)
+partition by range(a) (
+partition p0 values less than (64),
+partition p1 values less than (128),
+partition p2 values less than (255)
+);
+create table t2 (a int)
+partition by range(a+0) (
+partition p0 values less than (64),
+partition p1 values less than (128),
+partition p2 values less than (255)
+);
+insert into t1 values (0x20), (0x20), (0x41), (0x41), (0xFE), (0xFE);
+insert into t2 values (0x20), (0x20), (0x41), (0x41), (0xFE), (0xFE);
+explain partitions select * from t1 where a=0;
+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
+explain partitions select * from t2 where a=0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a=0xFE;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t2 where a=0xFE;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a > 0xFE AND a <= 0xFF;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t2 where a > 0xFE AND a <= 0xFF;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t1 where a >= 0xFE AND a <= 0xFF;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t2 where a >= 0xFE AND a <= 0xFF;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a < 64 AND a >= 63;
+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
+explain partitions select * from t2 where a < 64 AND a >= 63;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a <= 64 AND a >= 63;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t2 where a <= 64 AND a >= 63;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 4 Using where
+drop table t1;
+drop table t2;
+create table t1(a bigint unsigned not null) partition by range(a+0) (
+partition p1 values less than (10),
+partition p2 values less than (20),
+partition p3 values less than (2305561538531885056),
+partition p4 values less than (2305561538531950591)
+);
+insert into t1 values (9),(19),(0xFFFF0000FFFF000-1), (0xFFFF0000FFFFFFF-1);
+insert into t1 values (9),(19),(0xFFFF0000FFFF000-1), (0xFFFF0000FFFFFFF-1);
+explain partitions select * from t1 where
+a >= 2305561538531885056-10 and a <= 2305561538531885056-8;
+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
+explain partitions select * from t1 where
+a > 0xFFFFFFFFFFFFFFEC and a < 0xFFFFFFFFFFFFFFEE;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t1 where a>=0 and a <= 0xFFFFFFFFFFFFFFFF;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1,p2,p3,p4 ALL NULL NULL NULL NULL 8 Using where
+drop table t1;
+create table t1 (a bigint) partition by range(a+0) (
+partition p1 values less than (-1000),
+partition p2 values less than (-10),
+partition p3 values less than (10),
+partition p4 values less than (1000)
+);
+insert into t1 values (-15),(-5),(5),(15),(-15),(-5),(5),(15);
+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
new file mode 100644
index 00000000000..4da79704ec3
--- /dev/null
+++ b/mysql-test/r/partition_range.result
@@ -0,0 +1,711 @@
+drop table if exists t1, t2;
+create table t1 (a int unsigned)
+partition by range (a)
+(partition pnull values less than (0),
+partition p0 values less than (1),
+partition p1 values less than(2));
+insert into t1 values (null),(0),(1);
+select * from t1 where a is null;
+a
+NULL
+select * from t1 where a >= 0;
+a
+0
+1
+select * from t1 where a < 0;
+a
+select * from t1 where a <= 0;
+a
+0
+select * from t1 where a > 1;
+a
+explain partitions select * from t1 where a is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull system NULL NULL NULL NULL 1
+explain partitions select * from t1 where a >= 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a < 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain partitions select * from t1 where a <= 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull,p0 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a > 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t1;
+create table t1 (a int unsigned, b int unsigned)
+partition by range (a)
+subpartition by hash (b)
+subpartitions 2
+(partition pnull values less than (0),
+partition p0 values less than (1),
+partition p1 values less than(2));
+insert into t1 values (null,0),(null,1),(0,0),(0,1),(1,0),(1,1);
+select * from t1 where a is null;
+a b
+NULL 0
+NULL 1
+select * from t1 where a >= 0;
+a b
+0 0
+0 1
+1 0
+1 1
+select * from t1 where a < 0;
+a b
+select * from t1 where a <= 0;
+a b
+0 0
+0 1
+select * from t1 where a > 1;
+a b
+explain partitions select * from t1 where a is null;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a >= 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t1 where a < 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where
+explain partitions select * from t1 where a <= 0;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1,p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 4 Using where
+explain partitions select * from t1 where a > 1;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+INSERT into t1 values (1, 1, 1);
+INSERT into t1 values (6, 1, 1);
+INSERT into t1 values (10, 1, 1);
+INSERT into t1 values (15, 1, 1);
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+15 1 1
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */
+ALTER TABLE t1
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+15 1 1
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */
+drop table if exists t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null)
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+INSERT into t1 values (1, 1, 1);
+INSERT into t1 values (6, 1, 1);
+INSERT into t1 values (10, 1, 1);
+INSERT into t1 values (15, 1, 1);
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+15 1 1
+ALTER TABLE t1
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than maxvalue tablespace ts3);
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+15 1 1
+drop table if exists t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than (15) tablespace ts3);
+INSERT into t1 values (1, 1, 1);
+INSERT into t1 values (6, 1, 1);
+INSERT into t1 values (10, 1, 1);
+INSERT into t1 values (15, 1, 1);
+ERROR HY000: Table has no partition for value 15
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+ALTER TABLE t1
+partition by range (a)
+partitions 3
+(partition x1 values less than (5) tablespace ts1,
+partition x2 values less than (10) tablespace ts2,
+partition x3 values less than (15) tablespace ts3);
+select * from t1;
+a b c
+1 1 1
+6 1 1
+10 1 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key(a,b))
+partition by range (a)
+(partition x1 values less than (1));
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11,
+subpartition x12),
+partition x2 values less than (5)
+( subpartition x21,
+subpartition x22)
+);
+SELECT * from t1;
+a b c
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a+b) (PARTITION x1 VALUES LESS THAN (1) (SUBPARTITION x11 ENGINE = MyISAM, SUBPARTITION x12 ENGINE = MyISAM), PARTITION x2 VALUES LESS THAN (5) (SUBPARTITION x21 ENGINE = MyISAM, SUBPARTITION x22 ENGINE = MyISAM)) */
+ALTER TABLE t1 ADD COLUMN d int;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL,
+ `c` int(11) NOT NULL,
+ `d` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a+b) (PARTITION x1 VALUES LESS THAN (1) (SUBPARTITION x11 ENGINE = MyISAM, SUBPARTITION x12 ENGINE = MyISAM), PARTITION x2 VALUES LESS THAN (5) (SUBPARTITION x21 ENGINE = MyISAM, SUBPARTITION x22 ENGINE = MyISAM)) */
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 engine myisam nodegroup 0,
+subpartition x12 tablespace t2 engine myisam nodegroup 1),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 engine myisam nodegroup 0,
+subpartition x22 tablespace t2 engine myisam nodegroup 1)
+);
+SELECT * from t1;
+a b c
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 nodegroup 0,
+subpartition x12 tablespace t2 nodegroup 1),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 nodegroup 0,
+subpartition x22 tablespace t2 nodegroup 1)
+);
+SELECT * from t1;
+a b c
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 engine myisam nodegroup 0,
+subpartition x12 engine myisam nodegroup 1),
+partition x2 values less than (5)
+( subpartition x21 engine myisam nodegroup 0,
+subpartition x22 engine myisam nodegroup 1)
+);
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (5,1,1);
+ERROR HY000: Table has no partition for value 5
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+ALTER TABLE t1
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 engine myisam nodegroup 0,
+subpartition x12 engine myisam nodegroup 1),
+partition x2 values less than (5)
+( subpartition x21 engine myisam nodegroup 0,
+subpartition x22 engine myisam nodegroup 1)
+);
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 engine myisam,
+subpartition x12 tablespace t2 engine myisam),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 engine myisam,
+subpartition x22 tablespace t2 engine myisam)
+);
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (5,1,1);
+ERROR HY000: Table has no partition for value 5
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+ALTER TABLE t1
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 engine myisam,
+subpartition x12 tablespace t2 engine myisam),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 engine myisam,
+subpartition x22 tablespace t2 engine myisam)
+);
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1,
+subpartition x12 tablespace t2),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1,
+subpartition x22 tablespace t2)
+);
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (5,1,1);
+ERROR HY000: Table has no partition for value 5
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+ALTER TABLE t1
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 tablespace t1 engine myisam,
+subpartition x12 tablespace t2 engine myisam),
+partition x2 values less than (5)
+( subpartition x21 tablespace t1 engine myisam,
+subpartition x22 tablespace t2 engine myisam)
+);
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+drop table t1;
+CREATE TABLE t1 (
+a int not null,
+b int not null,
+c int not null,
+primary key (a,b))
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 engine myisam,
+subpartition x12 engine myisam),
+partition x2 values less than (5)
+( subpartition x21 engine myisam,
+subpartition x22 engine myisam)
+);
+INSERT into t1 VALUES (1,1,1);
+INSERT into t1 VALUES (4,1,1);
+INSERT into t1 VALUES (5,1,1);
+ERROR HY000: Table has no partition for value 5
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+ALTER TABLE t1
+partition by range (a)
+subpartition by hash (a+b)
+( partition x1 values less than (1)
+( subpartition x11 engine myisam,
+subpartition x12 engine myisam),
+partition x2 values less than (5)
+( subpartition x21 engine myisam,
+subpartition x22 engine myisam)
+);
+SELECT * from t1;
+a b c
+1 1 1
+4 1 1
+drop table t1;
+CREATE TABLE t1 (c1 int default NULL, c2 varchar(30) default NULL,
+c3 date default NULL) engine=myisam
+PARTITION BY RANGE (year(c3)) (PARTITION p0 VALUES LESS THAN (1995),
+PARTITION p1 VALUES LESS THAN (1996) , PARTITION p2 VALUES LESS THAN (1997) ,
+PARTITION p3 VALUES LESS THAN (1998) , PARTITION p4 VALUES LESS THAN (1999) ,
+PARTITION p5 VALUES LESS THAN (2000) , PARTITION p6 VALUES LESS THAN (2001) ,
+PARTITION p7 VALUES LESS THAN (2002) , PARTITION p8 VALUES LESS THAN (2003) ,
+PARTITION p9 VALUES LESS THAN (2004) , PARTITION p10 VALUES LESS THAN (2010),
+PARTITION p11 VALUES LESS THAN MAXVALUE );
+INSERT INTO t1 VALUES (1, 'testing partitions', '1995-07-17'),
+(3, 'testing partitions','1995-07-31'),
+(5, 'testing partitions','1995-08-13'),
+(7, 'testing partitions','1995-08-26'),
+(9, 'testing partitions','1995-09-09'),
+(0, 'testing partitions','2000-07-10'),
+(2, 'testing partitions','2000-07-23'),
+(4, 'testing partitions','2000-08-05'),
+(6, 'testing partitions','2000-08-19'),
+(8, 'testing partitions','2000-09-01');
+SELECT COUNT(*) FROM t1 WHERE c3 BETWEEN '1996-12-31' AND '2000-12-31';
+COUNT(*)
+5
+SELECT COUNT(*) FROM t1 WHERE c3 < '2000-12-31';
+COUNT(*)
+10
+DROP TABLE t1;
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (10),
+partition p1 values less than (0));
+ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (0),
+partition p1 values less than (10));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */
+drop table t1;
+create table t1 (a bigint unsigned)
+partition by range (a)
+(partition p0 values less than (2),
+partition p1 values less than (10));
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) unsigned DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (2) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */
+insert into t1 values (0xFFFFFFFFFFFFFFFF);
+ERROR HY000: Table has no partition for value 18446744073709551615
+drop table t1;
+create table t1 (a int)
+partition by range (MOD(a,3))
+subpartition by hash(a)
+subpartitions 2
+(partition p0 values less than (1),
+partition p1 values less than (2),
+partition p2 values less than (3),
+partition p3 values less than (4));
+ALTER TABLE t1 DROP PARTITION p3;
+ALTER TABLE t1 DROP PARTITION p1;
+ALTER TABLE t1 DROP PARTITION p2;
+drop table t1;
+create table t1 (a int)
+partition by range (MOD(a,3))
+subpartition by hash(a)
+subpartitions 2
+(partition p0 values less than (1),
+partition p1 values less than (2),
+partition p2 values less than (3),
+partition p3 values less than (4));
+ALTER TABLE t1 DROP PARTITION p0;
+ALTER TABLE t1 DROP PARTITION p1;
+ALTER TABLE t1 DROP PARTITION p2;
+drop table t1;
+create table t1 (a int DEFAULT NULL,
+b varchar(30) DEFAULT NULL,
+c date DEFAULT NULL)
+ENGINE=MYISAM DEFAULT CHARSET=latin1;
+insert into t1 values (1, 'abc', '1995-01-01');
+insert into t1 values (1, 'abc', '1995-01-02');
+insert into t1 values (1, 'abc', '1995-01-03');
+insert into t1 values (1, 'abc', '1995-01-04');
+insert into t1 values (1, 'abc', '1995-01-05');
+insert into t1 values (1, 'abc', '1995-01-06');
+insert into t1 values (1, 'abc', '1995-01-07');
+insert into t1 values (1, 'abc', '1995-01-08');
+insert into t1 values (1, 'abc', '1995-01-09');
+insert into t1 values (1, 'abc', '1995-01-10');
+insert into t1 values (1, 'abc', '1995-01-11');
+insert into t1 values (1, 'abc', '1995-01-12');
+insert into t1 values (1, 'abc', '1995-01-13');
+insert into t1 values (1, 'abc', '1995-01-14');
+insert into t1 values (1, 'abc', '1995-01-15');
+insert into t1 values (1, 'abc', '1997-01-01');
+insert into t1 values (1, 'abc', '1997-01-02');
+insert into t1 values (1, 'abc', '1997-01-03');
+insert into t1 values (1, 'abc', '1997-01-04');
+insert into t1 values (1, 'abc', '1997-01-05');
+insert into t1 values (1, 'abc', '1997-01-06');
+insert into t1 values (1, 'abc', '1997-01-07');
+insert into t1 values (1, 'abc', '1997-01-08');
+insert into t1 values (1, 'abc', '1997-01-09');
+insert into t1 values (1, 'abc', '1997-01-10');
+insert into t1 values (1, 'abc', '1997-01-11');
+insert into t1 values (1, 'abc', '1997-01-12');
+insert into t1 values (1, 'abc', '1997-01-13');
+insert into t1 values (1, 'abc', '1997-01-14');
+insert into t1 values (1, 'abc', '1997-01-15');
+insert into t1 values (1, 'abc', '1998-01-01');
+insert into t1 values (1, 'abc', '1998-01-02');
+insert into t1 values (1, 'abc', '1998-01-03');
+insert into t1 values (1, 'abc', '1998-01-04');
+insert into t1 values (1, 'abc', '1998-01-05');
+insert into t1 values (1, 'abc', '1998-01-06');
+insert into t1 values (1, 'abc', '1998-01-07');
+insert into t1 values (1, 'abc', '1998-01-08');
+insert into t1 values (1, 'abc', '1998-01-09');
+insert into t1 values (1, 'abc', '1998-01-10');
+insert into t1 values (1, 'abc', '1998-01-11');
+insert into t1 values (1, 'abc', '1998-01-12');
+insert into t1 values (1, 'abc', '1998-01-13');
+insert into t1 values (1, 'abc', '1998-01-14');
+insert into t1 values (1, 'abc', '1998-01-15');
+insert into t1 values (1, 'abc', '1999-01-01');
+insert into t1 values (1, 'abc', '1999-01-02');
+insert into t1 values (1, 'abc', '1999-01-03');
+insert into t1 values (1, 'abc', '1999-01-04');
+insert into t1 values (1, 'abc', '1999-01-05');
+insert into t1 values (1, 'abc', '1999-01-06');
+insert into t1 values (1, 'abc', '1999-01-07');
+insert into t1 values (1, 'abc', '1999-01-08');
+insert into t1 values (1, 'abc', '1999-01-09');
+insert into t1 values (1, 'abc', '1999-01-10');
+insert into t1 values (1, 'abc', '1999-01-11');
+insert into t1 values (1, 'abc', '1999-01-12');
+insert into t1 values (1, 'abc', '1999-01-13');
+insert into t1 values (1, 'abc', '1999-01-14');
+insert into t1 values (1, 'abc', '1999-01-15');
+insert into t1 values (1, 'abc', '2000-01-01');
+insert into t1 values (1, 'abc', '2000-01-02');
+insert into t1 values (1, 'abc', '2000-01-03');
+insert into t1 values (1, 'abc', '2000-01-04');
+insert into t1 values (1, 'abc', '2000-01-05');
+insert into t1 values (1, 'abc', '2000-01-06');
+insert into t1 values (1, 'abc', '2000-01-07');
+insert into t1 values (1, 'abc', '2000-01-08');
+insert into t1 values (1, 'abc', '2000-01-09');
+insert into t1 values (1, 'abc', '2000-01-15');
+insert into t1 values (1, 'abc', '2000-01-11');
+insert into t1 values (1, 'abc', '2000-01-12');
+insert into t1 values (1, 'abc', '2000-01-13');
+insert into t1 values (1, 'abc', '2000-01-14');
+insert into t1 values (1, 'abc', '2000-01-15');
+insert into t1 values (1, 'abc', '2001-01-01');
+insert into t1 values (1, 'abc', '2001-01-02');
+insert into t1 values (1, 'abc', '2001-01-03');
+insert into t1 values (1, 'abc', '2001-01-04');
+insert into t1 values (1, 'abc', '2001-01-05');
+insert into t1 values (1, 'abc', '2001-01-06');
+insert into t1 values (1, 'abc', '2001-01-07');
+insert into t1 values (1, 'abc', '2001-01-08');
+insert into t1 values (1, 'abc', '2001-01-09');
+insert into t1 values (1, 'abc', '2001-01-15');
+insert into t1 values (1, 'abc', '2001-01-11');
+insert into t1 values (1, 'abc', '2001-01-12');
+insert into t1 values (1, 'abc', '2001-01-13');
+insert into t1 values (1, 'abc', '2001-01-14');
+insert into t1 values (1, 'abc', '2001-01-15');
+alter table t1
+partition by range (year(c))
+(partition p5 values less than (2000), partition p10 values less than (2010));
+alter table t1
+reorganize partition p5 into
+(partition p1 values less than (1996),
+partition p2 values less than (1997),
+partition p3 values less than (1998),
+partition p4 values less than (1999),
+partition p5 values less than (2000));
+drop table t1;
+CREATE TABLE t1 (a date)
+PARTITION BY RANGE (TO_DAYS(a))
+(PARTITION p3xx VALUES LESS THAN (TO_DAYS('2004-01-01')),
+PARTITION p401 VALUES LESS THAN (TO_DAYS('2004-02-01')),
+PARTITION p402 VALUES LESS THAN (TO_DAYS('2004-03-01')),
+PARTITION p403 VALUES LESS THAN (TO_DAYS('2004-04-01')),
+PARTITION p404 VALUES LESS THAN (TO_DAYS('2004-05-01')),
+PARTITION p405 VALUES LESS THAN (TO_DAYS('2004-06-01')),
+PARTITION p406 VALUES LESS THAN (TO_DAYS('2004-07-01')),
+PARTITION p407 VALUES LESS THAN (TO_DAYS('2004-08-01')),
+PARTITION p408 VALUES LESS THAN (TO_DAYS('2004-09-01')),
+PARTITION p409 VALUES LESS THAN (TO_DAYS('2004-10-01')),
+PARTITION p410 VALUES LESS THAN (TO_DAYS('2004-11-01')),
+PARTITION p411 VALUES LESS THAN (TO_DAYS('2004-12-01')),
+PARTITION p412 VALUES LESS THAN (TO_DAYS('2005-01-01')),
+PARTITION p501 VALUES LESS THAN (TO_DAYS('2005-02-01')),
+PARTITION p502 VALUES LESS THAN (TO_DAYS('2005-03-01')),
+PARTITION p503 VALUES LESS THAN (TO_DAYS('2005-04-01')),
+PARTITION p504 VALUES LESS THAN (TO_DAYS('2005-05-01')),
+PARTITION p505 VALUES LESS THAN (TO_DAYS('2005-06-01')),
+PARTITION p506 VALUES LESS THAN (TO_DAYS('2005-07-01')),
+PARTITION p507 VALUES LESS THAN (TO_DAYS('2005-08-01')),
+PARTITION p508 VALUES LESS THAN (TO_DAYS('2005-09-01')),
+PARTITION p509 VALUES LESS THAN (TO_DAYS('2005-10-01')),
+PARTITION p510 VALUES LESS THAN (TO_DAYS('2005-11-01')),
+PARTITION p511 VALUES LESS THAN (TO_DAYS('2005-12-01')),
+PARTITION p512 VALUES LESS THAN (TO_DAYS('2006-01-01')),
+PARTITION p601 VALUES LESS THAN (TO_DAYS('2006-02-01')),
+PARTITION p602 VALUES LESS THAN (TO_DAYS('2006-03-01')),
+PARTITION p603 VALUES LESS THAN (TO_DAYS('2006-04-01')),
+PARTITION p604 VALUES LESS THAN (TO_DAYS('2006-05-01')),
+PARTITION p605 VALUES LESS THAN (TO_DAYS('2006-06-01')),
+PARTITION p606 VALUES LESS THAN (TO_DAYS('2006-07-01')),
+PARTITION p607 VALUES LESS THAN (TO_DAYS('2006-08-01')));
+INSERT INTO t1 VALUES ('2003-01-13'),('2003-06-20'),('2003-08-30');
+INSERT INTO t1 VALUES ('2003-04-13'),('2003-07-20'),('2003-10-30');
+INSERT INTO t1 VALUES ('2003-05-13'),('2003-11-20'),('2003-12-30');
+INSERT INTO t1 VALUES ('2004-01-13'),('2004-01-20'),('2004-01-30');
+INSERT INTO t1 VALUES ('2004-02-13'),('2004-02-20'),('2004-02-28');
+INSERT INTO t1 VALUES ('2004-03-13'),('2004-03-20'),('2004-03-30');
+INSERT INTO t1 VALUES ('2004-04-13'),('2004-04-20'),('2004-04-30');
+INSERT INTO t1 VALUES ('2004-05-13'),('2004-05-20'),('2004-05-30');
+INSERT INTO t1 VALUES ('2004-06-13'),('2004-06-20'),('2004-06-30');
+INSERT INTO t1 VALUES ('2004-07-13'),('2004-07-20'),('2004-07-30');
+INSERT INTO t1 VALUES ('2004-08-13'),('2004-08-20'),('2004-08-30');
+INSERT INTO t1 VALUES ('2004-09-13'),('2004-09-20'),('2004-09-30');
+INSERT INTO t1 VALUES ('2004-10-13'),('2004-10-20'),('2004-10-30');
+INSERT INTO t1 VALUES ('2004-11-13'),('2004-11-20'),('2004-11-30');
+INSERT INTO t1 VALUES ('2004-12-13'),('2004-12-20'),('2004-12-30');
+INSERT INTO t1 VALUES ('2005-01-13'),('2005-01-20'),('2005-01-30');
+INSERT INTO t1 VALUES ('2005-02-13'),('2005-02-20'),('2005-02-28');
+INSERT INTO t1 VALUES ('2005-03-13'),('2005-03-20'),('2005-03-30');
+INSERT INTO t1 VALUES ('2005-04-13'),('2005-04-20'),('2005-04-30');
+INSERT INTO t1 VALUES ('2005-05-13'),('2005-05-20'),('2005-05-30');
+INSERT INTO t1 VALUES ('2005-06-13'),('2005-06-20'),('2005-06-30');
+INSERT INTO t1 VALUES ('2005-07-13'),('2005-07-20'),('2005-07-30');
+INSERT INTO t1 VALUES ('2005-08-13'),('2005-08-20'),('2005-08-30');
+INSERT INTO t1 VALUES ('2005-09-13'),('2005-09-20'),('2005-09-30');
+INSERT INTO t1 VALUES ('2005-10-13'),('2005-10-20'),('2005-10-30');
+INSERT INTO t1 VALUES ('2005-11-13'),('2005-11-20'),('2005-11-30');
+INSERT INTO t1 VALUES ('2005-12-13'),('2005-12-20'),('2005-12-30');
+INSERT INTO t1 VALUES ('2006-01-13'),('2006-01-20'),('2006-01-30');
+INSERT INTO t1 VALUES ('2006-02-13'),('2006-02-20'),('2006-02-28');
+INSERT INTO t1 VALUES ('2006-03-13'),('2006-03-20'),('2006-03-30');
+INSERT INTO t1 VALUES ('2006-04-13'),('2006-04-20'),('2006-04-30');
+INSERT INTO t1 VALUES ('2006-05-13'),('2006-05-20'),('2006-05-30');
+INSERT INTO t1 VALUES ('2006-06-13'),('2006-06-20'),('2006-06-30');
+INSERT INTO t1 VALUES ('2006-07-13'),('2006-07-20'),('2006-07-30');
+SELECT * FROM t1
+WHERE a >= '2004-07-01' AND a <= '2004-09-30';
+a
+2004-07-13
+2004-07-20
+2004-07-30
+2004-08-13
+2004-08-20
+2004-08-30
+2004-09-13
+2004-09-20
+2004-09-30
+EXPLAIN PARTITIONS SELECT * FROM t1
+WHERE a >= '2004-07-01' AND a <= '2004-09-30';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where
+SELECT * from t1
+WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
+(a >= '2005-07-01' AND a <= '2005-09-30');
+a
+2004-07-13
+2004-07-20
+2004-07-30
+2004-08-13
+2004-08-20
+2004-08-30
+2004-09-13
+2004-09-20
+2004-09-30
+2005-07-13
+2005-07-20
+2005-07-30
+2005-08-13
+2005-08-20
+2005-08-30
+2005-09-13
+2005-09-20
+2005-09-30
+EXPLAIN PARTITIONS SELECT * from t1
+WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
+(a >= '2005-07-01' AND a <= '2005-09-30');
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result
new file mode 100644
index 00000000000..20e841d2e0e
--- /dev/null
+++ b/mysql-test/r/partition_symlink.result
@@ -0,0 +1,83 @@
+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/master-data/mysqltest2'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/test',
+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/master-data/mysqltest2'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ );
+# user mysqltest_1:
+USE test;
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ );
+Got one of the listed errors
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a) (
+PARTITION p0 VALUES IN (0)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/test'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/test',
+PARTITION p1 VALUES IN (1)
+DATA DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2'
+ INDEX DIRECTORY 'MYSQLTEST_VARDIR/master-data/mysqltest2'
+ );
+Got one of the listed errors
+# user root (cleanup):
+DROP DATABASE mysqltest2;
+USE test;
+DROP USER mysqltest_1@localhost;
diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result
new file mode 100644
index 00000000000..1fc9e2ba254
--- /dev/null
+++ b/mysql-test/r/partition_windows.result
@@ -0,0 +1,14 @@
+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`)
+) 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'
+);
+ERROR HY000: Can't create/write to file 'C:\build\5.1\data\partitiontest\p0Data\example#P#p0.MYD' (Errcode: 2)
diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result
new file mode 100644
index 00000000000..e4af1535775
--- /dev/null
+++ b/mysql-test/r/plugin.result
@@ -0,0 +1,29 @@
+CREATE TABLE t1(a int) ENGINE=EXAMPLE;
+Warnings:
+Warning 1286 Unknown table engine 'EXAMPLE'
+Warning 1266 Using storage engine MyISAM for table 't1'
+DROP TABLE t1;
+INSTALL PLUGIN example SONAME 'ha_example.so';
+INSTALL PLUGIN EXAMPLE SONAME 'ha_example.so';
+ERROR HY000: Function 'EXAMPLE' already exists
+UNINSTALL PLUGIN example;
+INSTALL PLUGIN example SONAME 'ha_example.so';
+CREATE TABLE t1(a int) ENGINE=EXAMPLE;
+SELECT * FROM t1;
+a
+DROP TABLE t1;
+UNINSTALL PLUGIN example;
+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;
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index f547654bed1..a6b07bfc127 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -1,4 +1,4 @@
-drop table if exists t1,t2;
+drop table if exists t1,t2,t3,t4;
drop database if exists client_test_db;
create table t1
(
@@ -502,7 +502,8 @@ deallocate prepare stmt;
create table t1 (a varchar(20));
insert into t1 values ('foo');
prepare stmt FROM 'SELECT char_length (a) FROM t1';
-ERROR 42000: FUNCTION test.char_length does not exist
+prepare stmt2 FROM 'SELECT not_a_function (a) FROM t1';
+ERROR 42000: FUNCTION test.not_a_function does not exist
drop table t1;
prepare stmt from "SELECT SQL_CALC_FOUND_ROWS 'foo' UNION SELECT 'bar' LIMIT 0";
execute stmt;
@@ -899,6 +900,12 @@ show status like 'prepared_stmt_count';
Variable_name Value
Prepared_stmt_count 3
deallocate prepare stmt;
+select @@max_prepared_stmt_count;
+@@max_prepared_stmt_count
+3
+show status like 'prepared_stmt_count';
+Variable_name Value
+Prepared_stmt_count 0
set global max_prepared_stmt_count= @old_max_prepared_stmt_count;
drop table if exists t1;
create temporary table if not exists t1 (a1 int);
@@ -1084,12 +1091,12 @@ execute stmt2;
show create table mysqltest.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) default NULL
+ `c` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
show create table mysqltest.t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `test` varchar(4) character set latin1 NOT NULL default ''
+ `test` varchar(4) CHARACTER SET latin1 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8
drop table mysqltest.t1;
drop table mysqltest.t2;
@@ -1099,12 +1106,12 @@ execute stmt2;
show create table mysqltest.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 default NULL
+ `c` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create table mysqltest.t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `test` varchar(4) NOT NULL default ''
+ `test` varchar(4) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop database mysqltest;
deallocate prepare stmt1;
@@ -1147,7 +1154,8 @@ End of 4.1 tests.
create table t1 (a varchar(20));
insert into t1 values ('foo');
prepare stmt FROM 'SELECT char_length (a) FROM t1';
-ERROR 42000: FUNCTION test.char_length does not exist
+prepare stmt2 FROM 'SELECT not_a_function (a) FROM t1';
+ERROR 42000: FUNCTION test.not_a_function does not exist
drop table t1;
create table t1 (a char(3) not null, b char(3) not null,
c char(3) not null, primary key (a, b, c));
@@ -1184,13 +1192,13 @@ SET @aux= "SELECT COUNT(*)
prepare my_stmt from @aux;
execute my_stmt;
COUNT(*)
-37
+39
execute my_stmt;
COUNT(*)
-37
+39
execute my_stmt;
COUNT(*)
-37
+39
deallocate prepare my_stmt;
drop procedure if exists p1|
drop table if exists t1|
@@ -1653,8 +1661,8 @@ execute stmt;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`i`)
+ `i` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1 COMMENT='comment for table t1'
flush tables;
select * from t2;
@@ -1663,11 +1671,27 @@ execute stmt;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) NOT NULL auto_increment,
- PRIMARY KEY (`i`)
+ `i` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`i`)
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1 COMMENT='comment for table t1'
deallocate prepare stmt;
drop table t1, t2;
+set @old_character_set_server= @@character_set_server;
+set @@character_set_server= latin1;
+prepare stmt from "create database mysqltest_1";
+execute stmt;
+show create database mysqltest_1;
+Database Create Database
+mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET latin1 */
+drop database mysqltest_1;
+set @@character_set_server= utf8;
+execute stmt;
+show create database mysqltest_1;
+Database Create Database
+mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET utf8 */
+drop database mysqltest_1;
+deallocate prepare stmt;
+set @@character_set_server= @old_character_set_server;
drop tables if exists t1;
create table t1 (id int primary key auto_increment, value varchar(10));
insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD');
@@ -1690,7 +1714,994 @@ execute stmt using @a;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `?` decimal(2,1) default NULL
+ `?` decimal(2,1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
End of 5.0 tests.
+create procedure proc_1() reset query cache;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int deterministic begin reset query cache; return 1; end|
+ERROR 0A000: RESET is not allowed in stored function or trigger
+create function func_1() returns int deterministic begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: RESET is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "reset query cache";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() reset master;
+create function func_1() returns int begin reset master; return 1; end|
+ERROR 0A000: RESET is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: RESET is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "reset master";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() reset slave;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin reset slave; return 1; end|
+ERROR 0A000: RESET is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: RESET is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "reset slave";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1(a integer) kill a;
+call proc_1(0);
+ERROR HY000: Unknown thread id: 0
+call proc_1(0);
+ERROR HY000: Unknown thread id: 0
+call proc_1(0);
+ERROR HY000: Unknown thread id: 0
+drop procedure proc_1;
+create function func_1() returns int begin kill 0; return 1; end|
+select func_1() from dual;
+ERROR HY000: Unknown thread id: 0
+select func_1() from dual;
+ERROR HY000: Unknown thread id: 0
+select func_1() from dual;
+ERROR HY000: Unknown thread id: 0
+drop function func_1;
+prepare abc from "kill 0";
+execute abc;
+ERROR HY000: Unknown thread id: 0
+execute abc;
+ERROR HY000: Unknown thread id: 0
+execute abc;
+ERROR HY000: Unknown thread id: 0
+deallocate prepare abc;
+create procedure proc_1() flush hosts;
+call proc_1();
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush hosts; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush hosts";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush privileges;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush privileges; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush privileges";
+deallocate prepare abc;
+create procedure proc_1() flush tables with read lock;
+call proc_1();
+unlock tables;
+call proc_1();
+unlock tables;
+call proc_1();
+unlock tables;
+create function func_1() returns int begin flush tables with read lock; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush tables with read lock";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+unlock tables;
+create procedure proc_1() flush tables;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush tables; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush tables";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush tables;
+flush tables;
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+call proc_1();
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+call proc_1();
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+call proc_1();
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+flush tables;
+create function func_1() returns int begin flush tables; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+flush tables;
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+prepare abc from "flush tables";
+execute abc;
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+execute abc;
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+execute abc;
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql general_log 0 0
+select Host, User from mysql.user limit 0;
+Host User
+select Host, Db from mysql.host limit 0;
+Host Db
+show open tables from mysql;
+Database Table In_use Name_locked
+mysql user 0 0
+mysql general_log 0 0
+mysql host 0 0
+flush tables;
+deallocate prepare abc;
+create procedure proc_1() flush logs;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush logs; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush logs";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush status;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush status; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush status";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush slave;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush slave; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush slave";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush master;
+create function func_1() returns int begin flush master; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush master";
+deallocate prepare abc;
+create procedure proc_1() flush des_key_file;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush des_key_file; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush des_key_file";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() flush user_resources;
+call proc_1();
+call proc_1();
+call proc_1();
+create function func_1() returns int begin flush user_resources; return 1; end|
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+create function func_1() returns int begin call proc_1(); return 1; end|
+select func_1(), func_1(), func_1() from dual;
+ERROR 0A000: FLUSH is not allowed in stored function or trigger
+drop function func_1;
+drop procedure proc_1;
+prepare abc from "flush user_resources";
+execute abc;
+execute abc;
+execute abc;
+deallocate prepare abc;
+create procedure proc_1() start slave;
+drop procedure proc_1;
+create function func_1() returns int begin start slave; return 1; end|
+drop function func_1;
+prepare abc from "start slave";
+deallocate prepare abc;
+create procedure proc_1() stop slave;
+drop procedure proc_1;
+create function func_1() returns int begin stop slave; return 1; end|
+drop function func_1;
+prepare abc from "stop slave";
+deallocate prepare abc;
+create procedure proc_1() show binlog events;
+drop procedure proc_1;
+create function func_1() returns int begin show binlog events; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show binlog events";
+deallocate prepare abc;
+create procedure proc_1() show slave status;
+drop procedure proc_1;
+create function func_1() returns int begin show slave status; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show slave status";
+deallocate prepare abc;
+create procedure proc_1() show master status;
+drop procedure proc_1;
+create function func_1() returns int begin show master status; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show master status";
+deallocate prepare abc;
+create procedure proc_1() show master logs;
+drop procedure proc_1;
+create function func_1() returns int begin show master logs; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show master logs";
+deallocate prepare abc;
+create procedure proc_1() show events;
+call proc_1();
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+call proc_1();
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+call proc_1();
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+drop procedure proc_1;
+create function func_1() returns int begin show events; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show events";
+execute abc;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+execute abc;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+execute abc;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+deallocate prepare abc;
+drop procedure if exists a;
+create procedure a() select 42;
+create procedure proc_1(a char(2)) show create procedure a;
+call proc_1("bb");
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_1("bb");
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_1("bb");
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+drop procedure proc_1;
+create function func_1() returns int begin show create procedure a; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show create procedure a";
+execute abc;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+execute abc;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+execute abc;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` PROCEDURE `a`()
+select 42 latin1 latin1_swedish_ci latin1_swedish_ci
+deallocate prepare abc;
+drop procedure a;
+drop function if exists a;
+create function a() returns int return 42+13;
+create procedure proc_1(a char(2)) show create function a;
+call proc_1("bb");
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_1("bb");
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_1("bb");
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+drop procedure proc_1;
+create function func_1() returns int begin show create function a; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show create function a";
+execute abc;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+execute abc;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+execute abc;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+a CREATE DEFINER=`root`@`localhost` FUNCTION `a`() RETURNS int(11)
+return 42+13 latin1 latin1_swedish_ci latin1_swedish_ci
+deallocate prepare abc;
+drop function a;
+drop table if exists tab1;
+create table tab1(a int, b char(1), primary key(a,b));
+create procedure proc_1() show create table tab1;
+call proc_1();
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+call proc_1();
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+call proc_1();
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop procedure proc_1;
+create function func_1() returns int begin show create table tab1; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show create table tab1";
+execute abc;
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+execute abc;
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+execute abc;
+Table Create Table
+tab1 CREATE TABLE `tab1` (
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` char(1) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`,`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+deallocate prepare abc;
+drop table tab1;
+drop view if exists v1;
+drop table if exists t1;
+create table t1(a int, b char(5));
+insert into t1 values (1, "one"), (1, "edno"), (2, "two"), (2, "dve");
+create view v1 as
+(select a, count(*) from t1 group by a)
+union all
+(select b, count(*) from t1 group by b);
+create procedure proc_1() show create view v1;
+call proc_1();
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+call proc_1();
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+call proc_1();
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+drop procedure proc_1;
+create function func_1() returns int begin show create view v1; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "show create view v1";
+execute abc;
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+execute abc;
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+execute abc;
+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`,count(0) AS `count(*)` from `t1` group by `t1`.`a`) union all (select `t1`.`b` AS `b`,count(0) AS `count(*)` from `t1` group by `t1`.`b`) latin1 latin1_swedish_ci
+deallocate prepare abc;
+drop view v1;
+drop table t1;
+create procedure proc_1() install plugin my_plug soname 'some_plugin.so';
+call proc_1();
+Got one of the listed errors
+call proc_1();
+Got one of the listed errors
+call proc_1();
+Got one of the listed errors
+drop procedure proc_1;
+create function func_1() returns int begin install plugin my_plug soname '/tmp/plugin'; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "install plugin my_plug soname 'some_plugin.so'";
+deallocate prepare abc;
+create procedure proc_1() uninstall plugin my_plug;
+call proc_1();
+ERROR 42000: PLUGIN my_plug does not exist
+call proc_1();
+ERROR 42000: PLUGIN my_plug does not exist
+call proc_1();
+ERROR 42000: PLUGIN my_plug does not exist
+drop procedure proc_1;
+create function func_1() returns int begin uninstall plugin my_plug; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "uninstall plugin my_plug";
+execute abc;
+ERROR 42000: PLUGIN my_plug does not exist
+execute abc;
+ERROR 42000: PLUGIN my_plug does not exist
+execute abc;
+ERROR 42000: PLUGIN my_plug does not exist
+deallocate prepare abc;
+drop database if exists mysqltest_xyz;
+create procedure proc_1() create database mysqltest_xyz;
+call proc_1();
+drop database if exists mysqltest_xyz;
+call proc_1();
+call proc_1();
+ERROR HY000: Can't create database 'mysqltest_xyz'; database exists
+drop database if exists mysqltest_xyz;
+call proc_1();
+drop database if exists mysqltest_xyz;
+drop procedure proc_1;
+create function func_1() returns int begin create database mysqltest_xyz; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "create database mysqltest_xyz";
+execute abc;
+drop database if exists mysqltest_xyz;
+execute abc;
+execute abc;
+ERROR HY000: Can't create database 'mysqltest_xyz'; database exists
+drop database if exists mysqltest_xyz;
+execute abc;
+drop database if exists mysqltest_xyz;
+deallocate prepare abc;
+drop table if exists t1;
+create table t1 (a int, b char(5));
+insert into t1 values (1, "one"), (2, "two"), (3, "three");
+create procedure proc_1() checksum table xyz;
+call proc_1();
+Table Checksum
+test.xyz NULL
+Warnings:
+Error 1146 Table 'test.xyz' doesn't exist
+call proc_1();
+Table Checksum
+test.xyz NULL
+Warnings:
+Error 1146 Table 'test.xyz' doesn't exist
+call proc_1();
+Table Checksum
+test.xyz NULL
+Warnings:
+Error 1146 Table 'test.xyz' doesn't exist
+drop procedure proc_1;
+create function func_1() returns int begin checksum table t1; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "checksum table t1";
+execute abc;
+Table Checksum
+test.t1 645809265
+execute abc;
+Table Checksum
+test.t1 645809265
+execute abc;
+Table Checksum
+test.t1 645809265
+deallocate prepare abc;
+create procedure proc_1() create user pstest_xyz@localhost;
+call proc_1();
+drop user pstest_xyz@localhost;
+call proc_1();
+call proc_1();
+ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost'
+drop user pstest_xyz@localhost;
+call proc_1();
+drop user pstest_xyz@localhost;
+drop procedure proc_1;
+create function func_1() returns int begin create user pstest_xyz@localhost; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "create user pstest_xyz@localhost";
+execute abc;
+drop user pstest_xyz@localhost;
+execute abc;
+execute abc;
+ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost'
+drop user pstest_xyz@localhost;
+execute abc;
+drop user pstest_xyz@localhost;
+deallocate prepare abc;
+drop event if exists xyz;
+create function func_1() returns int begin create event xyz on schedule at now() do select 123; return 1; end|
+ERROR HY000: Recursion of EVENT DDL statements is forbidden when body is present
+select func_1(), func_1(), func_1() from dual;
+ERROR 42000: FUNCTION test.func_1 does not exist
+drop function func_1;
+ERROR 42000: FUNCTION test.func_1 does not exist
+prepare abc from "create event xyz on schedule at now() do select 123";
+ERROR HY000: This command is not supported in the prepared statement protocol yet
+deallocate prepare abc;
+ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
+drop event if exists xyz;
+create event xyz on schedule every 5 minute disable do select 123;
+create procedure proc_1() alter event xyz comment 'xyz';
+call proc_1();
+drop event xyz;
+create event xyz on schedule every 5 minute disable do select 123;
+call proc_1();
+drop event xyz;
+create event xyz on schedule every 5 minute disable do select 123;
+call proc_1();
+drop event xyz;
+drop procedure proc_1;
+create function func_1() returns int begin alter event xyz comment 'xyz'; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+prepare abc from "alter event xyz comment 'xyz'";
+ERROR HY000: This command is not supported in the prepared statement protocol yet
+deallocate prepare abc;
+ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
+drop event if exists xyz;
+create event xyz on schedule every 5 minute disable do select 123;
+create procedure proc_1() drop event xyz;
+call proc_1();
+create event xyz on schedule every 5 minute disable do select 123;
+call proc_1();
+call proc_1();
+ERROR HY000: Unknown event 'xyz'
+drop procedure proc_1;
+create function func_1() returns int begin drop event xyz; return 1; end|
+ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
+prepare abc from "drop event xyz";
+ERROR HY000: This command is not supported in the prepared statement protocol yet
+deallocate prepare abc;
+ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
+drop table if exists t1;
+create table t1 (a int, b char(5)) engine=myisam;
+insert into t1 values (1, "one"), (2, "two"), (3, "three");
+SET GLOBAL new_cache.key_buffer_size=128*1024;
+create procedure proc_1() cache index t1 in new_cache;
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+drop procedure proc_1;
+SET GLOBAL second_cache.key_buffer_size=128*1024;
+prepare abc from "cache index t1 in second_cache";
+execute abc;
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+execute abc;
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+execute abc;
+Table Op Msg_type Msg_text
+test.t1 assign_to_keycache status OK
+deallocate prepare abc;
+drop table t1;
+drop table if exists t1;
+drop table if exists t2;
+create table t1 (a int, b char(5)) engine=myisam;
+insert into t1 values (1, "one"), (2, "two"), (3, "three");
+create table t2 (a int, b char(5)) engine=myisam;
+insert into t2 values (1, "one"), (2, "two"), (3, "three");
+create procedure proc_1() load index into cache t1 ignore leaves;
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+call proc_1();
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+drop procedure proc_1;
+create function func_1() returns int begin load index into cache t1 ignore leaves; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+prepare abc from "load index into cache t2 ignore leaves";
+execute abc;
+Table Op Msg_type Msg_text
+test.t2 preload_keys status OK
+execute abc;
+Table Op Msg_type Msg_text
+test.t2 preload_keys status OK
+execute abc;
+Table Op Msg_type Msg_text
+test.t2 preload_keys status OK
+deallocate prepare abc;
+drop table t1, t2;
+create procedure proc_1() show errors;
+call proc_1();
+Level Code Message
+call proc_1();
+Level Code Message
+call proc_1();
+Level Code Message
+drop procedure proc_1;
+create function func_1() returns int begin show errors; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+prepare abc from "show errors";
+deallocate prepare abc;
+drop table if exists t1;
+drop table if exists t2;
+create procedure proc_1() show warnings;
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 't1'
+call proc_1();
+Level Code Message
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+call proc_1();
+Level Code Message
+drop table if exists t1, t2;
+Warnings:
+Note 1051 Unknown table 't1'
+Note 1051 Unknown table 't2'
+call proc_1();
+Level Code Message
+drop procedure proc_1;
+create function func_1() returns int begin show warnings; return 1; end|
+ERROR 0A000: Not allowed to return a result set from a function
+prepare abc from "show warnings";
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 't1'
+execute abc;
+Level Code Message
+Note 1051 Unknown table 't1'
+drop table if exists t2;
+Warnings:
+Note 1051 Unknown table 't2'
+execute abc;
+Level Code Message
+Note 1051 Unknown table 't2'
+drop table if exists t1, t2;
+Warnings:
+Note 1051 Unknown table 't1'
+Note 1051 Unknown table 't2'
+execute abc;
+Level Code Message
+Note 1051 Unknown table 't1'
+Note 1051 Unknown table 't2'
+deallocate prepare abc;
+set @my_password="password";
+set @my_data="clear text to encode";
+prepare stmt1 from 'select decode(encode(?, ?), ?)';
+execute stmt1 using @my_data, @my_password, @my_password;
+decode(encode(?, ?), ?)
+clear text to encode
+set @my_data="more text to encode";
+execute stmt1 using @my_data, @my_password, @my_password;
+decode(encode(?, ?), ?)
+more text to encode
+set @my_password="new password";
+execute stmt1 using @my_data, @my_password, @my_password;
+decode(encode(?, ?), ?)
+more text to encode
+deallocate prepare stmt1;
+set @to_format="123456789.123456789";
+set @dec=0;
+prepare stmt2 from 'select format(?, ?)';
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+123,456,789
+set @dec=4;
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+123,456,789.1235
+set @dec=6;
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+123,456,789.123457
+set @dec=2;
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+123,456,789.12
+set @to_format="100";
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+100.00
+set @to_format="1000000";
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+1,000,000.00
+set @to_format="10000";
+execute stmt2 using @to_format, @dec;
+format(?, ?)
+10,000.00
+deallocate prepare stmt2;
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (i INT);
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (i INT);
+INSERT INTO t2 VALUES (2);
+LOCK TABLE t1 READ, t2 WRITE;
+PREPARE stmt1 FROM "SELECT i FROM t1";
+PREPARE stmt2 FROM "INSERT INTO t2 (i) VALUES (3)";
+EXECUTE stmt1;
+i
+1
+EXECUTE stmt2;
+SELECT * FROM t2;
+i
+2
+UNLOCK TABLES;
+SELECT * FROM t2;
+i
+2
+3
+ALTER TABLE t1 ADD COLUMN j INT;
+ALTER TABLE t2 ADD COLUMN j INT;
+INSERT INTO t1 VALUES (4, 5);
+INSERT INTO t2 VALUES (4, 5);
+EXECUTE stmt1;
+i
+1
+4
+EXECUTE stmt2;
+SELECT * FROM t2;
+i j
+2 NULL
+3 NULL
+4 5
+3 NULL
+DROP TABLE t1, t2;
+drop table if exists t1;
+Warnings:
+Note 1051 Unknown table 't1'
+prepare stmt
+from "create table t1 (c char(100) character set utf8, key (c(10)))";
+execute stmt;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` char(100) CHARACTER SET utf8 DEFAULT NULL,
+ KEY `c` (`c`(10))
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+execute stmt;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` char(100) CHARACTER SET utf8 DEFAULT NULL,
+ 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 488c01b020c..1c5f0e4dfd6 100644
--- a/mysql-test/r/ps_1general.result
+++ b/mysql-test/r/ps_1general.result
@@ -303,36 +303,18 @@ prepare stmt4 from ' show variables like ''sql_mode'' ';
execute stmt4;
Variable_name Value
sql_mode
-prepare stmt4 from ' show engine bdb logs ';
+prepare stmt4 from ' show engine myisam logs ';
execute stmt4;
+Type Name Status
prepare stmt4 from ' show grants for user ';
prepare stmt4 from ' show create table t2 ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show master status ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show master logs ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show slave status ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show warnings limit 20 ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show errors limit 20 ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' show storage engines ';
execute stmt4;
-Engine Support Comment
-MyISAM YES/NO Default engine as of MySQL 3.23 with great performance
-MEMORY YES/NO Hash based, stored in memory, useful for temporary tables
-InnoDB YES/NO Supports transactions, row-level locking, and foreign keys
-BerkeleyDB YES/NO Supports transactions and page-level locking
-BLACKHOLE YES/NO /dev/null storage engine (anything you write to it disappears)
-EXAMPLE YES/NO Example storage engine
-ARCHIVE YES/NO Archive storage engine
-CSV YES/NO CSV storage engine
-ndbcluster YES/NO Clustered, fault-tolerant, memory-based tables
-FEDERATED YES/NO Federated MySQL storage engine
-MRG_MYISAM YES/NO Collection of identical MyISAM tables
-ISAM YES/NO Obsolete storage engine
drop table if exists t5;
prepare stmt1 from ' drop table if exists t5 ' ;
execute stmt1 ;
@@ -401,10 +383,8 @@ ERROR HY000: This command is not supported in the prepared statement protocol ye
prepare stmt4 from ' use test ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt3 from ' create database mysqltest ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
create database mysqltest ;
prepare stmt3 from ' drop database mysqltest ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
drop database mysqltest ;
prepare stmt3 from ' describe t2 ';
execute stmt3;
@@ -426,7 +406,6 @@ execute stmt1 ;
prepare stmt1 from ' optimize table t1 ' ;
prepare stmt1 from ' analyze table t1 ' ;
prepare stmt1 from ' checksum table t1 ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' repair table t1 ' ;
prepare stmt1 from ' restore table t1 from ''data.txt'' ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
@@ -454,11 +433,8 @@ execute stmt5;
1
SET sql_mode="";
prepare stmt1 from ' flush local privileges ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' reset query cache ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' KILL 0 ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' explain select a from t1 order by b ';
execute stmt1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
diff --git a/mysql-test/r/ps_2myisam.result b/mysql-test/r/ps_2myisam.result
index 891e8e4ff02..fbc6781e5e7 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
@@ -1426,7 +1426,7 @@ select a,b from t1 where b = @arg00;
a b
6 six
execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
set @arg00=NULL ;
prepare stmt1 from 'insert into t1 values(0, ? )';
execute stmt1 using @arg00;
@@ -1539,7 +1539,7 @@ a b
set @arg00=81 ;
set @arg01=1 ;
execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
+ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
drop table if exists t2 ;
create table t2 (id int auto_increment primary key)
ENGINE= 'MYISAM' ;
@@ -1775,31 +1775,31 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
+ `const01` int(1) NOT NULL DEFAULT '0',
+ `param01` bigint(20) DEFAULT NULL,
+ `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `param02` decimal(65,30) DEFAULT NULL,
+ `const03` double NOT NULL DEFAULT '0',
+ `param03` double DEFAULT NULL,
+ `const04` varchar(3) NOT NULL DEFAULT '',
`param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
+ `const05` varbinary(3) NOT NULL DEFAULT '',
`param05` longblob,
- `const06` varchar(10) NOT NULL default '',
+ `const06` varchar(10) NOT NULL DEFAULT '',
`param06` longtext,
- `const07` date default NULL,
+ `const07` date DEFAULT NULL,
`param07` longblob,
- `const08` varchar(19) NOT NULL default '',
+ `const08` varchar(19) NOT NULL DEFAULT '',
`param08` longtext,
- `const09` datetime default NULL,
+ `const09` datetime DEFAULT NULL,
`param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
+ `const10` int(10) NOT NULL DEFAULT '0',
+ `param10` bigint(20) DEFAULT NULL,
+ `const11` int(4) DEFAULT NULL,
+ `param11` bigint(20) DEFAULT NULL,
+ `const12` binary(0) DEFAULT NULL,
+ `param12` bigint(20) DEFAULT NULL,
+ `param13` decimal(65,30) DEFAULT NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -1917,38 +1917,38 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
@@ -1964,38 +1964,38 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select
@@ -2014,38 +2014,38 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
@@ -2054,38 +2054,38 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2102,38 +2102,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2146,38 +2146,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2192,76 +2192,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -2572,12 +2572,12 @@ set @arg00= 9223372036854775807 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2595,12 +2595,12 @@ set @arg00= '9223372036854775807' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2618,12 +2618,12 @@ set @arg00= -9223372036854775808 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2641,12 +2641,12 @@ set @arg00= '-9223372036854775808' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2664,14 +2664,14 @@ set @arg00= 1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2689,14 +2689,14 @@ set @arg00= '1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2714,14 +2714,14 @@ set @arg00= -1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2739,14 +2739,14 @@ set @arg00= '-1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2985,45 +2985,45 @@ Warnings:
Note 1265 Data truncated for column 'c13' at row 1
Warning 1265 Data truncated for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
c1 c13 c14 c15 c16 c17
20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
diff --git a/mysql-test/r/ps_3innodb.result b/mysql-test/r/ps_3innodb.result
index abbaba7463c..fcd0b5de9a0 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
@@ -1409,7 +1409,7 @@ select a,b from t1 where b = @arg00;
a b
6 six
execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
set @arg00=NULL ;
prepare stmt1 from 'insert into t1 values(0, ? )';
execute stmt1 using @arg00;
@@ -1522,7 +1522,7 @@ a b
set @arg00=81 ;
set @arg01=1 ;
execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
+ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
drop table if exists t2 ;
create table t2 (id int auto_increment primary key)
ENGINE= 'InnoDB' ;
@@ -1758,31 +1758,31 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
+ `const01` int(1) NOT NULL DEFAULT '0',
+ `param01` bigint(20) DEFAULT NULL,
+ `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `param02` decimal(65,30) DEFAULT NULL,
+ `const03` double NOT NULL DEFAULT '0',
+ `param03` double DEFAULT NULL,
+ `const04` varchar(3) NOT NULL DEFAULT '',
`param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
+ `const05` varbinary(3) NOT NULL DEFAULT '',
`param05` longblob,
- `const06` varchar(10) NOT NULL default '',
+ `const06` varchar(10) NOT NULL DEFAULT '',
`param06` longtext,
- `const07` date default NULL,
+ `const07` date DEFAULT NULL,
`param07` longblob,
- `const08` varchar(19) NOT NULL default '',
+ `const08` varchar(19) NOT NULL DEFAULT '',
`param08` longtext,
- `const09` datetime default NULL,
+ `const09` datetime DEFAULT NULL,
`param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
+ `const10` int(10) NOT NULL DEFAULT '0',
+ `param10` bigint(20) DEFAULT NULL,
+ `const11` int(4) DEFAULT NULL,
+ `param11` bigint(20) DEFAULT NULL,
+ `const12` binary(0) DEFAULT NULL,
+ `param12` bigint(20) DEFAULT NULL,
+ `param13` decimal(65,30) DEFAULT NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -1900,38 +1900,38 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
@@ -1947,38 +1947,38 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select
@@ -1997,38 +1997,38 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
@@ -2037,38 +2037,38 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2175,76 +2175,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -2555,12 +2555,12 @@ set @arg00= 9223372036854775807 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2578,12 +2578,12 @@ set @arg00= '9223372036854775807' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2601,12 +2601,12 @@ set @arg00= -9223372036854775808 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2624,12 +2624,12 @@ set @arg00= '-9223372036854775808' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2647,14 +2647,14 @@ set @arg00= 1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2672,14 +2672,14 @@ set @arg00= '1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2697,14 +2697,14 @@ set @arg00= -1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2722,14 +2722,14 @@ set @arg00= '-1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2968,45 +2968,45 @@ Warnings:
Note 1265 Data truncated for column 'c13' at row 1
Warning 1265 Data truncated for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
c1 c13 c14 c15 c16 c17
20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
diff --git a/mysql-test/r/ps_4heap.result b/mysql-test/r/ps_4heap.result
index e6a4caadf1e..862c0ff75c1 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
@@ -1410,7 +1410,7 @@ select a,b from t1 where b = @arg00;
a b
6 six
execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
set @arg00=NULL ;
prepare stmt1 from 'insert into t1 values(0, ? )';
execute stmt1 using @arg00;
@@ -1523,7 +1523,7 @@ a b
set @arg00=81 ;
set @arg01=1 ;
execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
+ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
drop table if exists t2 ;
create table t2 (id int auto_increment primary key)
ENGINE= 'HEAP' ;
@@ -1759,31 +1759,31 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
+ `const01` int(1) NOT NULL DEFAULT '0',
+ `param01` bigint(20) DEFAULT NULL,
+ `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `param02` decimal(65,30) DEFAULT NULL,
+ `const03` double NOT NULL DEFAULT '0',
+ `param03` double DEFAULT NULL,
+ `const04` varchar(3) NOT NULL DEFAULT '',
`param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
+ `const05` varbinary(3) NOT NULL DEFAULT '',
`param05` longblob,
- `const06` varchar(10) NOT NULL default '',
+ `const06` varchar(10) NOT NULL DEFAULT '',
`param06` longtext,
- `const07` date default NULL,
+ `const07` date DEFAULT NULL,
`param07` longblob,
- `const08` varchar(19) NOT NULL default '',
+ `const08` varchar(19) NOT NULL DEFAULT '',
`param08` longtext,
- `const09` datetime default NULL,
+ `const09` datetime DEFAULT NULL,
`param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
+ `const10` int(10) NOT NULL DEFAULT '0',
+ `param10` bigint(20) DEFAULT NULL,
+ `const11` int(4) DEFAULT NULL,
+ `param11` bigint(20) DEFAULT NULL,
+ `const12` binary(0) DEFAULT NULL,
+ `param12` bigint(20) DEFAULT NULL,
+ `param13` decimal(65,30) DEFAULT NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -1901,38 +1901,38 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 0 31 8
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 0 31 8
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 0 31 8
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 0 31 8
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 0 31 8
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 0 31 8
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 0 31 8
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 0 31 8
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
@@ -1948,38 +1948,38 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 0 31 8
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 0 31 8
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 0 31 8
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 0 31 8
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 0 31 8
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 0 31 8
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 0 31 8
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 0 31 8
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select
@@ -1998,38 +1998,38 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 0 31 8
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 0 31 8
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 0 31 8
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 0 31 8
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 0 31 8
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 0 31 8
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 0 31 8
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 0 31 8
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
@@ -2038,38 +2038,38 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 0 31 8
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 0 31 8
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 0 31 8
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 0 31 8
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 0 31 8
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 0 31 8
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 0 31 8
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 0 31 8
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2086,38 +2086,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 0 31 8
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 0 31 8
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 0 31 8
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 0 31 8
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 0 31 8
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 0 31 8
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 0 31 8
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 0 31 8
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2130,38 +2130,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 0 31 8
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 0 31 8
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 0 31 8
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 0 31 8
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 0 31 8
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 0 31 8
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 0 31 8
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 0 31 8
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2176,76 +2176,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 0 31 8
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 0 31 8
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 0 31 8
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 0 31 8
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 0 31 8
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 0 31 8
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 0 31 8
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 0 31 8
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 0 31 8
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 0 31 8
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 0 31 8
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 0 31 8
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 0 31 8
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 0 31 8
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 0 31 8
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 0 31 8
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -2556,12 +2556,12 @@ set @arg00= 9223372036854775807 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2579,12 +2579,12 @@ set @arg00= '9223372036854775807' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2602,12 +2602,12 @@ set @arg00= -9223372036854775808 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2625,12 +2625,12 @@ set @arg00= '-9223372036854775808' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2648,14 +2648,14 @@ set @arg00= 1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2673,14 +2673,14 @@ set @arg00= '1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2698,14 +2698,14 @@ set @arg00= -1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2723,14 +2723,14 @@ set @arg00= '-1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2969,45 +2969,45 @@ Warnings:
Note 1265 Data truncated for column 'c13' at row 1
Warning 1265 Data truncated for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
c1 c13 c14 c15 c16 c17
20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
diff --git a/mysql-test/r/ps_5merge.result b/mysql-test/r/ps_5merge.result
index 34ade911e78..51393cc8bc3 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
@@ -1452,7 +1452,7 @@ select a,b from t1 where b = @arg00;
a b
6 six
execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
set @arg00=NULL ;
prepare stmt1 from 'insert into t1 values(0, ? )';
execute stmt1 using @arg00;
@@ -1565,7 +1565,7 @@ a b
set @arg00=81 ;
set @arg01=1 ;
execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
+ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
drop table if exists t2 ;
create table t2 (id int auto_increment primary key)
ENGINE= 'MYISAM' ;
@@ -1695,31 +1695,31 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
+ `const01` int(1) NOT NULL DEFAULT '0',
+ `param01` bigint(20) DEFAULT NULL,
+ `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `param02` decimal(65,30) DEFAULT NULL,
+ `const03` double NOT NULL DEFAULT '0',
+ `param03` double DEFAULT NULL,
+ `const04` varchar(3) NOT NULL DEFAULT '',
`param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
+ `const05` varbinary(3) NOT NULL DEFAULT '',
`param05` longblob,
- `const06` varchar(10) NOT NULL default '',
+ `const06` varchar(10) NOT NULL DEFAULT '',
`param06` longtext,
- `const07` date default NULL,
+ `const07` date DEFAULT NULL,
`param07` longblob,
- `const08` varchar(19) NOT NULL default '',
+ `const08` varchar(19) NOT NULL DEFAULT '',
`param08` longtext,
- `const09` datetime default NULL,
+ `const09` datetime DEFAULT NULL,
`param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
+ `const10` int(10) NOT NULL DEFAULT '0',
+ `param10` bigint(20) DEFAULT NULL,
+ `const11` int(4) DEFAULT NULL,
+ `param11` bigint(20) DEFAULT NULL,
+ `const12` binary(0) DEFAULT NULL,
+ `param12` bigint(20) DEFAULT NULL,
+ `param13` decimal(65,30) DEFAULT NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -1837,38 +1837,38 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
@@ -1884,38 +1884,38 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select
@@ -1934,38 +1934,38 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
@@ -1974,38 +1974,38 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2022,38 +2022,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2066,38 +2066,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2112,76 +2112,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -2492,12 +2492,12 @@ set @arg00= 9223372036854775807 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2515,12 +2515,12 @@ set @arg00= '9223372036854775807' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2538,12 +2538,12 @@ set @arg00= -9223372036854775808 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2561,12 +2561,12 @@ set @arg00= '-9223372036854775808' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2584,14 +2584,14 @@ set @arg00= 1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2609,14 +2609,14 @@ set @arg00= '1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -2634,14 +2634,14 @@ set @arg00= -1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2659,14 +2659,14 @@ set @arg00= '-1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -2905,45 +2905,45 @@ Warnings:
Note 1265 Data truncated for column 'c13' at row 1
Warning 1265 Data truncated for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
c1 c13 c14 c15 c16 c17
20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
@@ -3128,7 +3128,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
@@ -4474,7 +4474,7 @@ select a,b from t1 where b = @arg00;
a b
6 six
execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
set @arg00=NULL ;
prepare stmt1 from 'insert into t1 values(0, ? )';
execute stmt1 using @arg00;
@@ -4587,7 +4587,7 @@ a b
set @arg00=81 ;
set @arg01=1 ;
execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
+ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
drop table if exists t2 ;
create table t2 (id int auto_increment primary key)
ENGINE= 'MYISAM' ;
@@ -4717,31 +4717,31 @@ NULL as const12, @arg12 as param12,
show create table t5 ;
Table Create Table
t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
+ `const01` int(1) NOT NULL DEFAULT '0',
+ `param01` bigint(20) DEFAULT NULL,
+ `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `param02` decimal(65,30) DEFAULT NULL,
+ `const03` double NOT NULL DEFAULT '0',
+ `param03` double DEFAULT NULL,
+ `const04` varchar(3) NOT NULL DEFAULT '',
`param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
+ `const05` varbinary(3) NOT NULL DEFAULT '',
`param05` longblob,
- `const06` varchar(10) NOT NULL default '',
+ `const06` varchar(10) NOT NULL DEFAULT '',
`param06` longtext,
- `const07` date default NULL,
+ `const07` date DEFAULT NULL,
`param07` longblob,
- `const08` varchar(19) NOT NULL default '',
+ `const08` varchar(19) NOT NULL DEFAULT '',
`param08` longtext,
- `const09` datetime default NULL,
+ `const09` datetime DEFAULT NULL,
`param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
+ `const10` int(10) NOT NULL DEFAULT '0',
+ `param10` bigint(20) DEFAULT NULL,
+ `const11` int(4) DEFAULT NULL,
+ `param11` bigint(20) DEFAULT NULL,
+ `const12` binary(0) DEFAULT NULL,
+ `param12` bigint(20) DEFAULT NULL,
+ `param13` decimal(65,30) DEFAULT NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -4859,38 +4859,38 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
@@ -4906,38 +4906,38 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select
@@ -4956,38 +4956,38 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
@@ -4996,38 +4996,38 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -5044,38 +5044,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -5088,38 +5088,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -5134,76 +5134,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 1 Y 32896 0 63
+def @arg03 8 20 1 Y 32896 0 63
+def @arg04 8 20 1 Y 32896 0 63
+def @arg05 8 20 1 Y 32896 0 63
+def @arg06 8 20 1 Y 32896 0 63
+def @arg07 5 23 1 Y 32896 31 63
+def @arg08 5 23 1 Y 32896 31 63
+def @arg09 5 23 1 Y 32896 31 63
+def @arg10 5 23 1 Y 32896 31 63
+def @arg11 246 83 6 Y 128 30 63
+def @arg12 246 83 6 Y 128 30 63
+def @arg13 251 16777216 10 Y 128 31 63
+def @arg14 251 16777216 19 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 8 Y 128 31 63
+def @arg17 8 20 4 Y 32928 0 63
+def @arg18 8 20 1 Y 32896 0 63
+def @arg19 8 20 1 Y 32896 0 63
+def @arg20 251 16777216 1 Y 0 31 8
+def @arg21 251 16777216 10 Y 0 31 8
+def @arg22 251 16777216 30 Y 0 31 8
+def @arg23 251 16777216 8 Y 128 31 63
+def @arg24 251 16777216 8 Y 0 31 8
+def @arg25 251 16777216 4 Y 128 31 63
+def @arg26 251 16777216 4 Y 0 31 8
+def @arg27 251 16777216 10 Y 128 31 63
+def @arg28 251 16777216 10 Y 0 31 8
+def @arg29 251 16777216 8 Y 128 31 63
+def @arg30 251 16777216 8 Y 0 31 8
+def @arg31 251 16777216 3 Y 0 31 8
+def @arg32 251 16777216 6 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
+def @arg01 8 20 1 Y 32896 0 63
+def @arg02 8 20 0 Y 32896 0 63
+def @arg03 8 20 0 Y 32896 0 63
+def @arg04 8 20 0 Y 32896 0 63
+def @arg05 8 20 0 Y 32896 0 63
+def @arg06 8 20 0 Y 32896 0 63
+def @arg07 5 23 0 Y 32896 31 63
+def @arg08 5 23 0 Y 32896 31 63
+def @arg09 5 23 0 Y 32896 31 63
+def @arg10 5 23 0 Y 32896 31 63
+def @arg11 246 83 0 Y 128 30 63
+def @arg12 246 83 0 Y 128 30 63
+def @arg13 251 16777216 0 Y 128 31 63
+def @arg14 251 16777216 0 Y 128 31 63
+def @arg15 251 16777216 19 Y 128 31 63
+def @arg16 251 16777216 0 Y 128 31 63
+def @arg17 8 20 0 Y 32928 0 63
+def @arg18 8 20 0 Y 32896 0 63
+def @arg19 8 20 0 Y 32896 0 63
+def @arg20 251 16777216 0 Y 0 31 8
+def @arg21 251 16777216 0 Y 0 31 8
+def @arg22 251 16777216 0 Y 0 31 8
+def @arg23 251 16777216 0 Y 128 31 63
+def @arg24 251 16777216 0 Y 0 31 8
+def @arg25 251 16777216 0 Y 128 31 63
+def @arg26 251 16777216 0 Y 0 31 8
+def @arg27 251 16777216 0 Y 128 31 63
+def @arg28 251 16777216 0 Y 0 31 8
+def @arg29 251 16777216 0 Y 128 31 63
+def @arg30 251 16777216 0 Y 0 31 8
+def @arg31 251 16777216 0 Y 0 31 8
+def @arg32 251 16777216 0 Y 0 31 8
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -5514,12 +5514,12 @@ set @arg00= 9223372036854775807 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -5537,12 +5537,12 @@ set @arg00= '9223372036854775807' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -5560,12 +5560,12 @@ set @arg00= -9223372036854775808 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -5583,12 +5583,12 @@ set @arg00= '-9223372036854775808' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -5606,14 +5606,14 @@ set @arg00= 1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -5631,14 +5631,14 @@ set @arg00= '1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 127
c2 32767
@@ -5656,14 +5656,14 @@ set @arg00= -1.11111111111111111111e+50 ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -5681,14 +5681,14 @@ set @arg00= '-1.11111111111111111111e+50' ;
execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
@arg00, @arg00, @arg00, @arg00, @arg00 ;
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c3' at row 1
+Warning 1264 Out of range value for column 'c4' at row 1
+Warning 1264 Out of range value for column 'c5' at row 1
+Warning 1264 Out of range value for column 'c6' at row 1
+Warning 1264 Out of range value for column 'c7' at row 1
+Warning 1264 Out of range value for column 'c12' at row 1
execute my_select ;
c1 -128
c2 -32768
@@ -5927,45 +5927,45 @@ Warnings:
Note 1265 Data truncated for column 'c13' at row 1
Warning 1265 Data truncated for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
+Warning 1264 Out of range value for column 'c13' at row 1
+Warning 1264 Out of range value for column 'c14' at row 1
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
Warnings:
Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
+Warning 1264 Out of range value for column 'c16' at row 1
+Warning 1264 Out of range value for column 'c17' at row 1
select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
c1 c13 c14 c15 c16 c17
20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
diff --git a/mysql-test/r/ps_6bdb.result b/mysql-test/r/ps_6bdb.result
deleted file mode 100644
index a4205ac134e..00000000000
--- a/mysql-test/r/ps_6bdb.result
+++ /dev/null
@@ -1,3128 +0,0 @@
-use test;
-drop table if exists t1, t9 ;
-create table t1
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'BDB' ;
-create table t9
-(
-c1 tinyint, c2 smallint, c3 mediumint, c4 int,
-c5 integer, c6 bigint, c7 float, c8 double,
-c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
-c13 date, c14 datetime, c15 timestamp, c16 time,
-c17 year, c18 tinyint, c19 bool, c20 char,
-c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
-c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
-c29 longblob, c30 longtext, c31 enum('one', 'two', 'three'),
-c32 set('monday', 'tuesday', 'wednesday'),
-primary key(c1)
-) engine = 'BDB' ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-test_sequence
------- simple select tests ------
-prepare stmt1 from ' select * from t9 order by c1 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t9 t9 c1 c1 1 4 1 N 49155 0 63
-def test t9 t9 c2 c2 2 6 1 Y 32768 0 63
-def test t9 t9 c3 c3 9 9 1 Y 32768 0 63
-def test t9 t9 c4 c4 3 11 1 Y 32768 0 63
-def test t9 t9 c5 c5 3 11 1 Y 32768 0 63
-def test t9 t9 c6 c6 8 20 1 Y 32768 0 63
-def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
-def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
-def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
-def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
-def test t9 t9 c11 c11 246 9 6 Y 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 c16 c16 11 8 8 Y 128 0 63
-def test t9 t9 c17 c17 13 4 4 Y 32864 0 63
-def test t9 t9 c18 c18 1 4 1 Y 32768 0 63
-def test t9 t9 c19 c19 1 1 1 Y 32768 0 63
-def test t9 t9 c20 c20 254 1 1 Y 0 0 8
-def test t9 t9 c21 c21 254 10 10 Y 0 0 8
-def test t9 t9 c22 c22 253 30 30 Y 0 0 8
-def test t9 t9 c23 c23 252 255 8 Y 144 0 63
-def test t9 t9 c24 c24 252 255 8 Y 16 0 8
-def test t9 t9 c25 c25 252 65535 4 Y 144 0 63
-def test t9 t9 c26 c26 252 65535 4 Y 16 0 8
-def test t9 t9 c27 c27 252 16777215 10 Y 144 0 63
-def test t9 t9 c28 c28 252 16777215 10 Y 16 0 8
-def test t9 t9 c29 c29 252 4294967295 8 Y 144 0 63
-def test t9 t9 c30 c30 252 4294967295 8 Y 16 0 8
-def test t9 t9 c31 c31 254 5 3 Y 256 0 8
-def test t9 t9 c32 c32 254 24 7 Y 2048 0 8
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-set @arg00='SELECT' ;
-@arg00 a from t1 where a=1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a from t1 where a=1' at line 1
-prepare stmt1 from ' ? a from t1 where a=1 ';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a from t1 where a=1' at line 1
-set @arg00=1 ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-1 one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-1 one
-set @arg00='lion' ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-lion one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-lion one
-set @arg00=NULL ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-NULL one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-NULL one
-set @arg00=1 ;
-select b, a - @arg00 from t1 where a=1 ;
-b a - @arg00
-one 0
-prepare stmt1 from ' select b, a - ? from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-b a - ?
-one 0
-set @arg00=null ;
-select @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select @arg00 + 1 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? + 1 as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select 1 + @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select 1 + ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-set @arg00='MySQL' ;
-select substr(@arg00,1,2) from t1 where a=1 ;
-substr(@arg00,1,2)
-My
-prepare stmt1 from ' select substr(?,1,2) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr(?,1,2)
-My
-set @arg00=3 ;
-select substr('MySQL',@arg00,5) from t1 where a=1 ;
-substr('MySQL',@arg00,5)
-SQL
-prepare stmt1 from ' select substr(''MySQL'',?,5) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',?,5)
-SQL
-select substr('MySQL',1,@arg00) from t1 where a=1 ;
-substr('MySQL',1,@arg00)
-MyS
-prepare stmt1 from ' select substr(''MySQL'',1,?) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',1,?)
-MyS
-set @arg00='MySQL' ;
-select a , concat(@arg00,b) from t1 order by a;
-a concat(@arg00,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-prepare stmt1 from ' select a , concat(?,b) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(?,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-select a , concat(b,@arg00) from t1 order by a ;
-a concat(b,@arg00)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-prepare stmt1 from ' select a , concat(b,?) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(b,?)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-set @arg00='MySQL' ;
-select group_concat(@arg00,b order by a) from t1
-group by 'a' ;
-group_concat(@arg00,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-prepare stmt1 from ' select group_concat(?,b order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(?,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-select group_concat(b,@arg00 order by a) from t1
-group by 'a' ;
-group_concat(b,@arg00 order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-prepare stmt1 from ' select group_concat(b,? order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(b,? order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-set @arg00='first' ;
-set @arg01='second' ;
-set @arg02=NULL;
-select @arg00, @arg01 from t1 where a=1 ;
-@arg00 @arg01
-first second
-prepare stmt1 from ' select ?, ? from t1 where a=1 ' ;
-execute stmt1 using @arg00, @arg01 ;
-? ?
-first second
-execute stmt1 using @arg02, @arg01 ;
-? ?
-NULL second
-execute stmt1 using @arg00, @arg02 ;
-? ?
-first NULL
-execute stmt1 using @arg02, @arg02 ;
-? ?
-NULL NULL
-drop table if exists t5 ;
-create table t5 (id1 int(11) not null default '0',
-value2 varchar(100), value1 varchar(100)) ;
-insert into t5 values (1,'hh','hh'),(2,'hh','hh'),
-(1,'ii','ii'),(2,'ii','ii') ;
-prepare stmt1 from ' select id1,value1 from t5 where id1=? or value1=? order by id1,value1 ' ;
-set @arg00=1 ;
-set @arg01='hh' ;
-execute stmt1 using @arg00, @arg01 ;
-id1 value1
-1 hh
-1 ii
-2 hh
-drop table t5 ;
-drop table if exists t5 ;
-create table t5(session_id char(9) not null) ;
-insert into t5 values ('abc') ;
-prepare stmt1 from ' select * from t5
-where ?=''1111'' and session_id = ''abc'' ' ;
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-set @arg00='1111' ;
-execute stmt1 using @arg00 ;
-session_id
-abc
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-drop table t5 ;
-set @arg00='FROM' ;
-select a @arg00 t1 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 t1 where a=1' at line 1
-prepare stmt1 from ' select a ? t1 where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? t1 where a=1' at line 1
-set @arg00='t1' ;
-select a from @arg00 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 where a=1' at line 1
-prepare stmt1 from ' select a from ? where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? where a=1' at line 1
-set @arg00='WHERE' ;
-select a from t1 @arg00 a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a=1' at line 1
-prepare stmt1 from ' select a from t1 ? a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a=1' at line 1
-set @arg00=1 ;
-select a FROM t1 where a=@arg00 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-1
-set @arg00=1000 ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=NULL ;
-select a FROM t1 where a=@arg00 ;
-a
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=4 ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-2
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-2
-set @arg00=NULL ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=2 ;
-set @arg01=3 ;
-select a FROM t1 where a in (@arg00,@arg01) order by a;
-a
-2
-3
-prepare stmt1 from ' select a FROM t1 where a in (?,?) order by a ';
-execute stmt1 using @arg00, @arg01;
-a
-2
-3
-set @arg00= 'one' ;
-set @arg01= 'two' ;
-set @arg02= 'five' ;
-prepare stmt1 from ' select b FROM t1 where b in (?,?,?) order by b ' ;
-execute stmt1 using @arg00, @arg01, @arg02 ;
-b
-one
-two
-prepare stmt1 from ' select b FROM t1 where b like ? ';
-set @arg00='two' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='tw%' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='%wo' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00=null ;
-insert into t9 set c1= 0, c5 = NULL ;
-select c5 from t9 where c5 > NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 > ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 < NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 < ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 = NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 = ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 <=> NULL ;
-c5
-NULL
-prepare stmt1 from ' select c5 from t9 where c5 <=> ? ';
-execute stmt1 using @arg00 ;
-c5
-NULL
-delete from t9 where c1= 0 ;
-set @arg00='>' ;
-select a FROM t1 where a @arg00 1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 1' at line 1
-prepare stmt1 from ' select a FROM t1 where a ? 1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? 1' at line 1
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00='two' ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> @arg00 order by a ;
-a b
-1 one
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> ? order by a ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-3 three
-4 four
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=2 ;
-select a,b from t1 order by 2 ;
-a b
-4 four
-1 one
-3 three
-2 two
-prepare stmt1 from ' select a,b from t1
-order by ? ';
-execute stmt1 using @arg00;
-a b
-4 four
-1 one
-3 three
-2 two
-set @arg00=1 ;
-execute stmt1 using @arg00;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=0 ;
-execute stmt1 using @arg00;
-ERROR 42S22: Unknown column '?' in 'order clause'
-set @arg00=1;
-prepare stmt1 from ' select a,b from t1 order by a
-limit 1 ';
-execute stmt1 ;
-a b
-1 one
-prepare stmt1 from ' select a,b from t1 order by a limit ? ';
-execute stmt1 using @arg00;
-a b
-1 one
-set @arg00='b' ;
-set @arg01=0 ;
-set @arg02=2 ;
-set @arg03=2 ;
-select sum(a), @arg00 from t1 where a > @arg01
-and b is not null group by substr(b,@arg02)
-having sum(a) <> @arg03 ;
-sum(a) @arg00
-3 b
-1 b
-4 b
-prepare stmt1 from ' select sum(a), ? from t1 where a > ?
-and b is not null group by substr(b,?)
-having sum(a) <> ? ';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-sum(a) ?
-3 b
-1 b
-4 b
-test_sequence
------- join tests ------
-select first.a as a1, second.a as a2
-from t1 first, t1 second
-where first.a = second.a order by a1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-prepare stmt1 from ' select first.a as a1, second.a as a2
- from t1 first, t1 second
- where first.a = second.a order by a1 ';
-execute stmt1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-set @arg00='ABC';
-set @arg01='two';
-set @arg02='one';
-select first.a, @arg00, second.a FROM t1 first, t1 second
-where @arg01 = first.b or first.a = second.a or second.b = @arg02
-order by second.a, first.a;
-a @arg00 a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-prepare stmt1 from ' select first.a, ?, second.a FROM t1 first, t1 second
- where ? = first.b or first.a = second.a or second.b = ?
- order by second.a, first.a';
-execute stmt1 using @arg00, @arg01, @arg02;
-a ? a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-drop table if exists t2 ;
-create table t2 as select * from t1 ;
-set @query1= 'SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a ' ;
-set @query2= 'SELECT * FROM t2 natural join t1 order by t2.a ' ;
-set @query3= 'SELECT * FROM t2 join t1 using(a) order by t2.a ' ;
-set @query4= 'SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query5= 'SELECT * FROM t2 natural left join t1 order by t2.a ' ;
-set @query6= 'SELECT * FROM t2 left join t1 using(a) order by t2.a ' ;
-set @query7= 'SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query8= 'SELECT * FROM t2 natural right join t1 order by t2.a ' ;
-set @query9= 'SELECT * FROM t2 right join t1 using(a) order by t2.a ' ;
-the join statement is:
-SELECT * FROM t2 right join t1 using(a) order by t2.a
-prepare stmt1 from @query9 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural right join t1 order by t2.a
-prepare stmt1 from @query8 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query7 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 left join t1 using(a) order by t2.a
-prepare stmt1 from @query6 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural left join t1 order by t2.a
-prepare stmt1 from @query5 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query4 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 join t1 using(a) order by t2.a
-prepare stmt1 from @query3 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural join t1 order by t2.a
-prepare stmt1 from @query2 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a
-prepare stmt1 from @query1 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-drop table t2 ;
-test_sequence
------- subquery tests ------
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') ';
-execute stmt1 ;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = 'two' ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = @arg00 ) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ? ) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=3 ;
-set @arg01='three' ;
-select a,b FROM t1 where (a,b) in (select 3, 'three');
-a b
-3 three
-select a FROM t1 where (a,b) in (select @arg00,@arg01);
-a
-3
-prepare stmt1 from ' select a FROM t1 where (a,b) in (select ?, ?) ';
-execute stmt1 using @arg00, @arg01;
-a
-3
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where b = @arg03 ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where b = ? ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-prepare stmt1 from 'select c4 FROM t9 where
- c13 = (select MAX(b) from t1 where a = ?) and c22 = ? ' ;
-execute stmt1 using @arg01, @arg02;
-c4
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b ) order by a ';
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = outer_table.b ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b) and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where a = @arg00 and b = outer_table.b) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where a = ? and b = outer_table.b) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where outer_table.a = @arg00 and a=2) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where outer_table.a = ? and a=2) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where outer_table.b = @arg03
-and outer_table.a=a ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where outer_table.b = ?
- and outer_table.a=a ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-set @arg00=1 ;
-set @arg01=0 ;
-select a, @arg00
-from ( select a - @arg00 as a from t1 where a=@arg00 ) as t2
-where a=@arg01;
-a @arg00
-0 1
-prepare stmt1 from ' select a, ?
- from ( select a - ? as a from t1 where a=? ) as t2
- where a=? ';
-execute stmt1 using @arg00, @arg00, @arg00, @arg01 ;
-a ?
-0 1
-drop table if exists t2 ;
-create table t2 as select * from t1;
-prepare stmt1 from ' select a in (select a from t2) from t1 ' ;
-execute stmt1 ;
-a in (select a from t2)
-1
-1
-1
-1
-drop table if exists t5, t6, t7 ;
-create table t5 (a int , b int) ;
-create table t6 like t5 ;
-create table t7 like t5 ;
-insert into t5 values (0, 100), (1, 2), (1, 3), (2, 2), (2, 7),
-(2, -1), (3, 10) ;
-insert into t6 values (0, 0), (1, 1), (2, 1), (3, 1), (4, 1) ;
-insert into t7 values (3, 3), (2, 2), (1, 1) ;
-prepare stmt1 from ' select a, (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1) from t7 ' ;
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-drop table t5, t6, t7 ;
-drop table if exists t2 ;
-create table t2 as select * from t9;
-set @stmt= ' SELECT
- (SELECT SUM(c1 + c12 + 0.0) FROM t2
- where (t9.c2 - 0e-3) = t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select 1.0e+0 from t2
- where t2.c3 * 9.0000000000 = t9.c4) as exists_s,
- c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s,
- (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x = c25 ' ;
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= ' SELECT
- (SELECT SUM(c1+c12+?) FROM t2 where (t9.c2-?)=t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select ? from t2
- where t2.c3*?=t9.c4) as exists_s,
- c5*? in (select c6+? from t2) as in_s,
- (c7-?, c8-?) in (select c9+?, c10+? from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x =c25 ' ;
-set @arg00= 0.0 ;
-set @arg01= 0e-3 ;
-set @arg02= 1.0e+0 ;
-set @arg03= 9.0000000000 ;
-set @arg04= 4 ;
-set @arg05= 0.3e+1 ;
-set @arg06= 4 ;
-set @arg07= 4 ;
-set @arg08= 4.0 ;
-set @arg09= 40e-1 ;
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-drop table t2 ;
-select 1 < (select a from t1) ;
-ERROR 21000: Subquery returns more than 1 row
-prepare stmt1 from ' select 1 < (select a from t1) ' ;
-execute stmt1 ;
-ERROR 21000: Subquery returns more than 1 row
-select 1 as my_col ;
-my_col
-1
-test_sequence
------- union tests ------
-prepare stmt1 from ' select a FROM t1 where a=1
- union distinct
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-execute stmt1 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=1
- union all
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-1
-prepare stmt1 from ' SELECT 1, 2 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT 1, 2 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT * from t1 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT * from t1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-set @arg00=1 ;
-select @arg00 FROM t1 where a=1
-union distinct
-select 1 FROM t1 where a=1;
-@arg00
-1
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select 1 FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-?
-1
-set @arg00=1 ;
-select 1 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-1
-1
-prepare stmt1 from ' select 1 FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-1
-1
-set @arg00='a' ;
-select @arg00 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-prepare stmt1 from ' select ?
- union distinct
- select ? ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-set @arg00='a' ;
-set @arg01=1 ;
-set @arg02='a' ;
-set @arg03=2 ;
-select @arg00 FROM t1 where a=@arg01
-union distinct
-select @arg02 FROM t1 where a=@arg03;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=?
- union distinct
- select ? FROM t1 where a=? ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-?
-a
-set @arg00=1 ;
-prepare stmt1 from ' select sum(a) + 200, ? from t1
-union distinct
-select sum(a) + 200, 1 from t1
-group by b ' ;
-execute stmt1 using @arg00;
-sum(a) + 200 ?
-210 1
-204 1
-201 1
-203 1
-202 1
-set @Oporto='Oporto' ;
-set @Lisboa='Lisboa' ;
-set @0=0 ;
-set @1=1 ;
-set @2=2 ;
-set @3=3 ;
-set @4=4 ;
-select @Oporto,@Lisboa,@0,@1,@2,@3,@4 ;
-@Oporto @Lisboa @0 @1 @2 @3 @4
-Oporto Lisboa 0 1 2 3 4
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-group by b ;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- group by b ' ;
-execute stmt1 using @Oporto, @Lisboa;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b ;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b ' ;
-execute stmt1 using @Oporto, @1, @Lisboa, @2;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-having avg(a) > @2
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b
-having avg(a) > @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- having avg(a) > ?
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b
- having avg(a) > ? ';
-execute stmt1 using @Oporto, @1, @2, @Lisboa, @2, @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-test_sequence
------- explain select tests ------
-prepare stmt1 from ' explain select * from t9 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def id 8 3 1 N 32929 0 63
-def select_type 253 19 6 N 1 31 8
-def table 253 64 2 Y 0 31 8
-def type 253 10 3 Y 0 31 8
-def possible_keys 253 4096 0 Y 0 31 8
-def key 253 64 0 Y 0 31 8
-def key_len 253 1365 0 Y 0 31 8
-def ref 253 1024 0 Y 0 31 8
-def rows 8 10 1 Y 32928 0 63
-def Extra 253 255 0 N 1 31 8
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t9 ALL NULL NULL NULL NULL 3
-test_sequence
------- delete tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'delete from t1 where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-execute stmt1;
-insert into t1 values(0,NULL);
-set @arg00=NULL;
-prepare stmt1 from 'delete from t1 where b=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL ;
-a b
-0 NULL
-set @arg00='one';
-execute stmt1 using @arg00;
-select a,b from t1 where b=@arg00;
-a b
-prepare stmt1 from 'truncate table t1' ;
-test_sequence
------- update tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'update t1 set b=''a=two'' where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-set @arg00=NULL;
-prepare stmt1 from 'update t1 set b=? where a=2' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 NULL
-set @arg00='two';
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 two
-set @arg00=2;
-prepare stmt1 from 'update t1 set b=NULL where a=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 NULL
-update t1 set b='two' where a=@arg00;
-set @arg00=2000;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-set @arg00=2;
-set @arg01=22;
-prepare stmt1 from 'update t1 set a=? where a=?' ;
-execute stmt1 using @arg00, @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 where a=@arg01;
-a b
-22 two
-execute stmt1 using @arg00, @arg01;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-set @arg00=NULL;
-set @arg01=2;
-execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
-select a,b from t1 order by a;
-a b
-0 two
-1 one
-3 three
-4 four
-set @arg00=0;
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 order by a;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=23;
-set @arg01='two';
-set @arg02=2;
-set @arg03='two';
-set @arg04=2;
-drop table if exists t2;
-create table t2 as select a,b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-create table t2
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'BDB' ;
-insert into t2(a,b) select a, b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-set @arg00=1;
-prepare stmt1 from 'update t1 set b=''bla''
-where a=2
-limit 1';
-execute stmt1 ;
-select a,b from t1 where b = 'bla' ;
-a b
-2 bla
-prepare stmt1 from 'update t1 set b=''bla'' where a=2 limit ?';
-execute stmt1 using @arg00;
-test_sequence
------- insert tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'insert into t1 values(5, ''five'' )';
-execute stmt1;
-select a,b from t1 where a = 5;
-a b
-5 five
-set @arg00='six' ;
-prepare stmt1 from 'insert into t1 values(6, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b = @arg00;
-a b
-6 six
-execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
-set @arg00=NULL ;
-prepare stmt1 from 'insert into t1 values(0, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL;
-a b
-0 NULL
-set @arg00=8 ;
-set @arg01='eight' ;
-prepare stmt1 from 'insert into t1 values(?, ? )';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where b = @arg01;
-a b
-8 eight
-set @NULL= null ;
-set @arg00= 'abc' ;
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg00 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg00 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 abc
-10002 abc
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @NULL ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @NULL ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 NULL
-10002 NULL
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 10 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 9 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 8 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 7 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 6 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 5 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 4 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 3 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg01 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 10001
-10002 10002
-10003 10003
-10004 10004
-10005 10005
-10006 10006
-10007 10007
-10008 10008
-10009 10009
-10010 10010
-delete from t1 where a > 10000 ;
-set @arg00=81 ;
-set @arg01='8-1' ;
-set @arg02=82 ;
-set @arg03='8-2' ;
-prepare stmt1 from 'insert into t1 values(?,?),(?,?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-select a,b from t1 where a in (@arg00,@arg02) ;
-a b
-81 8-1
-82 8-2
-set @arg00=9 ;
-set @arg01='nine' ;
-prepare stmt1 from 'insert into t1 set a=?, b=? ';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where a = @arg00 ;
-a b
-9 nine
-set @arg00=6 ;
-set @arg01=1 ;
-prepare stmt1 from 'insert into t1 set a=?, b=''sechs''
- on duplicate key update a=a + ?, b=concat(b,''modified'') ';
-execute stmt1 using @arg00, @arg01;
-select * from t1 order by a;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-5 five
-7 sixmodified
-8 eight
-9 nine
-81 8-1
-82 8-2
-set @arg00=81 ;
-set @arg01=1 ;
-execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
-drop table if exists t2 ;
-create table t2 (id int auto_increment primary key)
-ENGINE= 'BDB' ;
-prepare stmt1 from ' select last_insert_id() ' ;
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-1
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-2
-drop table t2 ;
-set @1000=1000 ;
-set @x1000_2="x1000_2" ;
-set @x1000_3="x1000_3" ;
-set @x1000="x1000" ;
-set @1100=1100 ;
-set @x1100="x1100" ;
-set @100=100 ;
-set @updated="updated" ;
-insert into t1 values(1000,'x1000_1') ;
-insert into t1 values(@1000,@x1000_2),(@1000,@x1000_3)
-on duplicate key update a = a + @100, b = concat(b,@updated) ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-prepare stmt1 from ' insert into t1 values(?,?),(?,?)
- on duplicate key update a = a + ?, b = concat(b,?) ';
-execute stmt1 using @1000, @x1000_2, @1000, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-execute stmt1 using @1000, @x1000_2, @1100, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1200 x1000_1updatedupdated
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' replace into t1 (a,b) select 100, ''hundred'' ';
-execute stmt1;
-execute stmt1;
-execute stmt1;
-test_sequence
------- multi table tests ------
-delete from t1 ;
-delete from t9 ;
-insert into t1(a,b) values (1, 'one'), (2, 'two'), (3, 'three') ;
-insert into t9 (c1,c21)
-values (1, 'one'), (2, 'two'), (3, 'three') ;
-prepare stmt_delete from " delete t1, t9
- from t1, t9 where t1.a=t9.c1 and t1.b='updated' ";
-prepare stmt_update from " update t1, t9
- set t1.b='updated', t9.c21='updated'
- where t1.a=t9.c1 and t1.a=? ";
-prepare stmt_select1 from " select a, b from t1 order by a" ;
-prepare stmt_select2 from " select c1, c21 from t9 order by c1" ;
-set @arg00= 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-2 two
-3 three
-execute stmt_select2 ;
-c1 c21
-2 two
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-3 three
-execute stmt_select2 ;
-c1 c21
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-execute stmt_select2 ;
-c1 c21
-set @arg00= @arg00 + 1 ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t1 values(0,NULL) ;
-set @duplicate='duplicate ' ;
-set @1000=1000 ;
-set @5=5 ;
-select a,b from t1 where a < 5 order by a ;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-insert into t1 select a + @1000, concat(@duplicate,b) from t1
-where a < @5 ;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' insert into t1 select a + ?, concat(?,b) from t1
-where a < ? ' ;
-execute stmt1 using @1000, @duplicate, @5;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-set @1=1 ;
-set @2=2 ;
-set @100=100 ;
-set @float=1.00;
-set @five='five' ;
-drop table if exists t2;
-create table t2 like t1 ;
-insert into t2 (b,a)
-select @duplicate, sum(first.a) from t1 first, t1 second
-where first.a <> @5 and second.b = first.b
-and second.b <> @five
-group by second.b
-having sum(second.a) > @2
-union
-select b, a + @100 from t1
-where (a,b) in ( select sqrt(a+@1)+CAST(@float AS signed),b
-from t1);
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-delete from t2 ;
-prepare stmt1 from ' insert into t2 (b,a)
-select ?, sum(first.a)
- from t1 first, t1 second
- where first.a <> ? and second.b = first.b and second.b <> ?
- group by second.b
- having sum(second.a) > ?
-union
-select b, a + ? from t1
- where (a,b) in ( select sqrt(a+?)+CAST(? AS signed),b
- from t1 ) ' ;
-execute stmt1 using @duplicate, @5, @five, @2, @100, @1, @float ;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-drop table t2;
-drop table if exists t5 ;
-set @arg01= 8;
-set @arg02= 8.0;
-set @arg03= 80.00000000000e-1;
-set @arg04= 'abc' ;
-set @arg05= CAST('abc' as binary) ;
-set @arg06= '1991-08-05' ;
-set @arg07= CAST('1991-08-05' as date);
-set @arg08= '1991-08-05 01:01:01' ;
-set @arg09= CAST('1991-08-05 01:01:01' as datetime) ;
-set @arg10= unix_timestamp('1991-01-01 01:01:01');
-set @arg11= YEAR('1991-01-01 01:01:01');
-set @arg12= 8 ;
-set @arg12= NULL ;
-set @arg13= 8.0 ;
-set @arg13= NULL ;
-set @arg14= 'abc';
-set @arg14= NULL ;
-set @arg15= CAST('abc' as binary) ;
-set @arg15= NULL ;
-create table t5 as select
-8 as const01, @arg01 as param01,
-8.0 as const02, @arg02 as param02,
-80.00000000000e-1 as const03, @arg03 as param03,
-'abc' as const04, @arg04 as param04,
-CAST('abc' as binary) as const05, @arg05 as param05,
-'1991-08-05' as const06, @arg06 as param06,
-CAST('1991-08-05' as date) as const07, @arg07 as param07,
-'1991-08-05 01:01:01' as const08, @arg08 as param08,
-CAST('1991-08-05 01:01:01' as datetime) as const09, @arg09 as param09,
-unix_timestamp('1991-01-01 01:01:01') as const10, @arg10 as param10,
-YEAR('1991-01-01 01:01:01') as const11, @arg11 as param11,
-NULL as const12, @arg12 as param12,
-@arg13 as param13,
-@arg14 as param14,
-@arg15 as param15;
-show create table t5 ;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
- `param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
- `param05` longblob,
- `const06` varchar(10) NOT NULL default '',
- `param06` longtext,
- `const07` date default NULL,
- `param07` longblob,
- `const08` varchar(19) NOT NULL default '',
- `param08` longtext,
- `const09` datetime default NULL,
- `param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
- `param14` longtext,
- `param15` longblob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select * from t5 ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t5 t5 const01 const01 3 1 1 N 32769 0 63
-def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
-def test t5 t5 const02 const02 246 4 3 N 1 1 63
-def test t5 t5 param02 param02 246 67 32 Y 0 30 63
-def test t5 t5 const03 const03 5 17 1 N 32769 31 63
-def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
-def test t5 t5 const04 const04 253 3 3 N 1 0 8
-def test t5 t5 param04 param04 252 4294967295 3 Y 16 0 8
-def test t5 t5 const05 const05 253 3 3 N 129 0 63
-def test t5 t5 param05 param05 252 4294967295 3 Y 144 0 63
-def test t5 t5 const06 const06 253 10 10 N 1 0 8
-def test t5 t5 param06 param06 252 4294967295 10 Y 16 0 8
-def test t5 t5 const07 const07 10 10 10 Y 128 0 63
-def test t5 t5 param07 param07 252 4294967295 10 Y 144 0 63
-def test t5 t5 const08 const08 253 19 19 N 1 0 8
-def test t5 t5 param08 param08 252 4294967295 19 Y 16 0 8
-def test t5 t5 const09 const09 12 19 19 Y 128 0 63
-def test t5 t5 param09 param09 252 4294967295 19 Y 144 0 63
-def test t5 t5 const10 const10 3 10 9 N 32769 0 63
-def test t5 t5 param10 param10 8 20 9 Y 32768 0 63
-def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
-def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
-def test t5 t5 const12 const12 254 0 0 Y 128 0 63
-def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
-def test t5 t5 param13 param13 246 67 0 Y 0 30 63
-def test t5 t5 param14 param14 252 4294967295 0 Y 16 0 8
-def test t5 t5 param15 param15 252 4294967295 0 Y 144 0 63
-const01 8
-param01 8
-const02 8.0
-param02 8.000000000000000000000000000000
-const03 8
-param03 8
-const04 abc
-param04 abc
-const05 abc
-param05 abc
-const06 1991-08-05
-param06 1991-08-05
-const07 1991-08-05
-param07 1991-08-05
-const08 1991-08-05 01:01:01
-param08 1991-08-05 01:01:01
-const09 1991-08-05 01:01:01
-param09 1991-08-05 01:01:01
-const10 662680861
-param10 662680861
-const11 1991
-param11 1991
-const12 NULL
-param12 NULL
-param13 NULL
-param14 NULL
-param15 NULL
-drop table t5 ;
-test_sequence
------- data type conversion tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t9 set c1= 0, c15= '1991-01-01 01:01:01' ;
-select * from t9 order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-test_sequence
------- select @parameter:= column ------
-prepare full_info from "select @arg01, @arg02, @arg03, @arg04,
- @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12,
- @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20,
- @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28,
- @arg29, @arg30, @arg31, @arg32" ;
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 1 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 0 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select
- @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
- @arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
- @arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
- @arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
- @arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
- @arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
- @arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
- @arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= c1 from t9 where c1= 1' at line 1
-test_sequence
------- select column, .. into @parm,.. ------
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 1 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 0 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
- c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
- c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? from t9 where c1= 1' at line 1
-test_sequence
--- insert into numeric columns --
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 ) ;
-set @arg00= 21 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 )" ;
-execute stmt1 ;
-set @arg00= 23;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
-30.0, 30.0, 30.0 ) ;
-set @arg00= 31.0 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0,
- 32.0, 32.0, 32.0 )" ;
-execute stmt1 ;
-set @arg00= 33.0;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( '40', '40', '40', '40', '40', '40', '40', '40',
-'40', '40', '40' ) ;
-set @arg00= '41' ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( '42', '42', '42', '42', '42', '42', '42', '42',
- '42', '42', '42' )" ;
-execute stmt1 ;
-set @arg00= '43';
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary) ) ;
-set @arg00= CAST('51' as binary) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary) )" ;
-execute stmt1 ;
-set @arg00= CAST('53' as binary) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 2 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 60, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-NULL, NULL, NULL ) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 61, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 62, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL )" ;
-execute stmt1 ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 63, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 8.0 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 71, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 73, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 'abc' ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 81, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 83, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c1 >= 20
-order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c12
-20 20 20 20 20 20 20 20 20 20 20.0000
-21 21 21 21 21 21 21 21 21 21 21.0000
-22 22 22 22 22 22 22 22 22 22 22.0000
-23 23 23 23 23 23 23 23 23 23 23.0000
-30 30 30 30 30 30 30 30 30 30 30.0000
-31 31 31 31 31 31 31 31 31 31 31.0000
-32 32 32 32 32 32 32 32 32 32 32.0000
-33 33 33 33 33 33 33 33 33 33 33.0000
-40 40 40 40 40 40 40 40 40 40 40.0000
-41 41 41 41 41 41 41 41 41 41 41.0000
-42 42 42 42 42 42 42 42 42 42 42.0000
-43 43 43 43 43 43 43 43 43 43 43.0000
-50 50 50 50 50 50 50 50 50 50 50.0000
-51 51 51 51 51 51 51 51 51 51 51.0000
-52 52 52 52 52 52 52 52 52 52 52.0000
-53 53 53 53 53 53 53 53 53 53 53.0000
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where numeric column = .. --
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
-and c8= 20 and c9= 20 and c10= 20 and c12= 20;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
- and c8= 20 and c9= 20 and c10= 20 and c12= 20 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
-and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
- and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20';
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20' ";
-execute stmt1 ;
-found
-true
-set @arg00= '20';
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
-c3= CAST('20' as binary) and c4= CAST('20' as binary) and
-c5= CAST('20' as binary) and c6= CAST('20' as binary) and
-c7= CAST('20' as binary) and c8= CAST('20' as binary) and
-c9= CAST('20' as binary) and c10= CAST('20' as binary) and
-c12= CAST('20' as binary);
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
- c3= CAST('20' as binary) and c4= CAST('20' as binary) and
- c5= CAST('20' as binary) and c6= CAST('20' as binary) and
- c7= CAST('20' as binary) and c8= CAST('20' as binary) and
- c9= CAST('20' as binary) and c10= CAST('20' as binary) and
- c12= CAST('20' as binary) ";
-execute stmt1 ;
-found
-true
-set @arg00= CAST('20' as binary) ;
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- some numeric overflow experiments --
-prepare my_insert from "insert into t9
- ( c21, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 'O', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-prepare my_select from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c21 = 'O' ";
-prepare my_delete from "delete from t9 where c21 = 'O' ";
-set @arg00= 9223372036854775807 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e+18
-c8 9.22337203685478e+18
-c9 9.22337203685478e+18
-c10 9.22337203685478e+18
-c12 9999.9999
-execute my_delete ;
-set @arg00= '9223372036854775807' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e+18
-c8 9.22337203685478e+18
-c9 9.22337203685478e+18
-c10 9.22337203685478e+18
-c12 9999.9999
-execute my_delete ;
-set @arg00= -9223372036854775808 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e+18
-c8 -9.22337203685478e+18
-c9 -9.22337203685478e+18
-c10 -9.22337203685478e+18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-9223372036854775808' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e+18
-c8 -9.22337203685478e+18
-c9 -9.22337203685478e+18
-c10 -9.22337203685478e+18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= 1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e+38
-c8 1.11111111111111e+50
-c9 1.11111111111111e+50
-c10 1.11111111111111e+50
-c12 9999.9999
-execute my_delete ;
-set @arg00= '1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e+38
-c8 1.11111111111111e+50
-c9 1.11111111111111e+50
-c10 1.11111111111111e+50
-c12 9999.9999
-execute my_delete ;
-set @arg00= -1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e+38
-c8 -1.11111111111111e+50
-c9 -1.11111111111111e+50
-c10 -1.11111111111111e+50
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e+38
-c8 -1.11111111111111e+50
-c9 -1.11111111111111e+50
-c10 -1.11111111111111e+50
-c12 -9999.9999
-execute my_delete ;
-test_sequence
--- insert into string columns --
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-select c1, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30
-from t9 where c1 >= 20
-order by c1 ;
-c1 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30
-20 2 20 20 20 20 20 20 20 20 20 20
-21 2 21 21 21 21 21 21 21 21 21 21
-22 2 22 22 22 22 22 22 22 22 22 22
-23 2 23 23 23 23 23 23 23 23 23 23
-30 3 30 30 30 30 30 30 30 30 30 30
-31 3 31 31 31 31 31 31 31 31 31 31
-32 3 32 32 32 32 32 32 32 32 32 32
-33 3 33 33 33 33 33 33 33 33 33 33
-40 4 40 40 40 40 40 40 40 40 40 40
-41 4 41 41 41 41 41 41 41 41 41 41
-42 4 42 42 42 42 42 42 42 42 42 42
-43 4 43 43 43 43 43 43 43 43 43 43
-50 5 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0
-51 5 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0
-52 5 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0
-53 5 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0
-54 5 54 54 54.00 54.00 54.00 54.00 54.00 54.00 54.00 54.00
-55 5 55 55 55 55 55 55 55 55 55 55
-56 6 56 56 56.00 56.00 56.00 56.00 56.00 56.00 56.00 56.00
-57 6 57 57 57.00 57.00 57.00 57.00 57.00 57.00 57.00 57.00
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where string column = .. --
-set @arg00= '20';
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
-c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
-c27= '20' and c28= '20' and c29= '20' and c30= '20' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
- c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
- c27= '20' and c28= '20' and c29= '20' and c30= '20'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('20' as binary);
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
-= CAST('20' as binary) and c21= CAST('20' as binary)
-and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
-c24= CAST('20' as binary) and c25= CAST('20' as binary) and
-c26= CAST('20' as binary) and c27= CAST('20' as binary) and
-c28= CAST('20' as binary) and c29= CAST('20' as binary) and
-c30= CAST('20' as binary) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20))) = @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and
-c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
- = CAST('20' as binary) and c21= CAST('20' as binary)
- and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
- c24= CAST('20' as binary) and c25= CAST('20' as binary) and
- c26= CAST('20' as binary) and c27= CAST('20' as binary) and
- c28= CAST('20' as binary) and c29= CAST('20' as binary) and
- c30= CAST('20' as binary)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20))) = ? and c21= ? and
- c22= ? and c23= ? and c25= ? and c26= ? and c27= ? and c28= ? and
- c29= ? and c30= ?";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
-c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
-c27= 20 and c28= 20 and c29= 20 and c30= 20 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
- c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
- c27= 20 and c28= 20 and c29= 20 and c30= 20" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
-c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
-c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
- c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
- c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- insert into date/time columns --
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
-c1 c13 c14 c15 c16 c17
-20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-21 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-22 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-23 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-30 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-31 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-32 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-33 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-40 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-41 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-42 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-43 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-50 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-51 2010-00-00 2010-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-52 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-53 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-60 NULL NULL 1991-01-01 01:01:01 NULL NULL
-61 NULL NULL 1991-01-01 01:01:01 NULL NULL
-62 NULL NULL 1991-01-01 01:01:01 NULL NULL
-63 NULL NULL 1991-01-01 01:01:01 NULL NULL
-71 NULL NULL 1991-01-01 01:01:01 NULL NULL
-73 NULL NULL 1991-01-01 01:01:01 NULL NULL
-81 NULL NULL 1991-01-01 01:01:01 NULL NULL
-83 NULL NULL 1991-01-01 01:01:01 NULL NULL
-test_sequence
--- select .. where date/time column = .. --
-set @arg00= '1991-01-01 01:01:01' ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
-c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
-c17= '1991-01-01 01:01:01' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
- c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
- c17= '1991-01-01 01:01:01'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('1991-01-01 01:01:01' as datetime) ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
-c14= CAST('1991-01-01 01:01:01' as datetime) and
-c15= CAST('1991-01-01 01:01:01' as datetime) and
-c16= CAST('1991-01-01 01:01:01' as datetime) and
-c17= CAST('1991-01-01 01:01:01' as datetime) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
- c14= CAST('1991-01-01 01:01:01' as datetime) and
- c15= CAST('1991-01-01 01:01:01' as datetime) and
- c16= CAST('1991-01-01 01:01:01' as datetime) and
- c17= CAST('1991-01-01 01:01:01' as datetime)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 1991 ;
-select 'true' as found from t9
-where c1= 20 and c17= 1991 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= 1991" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= ?" ;
-execute stmt1 using @arg00 ;
-found
-true
-set @arg00= 1.991e+3 ;
-select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and abs(c17 - @arg00) < 0.01 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - ?) < 0.01" ;
-execute stmt1 using @arg00 ;
-found
-true
-drop table t1, t9;
diff --git a/mysql-test/r/ps_7ndb.result b/mysql-test/r/ps_7ndb.result
deleted file mode 100644
index 8eec789d061..00000000000
--- a/mysql-test/r/ps_7ndb.result
+++ /dev/null
@@ -1,3128 +0,0 @@
-use test;
-drop table if exists t1, t9 ;
-create table t1
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'NDB' ;
-create table t9
-(
-c1 tinyint, c2 smallint, c3 mediumint, c4 int,
-c5 integer, c6 bigint, c7 float, c8 double,
-c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
-c13 date, c14 datetime, c15 timestamp, c16 time,
-c17 year, c18 tinyint, c19 bool, c20 char,
-c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
-c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
-c29 longblob, c30 longtext, c31 enum('one', 'two', 'three'),
-c32 set('monday', 'tuesday', 'wednesday'),
-primary key(c1)
-) engine = 'NDB' ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-test_sequence
------- simple select tests ------
-prepare stmt1 from ' select * from t9 order by c1 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t9 t9 c1 c1 1 4 1 N 49155 0 63
-def test t9 t9 c2 c2 2 6 1 Y 32768 0 63
-def test t9 t9 c3 c3 9 9 1 Y 32768 0 63
-def test t9 t9 c4 c4 3 11 1 Y 32768 0 63
-def test t9 t9 c5 c5 3 11 1 Y 32768 0 63
-def test t9 t9 c6 c6 8 20 1 Y 32768 0 63
-def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
-def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
-def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
-def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
-def test t9 t9 c11 c11 246 9 6 Y 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 c16 c16 11 8 8 Y 128 0 63
-def test t9 t9 c17 c17 13 4 4 Y 32864 0 63
-def test t9 t9 c18 c18 1 4 1 Y 32768 0 63
-def test t9 t9 c19 c19 1 1 1 Y 32768 0 63
-def test t9 t9 c20 c20 254 1 1 Y 0 0 8
-def test t9 t9 c21 c21 254 10 10 Y 0 0 8
-def test t9 t9 c22 c22 253 30 30 Y 0 0 8
-def test t9 t9 c23 c23 252 255 8 Y 144 0 63
-def test t9 t9 c24 c24 252 255 8 Y 16 0 8
-def test t9 t9 c25 c25 252 65535 4 Y 144 0 63
-def test t9 t9 c26 c26 252 65535 4 Y 16 0 8
-def test t9 t9 c27 c27 252 16777215 10 Y 144 0 63
-def test t9 t9 c28 c28 252 16777215 10 Y 16 0 8
-def test t9 t9 c29 c29 252 4294967295 8 Y 144 0 63
-def test t9 t9 c30 c30 252 4294967295 8 Y 16 0 8
-def test t9 t9 c31 c31 254 5 3 Y 256 0 8
-def test t9 t9 c32 c32 254 24 7 Y 2048 0 8
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-set @arg00='SELECT' ;
-@arg00 a from t1 where a=1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a from t1 where a=1' at line 1
-prepare stmt1 from ' ? a from t1 where a=1 ';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a from t1 where a=1' at line 1
-set @arg00=1 ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-1 one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-1 one
-set @arg00='lion' ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-lion one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-lion one
-set @arg00=NULL ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-NULL one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-NULL one
-set @arg00=1 ;
-select b, a - @arg00 from t1 where a=1 ;
-b a - @arg00
-one 0
-prepare stmt1 from ' select b, a - ? from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-b a - ?
-one 0
-set @arg00=null ;
-select @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select @arg00 + 1 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? + 1 as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select 1 + @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select 1 + ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-set @arg00='MySQL' ;
-select substr(@arg00,1,2) from t1 where a=1 ;
-substr(@arg00,1,2)
-My
-prepare stmt1 from ' select substr(?,1,2) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr(?,1,2)
-My
-set @arg00=3 ;
-select substr('MySQL',@arg00,5) from t1 where a=1 ;
-substr('MySQL',@arg00,5)
-SQL
-prepare stmt1 from ' select substr(''MySQL'',?,5) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',?,5)
-SQL
-select substr('MySQL',1,@arg00) from t1 where a=1 ;
-substr('MySQL',1,@arg00)
-MyS
-prepare stmt1 from ' select substr(''MySQL'',1,?) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',1,?)
-MyS
-set @arg00='MySQL' ;
-select a , concat(@arg00,b) from t1 order by a;
-a concat(@arg00,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-prepare stmt1 from ' select a , concat(?,b) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(?,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-select a , concat(b,@arg00) from t1 order by a ;
-a concat(b,@arg00)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-prepare stmt1 from ' select a , concat(b,?) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(b,?)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-set @arg00='MySQL' ;
-select group_concat(@arg00,b order by a) from t1
-group by 'a' ;
-group_concat(@arg00,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-prepare stmt1 from ' select group_concat(?,b order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(?,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-select group_concat(b,@arg00 order by a) from t1
-group by 'a' ;
-group_concat(b,@arg00 order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-prepare stmt1 from ' select group_concat(b,? order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(b,? order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-set @arg00='first' ;
-set @arg01='second' ;
-set @arg02=NULL;
-select @arg00, @arg01 from t1 where a=1 ;
-@arg00 @arg01
-first second
-prepare stmt1 from ' select ?, ? from t1 where a=1 ' ;
-execute stmt1 using @arg00, @arg01 ;
-? ?
-first second
-execute stmt1 using @arg02, @arg01 ;
-? ?
-NULL second
-execute stmt1 using @arg00, @arg02 ;
-? ?
-first NULL
-execute stmt1 using @arg02, @arg02 ;
-? ?
-NULL NULL
-drop table if exists t5 ;
-create table t5 (id1 int(11) not null default '0',
-value2 varchar(100), value1 varchar(100)) ;
-insert into t5 values (1,'hh','hh'),(2,'hh','hh'),
-(1,'ii','ii'),(2,'ii','ii') ;
-prepare stmt1 from ' select id1,value1 from t5 where id1=? or value1=? order by id1,value1 ' ;
-set @arg00=1 ;
-set @arg01='hh' ;
-execute stmt1 using @arg00, @arg01 ;
-id1 value1
-1 hh
-1 ii
-2 hh
-drop table t5 ;
-drop table if exists t5 ;
-create table t5(session_id char(9) not null) ;
-insert into t5 values ('abc') ;
-prepare stmt1 from ' select * from t5
-where ?=''1111'' and session_id = ''abc'' ' ;
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-set @arg00='1111' ;
-execute stmt1 using @arg00 ;
-session_id
-abc
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-drop table t5 ;
-set @arg00='FROM' ;
-select a @arg00 t1 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 t1 where a=1' at line 1
-prepare stmt1 from ' select a ? t1 where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? t1 where a=1' at line 1
-set @arg00='t1' ;
-select a from @arg00 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 where a=1' at line 1
-prepare stmt1 from ' select a from ? where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? where a=1' at line 1
-set @arg00='WHERE' ;
-select a from t1 @arg00 a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a=1' at line 1
-prepare stmt1 from ' select a from t1 ? a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a=1' at line 1
-set @arg00=1 ;
-select a FROM t1 where a=@arg00 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-1
-set @arg00=1000 ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=NULL ;
-select a FROM t1 where a=@arg00 ;
-a
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=4 ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-2
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-2
-set @arg00=NULL ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=2 ;
-set @arg01=3 ;
-select a FROM t1 where a in (@arg00,@arg01) order by a;
-a
-2
-3
-prepare stmt1 from ' select a FROM t1 where a in (?,?) order by a ';
-execute stmt1 using @arg00, @arg01;
-a
-2
-3
-set @arg00= 'one' ;
-set @arg01= 'two' ;
-set @arg02= 'five' ;
-prepare stmt1 from ' select b FROM t1 where b in (?,?,?) order by b ' ;
-execute stmt1 using @arg00, @arg01, @arg02 ;
-b
-one
-two
-prepare stmt1 from ' select b FROM t1 where b like ? ';
-set @arg00='two' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='tw%' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='%wo' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00=null ;
-insert into t9 set c1= 0, c5 = NULL ;
-select c5 from t9 where c5 > NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 > ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 < NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 < ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 = NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 = ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 <=> NULL ;
-c5
-NULL
-prepare stmt1 from ' select c5 from t9 where c5 <=> ? ';
-execute stmt1 using @arg00 ;
-c5
-NULL
-delete from t9 where c1= 0 ;
-set @arg00='>' ;
-select a FROM t1 where a @arg00 1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 1' at line 1
-prepare stmt1 from ' select a FROM t1 where a ? 1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? 1' at line 1
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00='two' ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> @arg00 order by a ;
-a b
-1 one
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> ? order by a ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-3 three
-4 four
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=2 ;
-select a,b from t1 order by 2 ;
-a b
-4 four
-1 one
-3 three
-2 two
-prepare stmt1 from ' select a,b from t1
-order by ? ';
-execute stmt1 using @arg00;
-a b
-4 four
-1 one
-3 three
-2 two
-set @arg00=1 ;
-execute stmt1 using @arg00;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=0 ;
-execute stmt1 using @arg00;
-ERROR 42S22: Unknown column '?' in 'order clause'
-set @arg00=1;
-prepare stmt1 from ' select a,b from t1 order by a
-limit 1 ';
-execute stmt1 ;
-a b
-1 one
-prepare stmt1 from ' select a,b from t1 order by a limit ? ';
-execute stmt1 using @arg00;
-a b
-1 one
-set @arg00='b' ;
-set @arg01=0 ;
-set @arg02=2 ;
-set @arg03=2 ;
-select sum(a), @arg00 from t1 where a > @arg01
-and b is not null group by substr(b,@arg02)
-having sum(a) <> @arg03 ;
-sum(a) @arg00
-3 b
-1 b
-4 b
-prepare stmt1 from ' select sum(a), ? from t1 where a > ?
-and b is not null group by substr(b,?)
-having sum(a) <> ? ';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-sum(a) ?
-3 b
-1 b
-4 b
-test_sequence
------- join tests ------
-select first.a as a1, second.a as a2
-from t1 first, t1 second
-where first.a = second.a order by a1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-prepare stmt1 from ' select first.a as a1, second.a as a2
- from t1 first, t1 second
- where first.a = second.a order by a1 ';
-execute stmt1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-set @arg00='ABC';
-set @arg01='two';
-set @arg02='one';
-select first.a, @arg00, second.a FROM t1 first, t1 second
-where @arg01 = first.b or first.a = second.a or second.b = @arg02
-order by second.a, first.a;
-a @arg00 a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-prepare stmt1 from ' select first.a, ?, second.a FROM t1 first, t1 second
- where ? = first.b or first.a = second.a or second.b = ?
- order by second.a, first.a';
-execute stmt1 using @arg00, @arg01, @arg02;
-a ? a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-drop table if exists t2 ;
-create table t2 as select * from t1 ;
-set @query1= 'SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a ' ;
-set @query2= 'SELECT * FROM t2 natural join t1 order by t2.a ' ;
-set @query3= 'SELECT * FROM t2 join t1 using(a) order by t2.a ' ;
-set @query4= 'SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query5= 'SELECT * FROM t2 natural left join t1 order by t2.a ' ;
-set @query6= 'SELECT * FROM t2 left join t1 using(a) order by t2.a ' ;
-set @query7= 'SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query8= 'SELECT * FROM t2 natural right join t1 order by t2.a ' ;
-set @query9= 'SELECT * FROM t2 right join t1 using(a) order by t2.a ' ;
-the join statement is:
-SELECT * FROM t2 right join t1 using(a) order by t2.a
-prepare stmt1 from @query9 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural right join t1 order by t2.a
-prepare stmt1 from @query8 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query7 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 left join t1 using(a) order by t2.a
-prepare stmt1 from @query6 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural left join t1 order by t2.a
-prepare stmt1 from @query5 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query4 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 join t1 using(a) order by t2.a
-prepare stmt1 from @query3 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural join t1 order by t2.a
-prepare stmt1 from @query2 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a
-prepare stmt1 from @query1 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-drop table t2 ;
-test_sequence
------- subquery tests ------
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') ';
-execute stmt1 ;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = 'two' ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = @arg00 ) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ? ) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=3 ;
-set @arg01='three' ;
-select a,b FROM t1 where (a,b) in (select 3, 'three');
-a b
-3 three
-select a FROM t1 where (a,b) in (select @arg00,@arg01);
-a
-3
-prepare stmt1 from ' select a FROM t1 where (a,b) in (select ?, ?) ';
-execute stmt1 using @arg00, @arg01;
-a
-3
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where b = @arg03 ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where b = ? ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-prepare stmt1 from 'select c4 FROM t9 where
- c13 = (select MAX(b) from t1 where a = ?) and c22 = ? ' ;
-execute stmt1 using @arg01, @arg02;
-c4
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b ) order by a ';
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = outer_table.b ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b) and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where a = @arg00 and b = outer_table.b) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where a = ? and b = outer_table.b) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where outer_table.a = @arg00 and a=2) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where outer_table.a = ? and a=2) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where outer_table.b = @arg03
-and outer_table.a=a ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where outer_table.b = ?
- and outer_table.a=a ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-set @arg00=1 ;
-set @arg01=0 ;
-select a, @arg00
-from ( select a - @arg00 as a from t1 where a=@arg00 ) as t2
-where a=@arg01;
-a @arg00
-0 1
-prepare stmt1 from ' select a, ?
- from ( select a - ? as a from t1 where a=? ) as t2
- where a=? ';
-execute stmt1 using @arg00, @arg00, @arg00, @arg01 ;
-a ?
-0 1
-drop table if exists t2 ;
-create table t2 as select * from t1;
-prepare stmt1 from ' select a in (select a from t2) from t1 ' ;
-execute stmt1 ;
-a in (select a from t2)
-1
-1
-1
-1
-drop table if exists t5, t6, t7 ;
-create table t5 (a int , b int) ;
-create table t6 like t5 ;
-create table t7 like t5 ;
-insert into t5 values (0, 100), (1, 2), (1, 3), (2, 2), (2, 7),
-(2, -1), (3, 10) ;
-insert into t6 values (0, 0), (1, 1), (2, 1), (3, 1), (4, 1) ;
-insert into t7 values (3, 3), (2, 2), (1, 1) ;
-prepare stmt1 from ' select a, (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1) from t7 ' ;
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-drop table t5, t6, t7 ;
-drop table if exists t2 ;
-create table t2 as select * from t9;
-set @stmt= ' SELECT
- (SELECT SUM(c1 + c12 + 0.0) FROM t2
- where (t9.c2 - 0e-3) = t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select 1.0e+0 from t2
- where t2.c3 * 9.0000000000 = t9.c4) as exists_s,
- c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s,
- (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x = c25 ' ;
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= ' SELECT
- (SELECT SUM(c1+c12+?) FROM t2 where (t9.c2-?)=t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select ? from t2
- where t2.c3*?=t9.c4) as exists_s,
- c5*? in (select c6+? from t2) as in_s,
- (c7-?, c8-?) in (select c9+?, c10+? from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x =c25 ' ;
-set @arg00= 0.0 ;
-set @arg01= 0e-3 ;
-set @arg02= 1.0e+0 ;
-set @arg03= 9.0000000000 ;
-set @arg04= 4 ;
-set @arg05= 0.3e+1 ;
-set @arg06= 4 ;
-set @arg07= 4 ;
-set @arg08= 4.0 ;
-set @arg09= 40e-1 ;
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-drop table t2 ;
-select 1 < (select a from t1) ;
-ERROR 21000: Subquery returns more than 1 row
-prepare stmt1 from ' select 1 < (select a from t1) ' ;
-execute stmt1 ;
-ERROR 21000: Subquery returns more than 1 row
-select 1 as my_col ;
-my_col
-1
-test_sequence
------- union tests ------
-prepare stmt1 from ' select a FROM t1 where a=1
- union distinct
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-execute stmt1 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=1
- union all
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-1
-prepare stmt1 from ' SELECT 1, 2 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT 1, 2 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT * from t1 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT * from t1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-set @arg00=1 ;
-select @arg00 FROM t1 where a=1
-union distinct
-select 1 FROM t1 where a=1;
-@arg00
-1
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select 1 FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-?
-1
-set @arg00=1 ;
-select 1 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-1
-1
-prepare stmt1 from ' select 1 FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-1
-1
-set @arg00='a' ;
-select @arg00 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-prepare stmt1 from ' select ?
- union distinct
- select ? ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-set @arg00='a' ;
-set @arg01=1 ;
-set @arg02='a' ;
-set @arg03=2 ;
-select @arg00 FROM t1 where a=@arg01
-union distinct
-select @arg02 FROM t1 where a=@arg03;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=?
- union distinct
- select ? FROM t1 where a=? ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-?
-a
-set @arg00=1 ;
-prepare stmt1 from ' select sum(a) + 200, ? from t1
-union distinct
-select sum(a) + 200, 1 from t1
-group by b ' ;
-execute stmt1 using @arg00;
-sum(a) + 200 ?
-210 1
-204 1
-201 1
-203 1
-202 1
-set @Oporto='Oporto' ;
-set @Lisboa='Lisboa' ;
-set @0=0 ;
-set @1=1 ;
-set @2=2 ;
-set @3=3 ;
-set @4=4 ;
-select @Oporto,@Lisboa,@0,@1,@2,@3,@4 ;
-@Oporto @Lisboa @0 @1 @2 @3 @4
-Oporto Lisboa 0 1 2 3 4
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-group by b ;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- group by b ' ;
-execute stmt1 using @Oporto, @Lisboa;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b ;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b ' ;
-execute stmt1 using @Oporto, @1, @Lisboa, @2;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-having avg(a) > @2
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b
-having avg(a) > @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- having avg(a) > ?
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b
- having avg(a) > ? ';
-execute stmt1 using @Oporto, @1, @2, @Lisboa, @2, @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-test_sequence
------- explain select tests ------
-prepare stmt1 from ' explain select * from t9 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def id 8 3 1 N 32929 0 63
-def select_type 253 19 6 N 1 31 8
-def table 253 64 2 Y 0 31 8
-def type 253 10 3 Y 0 31 8
-def possible_keys 253 4096 0 Y 0 31 8
-def key 253 64 0 Y 0 31 8
-def key_len 253 1365 0 Y 0 31 8
-def ref 253 1024 0 Y 0 31 8
-def rows 8 10 1 Y 32928 0 63
-def Extra 253 255 0 N 1 31 8
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t9 ALL NULL NULL NULL NULL 2
-test_sequence
------- delete tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'delete from t1 where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-execute stmt1;
-insert into t1 values(0,NULL);
-set @arg00=NULL;
-prepare stmt1 from 'delete from t1 where b=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL ;
-a b
-0 NULL
-set @arg00='one';
-execute stmt1 using @arg00;
-select a,b from t1 where b=@arg00;
-a b
-prepare stmt1 from 'truncate table t1' ;
-test_sequence
------- update tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'update t1 set b=''a=two'' where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-set @arg00=NULL;
-prepare stmt1 from 'update t1 set b=? where a=2' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 NULL
-set @arg00='two';
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 two
-set @arg00=2;
-prepare stmt1 from 'update t1 set b=NULL where a=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 NULL
-update t1 set b='two' where a=@arg00;
-set @arg00=2000;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-set @arg00=2;
-set @arg01=22;
-prepare stmt1 from 'update t1 set a=? where a=?' ;
-execute stmt1 using @arg00, @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 where a=@arg01;
-a b
-22 two
-execute stmt1 using @arg00, @arg01;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-set @arg00=NULL;
-set @arg01=2;
-execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
-select a,b from t1 order by a;
-a b
-0 two
-1 one
-3 three
-4 four
-set @arg00=0;
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 order by a;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=23;
-set @arg01='two';
-set @arg02=2;
-set @arg03='two';
-set @arg04=2;
-drop table if exists t2;
-create table t2 as select a,b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-create table t2
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'NDB' ;
-insert into t2(a,b) select a, b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-set @arg00=1;
-prepare stmt1 from 'update t1 set b=''bla''
-where a=2
-limit 1';
-execute stmt1 ;
-select a,b from t1 where b = 'bla' ;
-a b
-2 bla
-prepare stmt1 from 'update t1 set b=''bla'' where a=2 limit ?';
-execute stmt1 using @arg00;
-test_sequence
------- insert tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'insert into t1 values(5, ''five'' )';
-execute stmt1;
-select a,b from t1 where a = 5;
-a b
-5 five
-set @arg00='six' ;
-prepare stmt1 from 'insert into t1 values(6, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b = @arg00;
-a b
-6 six
-execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 1
-set @arg00=NULL ;
-prepare stmt1 from 'insert into t1 values(0, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL;
-a b
-0 NULL
-set @arg00=8 ;
-set @arg01='eight' ;
-prepare stmt1 from 'insert into t1 values(?, ? )';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where b = @arg01;
-a b
-8 eight
-set @NULL= null ;
-set @arg00= 'abc' ;
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg00 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg00 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 abc
-10002 abc
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @NULL ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @NULL ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 NULL
-10002 NULL
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 10 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 9 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 8 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 7 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 6 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 5 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 4 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 3 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg01 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 10001
-10002 10002
-10003 10003
-10004 10004
-10005 10005
-10006 10006
-10007 10007
-10008 10008
-10009 10009
-10010 10010
-delete from t1 where a > 10000 ;
-set @arg00=81 ;
-set @arg01='8-1' ;
-set @arg02=82 ;
-set @arg03='8-2' ;
-prepare stmt1 from 'insert into t1 values(?,?),(?,?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-select a,b from t1 where a in (@arg00,@arg02) ;
-a b
-81 8-1
-82 8-2
-set @arg00=9 ;
-set @arg01='nine' ;
-prepare stmt1 from 'insert into t1 set a=?, b=? ';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where a = @arg00 ;
-a b
-9 nine
-set @arg00=6 ;
-set @arg01=1 ;
-prepare stmt1 from 'insert into t1 set a=?, b=''sechs''
- on duplicate key update a=a + ?, b=concat(b,''modified'') ';
-execute stmt1 using @arg00, @arg01;
-select * from t1 order by a;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-5 five
-7 sixmodified
-8 eight
-9 nine
-81 8-1
-82 8-2
-set @arg00=81 ;
-set @arg01=1 ;
-execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 1
-drop table if exists t2 ;
-create table t2 (id int auto_increment primary key)
-ENGINE= 'NDB' ;
-prepare stmt1 from ' select last_insert_id() ' ;
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-1
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-2
-drop table t2 ;
-set @1000=1000 ;
-set @x1000_2="x1000_2" ;
-set @x1000_3="x1000_3" ;
-set @x1000="x1000" ;
-set @1100=1100 ;
-set @x1100="x1100" ;
-set @100=100 ;
-set @updated="updated" ;
-insert into t1 values(1000,'x1000_1') ;
-insert into t1 values(@1000,@x1000_2),(@1000,@x1000_3)
-on duplicate key update a = a + @100, b = concat(b,@updated) ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-prepare stmt1 from ' insert into t1 values(?,?),(?,?)
- on duplicate key update a = a + ?, b = concat(b,?) ';
-execute stmt1 using @1000, @x1000_2, @1000, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-execute stmt1 using @1000, @x1000_2, @1100, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1200 x1000_1updatedupdated
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' replace into t1 (a,b) select 100, ''hundred'' ';
-execute stmt1;
-execute stmt1;
-execute stmt1;
-test_sequence
------- multi table tests ------
-delete from t1 ;
-delete from t9 ;
-insert into t1(a,b) values (1, 'one'), (2, 'two'), (3, 'three') ;
-insert into t9 (c1,c21)
-values (1, 'one'), (2, 'two'), (3, 'three') ;
-prepare stmt_delete from " delete t1, t9
- from t1, t9 where t1.a=t9.c1 and t1.b='updated' ";
-prepare stmt_update from " update t1, t9
- set t1.b='updated', t9.c21='updated'
- where t1.a=t9.c1 and t1.a=? ";
-prepare stmt_select1 from " select a, b from t1 order by a" ;
-prepare stmt_select2 from " select c1, c21 from t9 order by c1" ;
-set @arg00= 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-2 two
-3 three
-execute stmt_select2 ;
-c1 c21
-2 two
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-3 three
-execute stmt_select2 ;
-c1 c21
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-execute stmt_select2 ;
-c1 c21
-set @arg00= @arg00 + 1 ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t1 values(0,NULL) ;
-set @duplicate='duplicate ' ;
-set @1000=1000 ;
-set @5=5 ;
-select a,b from t1 where a < 5 order by a ;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-insert into t1 select a + @1000, concat(@duplicate,b) from t1
-where a < @5 ;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' insert into t1 select a + ?, concat(?,b) from t1
-where a < ? ' ;
-execute stmt1 using @1000, @duplicate, @5;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-set @1=1 ;
-set @2=2 ;
-set @100=100 ;
-set @float=1.00;
-set @five='five' ;
-drop table if exists t2;
-create table t2 like t1 ;
-insert into t2 (b,a)
-select @duplicate, sum(first.a) from t1 first, t1 second
-where first.a <> @5 and second.b = first.b
-and second.b <> @five
-group by second.b
-having sum(second.a) > @2
-union
-select b, a + @100 from t1
-where (a,b) in ( select sqrt(a+@1)+CAST(@float AS signed),b
-from t1);
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-delete from t2 ;
-prepare stmt1 from ' insert into t2 (b,a)
-select ?, sum(first.a)
- from t1 first, t1 second
- where first.a <> ? and second.b = first.b and second.b <> ?
- group by second.b
- having sum(second.a) > ?
-union
-select b, a + ? from t1
- where (a,b) in ( select sqrt(a+?)+CAST(? AS signed),b
- from t1 ) ' ;
-execute stmt1 using @duplicate, @5, @five, @2, @100, @1, @float ;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-drop table t2;
-drop table if exists t5 ;
-set @arg01= 8;
-set @arg02= 8.0;
-set @arg03= 80.00000000000e-1;
-set @arg04= 'abc' ;
-set @arg05= CAST('abc' as binary) ;
-set @arg06= '1991-08-05' ;
-set @arg07= CAST('1991-08-05' as date);
-set @arg08= '1991-08-05 01:01:01' ;
-set @arg09= CAST('1991-08-05 01:01:01' as datetime) ;
-set @arg10= unix_timestamp('1991-01-01 01:01:01');
-set @arg11= YEAR('1991-01-01 01:01:01');
-set @arg12= 8 ;
-set @arg12= NULL ;
-set @arg13= 8.0 ;
-set @arg13= NULL ;
-set @arg14= 'abc';
-set @arg14= NULL ;
-set @arg15= CAST('abc' as binary) ;
-set @arg15= NULL ;
-create table t5 as select
-8 as const01, @arg01 as param01,
-8.0 as const02, @arg02 as param02,
-80.00000000000e-1 as const03, @arg03 as param03,
-'abc' as const04, @arg04 as param04,
-CAST('abc' as binary) as const05, @arg05 as param05,
-'1991-08-05' as const06, @arg06 as param06,
-CAST('1991-08-05' as date) as const07, @arg07 as param07,
-'1991-08-05 01:01:01' as const08, @arg08 as param08,
-CAST('1991-08-05 01:01:01' as datetime) as const09, @arg09 as param09,
-unix_timestamp('1991-01-01 01:01:01') as const10, @arg10 as param10,
-YEAR('1991-01-01 01:01:01') as const11, @arg11 as param11,
-NULL as const12, @arg12 as param12,
-@arg13 as param13,
-@arg14 as param14,
-@arg15 as param15;
-show create table t5 ;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL default '0',
- `param01` bigint(20) default NULL,
- `const02` decimal(2,1) NOT NULL default '0.0',
- `param02` decimal(65,30) default NULL,
- `const03` double NOT NULL default '0',
- `param03` double default NULL,
- `const04` varchar(3) NOT NULL default '',
- `param04` longtext,
- `const05` varbinary(3) NOT NULL default '',
- `param05` longblob,
- `const06` varchar(10) NOT NULL default '',
- `param06` longtext,
- `const07` date default NULL,
- `param07` longblob,
- `const08` varchar(19) NOT NULL default '',
- `param08` longtext,
- `const09` datetime default NULL,
- `param09` longblob,
- `const10` int(10) NOT NULL default '0',
- `param10` bigint(20) default NULL,
- `const11` int(4) default NULL,
- `param11` bigint(20) default NULL,
- `const12` binary(0) default NULL,
- `param12` bigint(20) default NULL,
- `param13` decimal(65,30) default NULL,
- `param14` longtext,
- `param15` longblob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select * from t5 ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t5 t5 const01 const01 3 1 1 N 32769 0 63
-def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
-def test t5 t5 const02 const02 246 4 3 N 1 1 63
-def test t5 t5 param02 param02 246 67 32 Y 0 30 63
-def test t5 t5 const03 const03 5 17 1 N 32769 31 63
-def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
-def test t5 t5 const04 const04 253 3 3 N 1 0 8
-def test t5 t5 param04 param04 252 4294967295 3 Y 16 0 8
-def test t5 t5 const05 const05 253 3 3 N 129 0 63
-def test t5 t5 param05 param05 252 4294967295 3 Y 144 0 63
-def test t5 t5 const06 const06 253 10 10 N 1 0 8
-def test t5 t5 param06 param06 252 4294967295 10 Y 16 0 8
-def test t5 t5 const07 const07 10 10 10 Y 128 0 63
-def test t5 t5 param07 param07 252 4294967295 10 Y 144 0 63
-def test t5 t5 const08 const08 253 19 19 N 1 0 8
-def test t5 t5 param08 param08 252 4294967295 19 Y 16 0 8
-def test t5 t5 const09 const09 12 19 19 Y 128 0 63
-def test t5 t5 param09 param09 252 4294967295 19 Y 144 0 63
-def test t5 t5 const10 const10 3 10 9 N 32769 0 63
-def test t5 t5 param10 param10 8 20 9 Y 32768 0 63
-def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
-def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
-def test t5 t5 const12 const12 254 0 0 Y 128 0 63
-def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
-def test t5 t5 param13 param13 246 67 0 Y 0 30 63
-def test t5 t5 param14 param14 252 4294967295 0 Y 16 0 8
-def test t5 t5 param15 param15 252 4294967295 0 Y 144 0 63
-const01 8
-param01 8
-const02 8.0
-param02 8.000000000000000000000000000000
-const03 8
-param03 8
-const04 abc
-param04 abc
-const05 abc
-param05 abc
-const06 1991-08-05
-param06 1991-08-05
-const07 1991-08-05
-param07 1991-08-05
-const08 1991-08-05 01:01:01
-param08 1991-08-05 01:01:01
-const09 1991-08-05 01:01:01
-param09 1991-08-05 01:01:01
-const10 662680861
-param10 662680861
-const11 1991
-param11 1991
-const12 NULL
-param12 NULL
-param13 NULL
-param14 NULL
-param15 NULL
-drop table t5 ;
-test_sequence
------- data type conversion tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t9 set c1= 0, c15= '1991-01-01 01:01:01' ;
-select * from t9 order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-test_sequence
------- select @parameter:= column ------
-prepare full_info from "select @arg01, @arg02, @arg03, @arg04,
- @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12,
- @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20,
- @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28,
- @arg29, @arg30, @arg31, @arg32" ;
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 1 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 0 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select
- @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
- @arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
- @arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
- @arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
- @arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
- @arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
- @arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
- @arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= c1 from t9 where c1= 1' at line 1
-test_sequence
------- select column, .. into @parm,.. ------
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 1 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 0 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
- c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
- c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 1 Y 128 0 63
-def @arg03 253 20 1 Y 128 0 63
-def @arg04 253 20 1 Y 128 0 63
-def @arg05 253 20 1 Y 128 0 63
-def @arg06 253 20 1 Y 128 0 63
-def @arg07 253 23 1 Y 128 31 63
-def @arg08 253 23 1 Y 128 31 63
-def @arg09 253 23 1 Y 128 31 63
-def @arg10 253 23 1 Y 128 31 63
-def @arg11 253 83 6 Y 128 30 63
-def @arg12 253 83 6 Y 128 30 63
-def @arg13 253 8192 10 Y 128 31 63
-def @arg14 253 8192 19 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 8 Y 128 31 63
-def @arg17 253 20 4 Y 160 0 63
-def @arg18 253 20 1 Y 128 0 63
-def @arg19 253 20 1 Y 128 0 63
-def @arg20 253 8192 1 Y 0 31 8
-def @arg21 253 8192 10 Y 0 31 8
-def @arg22 253 8192 30 Y 0 31 8
-def @arg23 253 8192 8 Y 128 31 63
-def @arg24 253 8192 8 Y 0 31 8
-def @arg25 253 8192 4 Y 128 31 63
-def @arg26 253 8192 4 Y 0 31 8
-def @arg27 253 8192 10 Y 128 31 63
-def @arg28 253 8192 10 Y 0 31 8
-def @arg29 253 8192 8 Y 128 31 63
-def @arg30 253 8192 8 Y 0 31 8
-def @arg31 253 8192 3 Y 0 31 8
-def @arg32 253 8192 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 253 20 1 Y 128 0 63
-def @arg02 253 20 0 Y 128 0 63
-def @arg03 253 20 0 Y 128 0 63
-def @arg04 253 20 0 Y 128 0 63
-def @arg05 253 20 0 Y 128 0 63
-def @arg06 253 20 0 Y 128 0 63
-def @arg07 253 23 0 Y 128 31 63
-def @arg08 253 23 0 Y 128 31 63
-def @arg09 253 23 0 Y 128 31 63
-def @arg10 253 23 0 Y 128 31 63
-def @arg11 253 83 0 Y 128 30 63
-def @arg12 253 83 0 Y 128 30 63
-def @arg13 253 8192 0 Y 128 31 63
-def @arg14 253 8192 0 Y 128 31 63
-def @arg15 253 8192 19 Y 128 31 63
-def @arg16 253 8192 0 Y 128 31 63
-def @arg17 253 20 0 Y 160 0 63
-def @arg18 253 20 0 Y 128 0 63
-def @arg19 253 20 0 Y 128 0 63
-def @arg20 253 8192 0 Y 0 31 8
-def @arg21 253 8192 0 Y 0 31 8
-def @arg22 253 8192 0 Y 0 31 8
-def @arg23 253 8192 0 Y 128 31 63
-def @arg24 253 8192 0 Y 0 31 8
-def @arg25 253 8192 0 Y 128 31 63
-def @arg26 253 8192 0 Y 0 31 8
-def @arg27 253 8192 0 Y 128 31 63
-def @arg28 253 8192 0 Y 0 31 8
-def @arg29 253 8192 0 Y 128 31 63
-def @arg30 253 8192 0 Y 0 31 8
-def @arg31 253 8192 0 Y 0 31 8
-def @arg32 253 8192 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? from t9 where c1= 1' at line 1
-test_sequence
--- insert into numeric columns --
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 ) ;
-set @arg00= 21 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 )" ;
-execute stmt1 ;
-set @arg00= 23;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
-30.0, 30.0, 30.0 ) ;
-set @arg00= 31.0 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0,
- 32.0, 32.0, 32.0 )" ;
-execute stmt1 ;
-set @arg00= 33.0;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( '40', '40', '40', '40', '40', '40', '40', '40',
-'40', '40', '40' ) ;
-set @arg00= '41' ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( '42', '42', '42', '42', '42', '42', '42', '42',
- '42', '42', '42' )" ;
-execute stmt1 ;
-set @arg00= '43';
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary) ) ;
-set @arg00= CAST('51' as binary) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary) )" ;
-execute stmt1 ;
-set @arg00= CAST('53' as binary) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 2 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 60, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-NULL, NULL, NULL ) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 61, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 62, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL )" ;
-execute stmt1 ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 63, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 8.0 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 71, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 73, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 'abc' ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 81, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 83, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c1 >= 20
-order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c12
-20 20 20 20 20 20 20 20 20 20 20.0000
-21 21 21 21 21 21 21 21 21 21 21.0000
-22 22 22 22 22 22 22 22 22 22 22.0000
-23 23 23 23 23 23 23 23 23 23 23.0000
-30 30 30 30 30 30 30 30 30 30 30.0000
-31 31 31 31 31 31 31 31 31 31 31.0000
-32 32 32 32 32 32 32 32 32 32 32.0000
-33 33 33 33 33 33 33 33 33 33 33.0000
-40 40 40 40 40 40 40 40 40 40 40.0000
-41 41 41 41 41 41 41 41 41 41 41.0000
-42 42 42 42 42 42 42 42 42 42 42.0000
-43 43 43 43 43 43 43 43 43 43 43.0000
-50 50 50 50 50 50 50 50 50 50 50.0000
-51 51 51 51 51 51 51 51 51 51 51.0000
-52 52 52 52 52 52 52 52 52 52 52.0000
-53 53 53 53 53 53 53 53 53 53 53.0000
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where numeric column = .. --
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
-and c8= 20 and c9= 20 and c10= 20 and c12= 20;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
- and c8= 20 and c9= 20 and c10= 20 and c12= 20 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
-and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
- and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20';
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20' ";
-execute stmt1 ;
-found
-true
-set @arg00= '20';
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
-c3= CAST('20' as binary) and c4= CAST('20' as binary) and
-c5= CAST('20' as binary) and c6= CAST('20' as binary) and
-c7= CAST('20' as binary) and c8= CAST('20' as binary) and
-c9= CAST('20' as binary) and c10= CAST('20' as binary) and
-c12= CAST('20' as binary);
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
- c3= CAST('20' as binary) and c4= CAST('20' as binary) and
- c5= CAST('20' as binary) and c6= CAST('20' as binary) and
- c7= CAST('20' as binary) and c8= CAST('20' as binary) and
- c9= CAST('20' as binary) and c10= CAST('20' as binary) and
- c12= CAST('20' as binary) ";
-execute stmt1 ;
-found
-true
-set @arg00= CAST('20' as binary) ;
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- some numeric overflow experiments --
-prepare my_insert from "insert into t9
- ( c21, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 'O', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-prepare my_select from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c21 = 'O' ";
-prepare my_delete from "delete from t9 where c21 = 'O' ";
-set @arg00= 9223372036854775807 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e+18
-c8 9.22337203685478e+18
-c9 9.22337203685478e+18
-c10 9.22337203685478e+18
-c12 9999.9999
-execute my_delete ;
-set @arg00= '9223372036854775807' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e+18
-c8 9.22337203685478e+18
-c9 9.22337203685478e+18
-c10 9.22337203685478e+18
-c12 9999.9999
-execute my_delete ;
-set @arg00= -9223372036854775808 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e+18
-c8 -9.22337203685478e+18
-c9 -9.22337203685478e+18
-c10 -9.22337203685478e+18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-9223372036854775808' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e+18
-c8 -9.22337203685478e+18
-c9 -9.22337203685478e+18
-c10 -9.22337203685478e+18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= 1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e+38
-c8 1.11111111111111e+50
-c9 1.11111111111111e+50
-c10 1.11111111111111e+50
-c12 9999.9999
-execute my_delete ;
-set @arg00= '1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e+38
-c8 1.11111111111111e+50
-c9 1.11111111111111e+50
-c10 1.11111111111111e+50
-c12 9999.9999
-execute my_delete ;
-set @arg00= -1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e+38
-c8 -1.11111111111111e+50
-c9 -1.11111111111111e+50
-c10 -1.11111111111111e+50
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
-Warning 1264 Out of range value adjusted for column 'c2' at row 1
-Warning 1264 Out of range value adjusted for column 'c3' at row 1
-Warning 1264 Out of range value adjusted for column 'c4' at row 1
-Warning 1264 Out of range value adjusted for column 'c5' at row 1
-Warning 1264 Out of range value adjusted for column 'c6' at row 1
-Warning 1264 Out of range value adjusted for column 'c7' at row 1
-Warning 1264 Out of range value adjusted for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e+38
-c8 -1.11111111111111e+50
-c9 -1.11111111111111e+50
-c10 -1.11111111111111e+50
-c12 -9999.9999
-execute my_delete ;
-test_sequence
--- insert into string columns --
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-select c1, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30
-from t9 where c1 >= 20
-order by c1 ;
-c1 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30
-20 2 20 20 20 20 20 20 20 20 20 20
-21 2 21 21 21 21 21 21 21 21 21 21
-22 2 22 22 22 22 22 22 22 22 22 22
-23 2 23 23 23 23 23 23 23 23 23 23
-30 3 30 30 30 30 30 30 30 30 30 30
-31 3 31 31 31 31 31 31 31 31 31 31
-32 3 32 32 32 32 32 32 32 32 32 32
-33 3 33 33 33 33 33 33 33 33 33 33
-40 4 40 40 40 40 40 40 40 40 40 40
-41 4 41 41 41 41 41 41 41 41 41 41
-42 4 42 42 42 42 42 42 42 42 42 42
-43 4 43 43 43 43 43 43 43 43 43 43
-50 5 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0
-51 5 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0
-52 5 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0
-53 5 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0
-54 5 54 54 54.00 54.00 54.00 54.00 54.00 54.00 54.00 54.00
-55 5 55 55 55 55 55 55 55 55 55 55
-56 6 56 56 56.00 56.00 56.00 56.00 56.00 56.00 56.00 56.00
-57 6 57 57 57.00 57.00 57.00 57.00 57.00 57.00 57.00 57.00
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where string column = .. --
-set @arg00= '20';
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
-c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
-c27= '20' and c28= '20' and c29= '20' and c30= '20' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
- c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
- c27= '20' and c28= '20' and c29= '20' and c30= '20'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('20' as binary);
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
-= CAST('20' as binary) and c21= CAST('20' as binary)
-and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
-c24= CAST('20' as binary) and c25= CAST('20' as binary) and
-c26= CAST('20' as binary) and c27= CAST('20' as binary) and
-c28= CAST('20' as binary) and c29= CAST('20' as binary) and
-c30= CAST('20' as binary) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20))) = @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and
-c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
- = CAST('20' as binary) and c21= CAST('20' as binary)
- and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
- c24= CAST('20' as binary) and c25= CAST('20' as binary) and
- c26= CAST('20' as binary) and c27= CAST('20' as binary) and
- c28= CAST('20' as binary) and c29= CAST('20' as binary) and
- c30= CAST('20' as binary)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20))) = ? and c21= ? and
- c22= ? and c23= ? and c25= ? and c26= ? and c27= ? and c28= ? and
- c29= ? and c30= ?";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
-c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
-c27= 20 and c28= 20 and c29= 20 and c30= 20 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
- c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
- c27= 20 and c28= 20 and c29= 20 and c30= 20" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
-c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
-c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
- c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
- c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- insert into date/time columns --
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value adjusted for column 'c13' at row 1
-Warning 1264 Out of range value adjusted for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value adjusted for column 'c16' at row 1
-Warning 1264 Out of range value adjusted for column 'c17' at row 1
-select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
-c1 c13 c14 c15 c16 c17
-20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-21 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-22 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-23 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-30 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-31 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-32 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-33 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-40 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-41 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-42 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-43 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-50 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-51 2010-00-00 2010-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-52 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-53 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-60 NULL NULL 1991-01-01 01:01:01 NULL NULL
-61 NULL NULL 1991-01-01 01:01:01 NULL NULL
-62 NULL NULL 1991-01-01 01:01:01 NULL NULL
-63 NULL NULL 1991-01-01 01:01:01 NULL NULL
-71 NULL NULL 1991-01-01 01:01:01 NULL NULL
-73 NULL NULL 1991-01-01 01:01:01 NULL NULL
-81 NULL NULL 1991-01-01 01:01:01 NULL NULL
-83 NULL NULL 1991-01-01 01:01:01 NULL NULL
-test_sequence
--- select .. where date/time column = .. --
-set @arg00= '1991-01-01 01:01:01' ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
-c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
-c17= '1991-01-01 01:01:01' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
- c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
- c17= '1991-01-01 01:01:01'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('1991-01-01 01:01:01' as datetime) ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
-c14= CAST('1991-01-01 01:01:01' as datetime) and
-c15= CAST('1991-01-01 01:01:01' as datetime) and
-c16= CAST('1991-01-01 01:01:01' as datetime) and
-c17= CAST('1991-01-01 01:01:01' as datetime) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
- c14= CAST('1991-01-01 01:01:01' as datetime) and
- c15= CAST('1991-01-01 01:01:01' as datetime) and
- c16= CAST('1991-01-01 01:01:01' as datetime) and
- c17= CAST('1991-01-01 01:01:01' as datetime)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 1991 ;
-select 'true' as found from t9
-where c1= 20 and c17= 1991 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= 1991" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= ?" ;
-execute stmt1 using @arg00 ;
-found
-true
-set @arg00= 1.991e+3 ;
-select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and abs(c17 - @arg00) < 0.01 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - ?) < 0.01" ;
-execute stmt1 using @arg00 ;
-found
-true
-drop table t1, t9;
diff --git a/mysql-test/r/ps_grant.result b/mysql-test/r/ps_grant.result
index fdc1f97bb4c..8b16123ccea 100644
--- a/mysql-test/r/ps_grant.result
+++ b/mysql-test/r/ps_grant.result
@@ -78,13 +78,10 @@ ERROR 42000: There is no such grant defined for user 'second_user' on host 'loca
drop database mysqltest;
prepare stmt3 from ' grant all on test.t1 to drop_user@localhost
identified by ''looser'' ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
grant all on test.t1 to drop_user@localhost
identified by 'looser' ;
prepare stmt3 from ' revoke all privileges on test.t1 from
drop_user@localhost ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
revoke all privileges on test.t1 from drop_user@localhost ;
prepare stmt3 from ' drop user drop_user@localhost ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
drop user drop_user@localhost;
diff --git a/mysql-test/r/ps_not_windows.result b/mysql-test/r/ps_not_windows.result
new file mode 100644
index 00000000000..e58b6ec5cad
--- /dev/null
+++ b/mysql-test/r/ps_not_windows.result
@@ -0,0 +1,14 @@
+create procedure proc_1() install plugin my_plug soname '/root/some_plugin.so';
+call proc_1();
+ERROR HY000: No paths allowed for shared library
+call proc_1();
+ERROR HY000: No paths allowed for shared library
+call proc_1();
+ERROR HY000: No paths allowed for shared library
+drop procedure proc_1;
+prepare abc from "install plugin my_plug soname '/root/some_plugin.so'";
+execute abc;
+ERROR HY000: No paths allowed for shared library
+execute abc;
+ERROR HY000: No paths allowed for shared library
+deallocate prepare abc;
diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result
index 68f18d1b0b2..1a728354c7b 100644
--- a/mysql-test/r/query_cache.result
+++ b/mysql-test/r/query_cache.result
@@ -3,8 +3,10 @@ flush query cache;
flush query cache;
reset query cache;
flush status;
-drop table if exists t1,t2,t3,t4,t11,t21;
+drop table if exists t1,t2,t3,t4,t11,t21,t1_1,t1_2,t9,t9_1,t9_2;
drop database if exists mysqltest;
+drop table if exists ```a`;
+drop view if exists v1;
create table t1 (a int not null);
insert into t1 values (1),(2),(3);
select * from t1;
@@ -273,8 +275,8 @@ CURRENT_USER()
select benchmark(1,1) from t1;
benchmark(1,1)
explain extended select benchmark(1,1) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
+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 benchmark(1,1) AS `benchmark(1,1)` from `test`.`t1`
show status like "Qcache_queries_in_cache";
@@ -1092,6 +1094,7 @@ Qcache_hits 1
drop table t1;
create table t1 (a int);
insert into t1 values (1),(2);
+drop procedure if exists p1;
CREATE PROCEDURE `p1`()
begin
Declare c1 cursor for select a from t1;
@@ -1113,10 +1116,12 @@ create procedure `p1`()
begin
select a, f1() from t1;
end//
+SET GLOBAL log_bin_trust_function_creators = 1;
call p1()//
a f1()
1 2
2 2
+SET GLOBAL log_bin_trust_function_creators = 0;
drop procedure p1//
drop function f1//
drop table t1//
@@ -1296,6 +1301,7 @@ drop procedure f3;
drop procedure f4;
drop table t1;
set GLOBAL query_cache_size=0;
+End of 4.1 tests
SET GLOBAL query_cache_size=102400;
create table t1(a int);
insert into t1 values(0), (1), (4), (5);
@@ -1359,6 +1365,29 @@ start transaction;
insert into t1(c1) select c1 from v1;
drop table t1, t2, t3;
drop view v1;
+create table t1(c1 int);
+insert into t1 values(1),(10),(100);
+select * from t1;
+c1
+1
+10
+100
+select * from t1;
+c1
+1
+10
+100
+select * from t1;
+c1
+1
+10
+100
+select * from t1;
+c1
+1
+10
+100
+drop table t1;
set global query_cache_size=0;
create table t1 (a int);
insert into t1 values (1),(2),(3);
@@ -1437,7 +1466,7 @@ Full-text indexes are called collections 0
Only MyISAM tables support collections 0
Function MATCH ... AGAINST() is used to do a search 0
Full-text search in MySQL implements vector space model 0
-create function change_global() returns integer
+create function change_global() returns integer deterministic
begin
set global ft_boolean_syntax='+ -><()~*:""&|';
return 1;
@@ -1621,36 +1650,23 @@ a (select count(*) from t2)
3 0
4 0
drop table t1,t2;
-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;
+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_notembedded.result b/mysql-test/r/query_cache_notembedded.result
index 8e5df012cfb..ec78c2267d2 100644
--- a/mysql-test/r/query_cache_notembedded.result
+++ b/mysql-test/r/query_cache_notembedded.result
@@ -314,6 +314,7 @@ drop procedure f2;
drop procedure f3;
drop procedure f4;
drop table t1;
+SET GLOBAL log_bin_trust_function_creators = 1;
reset query cache;
drop function if exists f1;
create table t1 (id int);
@@ -345,3 +346,37 @@ id
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
new file mode 100644
index 00000000000..0efb2540c64
--- /dev/null
+++ b/mysql-test/r/query_cache_ps_no_prot.result
@@ -0,0 +1,533 @@
+---- establish connection con1 (root) ----
+---- switch to connection default ----
+set @initial_query_cache_size = @@global.query_cache_size;
+set @@global.query_cache_size=100000;
+flush status;
+drop table if exists t1;
+create table t1(c1 int);
+insert into t1 values(1),(10),(100);
+prepare stmt1 from "select * from t1 where c1=10";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 0
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 0
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 1
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 2
+prepare stmt2 from "select * from t1 where c1=10";
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 3
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 4
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 5
+---- switch to connection con1 ----
+prepare stmt3 from "select * from t1 where c1=10";
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 6
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 7
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+---- switch to connection default ----
+prepare stmt10 from "SELECT * FROM t1 WHERE c1 = 100";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+execute stmt10;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+execute stmt10;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 9
+SELECT * FROM t1 WHERE c1 = 100;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 10
+---- switch to connection con1 ----
+SELECT * FROM t1 WHERE c1 = 100;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 11
+---- switch to connection default ----
+prepare stmt11 from "SELECT * FROM t1 WHERE c1 = 1";
+---- switch to connection con1 ----
+prepare stmt12 from "SELECT * FROM t1 WHERE c1 = 1";
+---- switch to connection default ----
+SELECT * FROM t1 WHERE c1 = 1;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 11
+SELECT * FROM t1 WHERE c1 = 1;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 12
+execute stmt11;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 13
+---- switch to connection con1 ----
+execute stmt12;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+---- switch to connection default ----
+prepare stmt1 from "select * from t1 where c1=?";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+set @a=1;
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 15
+---- switch to connection con1 ----
+set @a=1;
+prepare stmt4 from "select * from t1 where c1=?";
+execute stmt4 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+prepare stmt4 from "select @a from t1 where c1=?";
+execute stmt4 using @a;
+@a
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt4 using @a;
+@a
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+---- switch to connection default ----
+prepare stmt1 from "select * from t1 where c1=10";
+set global query_cache_size=0;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+---- switch to connection default ----
+set global query_cache_size=100000;
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 17
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 18
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 20
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+---- switch to connection default ----
+set global query_cache_size=0;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+---- switch to connection default ----
+set global query_cache_size=0;
+prepare stmt1 from "select * from t1 where c1=10";
+---- switch to connection con1 ----
+prepare stmt3 from "select * from t1 where c1=10";
+---- switch to connection default ----
+set global query_cache_size=100000;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+---- switch to connection con1 ----
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+---- switch to connection default ----
+set global query_cache_size=0;
+prepare stmt1 from "select * from t1 where c1=?";
+set global query_cache_size=100000;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+set @a=1;
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+set @a=100;
+execute stmt1 using @a;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 21
+set @a=10;
+execute stmt1 using @a;
+c1
+10
+show status like 'Qcache_hits';
+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
new file mode 100644
index 00000000000..dc0c4a0193a
--- /dev/null
+++ b/mysql-test/r/query_cache_ps_ps_prot.result
@@ -0,0 +1,533 @@
+---- establish connection con1 (root) ----
+---- switch to connection default ----
+set @initial_query_cache_size = @@global.query_cache_size;
+set @@global.query_cache_size=100000;
+flush status;
+drop table if exists t1;
+create table t1(c1 int);
+insert into t1 values(1),(10),(100);
+prepare stmt1 from "select * from t1 where c1=10";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 0
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 0
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 1
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 2
+prepare stmt2 from "select * from t1 where c1=10";
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 3
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 4
+execute stmt2;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 5
+---- switch to connection con1 ----
+prepare stmt3 from "select * from t1 where c1=10";
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 6
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 7
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+---- switch to connection default ----
+prepare stmt10 from "SELECT * FROM t1 WHERE c1 = 100";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+execute stmt10;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 8
+execute stmt10;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 9
+SELECT * FROM t1 WHERE c1 = 100;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 9
+---- switch to connection con1 ----
+SELECT * FROM t1 WHERE c1 = 100;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 10
+---- switch to connection default ----
+prepare stmt11 from "SELECT * FROM t1 WHERE c1 = 1";
+---- switch to connection con1 ----
+prepare stmt12 from "SELECT * FROM t1 WHERE c1 = 1";
+---- switch to connection default ----
+SELECT * FROM t1 WHERE c1 = 1;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 10
+SELECT * FROM t1 WHERE c1 = 1;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 11
+execute stmt11;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 11
+---- switch to connection con1 ----
+execute stmt12;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 12
+---- switch to connection default ----
+prepare stmt1 from "select * from t1 where c1=?";
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 12
+set @a=1;
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 12
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 13
+---- switch to connection con1 ----
+set @a=1;
+prepare stmt4 from "select * from t1 where c1=?";
+execute stmt4 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+prepare stmt4 from "select @a from t1 where c1=?";
+execute stmt4 using @a;
+@a
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt4 using @a;
+@a
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+---- switch to connection default ----
+prepare stmt1 from "select * from t1 where c1=10";
+set global query_cache_size=0;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+---- switch to connection default ----
+set global query_cache_size=100000;
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 14
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 15
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 16
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 17
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 18
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+---- switch to connection default ----
+set global query_cache_size=0;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+---- switch to connection con1 ----
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+---- switch to connection default ----
+set global query_cache_size=0;
+prepare stmt1 from "select * from t1 where c1=10";
+---- switch to connection con1 ----
+prepare stmt3 from "select * from t1 where c1=10";
+---- switch to connection default ----
+set global query_cache_size=100000;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt1;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+---- switch to connection con1 ----
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+execute stmt3;
+c1
+10
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+---- switch to connection default ----
+set global query_cache_size=0;
+prepare stmt1 from "select * from t1 where c1=?";
+set global query_cache_size=100000;
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+set @a=1;
+execute stmt1 using @a;
+c1
+1
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+set @a=100;
+execute stmt1 using @a;
+c1
+100
+show status like 'Qcache_hits';
+Variable_name Value
+Qcache_hits 19
+set @a=10;
+execute stmt1 using @a;
+c1
+10
+show status like 'Qcache_hits';
+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/range.result b/mysql-test/r/range.result
index e0084b53320..92db6d8429f 100644
--- a/mysql-test/r/range.result
+++ b/mysql-test/r/range.result
@@ -221,27 +221,27 @@ update t1 set y=x;
explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 2 Using where
+1 SIMPLE t2 range x x 5 NULL 2 Using where; Using join buffer
explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 2 Using where
+1 SIMPLE t2 range x x 5 NULL 2 Using where; Using join buffer
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 3 Using where
+1 SIMPLE t2 range x x 5 NULL 3 Using where; Using join buffer
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 3 Using where
+1 SIMPLE t2 range x x 5 NULL 3 Using where; Using join buffer
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 2 Using where
+1 SIMPLE t2 range x x 5 NULL 2 Using where; Using join buffer
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 Using where
-1 SIMPLE t2 range x x 5 NULL 2 Using where
+1 SIMPLE t2 range x x 5 NULL 2 Using where; Using join buffer
explain select count(*) from t1 where x in (1);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref x x 5 const 1 Using where; Using index
@@ -256,12 +256,12 @@ INSERT INTO t2 VALUES (0),(0),(1),(1),(2),(2);
explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref j1 j1 4 const 1 Using index
-1 SIMPLE t1 index i1 i1 4 NULL 7 Using where; Using index
+1 SIMPLE t1 index i1 i1 4 NULL 7 Using where; Using index; Using join buffer
explain select * from t1 force index(i1), t2 force index(j1) where
(t1.key1 <t2.keya + 1) and t2.keya=3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref j1 j1 4 const 1 Using index
-1 SIMPLE t1 index i1 i1 4 NULL 7 Using where; Using index
+1 SIMPLE t1 index i1 i1 4 NULL 7 Using where; Using index; Using join buffer
DROP TABLE t1,t2;
CREATE TABLE t1 (
a int(11) default NULL,
@@ -406,7 +406,7 @@ insert into t2(uid, name) values
(24, CHAR(64+24)),
(25, CHAR(64+25)),
(26, CHAR(64+26));
-insert into t1(uid, name) select uid, name from t2;
+insert into t1(uid, name) select uid, name from t2 order by uid;
delete from t2;
insert into t2(id, uid, name) select id, uid, name from t1;
select count(*) from t1;
@@ -705,7 +705,7 @@ v.oxrootid ='d8c4177d09f8b11f5.52725521' AND
s.oxleft > v.oxleft AND s.oxleft < v.oxright;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE v ref OXLEFT,OXRIGHT,OXROOTID OXROOTID 34 const 5 Using where
-1 SIMPLE s ALL OXLEFT NULL NULL NULL 5 Range checked for each record (index map: 0x4)
+1 SIMPLE s ALL OXLEFT NULL NULL NULL 6 Range checked for each record (index map: 0x4)
SELECT s.oxid FROM t1 v, t1 s
WHERE s.oxrootid = 'd8c4177d09f8b11f5.52725521' AND
v.oxrootid ='d8c4177d09f8b11f5.52725521' AND
@@ -1153,3 +1153,17 @@ explain select * from t1 where dateval >= '2007-01-01 00:00:00' and dateval <= '
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 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));
+insert into t2 select A.a + 10 * (B.a + 10 * C.a), 10, 'filler' from t1 A,
+t1 B, t1 C where A.a < 5;
+insert into t2 select 1000, b, 'filler' from t2;
+alter table t2 add index (a,b);
+select 'In following EXPLAIN the access method should be ref, #rows~=500 (and not 2)' Z;
+Z
+In following EXPLAIN the access method should be ref, #rows~=500 (and not 2)
+explain select * from t2 where a=1000 and b<11;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ref a a 5 const 502 Using where
+drop table t1, t2;
diff --git a/mysql-test/r/innodb-big.result b/mysql-test/r/read_many_rows_innodb.result
index 84bb02d445e..29ec509db5a 100644
--- a/mysql-test/r/innodb-big.result
+++ b/mysql-test/r/read_many_rows_innodb.result
@@ -1,8 +1,9 @@
+SET SESSION STORAGE_ENGINE = InnoDB;
DROP TABLE IF EXISTS t1, t2, t3, t4;
-CREATE TABLE t1 (id INTEGER) ENGINE=MYISAM;
-CREATE TABLE t2 (id INTEGER primary key) ENGINE=INNODB;
-CREATE TABLE t3 (a char(32) primary key,id INTEGER) ENGINE=INNODB;
-CREATE TABLE t4 (a char(32) primary key,id INTEGER) ENGINE=MYISAM;
+CREATE TABLE t1 (id INTEGER) ENGINE=MyISAM;
+CREATE TABLE t2 (id INTEGER PRIMARY KEY);
+CREATE TABLE t3 (a CHAR(32) PRIMARY KEY,id INTEGER);
+CREATE TABLE t4 (a CHAR(32) PRIMARY KEY,id INTEGER) ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1);
INSERT INTO t1 SELECT id+1 FROM t1;
INSERT INTO t1 SELECT id+2 FROM t1;
@@ -26,12 +27,12 @@ INSERT INTO t1 SELECT id+262144 FROM t1;
INSERT INTO t1 SELECT id+524288 FROM t1;
INSERT INTO t1 SELECT id+1048576 FROM t1;
INSERT INTO t2 SELECT * FROM t1;
-INSERT INTO t3 SELECT concat(id),id from t2 ORDER BY -id;
-INSERT INTO t4 SELECT * from t3 ORDER BY concat(a);
-select sum(id) from t3;
-sum(id)
+INSERT INTO t3 SELECT CONCAT(id),id FROM t2 ORDER BY -id;
+INSERT INTO t4 SELECT * FROM t3 ORDER BY CONCAT(a);
+SELECT SUM(id) FROM t3;
+SUM(id)
2199024304128
-drop table t1,t2,t3,t4;
+DROP TABLE t1,t2,t3,t4;
CREATE TABLE t1 (f1 int NOT NULL) ENGINE=InnoDB;
CREATE TABLE t2 (f2 int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
CREATE TRIGGER t1_bi before INSERT
diff --git a/mysql-test/r/read_only.result b/mysql-test/r/read_only.result
index 69d25fbef6f..f270f1ed5ad 100644
--- a/mysql-test/r/read_only.result
+++ b/mysql-test/r/read_only.result
@@ -39,11 +39,61 @@ delete t1 from t1,t3 where t1.a=t3.a;
drop table t1;
insert into t1 values(1);
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+set global read_only=0;
+lock table t1 write;
+lock table t2 write;
+set global read_only=1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+unlock tables ;
+set global read_only=1;
+select @@global.read_only;
+@@global.read_only
+0
+unlock tables ;
+select @@global.read_only;
+@@global.read_only
+1
+set global read_only=0;
+lock table t1 read;
+lock table t2 read;
+set global read_only=1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+unlock tables ;
+set global read_only=1;
+select @@global.read_only;
+@@global.read_only
+0
+unlock tables ;
+select @@global.read_only;
+@@global.read_only
+1
+set global read_only=0;
+BEGIN;
+BEGIN;
+set global read_only=1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+ROLLBACK;
+set global read_only=1;
+select @@global.read_only;
+@@global.read_only
+1
+ROLLBACK;
+set global read_only=0;
+flush tables with read lock;
+set global read_only=1;
+unlock tables;
+set global read_only=0;
+flush tables with read lock;
+set global read_only=1;
+select @@global.read_only;
+@@global.read_only
+1
+unlock tables;
drop temporary table ttt;
ERROR 42S02: Unknown table 'ttt'
drop temporary table if exists ttt;
Warnings:
Note 1051 Unknown table 'ttt'
+set global read_only=0;
drop table t1,t2;
drop user test@localhost;
-set global read_only=0;
diff --git a/mysql-test/r/read_only_innodb.result b/mysql-test/r/read_only_innodb.result
new file mode 100644
index 00000000000..d028e3cc207
--- /dev/null
+++ b/mysql-test/r/read_only_innodb.result
@@ -0,0 +1,18 @@
+DROP TABLE IF EXISTS table_11733 ;
+grant CREATE, SELECT, DROP on *.* to test@localhost;
+set global read_only=0;
+create table table_11733 (a int) engine=InnoDb;
+BEGIN;
+insert into table_11733 values(11733);
+set global read_only=1;
+select @@global.read_only;
+@@global.read_only
+1
+select * from table_11733 ;
+a
+11733
+COMMIT;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+set global read_only=0;
+drop table table_11733 ;
+drop user test@localhost;
diff --git a/mysql-test/r/renamedb.result b/mysql-test/r/renamedb.result
new file mode 100644
index 00000000000..ff8f89592fc
--- /dev/null
+++ b/mysql-test/r/renamedb.result
@@ -0,0 +1,12 @@
+rename database testdb1 to testdb2;
+ERROR 42000: You 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 e0548233b86..8c0671ad740 100644
--- a/mysql-test/r/repair.result
+++ b/mysql-test/r/repair.result
@@ -115,3 +115,9 @@ 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;
+Table Op Msg_type Msg_text
+tt1 repair error Cannot repair temporary table from .frm file
+DROP TABLE tt1;
diff --git a/mysql-test/r/replace.result b/mysql-test/r/replace.result
index 5a5e4571ba9..842302c89ac 100644
--- a/mysql-test/r/replace.result
+++ b/mysql-test/r/replace.result
@@ -13,9 +13,9 @@ drop table t1;
create table t1 (a tinyint not null auto_increment primary key, b char(20) default "default_value");
insert into t1 values (126,"first"),(63, "middle"),(0,"last");
insert into t1 values (0,"error");
-ERROR 23000: Duplicate entry '127' for key 1
+ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
replace into t1 values (0,"error");
-ERROR 23000: Duplicate entry '127' for key 1
+ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
replace into t1 values (126,"first updated");
replace into t1 values (63,default);
select * from t1;
diff --git a/mysql-test/r/round.result b/mysql-test/r/round.result
index e9a80df0f49..49a00885f34 100644
--- a/mysql-test/r/round.result
+++ b/mysql-test/r/round.result
@@ -5,7 +5,7 @@ INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('127.4');
INSERT INTO t1 VALUES ('127.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint8' at row 1
+Warning 1264 Out of range value for column 'sint8' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-127.4');
@@ -13,7 +13,7 @@ INSERT INTO t1 VALUES ('-127.5');
INSERT INTO t1 VALUES ('-128.4');
INSERT INTO t1 VALUES ('-128.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint8' at row 1
+Warning 1264 Out of range value for column 'sint8' at row 1
SELECT * FROM t1;
sint8
0
@@ -35,11 +35,11 @@ INSERT INTO t1 VALUES ('127.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint8' at row 1
+Warning 1264 Out of range value for column 'uint8' at row 1
INSERT INTO t1 VALUES ('255.4');
INSERT INTO t1 VALUES ('255.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint8' at row 1
+Warning 1264 Out of range value for column 'uint8' at row 1
SELECT * FROM t1;
uint8
0
@@ -57,7 +57,7 @@ INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('32767.4');
INSERT INTO t1 VALUES ('32767.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint16' at row 1
+Warning 1264 Out of range value for column 'sint16' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-32767.4');
@@ -65,7 +65,7 @@ INSERT INTO t1 VALUES ('-32767.5');
INSERT INTO t1 VALUES ('-32768.4');
INSERT INTO t1 VALUES ('-32768.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint16' at row 1
+Warning 1264 Out of range value for column 'sint16' at row 1
SELECT * FROM t1;
sint16
0
@@ -87,11 +87,11 @@ INSERT INTO t1 VALUES ('32767.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint16' at row 1
+Warning 1264 Out of range value for column 'uint16' at row 1
INSERT INTO t1 VALUES ('65535.4');
INSERT INTO t1 VALUES ('65535.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint16' at row 1
+Warning 1264 Out of range value for column 'uint16' at row 1
SELECT * FROM t1;
uint16
0
@@ -109,7 +109,7 @@ INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('8388607.4');
INSERT INTO t1 VALUES ('8388607.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint24' at row 1
+Warning 1264 Out of range value for column 'sint24' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-8388607.4');
@@ -117,7 +117,7 @@ INSERT INTO t1 VALUES ('-8388607.5');
INSERT INTO t1 VALUES ('-8388608.4');
INSERT INTO t1 VALUES ('-8388608.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint24' at row 1
+Warning 1264 Out of range value for column 'sint24' at row 1
SELECT * FROM t1;
sint24
0
@@ -139,11 +139,11 @@ INSERT INTO t1 VALUES ('8388607.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint24' at row 1
+Warning 1264 Out of range value for column 'uint24' at row 1
INSERT INTO t1 VALUES ('16777215.4');
INSERT INTO t1 VALUES ('16777215.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint24' at row 1
+Warning 1264 Out of range value for column 'uint24' at row 1
SELECT * FROM t1;
uint24
0
@@ -161,7 +161,7 @@ INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('9223372036854775807.4');
INSERT INTO t1 VALUES ('9223372036854775807.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint64' at row 1
+Warning 1264 Out of range value for column 'sint64' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-9223372036854775807.4');
@@ -169,7 +169,7 @@ INSERT INTO t1 VALUES ('-9223372036854775807.5');
INSERT INTO t1 VALUES ('-9223372036854775808.4');
INSERT INTO t1 VALUES ('-9223372036854775808.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'sint64' at row 1
+Warning 1264 Out of range value for column 'sint64' at row 1
SELECT * FROM t1;
sint64
0
@@ -191,11 +191,11 @@ INSERT INTO t1 VALUES ('9223372036854775807.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint64' at row 1
+Warning 1264 Out of range value for column 'uint64' at row 1
INSERT INTO t1 VALUES ('18446744073709551615.4');
INSERT INTO t1 VALUES ('18446744073709551615.5');
Warnings:
-Warning 1264 Out of range value adjusted for column 'uint64' at row 1
+Warning 1264 Out of range value for column 'uint64' at row 1
INSERT INTO t1 VALUES ('1844674407370955161.0');
INSERT INTO t1 VALUES ('1844674407370955161.1');
INSERT INTO t1 VALUES ('1844674407370955161.2');
diff --git a/mysql-test/r/row.result b/mysql-test/r/row.result
index 702e66fea62..d3d7988316e 100644
--- a/mysql-test/r/row.result
+++ b/mysql-test/r/row.result
@@ -46,8 +46,8 @@ select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))
NULL
explain extended select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 ((1,2,(3,4)) in ((3,2,(3,4)),(1,2,(3,NULL)))) AS `row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))`
SELECT (1,2,3)=(0,NULL,3);
@@ -340,11 +340,11 @@ a b a b c
3 1 3 1 3
EXPLAIN SELECT * FROM t1,t2 WHERE t1.a=t2.a AND t1.b=2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 5 Using where; Using index
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using where; Using index
1 SIMPLE t2 ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
EXPLAIN SELECT * FROM t1,t2 WHERE (t1.a,t1.b)=(t2.a,2);
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 5 Using where; Using index
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using where; Using index
1 SIMPLE t2 ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
SELECT * FROM t1,t2 WHERE t1.a=1 and t1.b=t2.b;
a b a b c
@@ -363,9 +363,9 @@ a b a b c
3 2 3 1 1
3 2 3 1 3
EXPLAIN EXTENDED SELECT * FROM t1,t2 WHERE (t1.a,t1.b)=(t2.a,t2.b+1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using index
-1 SIMPLE t2 ref PRIMARY PRIMARY 4 test.t1.a 1 Using where; Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 100.00 Using index
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 test.t1.a 1 100.00 Using where; Using index
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`a` = `test`.`t1`.`a`) and (`test`.`t1`.`b` = (`test`.`t2`.`b` + 1)))
SELECT * FROM t1,t2 WHERE (t1.a,t1.b)=(t2.a,t2.b+1);
@@ -375,9 +375,9 @@ a b a b c
3 2 3 1 1
3 2 3 1 3
EXPLAIN EXTENDED SELECT * FROM t1,t2 WHERE (t1.a-1,t1.b)=(t2.a-1,t2.b+1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 8 NULL 6 Using index
-1 SIMPLE t2 index NULL PRIMARY 12 NULL 7 Using where; Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 index NULL PRIMARY 8 NULL 6 100.00 Using index
+1 SIMPLE t2 index NULL PRIMARY 12 NULL 7 100.00 Using where; Using index; Using join buffer
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t1` join `test`.`t2` where (((`test`.`t1`.`a` - 1) = (`test`.`t2`.`a` - 1)) and (`test`.`t1`.`b` = (`test`.`t2`.`b` + 1)))
SELECT * FROM t1,t2 WHERE (t1.a-1,t1.b)=(t2.a-1,t2.b+1);
@@ -401,9 +401,9 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using index
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 12 test.t1.a,const,const 1 Using index
EXPLAIN EXTENDED SELECT * FROM t1,t2 WHERE (t2.a,(t2.b,t2.c))=(t1.a,(2,1));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using index
-1 SIMPLE t2 eq_ref PRIMARY PRIMARY 12 test.t1.a,const,const 1 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 100.00 Using index
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 12 test.t1.a,const,const 1 100.00 Using index
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`c` = 1) and (`test`.`t2`.`b` = 2) and (`test`.`t2`.`a` = `test`.`t1`.`a`))
SELECT * FROM t1,t2 WHERE (t2.a,(t2.b,t2.c))=(t1.a,(2,1));
@@ -411,9 +411,9 @@ a b a b c
1 1 1 2 1
1 2 1 2 1
EXPLAIN EXTENDED SELECT * FROM t1,t2 WHERE t2.a=t1.a AND (t2.b,t2.c)=(2,1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 Using index
-1 SIMPLE t2 eq_ref PRIMARY PRIMARY 12 test.t1.a,const,const 1 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 6 100.00 Using index
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 12 test.t1.a,const,const 1 100.00 Using index
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`c` = 1) and (`test`.`t2`.`b` = 2) and (`test`.`t2`.`a` = `test`.`t1`.`a`))
SELECT * FROM t1,t2 WHERE t2.a=t1.a AND (t2.b,t2.c)=(2,1);
diff --git a/mysql-test/r/rowid_order_bdb.result b/mysql-test/r/rowid_order_bdb.result
deleted file mode 100644
index bbdc6f6ff77..00000000000
--- a/mysql-test/r/rowid_order_bdb.result
+++ /dev/null
@@ -1,186 +0,0 @@
-drop table if exists t1, t2, t3,t4;
-create table t1 (
-pk1 int not NULL,
-key1 int(11),
-key2 int(11),
-PRIMARY KEY (pk1),
-KEY key1 (key1),
-KEY key2 (key2)
-) engine=bdb;
-insert into t1 values (-5, 1, 1),
-(-100, 1, 1),
-(3, 1, 1),
-(0, 1, 1),
-(10, 1, 1);
-explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 5 Using sort_union(key1,key2); Using where
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 key1 key2
--100 1 1
--5 1 1
-0 1 1
-3 1 1
-10 1 1
-drop table t1;
-create table t1 (
-pk1 int unsigned not NULL,
-key1 int(11),
-key2 int(11),
-PRIMARY KEY (pk1),
-KEY key1 (key1),
-KEY key2 (key2)
-) engine=bdb;
-insert into t1 values (0, 1, 1),
-(0xFFFFFFFF, 1, 1),
-(0xFFFFFFFE, 1, 1),
-(1, 1, 1),
-(2, 1, 1);
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 key1 key2
-0 1 1
-1 1 1
-2 1 1
-4294967294 1 1
-4294967295 1 1
-drop table t1;
-create table t1 (
-pk1 char(4) not NULL,
-key1 int(11),
-key2 int(11),
-PRIMARY KEY (pk1),
-KEY key1 (key1),
-KEY key2 (key2)
-) engine=bdb collate latin2_general_ci;
-insert into t1 values ('a1', 1, 1),
-('b2', 1, 1),
-('A3', 1, 1),
-('B4', 1, 1);
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 key1 key2
-a1 1 1
-A3 1 1
-b2 1 1
-B4 1 1
-drop table t1;
-create table t1 (
-pk1 int not NULL,
-pk2 char(4) not NULL collate latin1_german1_ci,
-pk3 char(4) not NULL collate latin1_bin,
-key1 int(11),
-key2 int(11),
-PRIMARY KEY (pk1,pk2,pk3),
-KEY key1 (key1),
-KEY key2 (key2)
-) engine=bdb;
-insert into t1 values
-(1, 'u', 'u', 1, 1),
-(1, 'u', char(0xEC), 1, 1),
-(1, 'u', 'x', 1, 1);
-insert ignore into t1 select pk1, char(0xEC), pk3, key1, key2 from t1;
-insert ignore into t1 select pk1, 'x', pk3, key1, key2 from t1 where pk2='u';
-insert ignore into t1 select 2, pk2, pk3, key1, key2 from t1;
-select * from t1;
-pk1 pk2 pk3 key1 key2
-1 u 1 1
-1 x 1 1
-1 1 1
-1 u u 1 1
-1 u x 1 1
-1 u 1 1
-1 x u 1 1
-1 x x 1 1
-1 x 1 1
-2 u 1 1
-2 x 1 1
-2 1 1
-2 u u 1 1
-2 u x 1 1
-2 u 1 1
-2 x u 1 1
-2 x x 1 1
-2 x 1 1
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 pk2 pk3 key1 key2
-1 u 1 1
-1 x 1 1
-1 1 1
-1 u u 1 1
-1 u x 1 1
-1 u 1 1
-1 x u 1 1
-1 x x 1 1
-1 x 1 1
-2 u 1 1
-2 x 1 1
-2 1 1
-2 u u 1 1
-2 u x 1 1
-2 u 1 1
-2 x u 1 1
-2 x x 1 1
-2 x 1 1
-alter table t1 drop primary key;
-select * from t1;
-pk1 pk2 pk3 key1 key2
-1 u 1 1
-1 x 1 1
-1 1 1
-1 u u 1 1
-1 u x 1 1
-1 u 1 1
-1 x u 1 1
-1 x x 1 1
-1 x 1 1
-2 u 1 1
-2 x 1 1
-2 1 1
-2 u u 1 1
-2 u x 1 1
-2 u 1 1
-2 x u 1 1
-2 x x 1 1
-2 x 1 1
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 pk2 pk3 key1 key2
-1 u 1 1
-1 x 1 1
-1 1 1
-1 u u 1 1
-1 u x 1 1
-1 u 1 1
-1 x u 1 1
-1 x x 1 1
-1 x 1 1
-2 u 1 1
-2 x 1 1
-2 1 1
-2 u u 1 1
-2 u x 1 1
-2 u 1 1
-2 x u 1 1
-2 x x 1 1
-2 x 1 1
-drop table t1;
-create table t1 (
-pk1 varchar(8) NOT NULL default '',
-pk2 varchar(4) NOT NULL default '',
-key1 int(11),
-key2 int(11),
-primary key(pk1, pk2),
-KEY key1 (key1),
-KEY key2 (key2)
-) engine=bdb;
-insert into t1 values ('','empt',2,2),
-('a','a--a',2,2),
-('bb','b--b',2,2),
-('ccc','c--c',2,2),
-('dddd','d--d',2,2);
-select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
-pk1 pk2 key1 key2
- empt 2 2
-a a--a 2 2
-bb b--b 2 2
-ccc c--c 2 2
-dddd d--d 2 2
-drop table t1;
diff --git a/mysql-test/r/rowid_order_innodb.result b/mysql-test/r/rowid_order_innodb.result
index f76002e9cb2..e0796cd7ab5 100644
--- a/mysql-test/r/rowid_order_innodb.result
+++ b/mysql-test/r/rowid_order_innodb.result
@@ -1,12 +1,13 @@
+SET SESSION STORAGE_ENGINE = InnoDB;
drop table if exists t1, t2, t3,t4;
-create table t1 (
+create table t1 (
pk1 int not NULL,
key1 int(11),
key2 int(11),
PRIMARY KEY (pk1),
KEY key1 (key1),
KEY key2 (key2)
-) engine=innodb;
+);
insert into t1 values (-5, 1, 1),
(-100, 1, 1),
(3, 1, 1),
@@ -23,14 +24,14 @@ pk1 key1 key2
3 1 1
10 1 1
drop table t1;
-create table t1 (
+create table t1 (
pk1 int unsigned not NULL,
key1 int(11),
key2 int(11),
PRIMARY KEY (pk1),
KEY key1 (key1),
KEY key2 (key2)
-) engine=innodb;
+);
insert into t1 values (0, 1, 1),
(0xFFFFFFFF, 1, 1),
(0xFFFFFFFE, 1, 1),
@@ -44,14 +45,14 @@ pk1 key1 key2
4294967294 1 1
4294967295 1 1
drop table t1;
-create table t1 (
+create table t1 (
pk1 char(4) not NULL,
key1 int(11),
key2 int(11),
PRIMARY KEY (pk1),
KEY key1 (key1),
KEY key2 (key2)
-) engine=innodb collate latin2_general_ci;
+) collate latin2_general_ci;
insert into t1 values ('a1', 1, 1),
('b2', 1, 1),
('A3', 1, 1),
@@ -72,8 +73,8 @@ key2 int(11),
PRIMARY KEY (pk1,pk2,pk3),
KEY key1 (key1),
KEY key2 (key2)
-) engine=innodb;
-insert into t1 values
+);
+insert into t1 values
(1, 'u', 'u', 1, 1),
(1, 'u', char(0xEC), 1, 1),
(1, 'u', 'x', 1, 1);
@@ -170,7 +171,7 @@ key2 int(11),
primary key(pk1, pk2),
KEY key1 (key1),
KEY key2 (key2)
-) engine=innodb;
+);
insert into t1 values ('','empt',2,2),
('a','a--a',2,2),
('bb','b--b',2,2),
diff --git a/mysql-test/r/rpl000001.a.result b/mysql-test/r/rpl000001.a.result
deleted file mode 100644
index c52b83d729a..00000000000
--- a/mysql-test/r/rpl000001.a.result
+++ /dev/null
@@ -1,3 +0,0 @@
-n
-1
-2
diff --git a/mysql-test/r/rpl000001.b.result b/mysql-test/r/rpl000001.b.result
deleted file mode 100644
index 5108cfdaf26..00000000000
--- a/mysql-test/r/rpl000001.b.result
+++ /dev/null
@@ -1,2 +0,0 @@
-sum(length(word))
-71
diff --git a/mysql-test/r/rpl000001.result b/mysql-test/r/rpl000001.result
deleted file mode 100644
index 3b4cd05f640..00000000000
--- a/mysql-test/r/rpl000001.result
+++ /dev/null
@@ -1,82 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (word char(20) not null);
-load data infile '../std_data_ln/words.dat' into table t1;
-load data local infile 'MYSQL_TEST_DIR/std_data/words.dat' into table t1;
-select * from t1 limit 10;
-word
-Aarhus
-Aaron
-Ababa
-aback
-abaft
-abandon
-abandoned
-abandoning
-abandonment
-abandons
-stop slave;
-set password for root@"localhost" = password('foo');
-start slave;
-set password for root@"localhost" = password('');
-create table t3(n int);
-insert into t3 values(1),(2);
-select * from t3;
-n
-1
-2
-select sum(length(word)) from t1;
-sum(length(word))
-1022
-drop table t1,t3;
-create table t1 (n int) engine=myisam;
-reset master;
-stop slave;
-reset slave;
-lock tables t1 read;
-start slave;
-unlock tables;
-create table t2(id int);
-insert into t2 values(connection_id());
-create temporary table t3(n int);
-insert into t3 select get_lock('crash_lock%20C', 1) from t2;
-update t1 set n = n + get_lock('crash_lock%20C', 2);
-select (@id := id) - id from t2;
-(@id := id) - id
-0
-kill @id;
-drop table t2;
-Got one of the listed errors
-set global sql_slave_skip_counter=1;
-start slave;
-select count(*) from t1;
-count(*)
-5000
-drop table t1;
-create table t1 (n int);
-insert into t1 values(3456);
-insert into mysql.user (Host, User, Password)
-VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
-Warnings:
-Warning 1364 Field 'ssl_cipher' doesn't have a default value
-Warning 1364 Field 'x509_issuer' doesn't have a default value
-Warning 1364 Field 'x509_subject' doesn't have a default value
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-select_priv user
-N blafasel2
-update mysql.user set Select_priv = "Y" where User= _binary"blafasel2";
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-select_priv user
-Y blafasel2
-select n from t1;
-n
-3456
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-select_priv user
-Y blafasel2
-drop table t1;
-delete from mysql.user where user="blafasel2";
diff --git a/mysql-test/r/rpl000002.result b/mysql-test/r/rpl000002.result
deleted file mode 100644
index e5e661795fe..00000000000
--- a/mysql-test/r/rpl000002.result
+++ /dev/null
@@ -1,46 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int auto_increment primary key);
-set insert_id = 2000;
-insert into t1 values (NULL),(NULL),(NULL);
-select * from t1;
-n
-2000
-2001
-2002
-show slave hosts;
-Server_id Host Port Rpl_recovery_rank Master_id
-2 127.0.0.1 9999 2 1
-drop table t1;
-stop slave;
-create table t2(id int auto_increment primary key, created datetime);
-set timestamp=12345;
-insert into t2 set created=now();
-select * from t2;
-id created
-1 1970-01-01 06:25:45
-create table t3 like t2;
-create temporary table t4 like t2;
-create table t5 select * from t4;
-start slave;
-select * from t2;
-id created
-1 1970-01-01 06:25:45
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `id` int(11) NOT NULL auto_increment,
- `created` datetime default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-show create table t5;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `id` int(11) NOT NULL default '0',
- `created` datetime default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t2,t3,t5;
diff --git a/mysql-test/r/rpl000004.a.result b/mysql-test/r/rpl000004.a.result
deleted file mode 100644
index 694d7429a14..00000000000
--- a/mysql-test/r/rpl000004.a.result
+++ /dev/null
@@ -1,2 +0,0 @@
-Table Op Msg_type Msg_text
-test.t1 check status OK
diff --git a/mysql-test/r/rpl000004.b.result b/mysql-test/r/rpl000004.b.result
deleted file mode 100644
index 7e05933909e..00000000000
--- a/mysql-test/r/rpl000004.b.result
+++ /dev/null
@@ -1,2 +0,0 @@
-count(*)
-10
diff --git a/mysql-test/r/rpl000004.result b/mysql-test/r/rpl000004.result
deleted file mode 100644
index e25a48939e3..00000000000
--- a/mysql-test/r/rpl000004.result
+++ /dev/null
@@ -1,28 +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 SQL_LOG_BIN=0;
-create table t1 (word char(20) not null, index(word));
-load data infile '../std_data_ln/words.dat' into table t1;
-create table t2 (word char(20) not null);
-load data infile '../std_data_ln/words.dat' into table t2;
-create table t3 (word char(20) not null primary key);
-load table t1 from master;
-load table t2 from master;
-load table t3 from master;
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-select count(*) from t2;
-count(*)
-70
-select count(*) from t3;
-count(*)
-0
-set SQL_LOG_BIN=1;
-drop table if exists t1,t2,t3;
-create table t1(n int);
-drop table t1;
diff --git a/mysql-test/r/rpl000005.result b/mysql-test/r/rpl000005.result
deleted file mode 100644
index 8acfa2cbfac..00000000000
--- a/mysql-test/r/rpl000005.result
+++ /dev/null
@@ -1,25 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SHOW VARIABLES LIKE 'relay_log_space_limit';
-Variable_name Value
-relay_log_space_limit 0
-CREATE TABLE t1 (name varchar(64), age smallint(3));
-INSERT INTO t1 SET name='Andy', age=31;
-INSERT t1 SET name='Jacob', age=2;
-INSERT into t1 SET name='Caleb', age=1;
-ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;
-select * from t1;
-name age id
-Andy 31 00000001
-Jacob 2 00000002
-Caleb 1 00000003
-select * from t1;
-name age id
-Andy 31 00000001
-Jacob 2 00000002
-Caleb 1 00000003
-drop table t1;
diff --git a/mysql-test/r/rpl000006.result b/mysql-test/r/rpl000006.result
deleted file mode 100644
index e4c2006c2f0..00000000000
--- a/mysql-test/r/rpl000006.result
+++ /dev/null
@@ -1,29 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set SQL_LOG_BIN=0,timestamp=200006;
-create table t1(t timestamp not null,a char(1));
-insert into t1 ( a) values ('F');
-select unix_timestamp(t) from t1;
-unix_timestamp(t)
-200006
-load table t1 from master;
-select unix_timestamp(t) from t1;
-unix_timestamp(t)
-200006
-set SQL_LOG_BIN=1,timestamp=default;
-drop table t1;
-set SQL_LOG_BIN=0;
-CREATE TABLE t1 (
-a int not null
-) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
-INSERT INTO t1 VALUES (1);
-load table t1 from master;
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-drop table t1;
-drop table t1;
diff --git a/mysql-test/r/rpl000008.result b/mysql-test/r/rpl000008.result
deleted file mode 100644
index a88a3c690ed..00000000000
--- a/mysql-test/r/rpl000008.result
+++ /dev/null
@@ -1,23 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-use test;
-drop table if exists mysqltest_foo;
-drop table if exists mysqltest_bar;
-create table mysqltest_foo (n int);
-insert into mysqltest_foo values(4);
-use test;
-create table mysqltest_foo (n int);
-insert into mysqltest_foo values(5);
-create table mysqltest_bar (m int);
-insert into mysqltest_bar values(15);
-create table t1 (k int);
-insert into t1 values(55);
-select mysqltest_foo.n,mysqltest_bar.m,t1.k from mysqltest_foo,mysqltest_bar,t1;
-n m k
-4 15 55
-drop table mysqltest_foo,mysqltest_bar,t1;
-drop table mysqltest_foo,mysqltest_bar,t1;
diff --git a/mysql-test/r/rpl000009.result b/mysql-test/r/rpl000009.result
deleted file mode 100644
index a4dbf54f39b..00000000000
--- a/mysql-test/r/rpl000009.result
+++ /dev/null
@@ -1,139 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
-drop database if exists mysqltest2;
-drop database if exists mysqltest3;
-drop database if exists mysqltest;
-drop database if exists mysqltest2;
-drop database if exists mysqltest3;
-create database mysqltest2;
-create database mysqltest;
-create database mysqltest2;
-create table mysqltest2.foo (n int);
-insert into mysqltest2.foo values(4);
-create table mysqltest2.foo (n int);
-insert into mysqltest2.foo values(5);
-create table mysqltest.bar (m int);
-insert into mysqltest.bar values(15);
-select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
-n m
-4 15
-drop database mysqltest;
-drop database if exists mysqltest2;
-drop database mysqltest;
-ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
-drop database mysqltest2;
-set sql_log_bin = 0;
-create database mysqltest2;
-create database mysqltest;
-show databases;
-Database
-information_schema
-mysql
-mysqltest
-mysqltest2
-test
-create table mysqltest2.t1(n int, s char(20));
-create table mysqltest2.t2(n int, s text);
-insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
-insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
-create table mysqltest.t1(n int, s char(20));
-create table mysqltest.t2(n int, s text);
-insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
-insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
-(13, 'thirteen test');
-set sql_log_bin = 1;
-show databases;
-Database
-information_schema
-mysql
-test
-create database mysqltest2;
-create table mysqltest2.t1(n int, s char(20));
-insert into mysqltest2.t1 values (1, 'original foo.t1');
-create table mysqltest2.t3(n int, s char(20));
-insert into mysqltest2.t3 values (1, 'original foo.t3');
-create database mysqltest3;
-create table mysqltest3.t1(n int, s char(20));
-insert into mysqltest3.t1 values (1, 'original foo2.t1');
-create database mysqltest;
-create table mysqltest.t1(n int, s char(20));
-insert into mysqltest.t1 values (1, 'original bar.t1');
-create table mysqltest.t3(n int, s char(20));
-insert into mysqltest.t3 values (1, 'original bar.t3');
-load data from master;
-show databases;
-Database
-information_schema
-mysql
-mysqltest
-mysqltest2
-mysqltest3
-test
-use mysqltest2;
-show tables;
-Tables_in_mysqltest2
-t1
-t3
-select * from t1;
-n s
-1 original foo.t1
-use mysqltest3;
-show tables;
-Tables_in_mysqltest3
-t1
-select * from t1;
-n s
-1 original foo2.t1
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-t1
-t2
-t3
-select * from mysqltest.t1;
-n s
-1 one test
-2 two test
-3 three test
-select * from mysqltest.t2;
-n s
-11 eleven test
-12 twelve test
-13 thirteen test
-select * from mysqltest.t3;
-n s
-1 original bar.t3
-insert into mysqltest.t1 values (4, 'four test');
-select * from mysqltest.t1;
-n s
-1 one test
-2 two test
-3 three test
-4 four test
-stop slave;
-reset slave;
-load data from master;
-start slave;
-insert into mysqltest.t1 values (5, 'five bar');
-select * from mysqltest.t1;
-n s
-1 one test
-2 two test
-3 three test
-4 four test
-5 five bar
-load table mysqltest.t1 from master;
-ERROR 42S01: Table 't1' already exists
-drop table mysqltest.t1;
-load table mysqltest.t1 from master;
-load table bar.t1 from master;
-ERROR HY000: Error from master: 'Table 'bar.t1' doesn't exist'
-drop database mysqltest;
-drop database mysqltest2;
-drop database mysqltest2;
-drop database mysqltest3;
diff --git a/mysql-test/r/rpl000010.result b/mysql-test/r/rpl000010.result
deleted file mode 100644
index 65191ea411f..00000000000
--- a/mysql-test/r/rpl000010.result
+++ /dev/null
@@ -1,14 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int not null auto_increment primary key);
-insert into t1 values(NULL);
-insert into t1 values(2);
-select n from t1;
-n
-1
-2
-drop table t1;
diff --git a/mysql-test/r/rpl000011.result b/mysql-test/r/rpl000011.result
deleted file mode 100644
index dd0fa2fbe74..00000000000
--- a/mysql-test/r/rpl000011.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int);
-insert into t1 values(1);
-stop slave;
-start slave;
-insert into t1 values(2);
-select * from t1;
-n
-1
-2
-drop table t1;
diff --git a/mysql-test/r/rpl000012.result b/mysql-test/r/rpl000012.result
deleted file mode 100644
index 17fb53010ab..00000000000
--- a/mysql-test/r/rpl000012.result
+++ /dev/null
@@ -1,37 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t2 (n int);
-create temporary table t1 (n int);
-insert into t1 values(1),(2),(3);
-insert into t2 select * from t1;
-create temporary table t3 (n int not null);
-alter table t3 add primary key(n);
-flush logs;
-insert into t3 values (100);
-insert into t2 select * from t3;
-drop table if exists t3;
-insert into t2 values (101);
-create temporary table t1 (n int);
-insert into t1 values (4),(5);
-insert into t2 select * from t1;
-insert into t2 values(6);
-select * from t2;
-n
-1
-2
-3
-100
-101
-4
-5
-6
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 0
-drop table if exists t1,t2;
-Warnings:
-Note 1051 Unknown table 't1'
diff --git a/mysql-test/r/rpl000013.result b/mysql-test/r/rpl000013.result
deleted file mode 100644
index 37838bb88e0..00000000000
--- a/mysql-test/r/rpl000013.result
+++ /dev/null
@@ -1,28 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t2(n int);
-create temporary table t1 (n int);
-insert into t1 values(1),(2),(3);
-insert into t2 select * from t1;
-create temporary table t1 (n int);
-insert into t1 values (4),(5);
-insert into t2 select * from t1 as t10;
-insert into t2 values(6);
-select * from t2;
-n
-1
-2
-3
-4
-5
-6
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 0
-drop table if exists t1,t2;
-Warnings:
-Note 1051 Unknown table 't1'
diff --git a/mysql-test/r/rpl000015.result b/mysql-test/r/rpl000015.result
deleted file mode 100644
index 080ef436a2e..00000000000
--- a/mysql-test/r/rpl000015.result
+++ /dev/null
@@ -1,29 +0,0 @@
-reset master;
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
-reset slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-change master to master_host='127.0.0.1';
-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
-# 127.0.0.1 test DEFAULT_MASTER_PORT 7 4 # # No No 0 0 0 # None 0 No #
-change master to master_host='127.0.0.1',master_user='root',
-master_password='',master_port=MASTER_PORT;
-show slave status;
-Slave_IO_State Master_Host 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
-# 127.0.0.1 root MASTER_PORT 7 4 # # No No 0 0 0 # None 0 No #
-start slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 7 master-bin.000001 98 # # master-bin.000001 Yes Yes 0 0 98 # None 0 No #
-drop table if exists t1;
-create table t1 (n int);
-insert into t1 values (10),(45),(90);
-select * from t1;
-n
-10
-45
-90
-drop table t1;
diff --git a/mysql-test/r/rpl000017.result b/mysql-test/r/rpl000017.result
deleted file mode 100644
index 7a283699370..00000000000
--- a/mysql-test/r/rpl000017.result
+++ /dev/null
@@ -1,12 +0,0 @@
-reset master;
-grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
-grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
-start slave;
-drop table if exists t1;
-create table t1(n int);
-insert into t1 values(24);
-select * from t1;
-n
-24
-drop table t1;
-delete from mysql.user where user="replicate";
diff --git a/mysql-test/r/rpl_EE_error.result b/mysql-test/r/rpl_EE_error.result
deleted file mode 100644
index f4765b4b13c..00000000000
--- a/mysql-test/r/rpl_EE_error.result
+++ /dev/null
@@ -1,18 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int) engine=myisam;
-flush tables;
-drop table if exists t1;
-Warnings:
-Error 2 Can't find file: 't1' (errno: 2)
-create table t1 (a int, unique(a)) engine=myisam;
-set sql_log_bin=0;
-insert into t1 values(2);
-set sql_log_bin=1;
-insert into t1 values(1),(2);
-ERROR 23000: Duplicate entry '2' for key 1
-drop table t1;
diff --git a/mysql-test/r/rpl_alter.result b/mysql-test/r/rpl_alter.result
deleted file mode 100644
index 6ef5ce3462a..00000000000
--- a/mysql-test/r/rpl_alter.result
+++ /dev/null
@@ -1,21 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
-create database mysqltest;
-create table mysqltest.t1 ( n int);
-alter table mysqltest.t1 add m int;
-insert into mysqltest.t1 values (1,2);
-create table mysqltest.t2 (n int);
-insert into mysqltest.t2 values (45);
-rename table mysqltest.t2 to mysqltest.t3, mysqltest.t1 to mysqltest.t2;
-select * from mysqltest.t2;
-n m
-1 2
-select * from mysqltest.t3;
-n
-45
-drop database mysqltest;
diff --git a/mysql-test/r/rpl_auto_increment.result b/mysql-test/r/rpl_auto_increment.result
deleted file mode 100644
index ea4815e5e64..00000000000
--- a/mysql-test/r/rpl_auto_increment.result
+++ /dev/null
@@ -1,229 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3;
-insert into t1 values (NULL,1),(NULL,2),(NULL,3);
-select * from t1;
-a b
-12 1
-22 2
-32 3
-select * from t1;
-a b
-12 1
-22 2
-32 3
-drop table t1;
-create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam;
-insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
-delete from t1 where b=4;
-insert into t1 values (NULL,5),(NULL,6);
-select * from t1;
-a b
-1 1
-2 2
-3 3
-22 5
-32 6
-select * from t1;
-a b
-1 1
-2 2
-3 3
-22 5
-32 6
-drop table t1;
-set @@session.auto_increment_increment=100, @@session.auto_increment_offset=10;
-show variables like "%auto_inc%";
-Variable_name Value
-auto_increment_increment 100
-auto_increment_offset 10
-create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert into t1 values (NULL),(5),(NULL);
-insert into t1 values (250),(NULL);
-select * from t1;
-a
-5
-10
-110
-250
-310
-insert into t1 values (1000);
-set @@insert_id=400;
-insert into t1 values(NULL),(NULL);
-select * from t1;
-a
-5
-10
-110
-250
-310
-400
-410
-1000
-select * from t1;
-a
-5
-10
-110
-250
-310
-400
-410
-1000
-drop table t1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=innodb;
-insert into t1 values (NULL),(5),(NULL);
-insert into t1 values (250),(NULL);
-select * from t1;
-a
-5
-10
-110
-250
-310
-insert into t1 values (1000);
-set @@insert_id=400;
-insert into t1 values(NULL),(NULL);
-select * from t1;
-a
-5
-10
-110
-250
-310
-400
-410
-1000
-select * from t1;
-a
-5
-10
-110
-250
-310
-400
-410
-1000
-drop table t1;
-set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert into t1 values (NULL),(5),(NULL),(NULL);
-insert into t1 values (500),(NULL),(502),(NULL),(NULL);
-select * from t1;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-504
-set @@insert_id=600;
-insert into t1 values(600),(NULL),(NULL);
-ERROR 23000: Duplicate entry '600' for key 1
-set @@insert_id=600;
-insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
-select * from t1;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-504
-600
-610
-611
-select * from t1;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-504
-600
-610
-611
-drop table t1;
-set @@session.auto_increment_increment=10, @@session.auto_increment_offset=1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert into t1 values(2),(12),(22),(32),(42);
-insert into t1 values (NULL),(NULL);
-insert into t1 values (3),(NULL),(NULL);
-select * from t1;
-a
-1
-3
-11
-21
-31
-select * from t1;
-a
-1
-2
-3
-11
-12
-21
-22
-31
-32
-42
-drop table t1;
-create table t1 (a tinyint not null auto_increment primary key) engine=myisam;
-insert into t1 values(103);
-set auto_increment_increment=11;
-set auto_increment_offset=4;
-insert into t1 values(null);
-insert into t1 values(null);
-insert into t1 values(null);
-ERROR 23000: Duplicate entry '125' for key 1
-select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t1 order by a;
-a mod(a-@@auto_increment_offset,@@auto_increment_increment)
-103 0
-114 0
-125 0
-create table t2 (a tinyint unsigned not null auto_increment primary key) engine=myisam;
-set auto_increment_increment=10;
-set auto_increment_offset=1;
-set insert_id=1000;
-insert into t2 values(null);
-Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t2 order by a;
-a mod(a-@@auto_increment_offset,@@auto_increment_increment)
-251 0
-create table t3 like t1;
-set auto_increment_increment=1000;
-set auto_increment_offset=700;
-insert into t3 values(null);
-Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-select * from t3 order by a;
-a
-127
-select * from t1 order by a;
-a
-103
-114
-125
-select * from t2 order by a;
-a
-251
-select * from t3 order by a;
-a
-127
-drop table t1,t2,t3;
diff --git a/mysql-test/r/rpl_auto_increment_11932.result b/mysql-test/r/rpl_auto_increment_11932.result
deleted file mode 100644
index 25eda6ee454..00000000000
--- a/mysql-test/r/rpl_auto_increment_11932.result
+++ /dev/null
@@ -1,47 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists test1;
-create database test1;
-use test1;
-CREATE TABLE `t1` (
-`id` int(10) unsigned NOT NULL auto_increment,
-`fname` varchar(100) default NULL,
-PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
-INSERT INTO `t1` VALUES (1, 'blablabla');
-CREATE TABLE `t2` (
-`id` int(10) NOT NULL auto_increment,
-`comment` varchar(255) NOT NULL default '',
-PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=3 ;
-INSERT INTO `t2` VALUES (1, 'testtest 1');
-INSERT INTO `t2` VALUES (2, 'test 2');
-CREATE PROCEDURE simpleproc3 ()
-NOT DETERMINISTIC
-BEGIN
-INSERT INTO t1 (fname) (SELECT t2.comment FROM t2 WHERE t2.id = '1');
-INSERT INTO t1 (fname) VALUES('test');
-END
-$
-CALL simpleproc3();
-select * from t2;
-id comment
-1 testtest 1
-2 test 2
-TRUNCATE TABLE `t1`;
-CALL simpleproc3();
-select * from t1;
-id fname
-1 testtest 1
-2 test
-use test1;
-select * from t1;
-id fname
-1 testtest 1
-2 test
-drop database test1;
-drop database test1;
diff --git a/mysql-test/r/rpl_change_master.result b/mysql-test/r/rpl_change_master.result
deleted file mode 100644
index 98c42069470..00000000000
--- a/mysql-test/r/rpl_change_master.result
+++ /dev/null
@@ -1,88 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(n int);
-select * from t1;
-n
-stop slave sql_thread;
-insert into t1 values(1);
-insert into t1 values(2);
-stop slave;
-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 357
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-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 183
-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 #
-change master to master_user='root';
-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 183
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-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 183
-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 #
-start slave;
-select * from t1;
-n
-1
-2
-drop table t1;
diff --git a/mysql-test/r/rpl_charset.result b/mysql-test/r/rpl_charset.result
deleted file mode 100644
index 4b6d9f44a2b..00000000000
--- a/mysql-test/r/rpl_charset.result
+++ /dev/null
@@ -1,269 +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("Mller","Muffler"));
-set collation_connection=latin1_german2_ci;
-insert into t1 (b) values(@@collation_connection);
-insert into t1 (b) values(LEAST("Mller","Muffler"));
-
---- --master--
-select * from t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Mller
-
---- --slave--
-select * from mysqltest2.t1 order by a;
-a b
-1 latin1_german1_ci
-2 Muffler
-3 latin1_german2_ci
-4 Mller
-set @a= _cp850 'Mller' 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 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # drop database if exists mysqltest2
-master-bin.000001 # Query 1 # drop database if exists mysqltest3
-master-bin.000001 # Query 1 # create database mysqltest2 character set latin2
-master-bin.000001 # Query 1 # create database mysqltest3
-master-bin.000001 # Query 1 # drop database mysqltest3
-master-bin.000001 # Query 1 # create database mysqltest3
-master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
-master-bin.000001 # Intvar 1 # INSERT_ID=1
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@character_set_server)
-master-bin.000001 # Intvar 1 # INSERT_ID=2
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@collation_server)
-master-bin.000001 # Intvar 1 # INSERT_ID=3
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@character_set_client)
-master-bin.000001 # Intvar 1 # INSERT_ID=4
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@character_set_connection)
-master-bin.000001 # Intvar 1 # INSERT_ID=5
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
-master-bin.000001 # Intvar 1 # INSERT_ID=1
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Intvar 1 # INSERT_ID=2
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(LEAST("Mller","Muffler"))
-master-bin.000001 # Intvar 1 # INSERT_ID=3
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(@@collation_connection)
-master-bin.000001 # Intvar 1 # INSERT_ID=4
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(LEAST("Mller","Muffler"))
-master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
-master-bin.000001 # Intvar 1 # INSERT_ID=1
-master-bin.000001 # User var 1 # @`a`=_cp850 0x4DFC6C6C6572 COLLATE cp850_general_ci
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t1 (b) values(collation(@a))
-master-bin.000001 # Query 1 # drop database mysqltest2
-master-bin.000001 # Query 1 # 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
-/*!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("Mller","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("Mller","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/r/rpl_charset_sjis.result b/mysql-test/r/rpl_charset_sjis.result
deleted file mode 100644
index 770ad0588d1..00000000000
--- a/mysql-test/r/rpl_charset_sjis.result
+++ /dev/null
@@ -1,26 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1;
-drop procedure if exists p1;
-create table t1 (a varchar(255) character set sjis);
-create procedure p1 (in a varchar(255) character set sjis) insert into t1 values (a);
-SET NAMES binary;
-CALL p1 ('\\');
-select "--- on master ---";
---- on master ---
---- on master ---
-select hex(a) from t1 ;
-hex(a)
-965C
-select "--- on slave ---";
---- on slave ---
---- on slave ---
-select hex(a) from t1;
-hex(a)
-965C
-drop table t1;
-drop procedure p1;
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_commit_after_flush.result b/mysql-test/r/rpl_commit_after_flush.result
deleted file mode 100644
index d3aba779219..00000000000
--- a/mysql-test/r/rpl_commit_after_flush.result
+++ /dev/null
@@ -1,13 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int) engine=innodb;
-begin;
-insert into t1 values(1);
-flush tables with read lock;
-commit;
-unlock tables;
-drop table t1;
diff --git a/mysql-test/r/rpl_create_database.result b/mysql-test/r/rpl_create_database.result
deleted file mode 100644
index ca4585d0d8d..00000000000
--- a/mysql-test/r/rpl_create_database.result
+++ /dev/null
@@ -1,87 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP DATABASE IF EXISTS mysqltest_prometheus;
-DROP DATABASE IF EXISTS mysqltest_sisyfos;
-DROP DATABASE IF EXISTS mysqltest_bob;
-DROP DATABASE IF EXISTS mysqltest_bob;
-CREATE DATABASE mysqltest_prometheus;
-CREATE DATABASE mysqltest_sisyfos;
-CREATE DATABASE mysqltest_bob;
-USE mysqltest_sisyfos;
-CREATE TABLE t1 (b int);
-INSERT INTO t1 VALUES(1);
-USE mysqltest_bob;
-CREATE TABLE t2 (b int);
-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
-mysql
-mysqltest_bob
-mysqltest_prometheus
-mysqltest_sisyfos
-test
-SHOW DATABASES;
-Database
-information_schema
-mysql
-mysqltest_prometheus
-mysqltest_sisyfos
-test
-DROP DATABASE IF EXISTS mysqltest_sisyfos;
-USE mysqltest_prometheus;
-CREATE TABLE t1 (a INT);
-INSERT INTO t1 VALUES (1);
-CREATE DATABASE mysqltest_sisyfos;
-USE mysqltest_sisyfos;
-CREATE TABLE t2 (a INT);
-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 # DROP DATABASE IF EXISTS mysqltest_prometheus
-master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS mysqltest_sisyfos
-master-bin.000001 # Query 1 # CREATE DATABASE mysqltest_prometheus
-master-bin.000001 # Query 1 # CREATE DATABASE mysqltest_sisyfos
-master-bin.000001 # Query 1 # use `mysqltest_sisyfos`; CREATE TABLE t1 (b int)
-master-bin.000001 # Query 1 # use `mysqltest_sisyfos`; INSERT INTO t1 VALUES(1)
-master-bin.000001 # Query 1 # ALTER DATABASE mysqltest_sisyfos CHARACTER SET latin1
-master-bin.000001 # Query 1 # DROP DATABASE IF EXISTS mysqltest_sisyfos
-master-bin.000001 # Query 1 # use `mysqltest_prometheus`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query 1 # use `mysqltest_prometheus`; INSERT INTO t1 VALUES (1)
-master-bin.000001 # Query 1 # CREATE DATABASE mysqltest_sisyfos
-master-bin.000001 # Query 1 # use `mysqltest_sisyfos`; CREATE TABLE t2 (a INT)
-SHOW DATABASES;
-Database
-information_schema
-mysql
-mysqltest_bob
-mysqltest_prometheus
-mysqltest_sisyfos
-test
-SHOW DATABASES;
-Database
-information_schema
-mysql
-mysqltest_prometheus
-mysqltest_sisyfos
-test
-SHOW CREATE TABLE mysqltest_prometheus.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE mysqltest_sisyfos.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP DATABASE IF EXISTS mysqltest_prometheus;
-DROP DATABASE IF EXISTS mysqltest_sisyfos;
-DROP DATABASE IF EXISTS mysqltest_bob;
diff --git a/mysql-test/r/rpl_critical_errors.result b/mysql-test/r/rpl_critical_errors.result
deleted file mode 100644
index bcc53565084..00000000000
--- a/mysql-test/r/rpl_critical_errors.result
+++ /dev/null
@@ -1 +0,0 @@
-Turn on parsing to run this test
diff --git a/mysql-test/r/rpl_critical_errors.result.txt b/mysql-test/r/rpl_critical_errors.result.txt
deleted file mode 100644
index 0df2e1ef369..00000000000
--- a/mysql-test/r/rpl_critical_errors.result.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (data LONGBLOB) ENGINE=MYISAM;
-CREATE TABLE t2 (data LONGBLOB) ENGINE=MYISAM;
-INSERT INTO t1 (data) VALUES (repeat('a',1024*1024));
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t2 SELECT * FROM t1;
-KILL QUERY 2;
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-0
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1317
-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 #
diff --git a/mysql-test/r/rpl_ddl.result b/mysql-test/r/rpl_ddl.result
deleted file mode 100644
index 92e91b31459..00000000000
--- a/mysql-test/r/rpl_ddl.result
+++ /dev/null
@@ -1,1693 +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 AUTOCOMMIT = 1;
-DROP DATABASE IF EXISTS mysqltest1;
-DROP DATABASE IF EXISTS mysqltest2;
-DROP DATABASE IF EXISTS mysqltest3;
-CREATE DATABASE mysqltest1;
-CREATE DATABASE mysqltest2;
-CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE= "InnoDB";
-INSERT INTO mysqltest1.t1 SET f1= 0;
-CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
-CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE= "InnoDB";
-INSERT INTO mysqltest1.t7 SET f1= 0;
-CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE= "InnoDB";
-CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT);
-SET AUTOCOMMIT = 0;
-use mysqltest1;
-
--------- switch to slave --------
-SET AUTOCOMMIT = 0;
-use mysqltest1;
-
--------- switch to master -------
-
-######## COMMIT ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 0 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-COMMIT;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## ROLLBACK ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 1 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## SET AUTOCOMMIT=1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 1 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-SET AUTOCOMMIT=1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SET AUTOCOMMIT=0;
-
-######## START TRANSACTION ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 2 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to master -------
-START TRANSACTION;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## BEGIN ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 3 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to master -------
-BEGIN;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## DROP TABLE mysqltest1.t2 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 4 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to master -------
-DROP TABLE mysqltest1.t2;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW TABLES LIKE 't2';
-Tables_in_mysqltest1 (t2)
-
--------- switch to slave --------
-SHOW TABLES LIKE 't2';
-Tables_in_mysqltest1 (t2)
-
--------- switch to master -------
-
-######## DROP TEMPORARY TABLE mysqltest1.t23 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 5 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-DROP TEMPORARY TABLE mysqltest1.t23;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW TABLES LIKE 't23';
-Tables_in_mysqltest1 (t23)
-
--------- switch to slave --------
-SHOW TABLES LIKE 't23';
-Tables_in_mysqltest1 (t23)
-
--------- switch to master -------
-
-######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 5 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to master -------
-RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW TABLES LIKE 't20';
-Tables_in_mysqltest1 (t20)
-t20
-
--------- switch to slave --------
-SHOW TABLES LIKE 't20';
-Tables_in_mysqltest1 (t20)
-t20
-
--------- switch to master -------
-
-######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 6 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to master -------
-ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-describe mysqltest1.t4;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 bigint(20) YES NULL
-
--------- switch to slave --------
-describe mysqltest1.t4;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 bigint(20) YES NULL
-
--------- switch to master -------
-
-######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "InnoDB" ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 7 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to master -------
-CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "InnoDB";
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 8 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT);
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## TRUNCATE TABLE mysqltest1.t7 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 8 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to master -------
-TRUNCATE TABLE mysqltest1.t7;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SELECT * FROM mysqltest1.t7;
-f1
-
--------- switch to slave --------
-SELECT * FROM mysqltest1.t7;
-f1
-
--------- switch to master -------
-
-######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 9 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-UNLOCK TABLES;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 READ;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-
-######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 11 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to master -------
-DROP INDEX my_idx6 ON mysqltest1.t6;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-
--------- switch to slave --------
-SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-
--------- switch to master -------
-
-######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 12 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to master -------
-CREATE INDEX my_idx5 ON mysqltest1.t5(f1);
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
-
--------- switch to slave --------
-SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE
-
--------- switch to master -------
-
-######## DROP DATABASE mysqltest2 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 13 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to master -------
-DROP DATABASE mysqltest2;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW DATABASES LIKE "mysqltest2";
-Database (mysqltest2)
-
--------- switch to slave --------
-SHOW DATABASES LIKE "mysqltest2";
-Database (mysqltest2)
-
--------- switch to master -------
-
-######## CREATE DATABASE mysqltest3 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 14 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to master -------
-CREATE DATABASE mysqltest3;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW DATABASES LIKE "mysqltest3";
-Database (mysqltest3)
-mysqltest3
-
--------- switch to slave --------
-SHOW DATABASES LIKE "mysqltest3";
-Database (mysqltest3)
-mysqltest3
-
--------- switch to master -------
-
-######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 15 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to master -------
-CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1";
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment
- -------- switch to slave -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment
-
-######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 16 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to master -------
-ALTER PROCEDURE p1 COMMENT "I have been altered";
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment I have been altered
- -------- switch to slave -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment I have been altered
-
-######## DROP PROCEDURE p1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 17 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to master -------
-DROP PROCEDURE p1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
- -------- switch to slave -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-
-######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 18 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to master -------
-CREATE OR REPLACE VIEW v1 as select * from t1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- 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`
-
--------- 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`
-
-######## ALTER VIEW v1 AS select f1 from t1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 19 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to master -------
-ALTER VIEW v1 AS select f1 from t1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- 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`
-
--------- 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`
-
-######## DROP VIEW IF EXISTS v1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 20 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to master -------
-DROP VIEW IF EXISTS v1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW CREATE VIEW v1;
-ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
-
--------- switch to slave -------
-SHOW CREATE VIEW v1;
-ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
-
-######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 21 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to master -------
-CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
-
--------- switch to slave -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
-
-######## DROP TRIGGER trg1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 22 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to master -------
-DROP TRIGGER trg1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-
--------- switch to slave -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-
-######## CREATE USER user1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 23 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to master -------
-CREATE USER user1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'user1';
-user
-user1
-
--------- switch to slave -------
-SELECT user FROM mysql.user WHERE user = 'user1';
-user
-user1
-
-######## RENAME USER user1@localhost TO rename1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 24 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to master -------
-RENAME USER user1@localhost TO rename1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-rename1
-
--------- switch to slave -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-rename1
-
-######## DROP USER rename1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 25 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to master -------
-DROP USER rename1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-flush logs;
-
--------- switch to slave --------
-flush logs;
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-
--------- switch to slave -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-DROP DATABASE IF EXISTS mysqltest1;
-DROP DATABASE IF EXISTS mysqltest2;
-DROP DATABASE IF EXISTS mysqltest3;
diff --git a/mysql-test/r/rpl_deadlock.result b/mysql-test/r/rpl_deadlock.result
deleted file mode 100644
index 116c34a4d96..00000000000
--- a/mysql-test/r/rpl_deadlock.result
+++ /dev/null
@@ -1,190 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int not null, key(a)) engine=innodb;
-create table t2 (a int not null, key(a)) engine=innodb;
-create table t3 (a int unique) engine=innodb;
-create table t4 (a int) engine=innodb;
-show variables like 'slave_transaction_retries';
-Variable_name Value
-slave_transaction_retries 10
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- KEY `a` (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) NOT NULL,
- KEY `a` (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-show variables like 'slave_transaction_retries';
-Variable_name Value
-slave_transaction_retries 2
-stop slave;
-begin;
-insert into t3 select * from t2 for update;
-insert into t1 values(1);
-commit;
-begin;
-select * from t1 for update;
-a
-start slave;
-insert into t2 values(201);
-commit;
-select * from t1;
-a
-1
-select * from t2;
-a
-201
-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 18918
-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 18918
-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 #
-stop slave;
-delete from t3;
-change master to master_log_pos=539;
-begin;
-select * from t2 for update;
-a
-201
-start slave;
-select count(*) from t3 /* must be zero */;
-count(*)
-0
-commit;
-select * from t1;
-a
-1
-1
-select * from t2;
-a
-201
-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 18918
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-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 18918
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-set @my_max_relay_log_size= @@global.max_relay_log_size;
-set global max_relay_log_size=0;
-stop slave;
-delete from t3;
-change master to master_log_pos=539;
-begin;
-select * from t2 for update;
-a
-201
-start slave;
-select count(*) from t3 /* must be zero */;
-count(*)
-0
-commit;
-select * from t1;
-a
-1
-1
-1
-select * from t2;
-a
-201
-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 18918
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-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 18918
-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 #
-drop table t1,t2,t3,t4;
-set global max_relay_log_size= @my_max_relay_log_size;
diff --git a/mysql-test/r/rpl_delete_all.result b/mysql-test/r/rpl_delete_all.result
deleted file mode 100644
index 1aa556270c9..00000000000
--- a/mysql-test/r/rpl_delete_all.result
+++ /dev/null
@@ -1,31 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create database mysqltest;
-drop database if exists mysqltest;
-Warnings:
-Note 1008 Can't drop database 'mysqltest'; database doesn't exist
-show tables from mysqltest;
-ERROR 42000: Unknown database 'mysqltest'
-create table t1 (a int);
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-select * from t1;
-ERROR 42S02: Table 'test.t1' doesn't exist
-create table t1 (a int);
-insert into t1 values(1);
-delete from t1;
-select * from t1;
-a
-insert into t1 values(1);
-insert into t1 values(2);
-update t1 set a=2;
-select * from t1;
-a
-2
-2
-drop table t1;
diff --git a/mysql-test/r/rpl_do_grant.result b/mysql-test/r/rpl_do_grant.result
deleted file mode 100644
index fe6ef3c26bc..00000000000
--- a/mysql-test/r/rpl_do_grant.result
+++ /dev/null
@@ -1,37 +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;
-delete from mysql.user where user=_binary'rpl_do_grant';
-delete from mysql.db where user=_binary'rpl_do_grant';
-flush privileges;
-delete from mysql.user where user=_binary'rpl_ignore_grant';
-delete from mysql.db where user=_binary'rpl_ignore_grant';
-flush privileges;
-grant select on *.* to rpl_do_grant@localhost;
-grant drop on test.* to rpl_do_grant@localhost;
-show grants for rpl_do_grant@localhost;
-Grants for rpl_do_grant@localhost
-GRANT SELECT ON *.* TO 'rpl_do_grant'@'localhost'
-GRANT DROP ON `test`.* TO 'rpl_do_grant'@'localhost'
-set password for rpl_do_grant@localhost=password("does it work?");
-select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
-password<>_binary''
-1
-update mysql.user set password='' where user='rpl_do_grant';
-flush privileges;
-select password<>'' from mysql.user where user='rpl_do_grant';
-password<>''
-0
-set sql_mode='ANSI_QUOTES';
-set password for rpl_do_grant@localhost=password('does it work?');
-set sql_mode='';
-select password<>'' from mysql.user where user='rpl_do_grant';
-password<>''
-1
-delete from mysql.user where user=_binary'rpl_do_grant';
-delete from mysql.db where user=_binary'rpl_do_grant';
-flush privileges;
-flush privileges;
diff --git a/mysql-test/r/rpl_drop.result b/mysql-test/r/rpl_drop.result
deleted file mode 100644
index b83594c9bb1..00000000000
--- a/mysql-test/r/rpl_drop.result
+++ /dev/null
@@ -1,10 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1, t2;
-create table t1 (a int);
-drop table t1, t2;
-ERROR 42S02: Unknown table 't2'
diff --git a/mysql-test/r/rpl_drop_db.result b/mysql-test/r/rpl_drop_db.result
deleted file mode 100644
index 97a24d980b6..00000000000
--- a/mysql-test/r/rpl_drop_db.result
+++ /dev/null
@@ -1,37 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest1;
-create database mysqltest1;
-create table mysqltest1.t1 (n int);
-insert into mysqltest1.t1 values (1);
-select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
-create table mysqltest1.t2 (n int);
-create table mysqltest1.t3 (n int);
-drop database mysqltest1;
-ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
-use mysqltest1;
-show tables;
-Tables_in_mysqltest1
-drop database mysqltest1;
-ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
-use mysqltest1;
-show tables;
-Tables_in_mysqltest1
-use test;
-create table t1 (n int);
-insert into t1 values (1234);
-use mysqltest1;
-show tables;
-Tables_in_mysqltest1
-use test;
-select * from t1;
-n
-1234
-drop table t1;
-stop slave;
-drop database mysqltest1;
-drop database mysqltest1;
diff --git a/mysql-test/r/rpl_drop_temp.result b/mysql-test/r/rpl_drop_temp.result
deleted file mode 100644
index 04fe094ea26..00000000000
--- a/mysql-test/r/rpl_drop_temp.result
+++ /dev/null
@@ -1,13 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create database if not exists mysqltest;
-create temporary table mysqltest.t1 (n int);
-create temporary table mysqltest.t2 (n int);
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 0
-drop database mysqltest;
diff --git a/mysql-test/r/rpl_dual_pos_advance.result b/mysql-test/r/rpl_dual_pos_advance.result
deleted file mode 100644
index 257baa81b74..00000000000
--- a/mysql-test/r/rpl_dual_pos_advance.result
+++ /dev/null
@@ -1,22 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-change master to master_host="127.0.0.1",master_port=SLAVE_PORT,master_user="root";
-start slave;
-create table t1 (n int);
-create table t4 (n int);
-create table t5 (n int);
-create table t6 (n int);
-show tables;
-Tables_in_test
-t1
-t4
-t5
-t6
-stop slave;
-reset slave;
-drop table t1,t4,t5,t6;
diff --git a/mysql-test/r/rpl_empty_master_crash.result b/mysql-test/r/rpl_empty_master_crash.result
deleted file mode 100644
index 3e234d4ef59..00000000000
--- a/mysql-test/r/rpl_empty_master_crash.result
+++ /dev/null
@@ -1,12 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show 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
-load table t1 from master;
-ERROR 08S01: Error connecting to master: Master is not configured
-load table t1 from master;
-ERROR HY000: Error from master: 'Table 'test.t1' doesn't exist'
diff --git a/mysql-test/r/rpl_error_ignored_table.result b/mysql-test/r/rpl_error_ignored_table.result
deleted file mode 100644
index b813941a782..00000000000
--- a/mysql-test/r/rpl_error_ignored_table.result
+++ /dev/null
@@ -1,39 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int primary key);
-insert into t1 values (1),(1);
-ERROR 23000: Duplicate entry '1' for key 1
-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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 288 # # master-bin.000001 Yes Yes test.t3,test.t1,test.t2 0 0 288 # None 0 No #
-show tables like 't1';
-Tables_in_test (t1)
-drop table t1;
-select get_lock('crash_lock%20C', 10);
-get_lock('crash_lock%20C', 10)
-1
-create table t2 (a int primary key);
-insert into t2 values(1);
-create table t3 (id int);
-insert into t3 values(connection_id());
-update t2 set a = a + 1 + get_lock('crash_lock%20C', 10);
-select (@id := id) - id from t3;
-(@id := id) - id
-0
-kill @id;
-drop table t2,t3;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int primary key)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values (1),(1)
-master-bin.000001 # Query 1 # use `test`; drop table t1
-master-bin.000001 # Query 1 # use `test`; create table t2 (a int primary key)
-master-bin.000001 # Query 1 # use `test`; insert into t2 values(1)
-master-bin.000001 # Query 1 # use `test`; create table t3 (id int)
-master-bin.000001 # Query 1 # use `test`; insert into t3 values(connection_id())
-master-bin.000001 # Query 1 # use `test`; update t2 set a = a + 1 + get_lock('crash_lock%20C', 10)
-master-bin.000001 # Query 1 # use `test`; drop table t2,t3
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/rpl_failed_optimize.result b/mysql-test/r/rpl_failed_optimize.result
deleted file mode 100644
index 33a8cdc4a2f..00000000000
--- a/mysql-test/r/rpl_failed_optimize.result
+++ /dev/null
@@ -1,20 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
-BEGIN;
-INSERT INTO t1 VALUES (1);
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize error Lock wait timeout exceeded; try restarting transaction
-test.t1 optimize status Operation failed
-Warnings:
-Error 1205 Lock wait timeout exceeded; try restarting transaction
-OPTIMIZE TABLE non_existing;
-Table Op Msg_type Msg_text
-test.non_existing optimize Error Table 'test.non_existing' doesn't exist
-test.non_existing optimize error Corrupt
-drop table t1;
diff --git a/mysql-test/r/rpl_flush_log_loop.result b/mysql-test/r/rpl_flush_log_loop.result
deleted file mode 100644
index 3b1db804da9..00000000000
--- a/mysql-test/r/rpl_flush_log_loop.result
+++ /dev/null
@@ -1,24 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show variables like '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;
-start slave;
-change master to master_host='127.0.0.1',master_user='root',
-master_password='',master_port=SLAVE_PORT;
-start slave;
-flush logs;
-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
-# 127.0.0.1 root SLAVE_PORT 60 slave-bin.000001 208 # # slave-bin.000001 Yes Yes 0 0 208 # None 0 No #
diff --git a/mysql-test/r/rpl_flush_tables.result b/mysql-test/r/rpl_flush_tables.result
deleted file mode 100644
index 7d0bc54ae31..00000000000
--- a/mysql-test/r/rpl_flush_tables.result
+++ /dev/null
@@ -1,47 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int);
-insert into t1 values (10);
-create table t2 (a int);
-create table t3 (a int) engine=merge union(t1);
-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;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Format_desc 1 # Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values (10)
-master-bin.000001 # Query 1 # use `test`; create table t2 (a int)
-master-bin.000001 # Query 1 # use `test`; create table t3 (a int) engine=merge union(t1)
-master-bin.000001 # Query 1 # use `test`; create table t4 (a int)
-master-bin.000001 # Query 1 # use `test`; insert into t4 select * from t3
-master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
-select * from t3;
-a
-flush tables;
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Format_desc 1 # Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values (10)
-master-bin.000001 # Query 1 # use `test`; create table t2 (a int)
-master-bin.000001 # Query 1 # use `test`; create table t3 (a int) engine=merge union(t1)
-master-bin.000001 # Query 1 # use `test`; create table t4 (a int)
-master-bin.000001 # Query 1 # use `test`; insert into t4 select * from t3
-master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
-master-bin.000001 # Query 1 # use `test`; flush tables
-select * from t3;
-a
-stop slave;
-drop table t1;
-flush tables with read lock;
-start slave;
-stop slave;
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
-drop table t3, t4, t5;
diff --git a/mysql-test/r/rpl_free_items.result b/mysql-test/r/rpl_free_items.result
deleted file mode 100644
index 91c1e2aa6e5..00000000000
--- a/mysql-test/r/rpl_free_items.result
+++ /dev/null
@@ -1,10 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int);
-create table t2 (a int);
-drop table t1;
-drop table t2;
diff --git a/mysql-test/r/rpl_get_lock.result b/mysql-test/r/rpl_get_lock.result
deleted file mode 100644
index da300d99964..00000000000
--- a/mysql-test/r/rpl_get_lock.result
+++ /dev/null
@@ -1,35 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(n int);
-insert into t1 values(get_lock("lock",2));
-select get_lock("lock",2);
-get_lock("lock",2)
-1
-select release_lock("lock");
-release_lock("lock")
-1
-select get_lock("lock",3);
-get_lock("lock",3)
-1
-select * from t1;
-n
-1
-select is_free_lock("lock"), is_used_lock("lock") = connection_id();
-is_free_lock("lock") is_used_lock("lock") = connection_id()
-0 1
-explain extended select is_free_lock("lock"), is_used_lock("lock");
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE 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")`
-select is_free_lock("lock2");
-is_free_lock("lock2")
-1
-select is_free_lock(NULL);
-is_free_lock(NULL)
-NULL
-drop table t1;
diff --git a/mysql-test/r/rpl_grant.result b/mysql-test/r/rpl_grant.result
deleted file mode 100644
index 4d7ad298ce4..00000000000
--- a/mysql-test/r/rpl_grant.result
+++ /dev/null
@@ -1,77 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** On Master ****
-CREATE USER dummy@localhost;
-CREATE USER dummy1@localhost, dummy2@localhost;
-SELECT user, host FROM mysql.user WHERE user != 'root';
-user host
-dummy localhost
-dummy1 localhost
-dummy2 localhost
-SELECT COUNT(*) FROM mysql.user;
-COUNT(*)
-6
-**** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root';
-user host
-dummy localhost
-dummy1 localhost
-dummy2 localhost
-SELECT COUNT(*) FROM mysql.user;
-COUNT(*)
-6
-**** 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';
-user host
-SELECT COUNT(*) FROM mysql.user;
-COUNT(*)
-3
-**** On Slave ****
-SELECT user,host FROM mysql.user WHERE user != 'root';
-user host
-SELECT COUNT(*) FROM mysql.user;
-COUNT(*)
-3
-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 609
-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 609
-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 #
diff --git a/mysql-test/r/rpl_ignore_grant.result b/mysql-test/r/rpl_ignore_grant.result
deleted file mode 100644
index 5169cc8e888..00000000000
--- a/mysql-test/r/rpl_ignore_grant.result
+++ /dev/null
@@ -1,37 +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;
-delete from mysql.user where user=_binary'rpl_ignore_grant';
-delete from mysql.db where user=_binary'rpl_ignore_grant';
-flush privileges;
-delete from mysql.user where user=_binary'rpl_ignore_grant';
-delete from mysql.db where user=_binary'rpl_ignore_grant';
-flush privileges;
-grant select on *.* to rpl_ignore_grant@localhost;
-grant drop on test.* to rpl_ignore_grant@localhost;
-show grants for rpl_ignore_grant@localhost;
-Grants for rpl_ignore_grant@localhost
-GRANT SELECT ON *.* TO 'rpl_ignore_grant'@'localhost'
-GRANT DROP ON `test`.* TO 'rpl_ignore_grant'@'localhost'
-show grants for rpl_ignore_grant@localhost;
-ERROR 42000: There is no such grant defined for user 'rpl_ignore_grant' on host 'localhost'
-select count(*) from mysql.user where user=_binary'rpl_ignore_grant';
-count(*)
-0
-select count(*) from mysql.db where user=_binary'rpl_ignore_grant';
-count(*)
-0
-grant select on *.* to rpl_ignore_grant@localhost;
-set password for rpl_ignore_grant@localhost=password("does it work?");
-select password<>_binary'' from mysql.user where user=_binary'rpl_ignore_grant';
-password<>_binary''
-0
-delete from mysql.user where user=_binary'rpl_ignore_grant';
-delete from mysql.db where user=_binary'rpl_ignore_grant';
-flush privileges;
-delete from mysql.user where user=_binary'rpl_ignore_grant';
-delete from mysql.db where user=_binary'rpl_ignore_grant';
-flush privileges;
diff --git a/mysql-test/r/rpl_ignore_revoke.result b/mysql-test/r/rpl_ignore_revoke.result
deleted file mode 100644
index b1ccd2f0442..00000000000
--- a/mysql-test/r/rpl_ignore_revoke.result
+++ /dev/null
@@ -1,30 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-grant select on *.* to 'user_foo'@'%' identified by 'user_foopass';
-revoke select on *.* from 'user_foo'@'%';
-select select_priv from mysql.user where user='user_foo' /* master:must be N */;
-select_priv
-N
-grant select on *.* to 'user_foo'@'%' identified by 'user_foopass';
-revoke select on *.* from 'user_foo'@'%';
-select select_priv from mysql.user where user='user_foo' /* slave:must be N */;
-select_priv
-N
-grant select on *.* to 'user_foo'@'%' identified by 'user_foopass';
-select select_priv from mysql.user where user='user_foo' /* slave:must be Y */;
-select_priv
-Y
-revoke select on *.* from 'user_foo';
-select select_priv from mysql.user where user='user_foo' /* master:must be N */;
-select_priv
-N
-select select_priv from mysql.user where user='user_foo' /* slave:must get Y */;
-select_priv
-Y
-revoke select on *.* FROM 'user_foo';
-delete from mysql.user where user="user_foo";
-delete from mysql.user where user="user_foo";
diff --git a/mysql-test/r/rpl_ignore_table.result b/mysql-test/r/rpl_ignore_table.result
deleted file mode 100644
index 80cff7c9a1e..00000000000
--- a/mysql-test/r/rpl_ignore_table.result
+++ /dev/null
@@ -1,139 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** Test case for BUG#16487 ****
-**** Master ****
-CREATE TABLE test.t4 (a int);
-CREATE TABLE test.t1 (a int);
-UPDATE test.t4 NATURAL JOIN test.t1 SET t1.a=5;
-**** Slave ****
-SELECT * FROM t4;
-a
-DROP TABLE t1;
-DROP TABLE t4;
-**** Test case for BUG#25482 ****
-**** Adding GRANTS on master ****
-create table test.t1(a int);
-create table test.t4(a int);
-GRANT SELECT ON test.t1 TO mysqltest1@localhost;
-GRANT INSERT ON test.t4 TO mysqltest2@localhost;
-GRANT select, update, insert, references on t1
-to mysqltest2@localhost;
-GRANT SELECT ON test.* TO mysqltest3@localhost;
-GRANT INSERT ON test.t4 TO mysqltest3@localhost;
-GRANT select(a), update(a), insert(a), references(a) on t4
-to mysqltest3@localhost;
-create database mysqltest2;
-create table mysqltest2.t2 (id int);
-GRANT SELECT ON mysqltest2.t2 TO mysqltest4@localhost IDENTIFIED BY 'pass';
-insert into mysql.user (user, host) values ("mysqltest5", "somehost");
-Warnings:
-Warning 1364 Field 'ssl_cipher' doesn't have a default value
-Warning 1364 Field 'x509_issuer' doesn't have a default value
-Warning 1364 Field 'x509_subject' doesn't have a default value
-GRANT SELECT ON *.* TO mysqltest6@localhost;
-GRANT INSERT ON *.* TO mysqltest6@localhost;
-GRANT INSERT ON test.* TO mysqltest6@localhost;
-GRANT INSERT ON test.t1 TO mysqltest6@localhost;
-show grants for mysqltest1@localhost;
-Grants for mysqltest1@localhost
-GRANT USAGE ON *.* TO 'mysqltest1'@'localhost'
-GRANT SELECT ON `test`.`t1` TO 'mysqltest1'@'localhost'
-show grants for mysqltest2@localhost;
-Grants for mysqltest2@localhost
-GRANT USAGE ON *.* TO 'mysqltest2'@'localhost'
-GRANT SELECT, INSERT, UPDATE, REFERENCES ON `test`.`t1` TO 'mysqltest2'@'localhost'
-GRANT INSERT ON `test`.`t4` TO 'mysqltest2'@'localhost'
-show grants for mysqltest3@localhost;
-Grants for mysqltest3@localhost
-GRANT USAGE ON *.* TO 'mysqltest3'@'localhost'
-GRANT SELECT ON `test`.* TO 'mysqltest3'@'localhost'
-GRANT SELECT (a), INSERT, INSERT (a), UPDATE (a), REFERENCES (a) ON `test`.`t4` TO 'mysqltest3'@'localhost'
-show grants for mysqltest4@localhost;
-Grants for mysqltest4@localhost
-GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
-GRANT SELECT ON `mysqltest2`.`t2` TO 'mysqltest4'@'localhost'
-show grants for mysqltest6@localhost;
-Grants for mysqltest6@localhost
-GRANT SELECT, INSERT ON *.* TO 'mysqltest6'@'localhost'
-GRANT INSERT ON `test`.* TO 'mysqltest6'@'localhost'
-GRANT INSERT ON `test`.`t1` TO 'mysqltest6'@'localhost'
-flush privileges;
-show grants for mysqltest5@somehost;
-Grants for mysqltest5@somehost
-GRANT USAGE ON *.* TO 'mysqltest5'@'somehost'
-**** Checking grants on slave ****
-show grants for mysqltest2@localhost;
-Grants for mysqltest2@localhost
-GRANT USAGE ON *.* TO 'mysqltest2'@'localhost'
-GRANT INSERT ON `test`.`t4` TO 'mysqltest2'@'localhost'
-show grants for mysqltest3@localhost;
-Grants for mysqltest3@localhost
-GRANT USAGE ON *.* TO 'mysqltest3'@'localhost'
-GRANT SELECT ON `test`.* TO 'mysqltest3'@'localhost'
-GRANT SELECT (a), INSERT, INSERT (a), UPDATE (a), REFERENCES (a) ON `test`.`t4` TO 'mysqltest3'@'localhost'
-show grants for mysqltest4@localhost;
-Grants for mysqltest4@localhost
-GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
-GRANT SELECT ON `mysqltest2`.`t2` TO 'mysqltest4'@'localhost'
-show grants for mysqltest5@somehost;
-Grants for mysqltest5@somehost
-GRANT USAGE ON *.* TO 'mysqltest5'@'somehost'
-show grants for mysqltest6@localhost;
-Grants for mysqltest6@localhost
-GRANT SELECT, INSERT ON *.* TO 'mysqltest6'@'localhost'
-GRANT INSERT ON `test`.* TO 'mysqltest6'@'localhost'
-show grants for mysqltest1@localhost;
-ERROR 42000: There is no such grant defined for user 'mysqltest1' on host 'localhost'
-**** Revoking grants on master ****
-REVOKE SELECT ON test.t1 FROM mysqltest1@localhost;
-REVOKE SELECT ON mysqltest2.t2 FROM mysqltest4@localhost;
-REVOKE select(a) on t4
-from mysqltest3@localhost;
-show grants for mysqltest1@localhost;
-Grants for mysqltest1@localhost
-GRANT USAGE ON *.* TO 'mysqltest1'@'localhost'
-show grants for mysqltest3@localhost;
-Grants for mysqltest3@localhost
-GRANT USAGE ON *.* TO 'mysqltest3'@'localhost'
-GRANT SELECT ON `test`.* TO 'mysqltest3'@'localhost'
-GRANT INSERT, INSERT (a), UPDATE (a), REFERENCES (a) ON `test`.`t4` TO 'mysqltest3'@'localhost'
-show grants for mysqltest4@localhost;
-Grants for mysqltest4@localhost
-GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
-**** Checking grants on slave ****
-show grants for mysqltest1@localhost;
-ERROR 42000: There is no such grant defined for user 'mysqltest1' on host 'localhost'
-show grants for mysqltest3@localhost;
-Grants for mysqltest3@localhost
-GRANT USAGE ON *.* TO 'mysqltest3'@'localhost'
-GRANT SELECT ON `test`.* TO 'mysqltest3'@'localhost'
-GRANT INSERT, INSERT (a), UPDATE (a), REFERENCES (a) ON `test`.`t4` TO 'mysqltest3'@'localhost'
-show grants for mysqltest4@localhost;
-Grants for mysqltest4@localhost
-GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
-drop table t1, t4, mysqltest2.t2;
-drop database mysqltest2;
-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%";
-DROP TABLE IF EXISTS t5;
-CREATE TABLE t5 (
-word varchar(50) collate utf8_unicode_ci NOT NULL default ''
-) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-SET @@session.character_set_client=33,@@session.collation_connection=192;
-CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY;
-INSERT INTO t5 (word) VALUES ('TEST’');
-SELECT HEX(word) FROM t5;
-HEX(word)
-54455354E28099
-SELECT HEX(word) FROM t5;
-HEX(word)
-54455354E28099
-SELECT * FROM tmptbl504451f4258$1;
-ERROR 42S02: Table 'test.tmptbl504451f4258$1' doesn't exist
-DROP TABLE t5;
diff --git a/mysql-test/r/rpl_init_slave.result b/mysql-test/r/rpl_init_slave.result
deleted file mode 100644
index f92fb9b4c1d..00000000000
--- a/mysql-test/r/rpl_init_slave.result
+++ /dev/null
@@ -1,27 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show variables like 'init_slave';
-Variable_name Value
-init_slave set global max_connections=500
-show variables like 'max_connections';
-Variable_name Value
-max_connections 500
-reset master;
-show variables like 'init_slave';
-Variable_name Value
-init_slave
-show variables like 'max_connections';
-Variable_name Value
-max_connections 100
-set @my_global_init_connect= @@global.init_connect;
-set global init_connect="set @c=1";
-show variables like 'init_connect';
-Variable_name Value
-init_connect set @c=1
-stop slave;
-set global init_connect= @my_global_init_connect;
-set global max_connections= default;
diff --git a/mysql-test/r/rpl_innodb.result b/mysql-test/r/rpl_innodb.result
deleted file mode 100644
index 765de8af458..00000000000
--- a/mysql-test/r/rpl_innodb.result
+++ /dev/null
@@ -1,37 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t4 (
-id INT(5) unsigned NOT NULL auto_increment,
-name varchar(15) NOT NULL default '',
-number varchar(35) NOT NULL default 'default',
-PRIMARY KEY (id),
-UNIQUE KEY unique_rec (name,number)
-) ENGINE=InnoDB;
-LOAD DATA
-INFILE '../std_data_ln/loaddata_pair.dat'
-REPLACE INTO TABLE t4
-(name,number);
-SELECT * FROM t4;
-id name number
-1 XXX 12345
-2 XXY 12345
-SELECT * FROM t4;
-id name number
-1 XXX 12345
-2 XXY 12345
-LOAD DATA
-INFILE '../std_data_ln/loaddata_pair.dat'
-REPLACE INTO TABLE t4
-(name,number);
-SELECT * FROM t4;
-id name number
-3 XXX 12345
-4 XXY 12345
-SELECT * FROM t4;
-id name number
-3 XXX 12345
-4 XXY 12345
diff --git a/mysql-test/r/rpl_insert_delayed.result b/mysql-test/r/rpl_insert_delayed.result
deleted file mode 100644
index 6815a727fd7..00000000000
--- a/mysql-test/r/rpl_insert_delayed.result
+++ /dev/null
@@ -1,54 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (id INT primary key auto_increment, name VARCHAR(64));
-truncate table t1;
-insert delayed into t1 values(10, "my name");
-insert delayed into t1 values(10, "is Bond"), (20, "James Bond");
-ERROR 23000: Duplicate entry '10' for key 1
-flush table t1;
-select * from t1;
-id name
-10 my name
-select * from t1;
-id name
-10 my name
-delete from t1 where id!=10;
-insert delayed into t1 values(20, "is Bond"), (10, "James Bond");
-ERROR 23000: Duplicate entry '10' for key 1
-flush table t1;
-select * from t1;
-id name
-10 my name
-20 is Bond
-select * from t1;
-id name
-10 my name
-20 is Bond
-drop table t1;
-CREATE TABLE t1(a int, UNIQUE(a));
-INSERT DELAYED IGNORE INTO t1 VALUES(1);
-INSERT DELAYED IGNORE INTO t1 VALUES(1);
-flush table t1;
-show binlog events limit 11,100;
-Log_name Pos Event_type Server_id End_log_pos Info
-x x x x x use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
-x x x x x use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
-x x x x x use `test`; flush table t1
-select * from t1;
-a
-1
-On slave
-show binlog events limit 12,100;
-Log_name Pos Event_type Server_id End_log_pos Info
-x x x x x use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
-x x x x x use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
-x x x x x use `test`; flush table t1
-select * from t1;
-a
-1
-drop table t1;
-End of 5.0 tests
diff --git a/mysql-test/r/rpl_insert_id.result b/mysql-test/r/rpl_insert_id.result
deleted file mode 100644
index a5c8e17f67e..00000000000
--- a/mysql-test/r/rpl_insert_id.result
+++ /dev/null
@@ -1,444 +0,0 @@
-#
-# Setup
-#
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-use test;
-drop table if exists t1, t2, t3;
-#
-# See if queries that use both auto_increment and LAST_INSERT_ID()
-# are replicated well
-#
-# We also check how the foreign_key_check variable is replicated
-#
-create table t1(a int auto_increment, key(a));
-create table t2(b int auto_increment, c int, key(b));
-insert into t1 values (1),(2),(3);
-insert into t1 values (null);
-insert into t2 values (null,last_insert_id());
-select * from t1;
-a
-1
-2
-3
-4
-select * from t2;
-b c
-1 4
-drop table t1;
-drop table t2;
-create table t1(a int auto_increment, key(a)) engine=innodb;
-create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=innodb;
-SET FOREIGN_KEY_CHECKS=0;
-insert into t1 values (10);
-insert into t1 values (null),(null),(null);
-insert into t2 values (5,0);
-insert into t2 values (null,last_insert_id());
-SET FOREIGN_KEY_CHECKS=1;
-select * from t1;
-a
-10
-11
-12
-13
-select * from t2;
-b c
-5 0
-6 11
-#
-# check if INSERT SELECT in auto_increment is well replicated (bug #490)
-#
-drop table t2;
-drop table t1;
-create table t1(a int auto_increment, key(a));
-create table t2(b int auto_increment, c int, key(b));
-insert into t1 values (10);
-insert into t1 values (null),(null),(null);
-insert into t2 values (5,0);
-insert into t2 (c) select * from t1;
-select * from t2;
-b c
-5 0
-6 10
-7 11
-8 12
-9 13
-select * from t1;
-a
-10
-11
-12
-13
-select * from t2;
-b c
-5 0
-6 10
-7 11
-8 12
-9 13
-drop table t1;
-drop table t2;
-#
-# Bug#8412: Error codes reported in binary log for CHARACTER SET,
-# FOREIGN_KEY_CHECKS
-#
-SET TIMESTAMP=1000000000;
-CREATE TABLE t1 ( a INT UNIQUE );
-SET FOREIGN_KEY_CHECKS=0;
-INSERT INTO t1 VALUES (1),(1);
-ERROR 23000: Duplicate entry '1' for key 1
-drop table t1;
-#
-# Bug#14553: NULL in WHERE resets LAST_INSERT_ID
-#
-create table t1(a int auto_increment, key(a));
-create table t2(a int);
-insert into t1 (a) values (null);
-insert into t2 (a) select a from t1 where a is null;
-insert into t2 (a) select a from t1 where a is null;
-select * from t2;
-a
-1
-select * from t2;
-a
-1
-drop table t1;
-drop table t2;
-#
-# End of 4.1 tests
-#
-drop function if exists bug15728;
-drop function if exists bug15728_insert;
-drop table if exists t1, t2;
-create table t1 (
-id int not null auto_increment,
-last_id int,
-primary key (id)
-);
-create function bug15728() returns int(11)
-return last_insert_id();
-insert into t1 (last_id) values (0);
-insert into t1 (last_id) values (last_insert_id());
-insert into t1 (last_id) values (bug15728());
-create table t2 (
-id int not null auto_increment,
-last_id int,
-primary key (id)
-);
-create function bug15728_insert() returns int(11) modifies sql data
-begin
-insert into t2 (last_id) values (bug15728());
-return bug15728();
-end|
-create trigger t1_bi before insert on t1 for each row
-begin
-declare res int;
-select bug15728_insert() into res;
-set NEW.last_id = res;
-end|
-insert into t1 (last_id) values (0);
-drop trigger t1_bi;
-select last_insert_id();
-last_insert_id()
-4
-select bug15728_insert();
-bug15728_insert()
-2
-select last_insert_id();
-last_insert_id()
-4
-insert into t1 (last_id) values (bug15728());
-select last_insert_id();
-last_insert_id()
-5
-select * from t1;
-id last_id
-1 0
-2 1
-3 2
-4 1
-5 4
-select * from t2;
-id last_id
-1 3
-2 4
-drop function bug15728;
-drop function bug15728_insert;
-drop table t1, t2;
-create table t1 (n int primary key auto_increment not null,
-b int, unique(b));
-set sql_log_bin=0;
-insert into t1 values(null,100);
-replace into t1 values(null,50),(null,100),(null,150);
-select * from t1 order by n;
-n b
-2 50
-3 100
-4 150
-truncate table t1;
-set sql_log_bin=1;
-insert into t1 values(null,100);
-select * from t1 order by n;
-n b
-1 100
-insert into t1 values(null,200),(null,300);
-delete from t1 where b <> 100;
-select * from t1 order by n;
-n b
-1 100
-replace into t1 values(null,100),(null,350);
-select * from t1 order by n;
-n b
-2 100
-3 350
-select * from t1 order by n;
-n b
-2 100
-3 350
-insert into t1 values (NULL,400),(3,500),(NULL,600) on duplicate key UPDATE n=1000;
-select * from t1 order by n;
-n b
-2 100
-4 400
-1000 350
-1001 600
-select * from t1 order by n;
-n b
-2 100
-4 400
-1000 350
-1001 600
-drop table t1;
-create table t1 (n int primary key auto_increment not null,
-b int, unique(b));
-insert into t1 values(null,100);
-select * from t1 order by n;
-n b
-1 100
-insert into t1 values(null,200),(null,300);
-delete from t1 where b <> 100;
-select * from t1 order by n;
-n b
-1 100
-insert into t1 values(null,100),(null,350) on duplicate key update n=2;
-select * from t1 order by n;
-n b
-2 100
-3 350
-select * from t1 order by n;
-n b
-2 100
-3 350
-drop table t1;
-CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT,
-UNIQUE(b));
-INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10;
-SELECT * FROM t1;
-a b
-1 10
-2 2
-SELECT * FROM t1;
-a b
-1 10
-2 2
-drop table t1;
-CREATE TABLE t1 (
-id bigint(20) unsigned NOT NULL auto_increment,
-field_1 int(10) unsigned NOT NULL,
-field_2 varchar(255) NOT NULL,
-field_3 varchar(255) NOT NULL,
-PRIMARY KEY (id),
-UNIQUE KEY field_1 (field_1, field_2)
-);
-CREATE TABLE t2 (
-field_a int(10) unsigned NOT NULL,
-field_b varchar(255) NOT NULL,
-field_c varchar(255) NOT NULL
-);
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (1, 'a', '1a');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (2, 'b', '2b');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (3, 'c', '3c');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (4, 'd', '4d');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (5, 'e', '5e');
-INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c;
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (6, 'f', '6f');
-INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c;
-SELECT * FROM t1;
-id field_1 field_2 field_3
-1 1 a 1a
-2 2 b 2b
-3 3 c 3c
-4 4 d 4d
-5 5 e 5e
-6 6 f 6f
-SELECT * FROM t1;
-id field_1 field_2 field_3
-1 1 a 1a
-2 2 b 2b
-3 3 c 3c
-4 4 d 4d
-5 5 e 5e
-6 6 f 6f
-drop table t1, t2;
-DROP PROCEDURE IF EXISTS p1;
-DROP TABLE IF EXISTS t1, t2;
-SELECT LAST_INSERT_ID(0);
-LAST_INSERT_ID(0)
-0
-CREATE TABLE t1 (
-id INT NOT NULL DEFAULT 0,
-last_id INT,
-PRIMARY KEY (id)
-);
-CREATE TABLE t2 (
-id INT NOT NULL AUTO_INCREMENT,
-last_id INT,
-PRIMARY KEY (id)
-);
-CREATE PROCEDURE p1()
-BEGIN
-INSERT INTO t2 (last_id) VALUES (LAST_INSERT_ID());
-INSERT INTO t1 (last_id) VALUES (LAST_INSERT_ID());
-END|
-CALL p1();
-SELECT * FROM t1;
-id last_id
-0 1
-SELECT * FROM t2;
-id last_id
-1 0
-SELECT * FROM t1;
-id last_id
-0 1
-SELECT * FROM t2;
-id last_id
-1 0
-DROP PROCEDURE p1;
-DROP TABLE t1, t2;
-DROP PROCEDURE IF EXISTS p1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-DROP FUNCTION IF EXISTS f3;
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (
-i INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-j INT DEFAULT 0
-);
-CREATE TABLE t2 (i INT);
-CREATE PROCEDURE p1()
-BEGIN
-INSERT INTO t1 (i) VALUES (NULL);
-INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
-INSERT INTO t1 (i) VALUES (NULL), (NULL);
-INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
-END |
-CREATE FUNCTION f1() RETURNS INT MODIFIES SQL DATA
-BEGIN
-INSERT INTO t1 (i) VALUES (NULL);
-INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
-INSERT INTO t1 (i) VALUES (NULL), (NULL);
-INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
-RETURN 0;
-END |
-CREATE FUNCTION f2() RETURNS INT NOT DETERMINISTIC
-RETURN LAST_INSERT_ID() |
-CREATE FUNCTION f3() RETURNS INT MODIFIES SQL DATA
-BEGIN
-INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
-RETURN 0;
-END |
-INSERT INTO t1 VALUES (NULL, -1);
-CALL p1();
-SELECT f1();
-f1()
-0
-INSERT INTO t1 VALUES (NULL, f2()), (NULL, LAST_INSERT_ID()),
-(NULL, LAST_INSERT_ID()), (NULL, f2()), (NULL, f2());
-INSERT INTO t1 VALUES (NULL, f2());
-INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)),
-(NULL, @@LAST_INSERT_ID);
-INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());
-UPDATE t1 SET j= -1 WHERE i IS NULL;
-INSERT INTO t1 (i) VALUES (NULL);
-INSERT INTO t1 (i) VALUES (NULL);
-SELECT f3();
-f3()
-0
-SELECT * FROM t1;
-i j
-1 -1
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 3
-9 3
-10 3
-11 3
-12 3
-13 8
-14 13
-15 5
-16 13
-17 -1
-18 14
-19 0
-20 0
-SELECT * FROM t2;
-i
-2
-3
-5
-6
-19
-SELECT * FROM t1;
-i j
-1 -1
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 3
-9 3
-10 3
-11 3
-12 3
-13 8
-14 13
-15 5
-16 13
-17 -1
-18 14
-19 0
-20 0
-SELECT * FROM t2;
-i
-2
-3
-5
-6
-19
-DROP PROCEDURE p1;
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-DROP FUNCTION f3;
-DROP TABLE t1, t2;
-
-# End of 5.0 tests
-
diff --git a/mysql-test/r/rpl_insert_ignore.result b/mysql-test/r/rpl_insert_ignore.result
deleted file mode 100644
index da24c86627c..00000000000
--- a/mysql-test/r/rpl_insert_ignore.result
+++ /dev/null
@@ -1,70 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned,
-unique (b)
-) ENGINE=innodb;
-CREATE TABLE t2 (
-a int unsigned, # to force INSERT SELECT to have a certain order
-b int unsigned
-) ENGINE=innodb;
-INSERT INTO t1 VALUES (NULL, 1);
-INSERT INTO t1 VALUES (NULL, 2);
-INSERT INTO t1 VALUES (NULL, 3);
-INSERT INTO t1 VALUES (NULL, 4);
-INSERT INTO t2 VALUES (1, 1);
-INSERT INTO t2 VALUES (2, 2);
-INSERT INTO t2 VALUES (3, 5);
-INSERT INTO t2 VALUES (4, 3);
-INSERT INTO t2 VALUES (5, 4);
-INSERT INTO t2 VALUES (6, 6);
-INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned,
-unique (b)
-) ENGINE=myisam;
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (3, 3);
-INSERT INTO t1 VALUES (4, 4);
-INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-drop table t1, t2;
diff --git a/mysql-test/r/rpl_insert_select.result b/mysql-test/r/rpl_insert_select.result
deleted file mode 100644
index 1aff39e0026..00000000000
--- a/mysql-test/r/rpl_insert_select.result
+++ /dev/null
@@ -1,17 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int not null primary key);
-insert into t1 values (1);
-create table t2 (n int);
-insert into t2 values (1);
-insert ignore into t1 select * from t2;
-insert into t1 values (2);
-select * from t1;
-n
-1
-2
-drop table t1,t2;
diff --git a/mysql-test/r/rpl_known_bugs_detection.result b/mysql-test/r/rpl_known_bugs_detection.result
deleted file mode 100644
index c23586c6f61..00000000000
--- a/mysql-test/r/rpl_known_bugs_detection.result
+++ /dev/null
@@ -1,133 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT,
-UNIQUE(b));
-INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10;
-SELECT * FROM t1;
-a b
-1 10
-2 2
-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 1105
-Last_Error Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10'
-Skip_Counter 0
-Exec_Master_Log_Pos 238
-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 #
-SELECT * FROM t1;
-a b
-stop slave;
-reset slave;
-reset master;
-drop table t1;
-start slave;
-CREATE TABLE t1 (
-id bigint(20) unsigned NOT NULL auto_increment,
-field_1 int(10) unsigned NOT NULL,
-field_2 varchar(255) NOT NULL,
-field_3 varchar(255) NOT NULL,
-PRIMARY KEY (id),
-UNIQUE KEY field_1 (field_1, field_2)
-);
-CREATE TABLE t2 (
-field_a int(10) unsigned NOT NULL,
-field_b varchar(255) NOT NULL,
-field_c varchar(255) NOT NULL
-);
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (1, 'a', '1a');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (2, 'b', '2b');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (3, 'c', '3c');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (4, 'd', '4d');
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (5, 'e', '5e');
-INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c;
-INSERT INTO t2 (field_a, field_b, field_c) VALUES (6, 'f', '6f');
-INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c;
-SELECT * FROM t1;
-id field_1 field_2 field_3
-1 1 a 1a
-2 2 b 2b
-3 3 c 3c
-4 4 d 4d
-5 5 e 5e
-6 6 f 6f
-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 1105
-Last_Error Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c'
-Skip_Counter 0
-Exec_Master_Log_Pos 1270
-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 #
-SELECT * FROM t1;
-id field_1 field_2 field_3
-drop table t1, t2;
-drop table t1, t2;
diff --git a/mysql-test/r/rpl_loaddata.result b/mysql-test/r/rpl_loaddata.result
deleted file mode 100644
index be137079c7a..00000000000
--- a/mysql-test/r/rpl_loaddata.result
+++ /dev/null
@@ -1,86 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-create table t1(a int not null auto_increment, b int, primary key(a) );
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60));
-load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines;
-create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
-insert into t3 select * from t2;
-select * from t1;
-a b
-1 10
-2 15
-select * from t3;
-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 1272
-drop table t1;
-drop table t2;
-drop table t3;
-create table t1(a int, b int, unique(b));
-insert into t1 values(1,10);
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-set global sql_slave_skip_counter=1;
-start slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1789 # # master-bin.000001 Yes Yes 0 0 1789 # None 0 No #
-set sql_log_bin=0;
-delete from t1;
-set sql_log_bin=1;
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-stop slave;
-change master to master_user='test';
-change master to master_user='root';
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1824 # # master-bin.000001 No No 0 0 1824 # None 0 No #
-set global sql_slave_skip_counter=1;
-start slave;
-set sql_log_bin=0;
-delete from t1;
-set sql_log_bin=1;
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-stop slave;
-reset slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 1 4 # # No No 0 0 0 # None 0 No #
-reset master;
-create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
-unique(day)) engine=MyISAM;
-load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
-terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
-'\n##\n' starting by '>' ignore 1 lines;
-ERROR 23000: Duplicate entry '2003-03-22' for key 1
-select * from t2;
-day id category name
-2003-02-22 2461 b a a a @ %  ' " a
-2003-03-22 2161 c asdf
-start slave;
-select * from t2;
-day id category name
-2003-02-22 2461 b a a a @ %  ' " a
-2003-03-22 2161 c asdf
-alter table t2 drop key day;
-delete from t2;
-load data infile '../std_data_ln/rpl_loaddata2.dat' into table t2 fields
-terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
-'\n##\n' starting by '>' ignore 1 lines;
-ERROR 23000: Duplicate entry '2003-03-22' for key 1
-drop table t2;
-drop table t2;
-drop table t1;
-CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
-LOAD DATA INFILE "../std_data_ln/words.dat" INTO TABLE t1;
-ERROR 23000: Duplicate entry 'Aarhus' for key 1
-DROP TABLE t1;
diff --git a/mysql-test/r/rpl_loaddata_charset.result b/mysql-test/r/rpl_loaddata_charset.result
deleted file mode 100644
index 929d06e74cf..00000000000
--- a/mysql-test/r/rpl_loaddata_charset.result
+++ /dev/null
@@ -1,37 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a varchar(10) character set utf8);
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-set @@character_set_database=koi8r;
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-set @@character_set_database=DEFAULT;
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-set @@character_set_database=koi8r;
-load data infile '../std_data_ln/loaddata6.dat' into table t1;
-set @@character_set_database=DEFAULT;
-load data infile '../std_data_ln/loaddata6.dat' into table t1 character set koi8r;
-select hex(a) from t1;
-hex(a)
-C3BF
-D0AA
-C3BF
-C3BF
-C3BF
-D0AA
-D0AA
-select hex(a) from t1;
-hex(a)
-C3BF
-D0AA
-C3BF
-C3BF
-C3BF
-D0AA
-D0AA
-drop table t1;
diff --git a/mysql-test/r/rpl_loaddata_rule_m.result b/mysql-test/r/rpl_loaddata_rule_m.result
deleted file mode 100644
index 375057aad0a..00000000000
--- a/mysql-test/r/rpl_loaddata_rule_m.result
+++ /dev/null
@@ -1,21 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
-stop slave;
-create database mysqltest;
-create table t1(a int, b int, unique(b));
-use mysqltest;
-load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # drop database if exists mysqltest
-master-bin.000001 # Query 1 # create database mysqltest
-master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=12
-master-bin.000001 # Execute_load_query 1 # use `mysqltest`; load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1 ;file_id=1
-drop database mysqltest;
-use test;
-drop table t1;
diff --git a/mysql-test/r/rpl_loaddata_rule_s.result b/mysql-test/r/rpl_loaddata_rule_s.result
deleted file mode 100644
index 62e9b64cb0d..00000000000
--- a/mysql-test/r/rpl_loaddata_rule_s.result
+++ /dev/null
@@ -1,15 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-create table t1(a int, b int, unique(b));
-load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1;
-select count(*) from t1;
-count(*)
-2
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-drop table t1;
diff --git a/mysql-test/r/rpl_loaddatalocal.result b/mysql-test/r/rpl_loaddatalocal.result
deleted file mode 100644
index 20e56a62133..00000000000
--- a/mysql-test/r/rpl_loaddatalocal.result
+++ /dev/null
@@ -1,31 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(a int);
-select * into outfile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
-truncate table t1;
-load data local infile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
-select a,count(*) from t1 group by a;
-a count(*)
-1 10000
-drop table t1;
-create table t1(a int);
-insert into t1 values (1), (2), (2), (3);
-select * into outfile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key);
-load data local infile 'MYSQLTEST_VARDIR/master-data/rpl_loaddatalocal.select_outfile' into table t1;
-select * from t1;
-a
-1
-2
-3
-select * from t1;
-a
-1
-2
-3
-drop table t1;
diff --git a/mysql-test/r/rpl_locale.result b/mysql-test/r/rpl_locale.result
deleted file mode 100644
index b7396084663..00000000000
--- a/mysql-test/r/rpl_locale.result
+++ /dev/null
@@ -1,20 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (s1 char(10));
-set lc_time_names= 'de_DE';
-insert into t1 values (date_format('2001-01-01','%W'));
-set lc_time_names= 'en_US';
-insert into t1 values (date_format('2001-01-01','%W'));
-select * from t1;
-s1
-Montag
-Monday
-select * from t1;
-s1
-Montag
-Monday
-drop table t1;
diff --git a/mysql-test/r/rpl_log.result b/mysql-test/r/rpl_log.result
deleted file mode 100644
index 6ee0eb283b5..00000000000
--- a/mysql-test/r/rpl_log.result
+++ /dev/null
@@ -1,120 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-reset master;
-reset slave;
-reset master;
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (NULL);
-drop table t1;
-create table t1 (word char(20) not null);
-load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines;
-select count(*) from t1;
-count(*)
-69
-drop table t1;
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-master-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-master-bin.000001 219 Intvar 1 247 INSERT_ID=1
-master-bin.000001 247 Query 1 338 use `test`; insert into t1 values (NULL)
-master-bin.000001 338 Query 1 414 use `test`; drop table t1
-master-bin.000001 414 Query 1 517 use `test`; create table t1 (word char(20) not null)
-master-bin.000001 517 Begin_load_query 1 1121 ;file_id=1;block_len=581
-master-bin.000001 1121 Execute_load_query 1 1269 use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
-master-bin.000001 1269 Query 1 1345 use `test`; drop table t1
-show binlog events from 98 limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-show binlog events from 98 limit 2;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-master-bin.000001 219 Intvar 1 247 INSERT_ID=1
-show binlog events from 98 limit 2,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 247 Query 1 338 use `test`; insert into t1 values (NULL)
-flush logs;
-create table t5 (a int);
-drop table t5;
-start slave;
-flush logs;
-stop slave;
-create table t1 (n int);
-insert into t1 values (1);
-drop table t1;
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-master-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-master-bin.000001 219 Intvar 1 247 INSERT_ID=1
-master-bin.000001 247 Query 1 338 use `test`; insert into t1 values (NULL)
-master-bin.000001 338 Query 1 414 use `test`; drop table t1
-master-bin.000001 414 Query 1 517 use `test`; create table t1 (word char(20) not null)
-master-bin.000001 517 Begin_load_query 1 1121 ;file_id=1;block_len=581
-master-bin.000001 1121 Execute_load_query 1 1269 use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
-master-bin.000001 1269 Query 1 1345 use `test`; drop table t1
-master-bin.000001 1345 Rotate 1 1389 master-bin.000002;pos=4
-show binlog events in 'master-bin.000002';
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-master-bin.000002 98 Query 1 184 use `test`; create table t5 (a int)
-master-bin.000002 184 Query 1 260 use `test`; drop table t5
-master-bin.000002 260 Query 1 346 use `test`; create table t1 (n int)
-master-bin.000002 346 Query 1 434 use `test`; insert into t1 values (1)
-master-bin.000002 434 Query 1 510 use `test`; drop table t1
-show binary logs;
-Log_name File_size
-master-bin.000001 1389
-master-bin.000002 510
-start slave;
-show binary logs;
-Log_name File_size
-slave-bin.000001 1552
-slave-bin.000002 348
-show binlog events in 'slave-bin.000001' from 4;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 4 Format_desc 2 98 Server ver: VERSION, Binlog ver: 4
-slave-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-slave-bin.000001 219 Intvar 1 247 INSERT_ID=1
-slave-bin.000001 247 Query 1 338 use `test`; insert into t1 values (NULL)
-slave-bin.000001 338 Query 1 414 use `test`; drop table t1
-slave-bin.000001 414 Query 1 517 use `test`; create table t1 (word char(20) not null)
-slave-bin.000001 517 Begin_load_query 1 1121 ;file_id=1;block_len=581
-slave-bin.000001 1121 Execute_load_query 1 1271 use `test`; load data INFILE '../tmp/SQL_LOAD-2-1-1.data' INTO table t1 ignore 1 lines ;file_id=1
-slave-bin.000001 1271 Query 1 1347 use `test`; drop table t1
-slave-bin.000001 1347 Query 1 1433 use `test`; create table t5 (a int)
-slave-bin.000001 1433 Query 1 1509 use `test`; drop table t5
-slave-bin.000001 1509 Rotate 2 1552 slave-bin.000002;pos=4
-show binlog events in 'slave-bin.000002' from 4;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 4 Format_desc 2 98 Server ver: VERSION, Binlog ver: 4
-slave-bin.000002 98 Query 1 184 use `test`; create table t1 (n int)
-slave-bin.000002 184 Query 1 272 use `test`; insert into t1 values (1)
-slave-bin.000002 272 Query 1 348 use `test`; drop table t1
-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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 510 # # master-bin.000002 Yes Yes 0 0 510 # None 0 No #
-show binlog events in 'slave-bin.000005' from 4;
-ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
-create table t1(a int auto_increment primary key, b int);
-insert into t1 values (NULL, 1);
-reset master;
-set insert_id=5;
-insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 4 Format_desc 2 98 Server ver: VERSION, Binlog ver: 4
-slave-bin.000001 98 Intvar 2 126 LAST_INSERT_ID=1
-slave-bin.000001 126 Intvar 2 154 INSERT_ID=5
-slave-bin.000001 154 Query 2 289 use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id())
-select * from t1;
-a b
-1 1
-5 1
-6 1
-drop table t1;
diff --git a/mysql-test/r/rpl_log_pos.result b/mysql-test/r/rpl_log_pos.result
deleted file mode 100644
index b55326415bf..00000000000
--- a/mysql-test/r/rpl_log_pos.result
+++ /dev/null
@@ -1,97 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
-stop slave;
-change master to master_log_pos=73;
-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 73
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-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 73
-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 #
-start slave;
-stop 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 master-bin.000001
-Read_Master_Log_Pos 73
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-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 73
-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 #
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 98
-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=98;
-start slave;
-select * from t1;
-n
-1
-2
-3
-drop table t1;
-End of 5.0 tests
diff --git a/mysql-test/r/rpl_many_optimize.result b/mysql-test/r/rpl_many_optimize.result
deleted file mode 100644
index b2148892591..00000000000
--- a/mysql-test/r/rpl_many_optimize.result
+++ /dev/null
@@ -1,9 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int not null auto_increment primary key, b int, key(b));
-INSERT INTO t1 (a) VALUES (1),(2);
-drop table t1;
diff --git a/mysql-test/r/rpl_master_pos_wait.result b/mysql-test/r/rpl_master_pos_wait.result
deleted file mode 100644
index f0f48de4e07..00000000000
--- a/mysql-test/r/rpl_master_pos_wait.result
+++ /dev/null
@@ -1,18 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-select master_pos_wait('master-bin.999999',0,2);
-master_pos_wait('master-bin.999999',0,2)
--1
-explain extended select master_pos_wait('master-bin.999999',0,2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE 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)`
-select master_pos_wait('master-bin.999999',0);
-stop slave sql_thread;
-master_pos_wait('master-bin.999999',0)
-NULL
diff --git a/mysql-test/r/rpl_max_relay_size.result b/mysql-test/r/rpl_max_relay_size.result
deleted file mode 100644
index 95c9ae79d05..00000000000
--- a/mysql-test/r/rpl_max_relay_size.result
+++ /dev/null
@@ -1,273 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-#
-# Generate a big enough master's binlog to cause relay log rotations
-#
-create table t1 (a int);
-drop table t1;
-reset slave;
-#
-# Test 1
-#
-set @my_max_binlog_size= @@global.max_binlog_size;
-set global max_binlog_size=8192;
-set global max_relay_log_size=8192-1;
-select @@global.max_relay_log_size;
-@@global.max_relay_log_size
-4096
-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 master-bin.000001
-Read_Master_Log_Pos 72952
-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 72952
-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 #
-#
-# Test 2
-#
-stop slave;
-reset slave;
-set global max_relay_log_size=(5*4096);
-select @@global.max_relay_log_size;
-@@global.max_relay_log_size 20480
-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 master-bin.000001
-Read_Master_Log_Pos 72952
-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 72952
-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 #
-#
-# Test 3: max_relay_log_size = 0
-#
-stop slave;
-reset slave;
-set global max_relay_log_size=0;
-select @@global.max_relay_log_size;
-@@global.max_relay_log_size 0
-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 master-bin.000001
-Read_Master_Log_Pos 72952
-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 72952
-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 #
-#
-# Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
-#
-stop slave;
-reset slave;
-flush logs;
-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 #
-#
-# Test 5
-#
-reset slave;
-start slave;
-flush logs;
-create table t1 (a int);
-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 73038
-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 73038
-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 #
-#
-# Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
-#
-flush logs;
-drop table t1;
-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 73114
-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 73114
-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 #
-flush logs;
-show master status;
-File master-bin.000002
-Position 98
-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/r/rpl_misc_functions.result b/mysql-test/r/rpl_misc_functions.result
deleted file mode 100644
index a8e5520ca8f..00000000000
--- a/mysql-test/r/rpl_misc_functions.result
+++ /dev/null
@@ -1,55 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(id int, i int, r1 int, r2 int, p varchar(100));
-insert into t1 values(1, connection_id(), 0, 0, "");
-insert into t1 values(2, 0, rand()*1000, rand()*1000, "");
-set sql_log_bin=0;
-insert into t1 values(6, 0, rand(), rand(), "");
-delete from t1 where id=6;
-set sql_log_bin=1;
-insert into t1 values(3, 0, 0, 0, password('does_this_work?'));
-insert into t1 values(4, connection_id(), rand()*1000, rand()*1000, password('does_this_still_work?'));
-select * into outfile 'rpl_misc_functions.outfile' from t1;
-create table t2 like t1;
-load data local infile 'MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile' into table t2;
-select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
-id i r1 r2 p id i r1 r2 p
-drop table t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-col_a DOUBLE DEFAULT NULL);
-CREATE PROCEDURE test_replication_sp1()
-BEGIN
-INSERT INTO t1 (col_a) VALUES (rand()), (rand());
-INSERT INTO t1 (col_a) VALUES (rand());
-END|
-CREATE PROCEDURE test_replication_sp2()
-BEGIN
-CALL test_replication_sp1();
-CALL test_replication_sp1();
-END|
-CREATE FUNCTION test_replication_sf() RETURNS DOUBLE DETERMINISTIC
-BEGIN
-RETURN (rand() + rand());
-END|
-CALL test_replication_sp1();
-CALL test_replication_sp2();
-INSERT INTO t1 (col_a) VALUES (test_replication_sf());
-INSERT INTO t1 (col_a) VALUES (test_replication_sf());
-INSERT INTO t1 (col_a) VALUES (test_replication_sf());
-select * from t1 into outfile "../tmp/t1_slave.txt";
-create temporary table t1_slave select * from t1 where 1=0;
-load data infile '../tmp/t1_slave.txt' into table t1_slave;
-select count(*) into @aux from t1 join t1_slave using (id)
-where ABS(t1.col_a - t1_slave.col_a) < 0.0000001 ;
-SELECT @aux;
-@aux
-12
-DROP TABLE t1, t1_slave;
-DROP PROCEDURE test_replication_sp1;
-DROP PROCEDURE test_replication_sp2;
-DROP FUNCTION test_replication_sf;
diff --git a/mysql-test/r/rpl_multi_delete.result b/mysql-test/r/rpl_multi_delete.result
deleted file mode 100644
index d2c68eee62e..00000000000
--- a/mysql-test/r/rpl_multi_delete.result
+++ /dev/null
@@ -1,31 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int);
-create table t2 (a int);
-insert into t1 values (1);
-insert into t2 values (1);
-delete t1.* from t1, t2 where t1.a = t2.a;
-select * from t1;
-a
-select * from t2;
-a
-1
-select * from t1;
-a
-select * from t2;
-a
-1
-delete from t1;
-delete from t2;
-insert into t1 values(1);
-insert into t2 values(1);
-DELETE t1.*, t2.* from t1, t2;
-select * from t1;
-a
-select * from t2;
-a
-drop table t1,t2;
diff --git a/mysql-test/r/rpl_multi_delete2.result b/mysql-test/r/rpl_multi_delete2.result
deleted file mode 100644
index 73db9f62eb4..00000000000
--- a/mysql-test/r/rpl_multi_delete2.result
+++ /dev/null
@@ -1,44 +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 sql_log_bin=0;
-create database mysqltest_from;
-set sql_log_bin=1;
-create database mysqltest_to;
-use mysqltest_from;
-drop table if exists a;
-CREATE TABLE a (i INT);
-INSERT INTO a VALUES(1);
-DELETE alias FROM a alias WHERE alias.i=1;
-SELECT * FROM a;
-i
-insert into a values(2),(3);
-delete a alias FROM a alias where alias.i=2;
-select * from a;
-i
-3
-use mysqltest_to;
-select * from a;
-i
-3
-create table t1 (a int);
-create table t2 (a int);
-insert into t1 values (1);
-insert into t2 values (1);
-delete t1.* from t1, t2 where t1.a = t2.a;
-select * from t1;
-a
-select * from t2;
-a
-1
-select * from t1;
-ERROR 42S02: Table 'mysqltest_to.t1' doesn't exist
-select * from t2;
-ERROR 42S02: Table 'mysqltest_to.t2' doesn't exist
-set sql_log_bin=0;
-drop database mysqltest_from;
-set sql_log_bin=1;
-drop database mysqltest_to;
diff --git a/mysql-test/r/rpl_multi_query.result b/mysql-test/r/rpl_multi_query.result
deleted file mode 100644
index f2d8ea77536..00000000000
--- a/mysql-test/r/rpl_multi_query.result
+++ /dev/null
@@ -1,32 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
-create database mysqltest;
-create table mysqltest.t1 ( n int);
-insert into mysqltest.t1 values(1)/
-insert into mysqltest.t1 values(2);
-insert into mysqltest.t1 values(3);
-insert into mysqltest.t1 values(4);
-insert into mysqltest.t1 values(5)/
-select * from mysqltest.t1;
-n
-1
-2
-3
-4
-5
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # drop database if exists mysqltest
-master-bin.000001 # Query 1 # create database mysqltest
-master-bin.000001 # Query 1 # use `test`; create table mysqltest.t1 ( n int)
-master-bin.000001 # Query 1 # use `test`; insert into mysqltest.t1 values(1)
-master-bin.000001 # Query 1 # use `test`; insert into mysqltest.t1 values(2)
-master-bin.000001 # Query 1 # use `test`; insert into mysqltest.t1 values(3)
-master-bin.000001 # Query 1 # use `test`; insert into mysqltest.t1 values(4)
-master-bin.000001 # Query 1 # use `test`; insert into mysqltest.t1 values(5)
-drop database mysqltest;
diff --git a/mysql-test/r/rpl_multi_update.result b/mysql-test/r/rpl_multi_update.result
deleted file mode 100644
index 04cb1bc7460..00000000000
--- a/mysql-test/r/rpl_multi_update.result
+++ /dev/null
@@ -1,39 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-CREATE TABLE t2 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-INSERT INTO t1 VALUES (NULL, 0);
-INSERT INTO t1 SELECT NULL, 0 FROM t1;
-INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-UPDATE t1, t2 SET t1.b = t2.b WHERE t1.a = t2.a;
-delete from t1;
-delete from t2;
-insert into t1 values(1,1);
-insert into t2 values(1,1);
-update t1 set a=2;
-UPDATE t1, t2 SET t1.a = t2.a;
-select * from t1;
-a b
-1 1
-select * from t2;
-a b
-1 1
-drop table t1, t2;
diff --git a/mysql-test/r/rpl_multi_update2.result b/mysql-test/r/rpl_multi_update2.result
deleted file mode 100644
index 5bb262764fa..00000000000
--- a/mysql-test/r/rpl_multi_update2.result
+++ /dev/null
@@ -1,55 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1,t2;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-CREATE TABLE t2 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-INSERT INTO t1 VALUES (NULL, 0);
-INSERT INTO t1 SELECT NULL, 0 FROM t1;
-INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-UPDATE t1, t2 SET t1.b = (t2.b+4) WHERE t1.a = t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 4
-2 5
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-SELECT * FROM t1 ORDER BY a;
-a b
-1 4
-2 5
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-drop table t1,t2;
-reset master;
-CREATE TABLE t1 ( a INT );
-INSERT INTO t1 VALUES (0);
-UPDATE t1, (SELECT 3 as b) AS x SET t1.a = x.b;
-select * from t1;
-a
-3
-select * from t1;
-a
-3
-drop table t1;
diff --git a/mysql-test/r/rpl_multi_update3.result b/mysql-test/r/rpl_multi_update3.result
deleted file mode 100644
index bf454c7bb48..00000000000
--- a/mysql-test/r/rpl_multi_update3.result
+++ /dev/null
@@ -1,197 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
--------- Test for BUG#9361 --------
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-CREATE TABLE t2 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=MyISAM;
-INSERT INTO t1 VALUES (NULL, 0);
-INSERT INTO t1 SELECT NULL, 0 FROM t1;
-INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-UPDATE t2, (SELECT a FROM t1) AS t SET t2.b = t.a+5 ;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 6
-2 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 6
-2 6
-drop table t1,t2;
-
--------- Test 1 for BUG#9361 --------
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t1 (
-a1 char(30),
-a2 int,
-a3 int,
-a4 char(30),
-a5 char(30)
-);
-CREATE TABLE t2 (
-b1 int,
-b2 char(30)
-);
-INSERT INTO t1 VALUES ('Yes', 1, NULL, 'foo', 'bar');
-INSERT INTO t2 VALUES (1, 'baz');
-UPDATE t1 a, t2
-SET a.a1 = 'No'
-WHERE a.a2 =
-(SELECT b1
-FROM t2
-WHERE b2 = 'baz')
-AND a.a3 IS NULL
-AND a.a4 = 'foo'
-AND a.a5 = 'bar';
-SELECT * FROM t1;
-a1 a2 a3 a4 a5
-No 1 NULL foo bar
-SELECT * FROM t2;
-b1 b2
-1 baz
-DROP TABLE t1, t2;
-
--------- Test 2 for BUG#9361 --------
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-CREATE TABLE t1 (
-i INT,
-j INT,
-x INT,
-y INT,
-z INT
-);
-CREATE TABLE t2 (
-i INT,
-k INT,
-x INT,
-y INT,
-z INT
-);
-CREATE TABLE t3 (
-j INT,
-k INT,
-x INT,
-y INT,
-z INT
-);
-INSERT INTO t1 VALUES ( 1, 2,13,14,15);
-INSERT INTO t2 VALUES ( 1, 3,23,24,25);
-INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
-UPDATE t1 AS a
-INNER JOIN t2 AS b
-ON a.i = b.i
-INNER JOIN t3 AS c
-ON a.j = c.j AND b.k = c.k
-SET a.x = b.x,
-a.y = b.y,
-a.z = (
-SELECT sum(z)
-FROM t3
-WHERE y = 34
-)
-WHERE b.x = 23;
-SELECT * FROM t1;
-i j x y z
-1 2 23 24 71
-DROP TABLE t1, t2, t3;
-DROP TABLE IF EXISTS t1;
-Warnings:
-Note 1051 Unknown table 't1'
-DROP TABLE IF EXISTS t2;
-Warnings:
-Note 1051 Unknown table 't2'
-CREATE TABLE t1 (
-idp int(11) NOT NULL default '0',
-idpro int(11) default NULL,
-price decimal(19,4) default NULL,
-PRIMARY KEY (idp)
-);
-CREATE TABLE t2 (
-idpro int(11) NOT NULL default '0',
-price decimal(19,4) default NULL,
-nbprice int(11) default NULL,
-PRIMARY KEY (idpro)
-);
-INSERT INTO t1 VALUES
-(1,1,'3.0000'),
-(2,2,'1.0000'),
-(3,1,'1.0000'),
-(4,1,'4.0000'),
-(5,3,'2.0000'),
-(6,2,'4.0000');
-INSERT INTO t2 VALUES
-(1,'0.0000',0),
-(2,'0.0000',0),
-(3,'0.0000',0);
-update
-t2
-join
-( select idpro, min(price) as min_price, count(*) as nbr_price
-from t1
-where idpro>0 and price>0
-group by idpro
-) as table_price
-on t2.idpro = table_price.idpro
-set t2.price = table_price.min_price,
-t2.nbprice = table_price.nbr_price;
-select "-- MASTER AFTER JOIN --" as "";
-
--- MASTER AFTER JOIN --
-select * from t1;
-idp idpro price
-1 1 3.0000
-2 2 1.0000
-3 1 1.0000
-4 1 4.0000
-5 3 2.0000
-6 2 4.0000
-select * from t2;
-idpro price nbprice
-1 1.0000 3
-2 1.0000 2
-3 2.0000 1
-select "-- SLAVE AFTER JOIN --" as "";
-
--- SLAVE AFTER JOIN --
-select * from t1;
-idp idpro price
-1 1 3.0000
-2 2 1.0000
-3 1 1.0000
-4 1 4.0000
-5 3 2.0000
-6 2 4.0000
-select * from t2;
-idpro price nbprice
-1 1.0000 3
-2 1.0000 2
-3 2.0000 1
-drop table t1, t2;
diff --git a/mysql-test/r/rpl_multi_update4.result b/mysql-test/r/rpl_multi_update4.result
deleted file mode 100644
index f6dde65a35d..00000000000
--- a/mysql-test/r/rpl_multi_update4.result
+++ /dev/null
@@ -1,25 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists d1;
-drop database if exists d2;
-drop database if exists d2;
-create database d1;
-create table d1.t0 (id int);
-create database d2;
-use d2;
-create table t1 (id int);
-create table t2 (id int);
-insert into t1 values (1), (2), (3), (4), (5);
-insert into t2 select id + 3 from t1;
-update t1 join t2 using (id) set t1.id = 0;
-insert into d1.t0 values (0);
-use d1;
-select * from t0 where id=0;
-id
-0
-drop database d1;
-drop database d2;
diff --git a/mysql-test/r/rpl_mystery22.result b/mysql-test/r/rpl_mystery22.result
deleted file mode 100644
index 348b3211cd5..00000000000
--- a/mysql-test/r/rpl_mystery22.result
+++ /dev/null
@@ -1,23 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(n int auto_increment primary key);
-insert into t1 values (2);
-insert into t1 values(NULL);
-insert into t1 values(NULL);
-delete from t1 where n = 2;
-start slave;
-stop slave;
-create table t2(n int);
-drop table t2;
-insert into t1 values(NULL);
-start slave;
-select * from t1;
-n
-1
-2
-3
-drop table t1;
diff --git a/mysql-test/r/rpl_ndb_innodb_trans.result b/mysql-test/r/rpl_ndb_innodb_trans.result
deleted file mode 100644
index 148e6247b03..00000000000
--- a/mysql-test/r/rpl_ndb_innodb_trans.result
+++ /dev/null
@@ -1,103 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int, unique(a)) engine=ndbcluster;
-create table t2 (a int, unique(a)) engine=innodb;
-begin;
-insert into t1 values(1);
-insert into t2 values(1);
-rollback;
-select count(*) from t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-begin;
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-delete from t1;
-delete from t2;
-begin;
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-delete from t1;
-delete from t2;
-begin;
-insert into t2 values(3),(4);
-insert into t1 values(3),(4);
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../std_data_ln/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-4
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-4
-select count(*) from t2;
-count(*)
-0
-drop table t1,t2;
diff --git a/mysql-test/r/rpl_openssl.result b/mysql-test/r/rpl_openssl.result
deleted file mode 100644
index c10606bc03f..00000000000
--- a/mysql-test/r/rpl_openssl.result
+++ /dev/null
@@ -1,31 +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;
-grant replication slave on *.* to replssl@localhost require ssl;
-create table t1 (t int);
-stop slave;
-change master to master_user='replssl',master_password='';
-start slave;
-insert into t1 values (1);
-select * from t1;
-t
-stop slave;
-change master to master_ssl=1 , master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem';
-start slave;
-select * from t1;
-t
-1
-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
-# 127.0.0.1 replssl MASTER_MYPORT 1 master-bin.000001 398 # # master-bin.000001 Yes Yes 0 0 398 # None 0 Yes MYSQL_TEST_DIR/std_data/cacert.pem MYSQL_TEST_DIR/std_data/client-cert.pem MYSQL_TEST_DIR/std_data/client-key.pem #
-stop slave;
-change master to master_user='root',master_password='', master_ssl=0;
-start slave;
-drop user replssl@localhost;
-drop table t1;
-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
-# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 564 # # master-bin.000001 Yes Yes 0 0 564 # None 0 No MYSQL_TEST_DIR/std_data/cacert.pem MYSQL_TEST_DIR/std_data/client-cert.pem MYSQL_TEST_DIR/std_data/client-key.pem #
diff --git a/mysql-test/r/rpl_optimize.result b/mysql-test/r/rpl_optimize.result
deleted file mode 100644
index 79891169fbc..00000000000
--- a/mysql-test/r/rpl_optimize.result
+++ /dev/null
@@ -1,27 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int not null auto_increment primary key, b int, key(b));
-INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-INSERT INTO t1 (a) SELECT null FROM t1;
-update t1 set b=(a/2*rand());
-delete from t1 order by b limit 10000;
-optimize table t1;
-Table Op Msg_type Msg_text
-test.t1 optimize status OK
-drop table t1;
diff --git a/mysql-test/r/rpl_packet.result b/mysql-test/r/rpl_packet.result
deleted file mode 100644
index 9425724b434..00000000000
--- a/mysql-test/r/rpl_packet.result
+++ /dev/null
@@ -1,57 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
-create database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
-select @@net_buffer_length, @@max_allowed_packet;
-@@net_buffer_length @@max_allowed_packet
-1024 1024
-create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
-INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
-select count(*) from `DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________`.`t1` /* must be 1 */;
-count(*)
-1
-drop database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
-SET @@global.max_allowed_packet=4096;
-SET @@global.net_buffer_length=4096;
-STOP SLAVE;
-START SLAVE;
-CREATE TABLe `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
-INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
-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 2138
-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 2138
-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 #
diff --git a/mysql-test/r/rpl_ps.result b/mysql-test/r/rpl_ps.result
deleted file mode 100644
index c969575de76..00000000000
--- a/mysql-test/r/rpl_ps.result
+++ /dev/null
@@ -1,28 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1;
-create table t1(n char(30));
-prepare stmt1 from 'insert into t1 values (?)';
-set @var1= "from-master-1";
-execute stmt1 using @var1;
-set @var1= "from-master-2-'',";
-execute stmt1 using @var1;
-select * from t1;
-n
-from-master-1
-from-master-2-'',
-set @var2= 'insert into t1 values (concat("from-var-", ?))';
-prepare stmt2 from @var2;
-set @var1='from-master-3';
-execute stmt2 using @var1;
-select * from t1;
-n
-from-master-1
-from-master-2-'',
-from-var-from-master-3
-drop table t1;
-stop slave;
diff --git a/mysql-test/r/rpl_redirect.result b/mysql-test/r/rpl_redirect.result
deleted file mode 100644
index 9dd51eaba4d..00000000000
--- a/mysql-test/r/rpl_redirect.result
+++ /dev/null
@@ -1,42 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-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
-SHOW SLAVE HOSTS;
-Server_id Host Port Rpl_recovery_rank Master_id
-2 127.0.0.1 SLAVE_PORT 2 1
-create table t1 ( n int);
-insert into t1 values (1),(2),(3),(4);
-insert into t1 values(5);
-select * from t1;
-n
-1
-2
-3
-4
-5
-select * from t1;
-n
-1
-2
-3
-4
-select * from t1;
-n
-1
-2
-3
-4
-select * from t1;
-n
-1
-2
-3
-4
-5
-drop table t1;
-drop table t1;
diff --git a/mysql-test/r/rpl_relayrotate.result b/mysql-test/r/rpl_relayrotate.result
deleted file mode 100644
index 20f19973d83..00000000000
--- a/mysql-test/r/rpl_relayrotate.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1 (a int) engine=innodb;
-reset slave;
-start slave;
-stop slave;
-start slave;
-select max(a) from t1;
-max(a)
-8000
-drop table t1;
diff --git a/mysql-test/r/rpl_relayspace.result b/mysql-test/r/rpl_relayspace.result
deleted file mode 100644
index 1f2a739d3e3..00000000000
--- a/mysql-test/r/rpl_relayspace.result
+++ /dev/null
@@ -1,19 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1 (a int);
-drop table t1;
-create table t1 (a int);
-drop table t1;
-reset slave;
-start slave io_thread;
-stop slave io_thread;
-reset slave;
-start slave;
-select master_pos_wait('master-bin.001',200,6)=-1;
-master_pos_wait('master-bin.001',200,6)=-1
-0
diff --git a/mysql-test/r/rpl_replicate_do.result b/mysql-test/r/rpl_replicate_do.result
deleted file mode 100644
index 9bacffb0609..00000000000
--- a/mysql-test/r/rpl_replicate_do.result
+++ /dev/null
@@ -1,77 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t11;
-drop table if exists t11;
-create table t2 (n int);
-insert into t2 values(4);
-create table t2 (s char(20));
-load data infile '../std_data_ln/words.dat' into table t2;
-insert into t2 values('five');
-create table t1 (m int);
-insert into t1 values(15),(16),(17);
-update t1 set m=20 where m=16;
-delete from t1 where m=17;
-create table t11 select * from t1;
-select * from t1;
-m
-15
-20
-select * from t2;
-n
-4
-select * from t11;
-ERROR 42S02: Table 'test.t11' doesn't exist
-drop table if exists t1,t2,t11;
-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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1658 # # master-bin.000001 Yes Yes test.t1 0 0 1658 # None 0 No #
-create table t1 (ts timestamp);
-set one_shot time_zone='met';
-insert into t1 values('2005-08-12 00:00:00');
-set one_shot time_zone='met';
-select * from t1;
-ts
-2005-08-12 00:00:00
-set one_shot time_zone='met';
-select * from t1;
-ts
-2005-08-12 00:00:00
-drop table t1;
-*** master ***
-create table t1 (a int, b int);
-create trigger trg1 before insert on t1 for each row set new.b=2;
-create table t2 (a int, b int);
-create trigger trg2 before insert on t2 for each row set new.b=2;
-show tables;
-Tables_in_test
-t1
-t2
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 set new.b=2 BEFORE NULL root@localhost
-trg2 INSERT t2 set new.b=2 BEFORE NULL root@localhost
-*** slave ***
-show tables;
-Tables_in_test
-t1
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 set new.b=2 BEFORE NULL root@localhost
-*** master ***
-drop trigger trg1;
-drop trigger trg2;
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-*** slave ***
-show tables;
-Tables_in_test
-t1
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-*** master ***
-drop table t1;
-drop table t2;
diff --git a/mysql-test/r/rpl_reset_slave.result b/mysql-test/r/rpl_reset_slave.result
deleted file mode 100644
index ab55423b773..00000000000
--- a/mysql-test/r/rpl_reset_slave.result
+++ /dev/null
@@ -1,32 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show 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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 98 # # master-bin.000001 Yes Yes 0 0 98 # None 0 No #
-stop slave;
-change master to master_user='test';
-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
-# 127.0.0.1 test MASTER_PORT 1 master-bin.000001 98 # # master-bin.000001 No No 0 0 98 # None 0 No #
-reset slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 1 4 # # No No 0 0 0 # None 0 No #
-start slave;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 98 # # master-bin.000001 Yes Yes 0 0 98 # None 0 No #
-stop slave;
-reset slave;
-start slave;
-create temporary table t1 (a int);
-stop slave;
-reset slave;
-start slave;
-show status like 'slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 1
diff --git a/mysql-test/r/rpl_rewrite_db.result b/mysql-test/r/rpl_rewrite_db.result
deleted file mode 100644
index 1b843bffdca..00000000000
--- a/mysql-test/r/rpl_rewrite_db.result
+++ /dev/null
@@ -1,94 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest1;
-create database mysqltest1;
-use mysqltest1;
-create table t1 (a int);
-insert into t1 values(9);
-select * from mysqltest1.t1;
-a
-9
-show databases like 'mysqltest1';
-Database (mysqltest1)
-mysqltest1
-select * from test.t1;
-a
-9
-drop table t1;
-drop database mysqltest1;
-drop database if exists rewrite;
-create database rewrite;
-use test;
-create table t1 (a date, b date, c date not null, d date);
-load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-Warning 1265 Data truncated for column 'c' at row 1
-Warning 1265 Data truncated for column 'd' at row 1
-Warning 1265 Data truncated for column 'a' at row 2
-Warning 1265 Data truncated for column 'b' at row 2
-Warning 1265 Data truncated for column 'd' at row 2
-load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
-select * from rewrite.t1;
-a b c d
-0000-00-00 NULL 0000-00-00 0000-00-00
-0000-00-00 0000-00-00 0000-00-00 0000-00-00
-2003-03-03 2003-03-03 2003-03-03 NULL
-2003-03-03 2003-03-03 2003-03-03 NULL
-truncate table t1;
-load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
-Warnings:
-Warning 1265 Data truncated for column 'c' at row 1
-Warning 1265 Data truncated for column 'd' at row 1
-Warning 1265 Data truncated for column 'b' at row 2
-Warning 1265 Data truncated for column 'd' at row 2
-select * from rewrite.t1;
-a b c d
-NULL NULL 0000-00-00 0000-00-00
-NULL 0000-00-00 0000-00-00 0000-00-00
-NULL 2003-03-03 2003-03-03 NULL
-drop table t1;
-create table t1 (a text, b text);
-load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
-Warnings:
-Warning 1261 Row 3 doesn't contain data for all columns
-select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1;
-concat('|',a,'|') concat('|',b,'|')
-|Field A| |Field B|
-|Field 1| |Field 2'
-Field 3,'Field 4|
-|Field 5' ,'Field 6| NULL
-|Field 6| | 'Field 7'|
-drop table t1;
-create table t1 (a int, b char(10));
-load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
-Warnings:
-Warning 1366 Incorrect integer value: 'error ' for column 'a' at row 3
-Warning 1262 Row 3 was truncated; it contained more data than there were input columns
-Warning 1366 Incorrect integer value: 'wrong end ' for column 'a' at row 5
-Warning 1262 Row 5 was truncated; it contained more data than there were input columns
-select * from rewrite.t1;
-a b
-1 row 1
-2 row 2
-0 1234567890
-3 row 3
-0 1234567890
-truncate table t1;
-load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
-Warnings:
-Warning 1366 Incorrect integer value: '
-' for column 'a' at row 4
-Warning 1261 Row 4 doesn't contain data for all columns
-select * from rewrite.t1;
-a b
-1 row 1
-2 row 2
-3 row 3
-0
-drop database rewrite;
-drop table t1;
diff --git a/mysql-test/r/rpl_rotate_logs.result b/mysql-test/r/rpl_rotate_logs.result
deleted file mode 100644
index 8a5ae6c8983..00000000000
--- a/mysql-test/r/rpl_rotate_logs.result
+++ /dev/null
@@ -1,105 +0,0 @@
-drop table if exists t1, t2, t3, t4;
-drop table if exists t1, t2, t3, t4;
-start slave;
-Got one of the listed errors
-start slave;
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MySQL error log
-change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
-ERROR HY000: Could not initialize master info structure; more error messages can be found in the MySQL error log
-reset slave;
-change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
-reset master;
-start slave;
-create temporary table temp_table (a char(80) not null);
-insert into temp_table values ("testing temporary tables");
-create table t1 (s text);
-insert into t1 values('Could not break slave'),('Tried hard');
-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
-# 127.0.0.1 root MASTER_PORT 60 master-bin.000001 548 # # master-bin.000001 Yes Yes 0 0 548 # None 0 No #
-select * from t1;
-s
-Could not break slave
-Tried hard
-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;
-Log_name File_size
-master-bin.000001 592
-master-bin.000002 363
-master-bin.000003 98
-create table t3 select * from temp_table;
-select * from t3;
-a
-testing temporary tables
-drop table temp_table, t3;
-insert into t2 values(1234);
-set insert_id=1234;
-insert into t2 values(NULL);
-set global sql_slave_skip_counter=1;
-start slave;
-purge master logs to 'master-bin.000002';
-show master logs;
-Log_name File_size
-master-bin.000002 363
-master-bin.000003 407
-purge binary logs to 'master-bin.000002';
-show binary logs;
-Log_name File_size
-master-bin.000002 363
-master-bin.000003 407
-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 407
-insert into t2 values (65);
-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
-# 127.0.0.1 root MASTER_PORT 60 master-bin.000003 496 # # master-bin.000003 Yes Yes 0 0 496 # None 0 No #
-select * from t2;
-m
-34
-65
-67
-123
-1234
-create temporary table temp_table (a char(80) not null);
-insert into temp_table values ("testing temporary tables part 2");
-create table t3 (n int);
-select count(*) from t3 where n >= 4;
-count(*)
-100
-create table t4 select * from temp_table;
-show binary logs;
-Log_name File_size
-master-bin.000003 4185
-master-bin.000004 4190
-master-bin.000005 2032
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000005 2032
-select * from t4;
-a
-testing temporary tables part 2
-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
-# 127.0.0.1 root MASTER_PORT 60 master-bin.000005 2032 # # master-bin.000005 Yes Yes 0 0 2032 # None 0 No #
-lock tables t3 read;
-select count(*) from t3 where n >= 4;
-count(*)
-100
-unlock tables;
-drop table if exists t1,t2,t3,t4;
-End of 4.1 tests
-show binlog events in 'non existing_binlog_file';
-ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
-purge master logs before now();
-show binlog events in '';
-ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
-purge master logs before now();
-End of 5.0 tests
diff --git a/mysql-test/r/rpl_server_id1.result b/mysql-test/r/rpl_server_id1.result
deleted file mode 100644
index a3ab6672f69..00000000000
--- a/mysql-test/r/rpl_server_id1.result
+++ /dev/null
@@ -1,19 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int);
-reset master;
-stop slave;
-change master to master_port=SLAVE_PORT;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
- 127.0.0.1 root SLAVE_PORT 1 4 slave-relay-bin.000001 4 No No # 0 0 0 98 None 0 No NULL
-start slave;
-insert into t1 values (1);
-show status like "slave_running";
-Variable_name Value
-Slave_running OFF
-drop table t1;
diff --git a/mysql-test/r/rpl_server_id2.result b/mysql-test/r/rpl_server_id2.result
deleted file mode 100644
index b196646aecc..00000000000
--- a/mysql-test/r/rpl_server_id2.result
+++ /dev/null
@@ -1,21 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int);
-reset master;
-stop slave;
-change master to master_port=SLAVE_PORT;
-show slave status;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
- 127.0.0.1 root SLAVE_PORT 1 4 slave-relay-bin.000001 4 No No # 0 0 0 98 None 0 No NULL
-start slave;
-insert into t1 values (1);
-select * from t1;
-n
-1
-1
-stop slave;
-drop table t1;
diff --git a/mysql-test/r/rpl_session_var.result b/mysql-test/r/rpl_session_var.result
deleted file mode 100644
index 787899932d6..00000000000
--- a/mysql-test/r/rpl_session_var.result
+++ /dev/null
@@ -1,53 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1(a varchar(100),b int);
-set @@session.sql_mode=pipes_as_concat;
-insert into t1 values('My'||'SQL', 1);
-set @@session.sql_mode=default;
-insert into t1 values('1'||'2', 2);
-select * from t1 where b<3 order by a;
-a b
-1 2
-MySQL 1
-select * from t1 where b<3 order by a;
-a b
-1 2
-MySQL 1
-set @@session.sql_mode=ignore_space;
-insert into t1 values(password ('MySQL'), 3);
-set @@session.sql_mode=ansi_quotes;
-create table "t2" ("a" int);
-drop table t1, t2;
-set @@session.sql_mode=default;
-create table t1(a int auto_increment primary key);
-create table t2(b int, a int);
-set @@session.sql_auto_is_null=1;
-insert into t1 values(null);
-insert into t2 select 1,a from t1 where a is null;
-set @@session.sql_auto_is_null=0;
-insert into t1 values(null);
-insert into t2 select 2,a from t1 where a is null;
-select * from t2 order by b;
-b a
-1 1
-select * from t2 order by b;
-b a
-1 1
-drop table t1,t2;
-CREATE TABLE t1 (
-`id` int(11) NOT NULL auto_increment,
-`data` varchar(100),
-PRIMARY KEY (`id`)
-) ENGINE=MyISAM;
-INSERT INTO t1(data) VALUES(SESSION_USER());
-SELECT * FROM t1;
-id data
-1
-drop table t1;
diff --git a/mysql-test/r/rpl_set_charset.result b/mysql-test/r/rpl_set_charset.result
deleted file mode 100644
index 480d926fbba..00000000000
--- a/mysql-test/r/rpl_set_charset.result
+++ /dev/null
@@ -1,48 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest1;
-create database mysqltest1 /*!40100 character set latin2 */;
-use mysqltest1;
-drop table if exists t1;
-create table t1 (a varchar(255) character set latin2, b varchar(4));
-SET CHARACTER SET cp1250_latin2;
-INSERT INTO t1 VALUES ('','80');
-INSERT INTO t1 VALUES ('','90');
-INSERT INTO t1 VALUES ('','A0');
-INSERT INTO t1 VALUES ('','B0');
-INSERT INTO t1 VALUES ('','C0');
-INSERT INTO t1 VALUES ('','D0');
-INSERT INTO t1 VALUES ('','E0');
-INSERT INTO t1 VALUES ('','F0');
-select "--- on master ---";
---- on master ---
---- on master ---
-select hex(a),b from t1 order by b;
-hex(a) b
-A9A6ABAEAC 80
-B9B6BBBEBC 90
-A3A1AAAF A0
-B3B1BAA5B5BF B0
-C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF C0
-D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF D0
-E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF E0
-F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF F0
-use mysqltest1;
-select "--- on slave ---";
---- on slave ---
---- on slave ---
-select hex(a),b from t1 order by b;
-hex(a) b
-A9A6ABAEAC 80
-B9B6BBBEBC 90
-A3A1AAAF A0
-B3B1BAA5B5BF B0
-C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF C0
-D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF D0
-E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF E0
-F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF F0
-drop database mysqltest1;
diff --git a/mysql-test/r/rpl_skip_error.result b/mysql-test/r/rpl_skip_error.result
deleted file mode 100644
index 22ba357ef49..00000000000
--- a/mysql-test/r/rpl_skip_error.result
+++ /dev/null
@@ -1,35 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int not null primary key);
-insert into t1 values (1);
-insert into t1 values (1);
-insert into t1 values (2),(3);
-select * from t1;
-n
-1
-2
-3
-drop table t1;
-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;
-@@server_id
-1
-insert into t1 values (1),(2),(3);
-select @@server_id;
-@@server_id
-2
-select * from t1;
-a
-1
-2
-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
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 843 # # master-bin.000001 Yes Yes 0 0 843 # None 0 No #
-drop table t1;
diff --git a/mysql-test/r/rpl_slave_skip.result b/mysql-test/r/rpl_slave_skip.result
deleted file mode 100644
index a59ac3eb884..00000000000
--- a/mysql-test/r/rpl_slave_skip.result
+++ /dev/null
@@ -1,144 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** On Master ****
-CREATE TABLE t1 (a INT, b SET('master','slave')) ENGINE=INNODB;
-CREATE TABLE t2 (a INT, b SET('master','slave')) ENGINE=MYISAM;
-==== Skipping normal transactions ====
-**** On Slave ****
-STOP SLAVE;
-**** On Master ****
-BEGIN;
-INSERT INTO t1 VALUES (1, 'master');
-INSERT INTO t1 VALUES (2, 'master');
-INSERT INTO t1 VALUES (3, 'master');
-COMMIT;
-BEGIN;
-INSERT INTO t1 VALUES (4, 'master,slave');
-INSERT INTO t1 VALUES (5, 'master,slave');
-INSERT INTO t1 VALUES (6, 'master,slave');
-COMMIT;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 master
-2 master
-3 master
-4 master,slave
-5 master,slave
-6 master,slave
-**** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-SELECT * FROM t1 ORDER BY a;
-a b
-4 master,slave
-5 master,slave
-6 master,slave
-**** On Master ****
-DELETE FROM t1;
-==== Skipping two normal transactions ====
-**** On Slave ****
-STOP SLAVE;
-**** On Master ****
-BEGIN;
-INSERT INTO t1 VALUES (1, 'master');
-INSERT INTO t1 VALUES (2, 'master');
-INSERT INTO t1 VALUES (3, 'master');
-COMMIT;
-BEGIN;
-INSERT INTO t1 VALUES (4, 'master');
-INSERT INTO t1 VALUES (5, 'master');
-INSERT INTO t1 VALUES (6, 'master');
-COMMIT;
-BEGIN;
-INSERT INTO t1 VALUES (7, 'master,slave');
-INSERT INTO t1 VALUES (8, 'master,slave');
-INSERT INTO t1 VALUES (9, 'master,slave');
-COMMIT;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 master
-2 master
-3 master
-4 master
-5 master
-6 master
-7 master,slave
-8 master,slave
-9 master,slave
-**** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=8;
-START SLAVE;
-SELECT * FROM t1 ORDER BY a;
-a b
-7 master,slave
-8 master,slave
-9 master,slave
-**** On Master ****
-DELETE FROM t1;
-==== Skipping without autocommit ====
-**** On Slave ****
-STOP SLAVE;
-**** On Master ****
-SET AUTOCOMMIT=0;
-INSERT INTO t1 VALUES (1, 'master');
-INSERT INTO t1 VALUES (2, 'master');
-INSERT INTO t1 VALUES (3, 'master');
-COMMIT;
-INSERT INTO t1 VALUES (4, 'master,slave');
-INSERT INTO t1 VALUES (5, 'master,slave');
-INSERT INTO t1 VALUES (6, 'master,slave');
-COMMIT;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 master
-2 master
-3 master
-4 master,slave
-5 master,slave
-6 master,slave
-**** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-SELECT * FROM t1 ORDER BY a;
-a b
-4 master,slave
-5 master,slave
-6 master,slave
-==== Rollback of transaction with non-transactional change ====
-**** On Master ****
-DELETE FROM t1;
-SET AUTOCOMMIT=1;
-**** On Slave ****
-STOP SLAVE;
-**** On Master ****
-BEGIN;
-INSERT INTO t1 VALUES (1, '');
-INSERT INTO t2 VALUES (2, 'master');
-INSERT INTO t1 VALUES (3, '');
-ROLLBACK;
-BEGIN;
-INSERT INTO t1 VALUES (4, '');
-INSERT INTO t2 VALUES (5, 'master,slave');
-INSERT INTO t1 VALUES (6, '');
-ROLLBACK;
-SELECT * FROM t1 ORDER BY a;
-a b
-SELECT * FROM t2 ORDER BY a;
-a b
-2 master
-5 master,slave
-**** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-SELECT * FROM t1 ORDER BY a;
-a b
-SELECT * FROM t2 ORDER BY a;
-a b
-5 master,slave
-==== Cleanup ====
-**** On Master ****
-DROP TABLE t1, t2;
diff --git a/mysql-test/r/rpl_slave_status.result b/mysql-test/r/rpl_slave_status.result
deleted file mode 100644
index 9a4ec4131b0..00000000000
--- a/mysql-test/r/rpl_slave_status.result
+++ /dev/null
@@ -1,55 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl';
-stop slave;
-change master to master_user='rpl',master_password='rpl';
-start slave;
-drop table if exists t1;
-create table t1 (n int);
-insert into t1 values (1);
-select * from t1;
-n
-1
-delete from mysql.user where user='rpl';
-flush privileges;
-stop slave;
-start slave;
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User rpl
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running 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 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master NULL
-drop table t1;
diff --git a/mysql-test/r/rpl_sp.result b/mysql-test/r/rpl_sp.result
deleted file mode 100644
index 0fe1b4b908e..00000000000
--- a/mysql-test/r/rpl_sp.result
+++ /dev/null
@@ -1,534 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest1;
-create database mysqltest1;
-use mysqltest1;
-create table t1 (a varchar(100));
-use mysqltest1;
-create procedure foo()
-begin
-declare b int;
-set b = 8;
-insert into t1 values (b);
-insert into t1 values (unix_timestamp());
-end|
-select * from mysql.proc where name='foo' and db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-mysqltest1 foo PROCEDURE foo SQL CONTAINS_SQL NO DEFINER begin
-declare b int;
-set b = 8;
-insert into t1 values (b);
-insert into t1 values (unix_timestamp());
-end root@localhost # #
-select * from mysql.proc where name='foo' and db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-mysqltest1 foo PROCEDURE foo SQL CONTAINS_SQL NO DEFINER begin
-declare b int;
-set b = 8;
-insert into t1 values (b);
-insert into t1 values (unix_timestamp());
-end root@localhost # #
-set timestamp=1000000000;
-call foo();
-select * from t1;
-a
-8
-1000000000
-select * from t1;
-a
-8
-1000000000
-delete from t1;
-create procedure foo2()
-select * from mysqltest1.t1;
-call foo2();
-a
-alter procedure foo2 contains sql;
-drop table t1;
-create table t1 (a int);
-create table t2 like t1;
-create procedure foo3()
-deterministic
-insert into t1 values (15);
-grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1;
-grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1;
-grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1;
-SELECT 1;
-1
-1
-create procedure foo4()
-deterministic
-begin
-insert into t2 values(3);
-insert into t1 values (5);
-end|
-call foo4();
-Got one of the listed errors
-call foo3();
-show warnings;
-Level Code Message
-call foo4();
-Got one of the listed errors
-alter procedure foo4 sql security invoker;
-call foo4();
-show warnings;
-Level Code Message
-select * from t1;
-a
-15
-5
-select * from t2;
-a
-3
-3
-3
-select * from t1;
-a
-15
-5
-select * from t2;
-a
-3
-3
-3
-delete from t2;
-alter table t2 add unique (a);
-drop procedure foo4;
-create procedure foo4()
-deterministic
-begin
-insert into t2 values(20),(20);
-end|
-call foo4();
-ERROR 23000: Duplicate entry '20' for key 1
-show warnings;
-Level Code Message
-Error 1062 Duplicate entry '20' for key 1
-select * from t2;
-a
-20
-select * from t2;
-a
-20
-select * from mysql.proc where name="foo4" and db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-mysqltest1 foo4 PROCEDURE foo4 SQL CONTAINS_SQL YES DEFINER begin
-insert into t2 values(20),(20);
-end root@localhost # #
-drop procedure foo4;
-select * from mysql.proc where name="foo4" and db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-select * from mysql.proc where name="foo4" and db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-drop procedure foo;
-drop procedure foo2;
-drop procedure foo3;
-create function fn1(x int)
-returns int
-begin
-insert into t1 values (x);
-return x+2;
-end|
-ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
-create function fn1(x int)
-returns int
-deterministic
-begin
-insert into t1 values (x);
-return x+2;
-end|
-delete t1,t2 from t1,t2;
-select fn1(20);
-fn1(20)
-22
-insert into t2 values(fn1(21));
-select * from t1;
-a
-21
-20
-select * from t2;
-a
-23
-select * from t1;
-a
-21
-20
-select * from t2;
-a
-23
-drop function fn1;
-create function fn1()
-returns int
-no sql
-begin
-return unix_timestamp();
-end|
-alter function fn1 contains sql;
-ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
-delete from t1;
-set timestamp=1000000000;
-insert into t1 values(fn1());
-create function fn2()
-returns int
-no sql
-begin
-return unix_timestamp();
-end|
-ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
-set global log_bin_trust_routine_creators=1;
-Warnings:
-Warning 1287 'log_bin_trust_routine_creators' is deprecated; use 'log_bin_trust_function_creators' instead
-set global log_bin_trust_function_creators=0;
-set global log_bin_trust_function_creators=1;
-set global log_bin_trust_function_creators=1;
-create function fn2()
-returns int
-no sql
-begin
-return unix_timestamp();
-end|
-create function fn3()
-returns int
-not deterministic
-reads sql data
-begin
-return 0;
-end|
-select fn3();
-fn3()
-0
-select * from mysql.proc where db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-mysqltest1 fn1 FUNCTION fn1 SQL NO_SQL NO DEFINER int(11) begin
-return unix_timestamp();
-end root@localhost # #
-mysqltest1 fn2 FUNCTION fn2 SQL NO_SQL NO DEFINER int(11) begin
-return unix_timestamp();
-end zedjzlcsjhd@localhost # #
-mysqltest1 fn3 FUNCTION fn3 SQL READS_SQL_DATA NO DEFINER int(11) begin
-return 0;
-end root@localhost # #
-select * from t1;
-a
-1000000000
-use mysqltest1;
-select * from t1;
-a
-1000000000
-select * from mysql.proc where db='mysqltest1';
-db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment
-mysqltest1 fn1 FUNCTION fn1 SQL NO_SQL NO DEFINER int(11) begin
-return unix_timestamp();
-end root@localhost # #
-mysqltest1 fn2 FUNCTION fn2 SQL NO_SQL NO DEFINER int(11) begin
-return unix_timestamp();
-end zedjzlcsjhd@localhost # #
-mysqltest1 fn3 FUNCTION fn3 SQL READS_SQL_DATA NO DEFINER int(11) begin
-return 0;
-end root@localhost # #
-delete from t2;
-alter table t2 add unique (a);
-drop function fn1;
-create function fn1(x int)
-returns int
-begin
-insert into t2 values(x),(x);
-return 10;
-end|
-do fn1(100);
-Warnings:
-Error 1062 Duplicate entry '100' for key 1
-select fn1(20);
-ERROR 23000: Duplicate entry '20' for key 1
-select * from t2;
-a
-20
-100
-select * from t2;
-a
-20
-100
-create trigger trg before insert on t1 for each row set new.a= 10;
-ERROR 42000: Access denied; you need the SUPER privilege for this operation
-delete from t1;
-create trigger trg before insert on t1 for each row set new.a= 10;
-insert into t1 values (1);
-select * from t1;
-a
-10
-select * from t1;
-a
-10
-delete from t1;
-drop trigger trg;
-insert into t1 values (1);
-select * from t1;
-a
-1
-select * from t1;
-a
-1
-create procedure foo()
-not deterministic
-reads sql data
-select * from t1;
-call foo();
-a
-1
-drop procedure foo;
-drop function fn1;
-drop database mysqltest1;
-drop user "zedjzlcsjhd"@127.0.0.1;
-use test;
-use test;
-drop function if exists f1;
-create function f1() returns int reads sql data
-begin
-declare var integer;
-declare c cursor for select a from v1;
-open c;
-fetch c into var;
-close c;
-return var;
-end|
-create view v1 as select 1 as a;
-create table t1 (a int);
-insert into t1 (a) values (f1());
-select * from t1;
-a
-1
-drop view v1;
-drop function f1;
-select * from t1;
-a
-1
-DROP PROCEDURE IF EXISTS p1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1(col VARCHAR(10));
-CREATE PROCEDURE p1(arg VARCHAR(10))
-INSERT INTO t1 VALUES(arg);
-CALL p1('test');
-SELECT * FROM t1;
-col
-test
-SELECT * FROM t1;
-col
-test
-DROP PROCEDURE p1;
-
----> Test for BUG#20438
-
----> Preparing environment...
----> connection: master
-DROP PROCEDURE IF EXISTS p1;
-DROP FUNCTION IF EXISTS f1;
-
----> Synchronizing slave with master...
-
----> connection: master
-
----> Creating procedure...
-/*!50003 CREATE PROCEDURE p1() SET @a = 1 */;
-/*!50003 CREATE FUNCTION f1() RETURNS INT RETURN 0 */;
-
----> Checking on master...
-SHOW CREATE PROCEDURE p1;
-Procedure sql_mode Create Procedure
-p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
-SET @a = 1
-SHOW CREATE FUNCTION f1;
-Function sql_mode Create Function
-f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
-RETURN 0
-
----> Synchronizing slave with master...
----> connection: master
-
----> Checking on slave...
-SHOW CREATE PROCEDURE p1;
-Procedure sql_mode Create Procedure
-p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
-SET @a = 1
-SHOW CREATE FUNCTION f1;
-Function sql_mode Create Function
-f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
-RETURN 0
-
----> connection: master
-
----> Cleaning up...
-DROP PROCEDURE p1;
-DROP FUNCTION f1;
-drop table t1;
-drop database if exists mysqltest;
-drop database if exists mysqltest2;
-create database mysqltest;
-create database mysqltest2;
-use mysqltest2;
-create table t ( t integer );
-create procedure mysqltest.test() begin end;
-insert into t values ( 1 );
-create procedure `\\`.test() begin end;
-ERROR 42000: Incorrect database name '\\'
-create function f1 () returns int
-begin
-insert into t values (1);
-return 0;
-end|
-use mysqltest;
-set @a:= mysqltest2.f1();
-show binlog events in 'master-bin.000001' from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # drop database if exists mysqltest1
-master-bin.000001 # Query 1 # create database mysqltest1
-master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a varchar(100))
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo()
-begin
-declare b int;
-set b = 8;
-insert into t1 values (b);
-insert into t1 values (unix_timestamp());
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values ( NAME_CONST('b',8))
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (unix_timestamp())
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo2()
-select * from mysqltest1.t1
-master-bin.000001 # Query 1 # use `mysqltest1`; alter procedure foo2 contains sql
-master-bin.000001 # Query 1 # use `mysqltest1`; drop table t1
-master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a int)
-master-bin.000001 # Query 1 # use `mysqltest1`; create table t2 like t1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo3()
-deterministic
-insert into t1 values (15)
-master-bin.000001 # Query 1 # use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
-master-bin.000001 # Query 1 # use `mysqltest1`; grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
-master-bin.000001 # Query 1 # use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` procedure foo4()
-deterministic
-begin
-insert into t2 values(3);
-insert into t1 values (5);
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(3)
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (15)
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(3)
-master-bin.000001 # Query 1 # use `mysqltest1`; alter procedure foo4 sql security invoker
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(3)
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (5)
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2
-master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a)
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo4
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo4()
-deterministic
-begin
-insert into t2 values(20),(20);
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(20),(20)
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo4
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo2
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo3
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1(x int)
-returns int
-deterministic
-begin
-insert into t1 values (x);
-return x+2;
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; delete t1,t2 from t1,t2
-master-bin.000001 # Query 1 # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(20)
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(fn1(21))
-master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1()
-returns int
-no sql
-begin
-return unix_timestamp();
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values(fn1())
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` function fn2()
-returns int
-no sql
-begin
-return unix_timestamp();
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn3()
-returns int
-not deterministic
-reads sql data
-begin
-return 0;
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2
-master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a)
-master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1(x int)
-returns int
-begin
-insert into t2 values(x),(x);
-return 10;
-end
-master-bin.000001 # Query 1 # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(100)
-master-bin.000001 # Query 1 # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(20)
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (1)
-master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
-master-bin.000001 # Query 1 # use `mysqltest1`; drop trigger trg
-master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (1)
-master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo()
-not deterministic
-reads sql data
-select * from t1
-master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo
-master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
-master-bin.000001 # Query 1 # drop database mysqltest1
-master-bin.000001 # Query 1 # drop user "zedjzlcsjhd"@127.0.0.1
-master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` function f1() returns int reads sql data
-begin
-declare var integer;
-declare c cursor for select a from v1;
-open c;
-fetch c into var;
-close c;
-return var;
-end
-master-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 as a
-master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
-master-bin.000001 # Query 1 # use `test`; insert into t1 (a) values (f1())
-master-bin.000001 # Query 1 # use `test`; drop view v1
-master-bin.000001 # Query 1 # use `test`; drop function f1
-master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t1
-master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(col VARCHAR(10))
-master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE p1(arg VARCHAR(10))
-INSERT INTO t1 VALUES(arg)
-master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'))
-master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
-master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE p1() SET @a = 1
-master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION f1() RETURNS INT RETURN 0
-master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
-master-bin.000001 # Query 1 # use `test`; DROP FUNCTION f1
-master-bin.000001 # Query 1 # use `test`; drop table t1
-master-bin.000001 # Query 1 # drop database if exists mysqltest
-master-bin.000001 # Query 1 # drop database if exists mysqltest2
-master-bin.000001 # Query 1 # create database mysqltest
-master-bin.000001 # Query 1 # create database mysqltest2
-master-bin.000001 # Query 1 # use `mysqltest2`; create table t ( t integer )
-master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` procedure mysqltest.test() begin end
-master-bin.000001 # Query 1 # use `mysqltest2`; insert into t values ( 1 )
-master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` function f1 () returns int
-begin
-insert into t values (1);
-return 0;
-end
-master-bin.000001 # Query 1 # use `mysqltest`; SELECT `mysqltest2`.`f1`()
-set global log_bin_trust_function_creators=0;
-set global log_bin_trust_function_creators=0;
-drop database mysqltest;
-drop database mysqltest2;
diff --git a/mysql-test/r/rpl_sp_effects.result b/mysql-test/r/rpl_sp_effects.result
deleted file mode 100644
index 70b2338d187..00000000000
--- a/mysql-test/r/rpl_sp_effects.result
+++ /dev/null
@@ -1,256 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop procedure if exists p1;
-drop procedure if exists p2;
-drop function if exists f1;
-drop table if exists t1,t2;
-drop view if exists v1;
-create table t1 (a int);
-create procedure p1()
-begin
-declare spv int default 0;
-while spv < 5 do
-insert into t1 values(spv+1);
-set spv=spv+1;
-end while;
-end//
-call p1();
-select * from t1;
-a
-1
-2
-3
-4
-5
-delete from t1;
-create procedure p2()
-begin
-declare a int default 4;
-create table t2 as select a;
-end//
-call p2();
-select * from t2;
-a
-4
-select * from t2;
-a
-4
-drop procedure p1;
-drop procedure p2;
-drop table t2;
-create function f1(x int) returns int
-begin
-insert into t1 values(x);
-return x+1;
-end//
-create procedure p1(a int, b int)
-begin
-declare v int default f1(5);
-if (f1(6)) then
-select 'yes';
-end if;
-set v = f1(7);
-while f1(8) < 1 do
-select 'this cant be';
-end while;
-end//
-call p1(f1(1), f1(2));
-yes
-yes
-select * from t1;
-a
-1
-2
-5
-6
-7
-8
-create table t2(a int);
-insert into t2 values (10),(11);
-select a,f1(a) from t2;
-a f1(a)
-10 11
-11 12
-insert into t2 select f1(3);
-select 'master:',a from t1;
-master: a
-master: 1
-master: 2
-master: 5
-master: 6
-master: 7
-master: 8
-master: 10
-master: 11
-master: 3
-select 'slave:',a from t1;
-slave: a
-slave: 1
-slave: 2
-slave: 5
-slave: 6
-slave: 7
-slave: 8
-slave: 10
-slave: 11
-slave: 3
-drop procedure p1;
-delete from t1;
-delete from t2;
-delete from t1;
-insert into t2 values(1),(2);
-create view v1 as select f1(a) from t2;
-select * from v1;
-f1(a)
-2
-3
-select 'master:',a from t1;
-master: a
-master: 1
-master: 2
-select 'slave:',a from t1;
-slave: a
-slave: 1
-slave: 2
-drop view v1;
-delete from t1;
-prepare s1 from 'select f1(?)';
-set @xx=123;
-execute s1 using @xx;
-f1(?)
-124
-select 'master:',a from t1;
-master: a
-master: 123
-select 'slave:',a from t1;
-slave: a
-slave: 123
-delete from t1;
-create procedure p1(spv int)
-begin
-declare c cursor for select f1(spv) from t2;
-while (spv > 2) do
-open c;
-fetch c into spv;
-close c;
-set spv= spv - 10;
-end while;
-end//
-call p1(15);
-select 'master:',a from t1;
-master: a
-master: 15
-master: 15
-master: 6
-master: 6
-select 'slave:',a from t1;
-slave: a
-slave: 15
-slave: 15
-slave: 6
-slave: 6
-drop procedure p1;
-drop function f1;
-drop table t1,t2;
-create table t1 (a int);
-create procedure p1()
-begin
-insert into t1 values(@x);
-set @x=@x+1;
-insert into t1 values(@x);
-if (f2()) then
-insert into t1 values(1243);
-end if;
-end//
-create function f2() returns int
-begin
-insert into t1 values(@z);
-set @z=@z+1;
-insert into t1 values(@z);
-return 0;
-end//
-create function f1() returns int
-begin
-insert into t1 values(@y);
-call p1();
-return 0;
-end//
-set @x=10;
-set @y=20;
-set @z=100;
-select f1();
-f1()
-0
-set @x=30;
-call p1();
-select 'master', a from t1;
-master a
-master 20
-master 10
-master 11
-master 100
-master 101
-master 30
-master 31
-master 101
-master 102
-select 'slave', a from t1;
-slave a
-slave 20
-slave 10
-slave 11
-slave 100
-slave 101
-slave 30
-slave 31
-slave 101
-slave 102
-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 adjusted 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;
-end of the tests
diff --git a/mysql-test/r/rpl_sporadic_master.result b/mysql-test/r/rpl_sporadic_master.result
deleted file mode 100644
index 789c3bf2b2b..00000000000
--- a/mysql-test/r/rpl_sporadic_master.result
+++ /dev/null
@@ -1,26 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t2(n int);
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (NULL),(NULL);
-truncate table t1;
-insert into t1 values (4),(NULL);
-stop slave;
-start slave;
-insert into t1 values (NULL),(NULL);
-flush logs;
-truncate table t1;
-insert into t1 values (10),(NULL),(NULL),(NULL),(NULL),(NULL);
-select * from t1;
-n
-10
-11
-12
-13
-14
-15
-drop table t1,t2;
diff --git a/mysql-test/r/rpl_ssl.result b/mysql-test/r/rpl_ssl.result
deleted file mode 100644
index 1d3f4762693..00000000000
--- a/mysql-test/r/rpl_ssl.result
+++ /dev/null
@@ -1,95 +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;
-grant replication slave on *.* to replssl@localhost require ssl;
-create table t1 (t int auto_increment, KEY(t));
-stop slave;
-change master to
-master_user='replssl',
-master_password='',
-master_ssl=1,
-master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem',
-master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem',
-master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem';
-start slave;
-insert into t1 values(1);
-select * from t1;
-t
-1
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User replssl
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos 420
-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 420
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed Yes
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_CA_Path
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Cipher
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Seconds_Behind_Master #
-STOP SLAVE;
-select * from t1;
-t
-1
-insert into t1 values (NULL);
-show slave status;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User replssl
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running 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 Yes
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_CA_Path
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Cipher
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Seconds_Behind_Master #
-End of 5.0 tests
diff --git a/mysql-test/r/rpl_start_stop_slave.result b/mysql-test/r/rpl_start_stop_slave.result
deleted file mode 100644
index 1fcb586d1fb..00000000000
--- a/mysql-test/r/rpl_start_stop_slave.result
+++ /dev/null
@@ -1,12 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1(n int);
-start slave;
-stop slave io_thread;
-start slave io_thread;
-drop table t1;
diff --git a/mysql-test/r/rpl_temporary.result b/mysql-test/r/rpl_temporary.result
deleted file mode 100644
index 15c069ab68d..00000000000
--- a/mysql-test/r/rpl_temporary.result
+++ /dev/null
@@ -1,135 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-SET @save_select_limit=@@session.sql_select_limit;
-SET @@session.sql_select_limit=10, @@session.pseudo_thread_id=100;
-ERROR 42000: Access denied; you need the SUPER privilege for this operation
-SELECT @@session.sql_select_limit = @save_select_limit;
-@@session.sql_select_limit = @save_select_limit
-1
-SET @@session.sql_select_limit=10, @@session.sql_log_bin=0;
-ERROR 42000: Access denied; you need the SUPER privilege for this operation
-SELECT @@session.sql_select_limit = @save_select_limit;
-@@session.sql_select_limit = @save_select_limit
-1
-SET @@session.pseudo_thread_id=100;
-SET @@session.pseudo_thread_id=connection_id();
-SET @@session.sql_log_bin=0;
-SET @@session.sql_log_bin=1;
-drop table if exists t1,t2;
-create table t1(f int);
-create table t2(f int);
-insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-create temporary table t3(f int);
-insert into t3 select * from t1 where f<6;
-create temporary table t3(f int);
-insert into t2 select count(*) from t3;
-insert into t3 select * from t1 where f>=4;
-drop temporary table t3;
-insert into t2 select count(*) from t3;
-drop temporary table t3;
-select * from t2;
-f
-5
-7
-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`; drop table if exists t1,t2
-master-bin.000001 # Query 1 # use `test`; create table t1(f int)
-master-bin.000001 # Query 1 # use `test`; create table t2(f int)
-master-bin.000001 # Query 1 # use `test`; insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
-master-bin.000001 # Query 1 # use `test`; create temporary table t3(f int)
-master-bin.000001 # Query 1 # use `test`; insert into t3 select * from t1 where f<6
-master-bin.000001 # Query 1 # use `test`; create temporary table t3(f int)
-master-bin.000001 # Query 1 # use `test`; insert into t2 select count(*) from t3
-master-bin.000001 # Query 1 # use `test`; insert into t3 select * from t1 where f>=4
-master-bin.000001 # Query 1 # use `test`; drop temporary table t3
-master-bin.000001 # Query 1 # use `test`; insert into t2 select count(*) from t3
-master-bin.000001 # Query 1 # use `test`; drop temporary table t3
-drop table t1, t2;
-use test;
-SET TIMESTAMP=1040323920;
-create table t1(f int);
-SET TIMESTAMP=1040323931;
-create table t2(f int);
-SET TIMESTAMP=1040323938;
-insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-SET TIMESTAMP=1040323945;
-SET @@session.pseudo_thread_id=1;
-create temporary table t3(f int);
-SET TIMESTAMP=1040323952;
-SET @@session.pseudo_thread_id=1;
-insert into t3 select * from t1 where f<6;
-SET TIMESTAMP=1040324145;
-SET @@session.pseudo_thread_id=2;
-create temporary table t3(f int);
-SET TIMESTAMP=1040324186;
-SET @@session.pseudo_thread_id=1;
-insert into t2 select count(*) from t3;
-SET TIMESTAMP=1040324200;
-SET @@session.pseudo_thread_id=2;
-insert into t3 select * from t1 where f>=4;
-SET TIMESTAMP=1040324211;
-SET @@session.pseudo_thread_id=1;
-drop temporary table t3;
-SET TIMESTAMP=1040324219;
-SET @@session.pseudo_thread_id=2;
-insert into t2 select count(*) from t3;
-SET TIMESTAMP=1040324224;
-SET @@session.pseudo_thread_id=2;
-drop temporary table t3;
-select * from t2;
-f
-5
-7
-drop table t1,t2;
-create temporary table t3 (f int);
-create temporary table t4 (f int);
-create table t5 (f int);
-drop table if exists t999;
-create temporary table t999(
-id int,
-user char(255),
-host char(255),
-db char(255),
-Command char(255),
-time int,
-State char(255),
-info char(255)
-);
-LOAD DATA INFILE "./tmp/bl_dump_thread_id" into table t999;
-drop table t999;
-insert into t4 values (1);
-kill `select id from information_schema.processlist where command='Binlog Dump'`;
-insert into t5 select * from t4;
-select * from t5 /* must be 1 after reconnection */;
-f
-1
-drop temporary table t4;
-drop table t5;
-set @@session.pseudo_thread_id=100;
-create temporary table t101 (id int);
-create temporary table t102 (id int);
-set @@session.pseudo_thread_id=200;
-create temporary table t201 (id int);
-create temporary table `t``201` (id int);
-create temporary table `#sql_not_user_table202` (id int);
-set @@session.pseudo_thread_id=300;
-create temporary table t301 (id int);
-create temporary table t302 (id int);
-create temporary table `#sql_not_user_table303` (id int);
-create table t1(f int);
-insert into t1 values (1);
-select * from t1 /* must be 1 */;
-f
-1
-drop table t1;
-select * from t1;
-a
-1
-drop table t1;
diff --git a/mysql-test/r/rpl_timezone.result b/mysql-test/r/rpl_timezone.result
deleted file mode 100644
index 7a18a26afd3..00000000000
--- a/mysql-test/r/rpl_timezone.result
+++ /dev/null
@@ -1,150 +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 @my_time_zone= @@global.time_zone;
-set timestamp=100000000;
-create table t1 (t timestamp);
-create table t2 (t char(32));
-select @@time_zone;
-@@time_zone
-Japan
-select @@time_zone;
-@@time_zone
-Europe/Moscow
-insert into t1 values ('20050101000000'), ('20050611093902');
-set time_zone='UTC';
-insert into t1 values ('20040101000000'), ('20040611093902');
-select * from t1;
-t
-2004-12-31 21:00:00
-2005-06-11 05:39:02
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-set time_zone='UTC';
-select * from t1;
-t
-2004-12-31 21:00:00
-2005-06-11 05:39:02
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-delete from t1;
-set time_zone='Europe/Moscow';
-insert into t1 values ('20040101000000'), ('20040611093902');
-select * from t1;
-t
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-set time_zone='Europe/Moscow';
-select * from t1;
-t
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-/*!40019 SET @@session.max_insert_delayed_threads=0*/;
-/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
-DELIMITER /*!*/;
-ROLLBACK/*!*/;
-use test/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-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/*!*/;
-create table t1 (t timestamp)/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-create table t2 (t char(32))/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-SET @@session.time_zone='Europe/Moscow'/*!*/;
-insert into t1 values ('20050101000000'), ('20050611093902')/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-SET @@session.time_zone='UTC'/*!*/;
-insert into t1 values ('20040101000000'), ('20040611093902')/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-delete from t1/*!*/;
-SET TIMESTAMP=100000000/*!*/;
-SET @@session.time_zone='Europe/Moscow'/*!*/;
-insert into t1 values ('20040101000000'), ('20040611093902')/*!*/;
-DELIMITER ;
-# End of log file
-ROLLBACK /* added by mysqlbinlog */;
-/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
-delete from t1;
-set time_zone='UTC';
-load data infile '../std_data_ln/rpl_timezone.dat' into table t1;
-select * from t1;
-t
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-set time_zone='UTC';
-select * from t1;
-t
-2004-01-01 00:00:00
-2004-06-11 09:39:02
-set time_zone='Europe/Moscow';
-set time_zone='Europe/Moscow';
-delete from t1;
-insert into t1 values ('20040101000000'), ('20040611093902');
-set time_zone='MET';
-insert into t2 (select t from t1);
-select * from t1;
-t
-2003-12-31 22:00:00
-2004-06-11 07:39:02
-select * from t2;
-t
-2003-12-31 22:00:00
-2004-06-11 07:39:02
-delete from t2;
-set timestamp=1000072000;
-insert into t2 values (current_timestamp), (current_date), (current_time);
-select * from t2;
-t
-2001-09-09 23:46:40
-2001-09-09
-23:46:40
-delete from t2;
-insert into t2 values (from_unixtime(1000000000)),
-(unix_timestamp('2001-09-09 03:46:40'));
-select * from t2;
-t
-2001-09-09 03:46:40
-1000000000
-select * from t2;
-t
-2001-09-09 03:46:40
-1000000000
-set global time_zone='MET';
-delete from t2;
-set time_zone='UTC';
-insert into t2 values(convert_tz('2004-01-01 00:00:00','MET',@@time_zone));
-insert into t2 values(convert_tz('2005-01-01 00:00:00','MET','Japan'));
-select * from t2;
-t
-2003-12-31 23:00:00
-2005-01-01 08:00:00
-select * from t2;
-t
-2003-12-31 23:00:00
-2005-01-01 08:00:00
-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 adjusted 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/r/rpl_trigger.result b/mysql-test/r/rpl_trigger.result
deleted file mode 100644
index 51e7c15bc12..00000000000
--- a/mysql-test/r/rpl_trigger.result
+++ /dev/null
@@ -1,974 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);
-create table t2 (a int auto_increment, primary key (a), b int);
-create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);
-create trigger t1 before insert on t1 for each row
-begin
-insert into t3 values (NULL, "t1", new.a, new.b, rand());
-end|
-create trigger t2 after insert on t2 for each row
-begin
-insert into t3 values (NULL, "t2", new.a, new.b, rand());
-end|
-insert into t3 values(100,"log",0,0,0);
-SET @@RAND_SEED1=658490765, @@RAND_SEED2=635893186;
-insert into t1 values(1,1,rand()),(NULL,2,rand());
-insert into t2 (b) values(last_insert_id());
-insert into t2 values(3,0),(NULL,0);
-insert into t2 values(NULL,0),(500,0);
-select a,b, truncate(rand_value,4) from t1;
-a b truncate(rand_value,4)
-1 1 0.4320
-2 2 0.3055
-select * from t2;
-a b
-1 2
-3 0
-4 0
-5 0
-500 0
-select a,name, old_a, old_b, truncate(rand_value,4) from t3;
-a name old_a old_b truncate(rand_value,4)
-100 log 0 0 0.0000
-101 t1 1 1 0.3203
-102 t1 0 2 0.5666
-103 t2 1 2 0.9164
-104 t2 3 0 0.8826
-105 t2 4 0 0.6635
-106 t2 5 0 0.6699
-107 t2 500 0 0.3593
-
---- On slave --
-select a,b, truncate(rand_value,4) from t1;
-a b truncate(rand_value,4)
-1 1 0.4320
-2 2 0.3055
-select * from t2;
-a b
-1 2
-3 0
-4 0
-5 0
-500 0
-select a,name, old_a, old_b, truncate(rand_value,4) from t3;
-a name old_a old_b truncate(rand_value,4)
-100 log 0 0 0.0000
-101 t1 1 1 0.3203
-102 t1 0 2 0.5666
-103 t2 1 2 0.9164
-104 t2 3 0 0.8826
-105 t2 4 0 0.6635
-106 t2 5 0 0.6699
-107 t2 500 0 0.3593
-drop table t1,t2,t3;
-select get_lock("bug12480",2);
-get_lock("bug12480",2)
-1
-create table t1 (a datetime,b datetime, c datetime);
-drop function if exists bug12480;
-create function bug12480() returns datetime
-begin
-set @a=get_lock("bug12480",2);
-return now();
-end|
-create trigger t1_first before insert on t1
-for each row begin
-set @a=get_lock("bug12480",2);
-set new.b= now();
-set new.c= bug12480();
-end
-|
-insert into t1 set a = now();
-select a=b && a=c from t1;
-a=b && a=c
-1
-SELECT routine_name, definer
-FROM information_schema.routines
-WHERE routine_name = 'bug12480';
-routine_name definer
-bug12480 root@localhost
-SELECT trigger_name, definer
-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
-WHERE routine_name = 'bug12480';
-routine_name definer
-bug12480 root@localhost
-SELECT trigger_name, definer
-FROM information_schema.triggers
-WHERE trigger_name = 't1_first';
-trigger_name definer
-t1_first root@localhost
-select a=b && a=c from t1;
-a=b && a=c
-1
-test
-1
-truncate table t1;
-drop trigger t1_first;
-insert into t1 values ("2003-03-03","2003-03-03","2003-03-03"),(bug12480(),bug12480(),bug12480()),(now(),now(),now());
-select a=b && a=c from t1;
-a=b && a=c
-1
-1
-1
-drop function bug12480;
-drop table t1;
-create table t1 (i int);
-create table t2 (i int);
-create trigger tr1 before insert on t1 for each row
-begin
-insert into t2 values (1);
-end|
-create database other;
-use other;
-insert into test.t1 values (1);
-use test;
-drop table t1,t2;
-drop database other;
-test case for BUG#13227
--------------------
-10
--------------------
-drop table if exists t110;
-drop table if exists t210,t310;
-create table t110 (f1 int) /* 2 replicate */;
-insert into t110 values (-5);
-insert into t110 values (-4);
-insert into t110 values (-3);
-insert into t110 values (-2);
-insert into t110 values (-1);
-select * from t110;
-f1
--5
--4
--3
--2
--1
-create trigger trg110 before update on t110 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t210 where f1=NEW.f1;
-INSERT INTO t310 values (r);
-end|
-create table t210 (f1 int, f2 int) /* slave local */;
-create table t310 (f3 int) /* slave local */;
-insert into t210 values (5, 5*100);
-insert into t210 values (4, 4*100);
-insert into t210 values (3, 3*100);
-insert into t210 values (2, 2*100);
-insert into t210 values (1, 1*100);
-select * from t210;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t110 SET f1=5 where f1=-5;
-SELECT * from t110 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t310 /* must be f3 5*100 */;
-f3
-500
-UPDATE t110 SET f1=5 where f1=-5;
-UPDATE t110 SET f1=4 where f1=-4;
-UPDATE t110 SET f1=3 where f1=-3;
-UPDATE t110 SET f1=2 where f1=-2;
-UPDATE t110 SET f1=1 where f1=-1;
-SELECT * from t110 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t310 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg110;
-drop table t210,t310;
-drop table t110;
--------------------
-9
--------------------
-drop table if exists t19;
-drop table if exists t29,t39;
-create table t19 (f1 int) /* 2 replicate */;
-insert into t19 values (-5);
-insert into t19 values (-4);
-insert into t19 values (-3);
-insert into t19 values (-2);
-insert into t19 values (-1);
-select * from t19;
-f1
--5
--4
--3
--2
--1
-create trigger trg19 before update on t19 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t29 where f1=NEW.f1;
-INSERT INTO t39 values (r);
-end|
-create table t29 (f1 int, f2 int) /* slave local */;
-create table t39 (f3 int) /* slave local */;
-insert into t29 values (5, 5*100);
-insert into t29 values (4, 4*100);
-insert into t29 values (3, 3*100);
-insert into t29 values (2, 2*100);
-insert into t29 values (1, 1*100);
-select * from t29;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t19 SET f1=5 where f1=-5;
-SELECT * from t19 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t39 /* must be f3 5*100 */;
-f3
-500
-UPDATE t19 SET f1=5 where f1=-5;
-UPDATE t19 SET f1=4 where f1=-4;
-UPDATE t19 SET f1=3 where f1=-3;
-UPDATE t19 SET f1=2 where f1=-2;
-UPDATE t19 SET f1=1 where f1=-1;
-SELECT * from t19 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t39 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg19;
-drop table t29,t39;
-drop table t19;
--------------------
-8
--------------------
-drop table if exists t18;
-drop table if exists t28,t38;
-create table t18 (f1 int) /* 2 replicate */;
-insert into t18 values (-5);
-insert into t18 values (-4);
-insert into t18 values (-3);
-insert into t18 values (-2);
-insert into t18 values (-1);
-select * from t18;
-f1
--5
--4
--3
--2
--1
-create trigger trg18 before update on t18 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t28 where f1=NEW.f1;
-INSERT INTO t38 values (r);
-end|
-create table t28 (f1 int, f2 int) /* slave local */;
-create table t38 (f3 int) /* slave local */;
-insert into t28 values (5, 5*100);
-insert into t28 values (4, 4*100);
-insert into t28 values (3, 3*100);
-insert into t28 values (2, 2*100);
-insert into t28 values (1, 1*100);
-select * from t28;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t18 SET f1=5 where f1=-5;
-SELECT * from t18 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t38 /* must be f3 5*100 */;
-f3
-500
-UPDATE t18 SET f1=5 where f1=-5;
-UPDATE t18 SET f1=4 where f1=-4;
-UPDATE t18 SET f1=3 where f1=-3;
-UPDATE t18 SET f1=2 where f1=-2;
-UPDATE t18 SET f1=1 where f1=-1;
-SELECT * from t18 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t38 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg18;
-drop table t28,t38;
-drop table t18;
--------------------
-7
--------------------
-drop table if exists t17;
-drop table if exists t27,t37;
-create table t17 (f1 int) /* 2 replicate */;
-insert into t17 values (-5);
-insert into t17 values (-4);
-insert into t17 values (-3);
-insert into t17 values (-2);
-insert into t17 values (-1);
-select * from t17;
-f1
--5
--4
--3
--2
--1
-create trigger trg17 before update on t17 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t27 where f1=NEW.f1;
-INSERT INTO t37 values (r);
-end|
-create table t27 (f1 int, f2 int) /* slave local */;
-create table t37 (f3 int) /* slave local */;
-insert into t27 values (5, 5*100);
-insert into t27 values (4, 4*100);
-insert into t27 values (3, 3*100);
-insert into t27 values (2, 2*100);
-insert into t27 values (1, 1*100);
-select * from t27;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t17 SET f1=5 where f1=-5;
-SELECT * from t17 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t37 /* must be f3 5*100 */;
-f3
-500
-UPDATE t17 SET f1=5 where f1=-5;
-UPDATE t17 SET f1=4 where f1=-4;
-UPDATE t17 SET f1=3 where f1=-3;
-UPDATE t17 SET f1=2 where f1=-2;
-UPDATE t17 SET f1=1 where f1=-1;
-SELECT * from t17 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t37 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg17;
-drop table t27,t37;
-drop table t17;
--------------------
-6
--------------------
-drop table if exists t16;
-drop table if exists t26,t36;
-create table t16 (f1 int) /* 2 replicate */;
-insert into t16 values (-5);
-insert into t16 values (-4);
-insert into t16 values (-3);
-insert into t16 values (-2);
-insert into t16 values (-1);
-select * from t16;
-f1
--5
--4
--3
--2
--1
-create trigger trg16 before update on t16 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t26 where f1=NEW.f1;
-INSERT INTO t36 values (r);
-end|
-create table t26 (f1 int, f2 int) /* slave local */;
-create table t36 (f3 int) /* slave local */;
-insert into t26 values (5, 5*100);
-insert into t26 values (4, 4*100);
-insert into t26 values (3, 3*100);
-insert into t26 values (2, 2*100);
-insert into t26 values (1, 1*100);
-select * from t26;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t16 SET f1=5 where f1=-5;
-SELECT * from t16 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t36 /* must be f3 5*100 */;
-f3
-500
-UPDATE t16 SET f1=5 where f1=-5;
-UPDATE t16 SET f1=4 where f1=-4;
-UPDATE t16 SET f1=3 where f1=-3;
-UPDATE t16 SET f1=2 where f1=-2;
-UPDATE t16 SET f1=1 where f1=-1;
-SELECT * from t16 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t36 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg16;
-drop table t26,t36;
-drop table t16;
--------------------
-5
--------------------
-drop table if exists t15;
-drop table if exists t25,t35;
-create table t15 (f1 int) /* 2 replicate */;
-insert into t15 values (-5);
-insert into t15 values (-4);
-insert into t15 values (-3);
-insert into t15 values (-2);
-insert into t15 values (-1);
-select * from t15;
-f1
--5
--4
--3
--2
--1
-create trigger trg15 before update on t15 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t25 where f1=NEW.f1;
-INSERT INTO t35 values (r);
-end|
-create table t25 (f1 int, f2 int) /* slave local */;
-create table t35 (f3 int) /* slave local */;
-insert into t25 values (5, 5*100);
-insert into t25 values (4, 4*100);
-insert into t25 values (3, 3*100);
-insert into t25 values (2, 2*100);
-insert into t25 values (1, 1*100);
-select * from t25;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t15 SET f1=5 where f1=-5;
-SELECT * from t15 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t35 /* must be f3 5*100 */;
-f3
-500
-UPDATE t15 SET f1=5 where f1=-5;
-UPDATE t15 SET f1=4 where f1=-4;
-UPDATE t15 SET f1=3 where f1=-3;
-UPDATE t15 SET f1=2 where f1=-2;
-UPDATE t15 SET f1=1 where f1=-1;
-SELECT * from t15 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t35 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg15;
-drop table t25,t35;
-drop table t15;
--------------------
-4
--------------------
-drop table if exists t14;
-drop table if exists t24,t34;
-create table t14 (f1 int) /* 2 replicate */;
-insert into t14 values (-5);
-insert into t14 values (-4);
-insert into t14 values (-3);
-insert into t14 values (-2);
-insert into t14 values (-1);
-select * from t14;
-f1
--5
--4
--3
--2
--1
-create trigger trg14 before update on t14 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t24 where f1=NEW.f1;
-INSERT INTO t34 values (r);
-end|
-create table t24 (f1 int, f2 int) /* slave local */;
-create table t34 (f3 int) /* slave local */;
-insert into t24 values (5, 5*100);
-insert into t24 values (4, 4*100);
-insert into t24 values (3, 3*100);
-insert into t24 values (2, 2*100);
-insert into t24 values (1, 1*100);
-select * from t24;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t14 SET f1=5 where f1=-5;
-SELECT * from t14 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t34 /* must be f3 5*100 */;
-f3
-500
-UPDATE t14 SET f1=5 where f1=-5;
-UPDATE t14 SET f1=4 where f1=-4;
-UPDATE t14 SET f1=3 where f1=-3;
-UPDATE t14 SET f1=2 where f1=-2;
-UPDATE t14 SET f1=1 where f1=-1;
-SELECT * from t14 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t34 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg14;
-drop table t24,t34;
-drop table t14;
--------------------
-3
--------------------
-drop table if exists t13;
-drop table if exists t23,t33;
-create table t13 (f1 int) /* 2 replicate */;
-insert into t13 values (-5);
-insert into t13 values (-4);
-insert into t13 values (-3);
-insert into t13 values (-2);
-insert into t13 values (-1);
-select * from t13;
-f1
--5
--4
--3
--2
--1
-create trigger trg13 before update on t13 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t23 where f1=NEW.f1;
-INSERT INTO t33 values (r);
-end|
-create table t23 (f1 int, f2 int) /* slave local */;
-create table t33 (f3 int) /* slave local */;
-insert into t23 values (5, 5*100);
-insert into t23 values (4, 4*100);
-insert into t23 values (3, 3*100);
-insert into t23 values (2, 2*100);
-insert into t23 values (1, 1*100);
-select * from t23;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t13 SET f1=5 where f1=-5;
-SELECT * from t13 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t33 /* must be f3 5*100 */;
-f3
-500
-UPDATE t13 SET f1=5 where f1=-5;
-UPDATE t13 SET f1=4 where f1=-4;
-UPDATE t13 SET f1=3 where f1=-3;
-UPDATE t13 SET f1=2 where f1=-2;
-UPDATE t13 SET f1=1 where f1=-1;
-SELECT * from t13 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t33 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg13;
-drop table t23,t33;
-drop table t13;
--------------------
-2
--------------------
-drop table if exists t12;
-drop table if exists t22,t32;
-create table t12 (f1 int) /* 2 replicate */;
-insert into t12 values (-5);
-insert into t12 values (-4);
-insert into t12 values (-3);
-insert into t12 values (-2);
-insert into t12 values (-1);
-select * from t12;
-f1
--5
--4
--3
--2
--1
-create trigger trg12 before update on t12 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t22 where f1=NEW.f1;
-INSERT INTO t32 values (r);
-end|
-create table t22 (f1 int, f2 int) /* slave local */;
-create table t32 (f3 int) /* slave local */;
-insert into t22 values (5, 5*100);
-insert into t22 values (4, 4*100);
-insert into t22 values (3, 3*100);
-insert into t22 values (2, 2*100);
-insert into t22 values (1, 1*100);
-select * from t22;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t12 SET f1=5 where f1=-5;
-SELECT * from t12 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t32 /* must be f3 5*100 */;
-f3
-500
-UPDATE t12 SET f1=5 where f1=-5;
-UPDATE t12 SET f1=4 where f1=-4;
-UPDATE t12 SET f1=3 where f1=-3;
-UPDATE t12 SET f1=2 where f1=-2;
-UPDATE t12 SET f1=1 where f1=-1;
-SELECT * from t12 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t32 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg12;
-drop table t22,t32;
-drop table t12;
--------------------
-1
--------------------
-drop table if exists t11;
-drop table if exists t21,t31;
-create table t11 (f1 int) /* 2 replicate */;
-insert into t11 values (-5);
-insert into t11 values (-4);
-insert into t11 values (-3);
-insert into t11 values (-2);
-insert into t11 values (-1);
-select * from t11;
-f1
--5
--4
--3
--2
--1
-create trigger trg11 before update on t11 /* slave local */
-for each row
-begin
-DECLARE r integer;
-SELECT f2 INTO r FROM t21 where f1=NEW.f1;
-INSERT INTO t31 values (r);
-end|
-create table t21 (f1 int, f2 int) /* slave local */;
-create table t31 (f3 int) /* slave local */;
-insert into t21 values (5, 5*100);
-insert into t21 values (4, 4*100);
-insert into t21 values (3, 3*100);
-insert into t21 values (2, 2*100);
-insert into t21 values (1, 1*100);
-select * from t21;
-f1 f2
-5 500
-4 400
-3 300
-2 200
-1 100
-UPDATE t11 SET f1=5 where f1=-5;
-SELECT * from t11 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
-f1
-5
--4
--3
--2
--1
-SELECT * from t31 /* must be f3 5*100 */;
-f3
-500
-UPDATE t11 SET f1=5 where f1=-5;
-UPDATE t11 SET f1=4 where f1=-4;
-UPDATE t11 SET f1=3 where f1=-3;
-UPDATE t11 SET f1=2 where f1=-2;
-UPDATE t11 SET f1=1 where f1=-1;
-SELECT * from t11 /* must be f1 5 ... 1 */;
-f1
-5
-4
-3
-2
-1
-SELECT * from t31 /* must be f3 5 * 100 ... 100 */;
-f3
-500
-400
-300
-200
-100
-drop trigger trg11;
-drop table t21,t31;
-drop table t11;
-STOP SLAVE;
-FLUSH LOGS;
-RESET SLAVE;
-START SLAVE;
-SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0;
-MASTER_POS_WAIT('master-bin.000001', 513) >= 0
-1
-SHOW TABLES LIKE 't_';
-Tables_in_test (t_)
-t1
-t2
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 INSERT INTO t2 VALUES(CURRENT_USER()) AFTER NULL
-SELECT * FROM t1;
-c
-1
-SELECT * FROM t2;
-s
-@
-INSERT INTO t1 VALUES(2);
-SELECT * FROM t1;
-c
-1
-2
-SELECT * FROM t2;
-s
-@
-root@localhost
-DROP TRIGGER trg1;
-Warnings:
-Warning 1454 No definer attribute for trigger 'test'.'trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
-DROP TABLE t1;
-DROP TABLE t2;
-STOP SLAVE;
-RESET SLAVE;
-SHOW TABLES LIKE 't_';
-Tables_in_test (t_)
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-RESET MASTER;
-START SLAVE;
-
----> Test for BUG#20438
-
----> Preparing environment...
----> connection: master
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-
----> Synchronizing slave with master...
-
----> connection: master
-
----> Creating objects...
-CREATE TABLE t1(c INT);
-CREATE TABLE t2(c INT);
-/*!50003 CREATE TRIGGER t1_bi BEFORE INSERT ON t1
-FOR EACH ROW
-INSERT INTO t2 VALUES(NEW.c * 10) */;
-
----> Inserting value...
-INSERT INTO t1 VALUES(1);
-
----> Checking on master...
-SELECT * FROM t1;
-c
-1
-SELECT * FROM t2;
-c
-10
-
----> Synchronizing slave with master...
----> connection: master
-
----> Checking on slave...
-SELECT * FROM t1;
-c
-1
-SELECT * FROM t2;
-c
-10
-
----> connection: master
-
----> Cleaning up...
-DROP TABLE t1;
-DROP TABLE t2;
-drop table if exists t1;
-create table t1(a int, b varchar(50));
-drop trigger not_a_trigger;
-ERROR HY000: Trigger does not exist
-drop trigger if exists not_a_trigger;
-Warnings:
-Note 1360 Trigger does not exist
-create trigger t1_bi before insert on t1
-for each row set NEW.b := "In trigger t1_bi";
-insert into t1 values (1, "a");
-drop trigger if exists t1_bi;
-insert into t1 values (2, "b");
-drop trigger if exists t1_bi;
-Warnings:
-Note 1360 Trigger does not exist
-insert into t1 values (3, "c");
-select * from t1;
-a b
-1 In trigger t1_bi
-2 b
-3 c
-select * from t1;
-a b
-1 In trigger t1_bi
-2 b
-3 c
-drop table t1;
diff --git a/mysql-test/r/rpl_trunc_temp.result b/mysql-test/r/rpl_trunc_temp.result
deleted file mode 100644
index 44624a38875..00000000000
--- a/mysql-test/r/rpl_trunc_temp.result
+++ /dev/null
@@ -1,22 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create temporary table t1 (n int);
-insert into t1 values(1);
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 1
-delete from t1;
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 1
-truncate t1;
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 1
-show status like 'Slave_open_temp_tables';
-Variable_name Value
-Slave_open_temp_tables 0
diff --git a/mysql-test/r/rpl_until.result b/mysql-test/r/rpl_until.result
deleted file mode 100644
index 60b956785ba..00000000000
--- a/mysql-test/r/rpl_until.result
+++ /dev/null
@@ -1,196 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1(n int not null auto_increment primary key);
-insert into t1 values (1),(2),(3),(4);
-drop table t1;
-create table t2(n int not null auto_increment primary key);
-insert into t2 values (1),(2);
-insert into t2 values (3),(4);
-drop table t2;
-show binlog events;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 98 Server ver: VERSION, Binlog ver: 4
-master-bin.000001 98 Query 1 219 use `test`; create table t1(n int not null auto_increment primary key)
-master-bin.000001 219 Query 1 319 use `test`; insert into t1 values (1),(2),(3),(4)
-master-bin.000001 319 Query 1 395 use `test`; drop table t1
-master-bin.000001 395 Query 1 516 use `test`; create table t2(n int not null auto_increment primary key)
-master-bin.000001 516 Query 1 608 use `test`; insert into t2 values (1),(2)
-master-bin.000001 608 Query 1 700 use `test`; insert into t2 values (3),(4)
-master-bin.000001 700 Query 1 776 use `test`; drop table t2
-start slave until master_log_file='master-bin.000001', master_log_pos=319;
-select * from t1;
-n
-1
-2
-3
-4
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos 776
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos 319
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-bin.000001
-Until_Log_Pos 319
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
-select * from t1;
-n
-1
-2
-3
-4
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos 776
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos 319
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-no-such-bin.000001
-Until_Log_Pos 291
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=746;
-select * from t2;
-n
-1
-2
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_MYPORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos 776
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running #
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos 608
-Relay_Log_Space #
-Until_Condition Relay
-Until_Log_File slave-relay-bin.000004
-Until_Log_Pos 746
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-start slave;
-stop slave;
-start slave until master_log_file='master-bin.000001', master_log_pos=776;
-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 776
-Relay_Log_File slave-relay-bin.000004
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 0
-Last_Error
-Skip_Counter 0
-Exec_Master_Log_Pos 776
-Relay_Log_Space #
-Until_Condition Master
-Until_Log_File master-bin.000001
-Until_Log_Pos 776
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-start slave until master_log_file='master-bin', master_log_pos=561;
-ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
-ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001';
-ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002';
-ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
-ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=776;
-Warnings:
-Note 1254 Slave is already running
diff --git a/mysql-test/r/rpl_user_variables.result b/mysql-test/r/rpl_user_variables.result
deleted file mode 100644
index 26ac2b26aaa..00000000000
--- a/mysql-test/r/rpl_user_variables.result
+++ /dev/null
@@ -1,321 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-create table t1(n char(30));
-set @i1:=12345678901234, @i2:=-12345678901234, @i3:=0, @i4:=-1;
-set @s1:='This is a test', @r1:=12.5, @r2:=-12.5;
-set @n1:=null;
-set @s2:='', @s3:='abc\'def', @s4:= 'abc\\def', @s5:= 'abc''def';
-insert into t1 values (@i1), (@i2), (@i3), (@i4);
-insert into t1 values (@r1), (@r2);
-insert into t1 values (@s1), (@s2), (@s3), (@s4), (@s5);
-insert into t1 values (@n1);
-insert into t1 values (@n2);
-insert into t1 values (@a:=0), (@a:=@a+1), (@a:=@a+1);
-insert into t1 values (@a+(@b:=@a+1));
-set @q:='abc';
-insert t1 values (@q), (@q:=concat(@q, 'n1')), (@q:=concat(@q, 'n2'));
-set @a:=5;
-insert into t1 values (@a),(@a);
-insert into t1 values (@a),(@a),(@a*5);
-select * from t1;
-n
-12345678901234
--12345678901234
-0
--1
-12.5
--12.5
-This is a test
-
-abc'def
-abc\def
-abc'def
-NULL
-NULL
-0
-1
-2
-5
-abc
-abcn1
-abcn1n2
-5
-5
-NULL
-NULL
-NULL
-select * from t1;
-n
-12345678901234
--12345678901234
-0
--1
-12.5
--12.5
-This is a test
-
-abc'def
-abc\def
-abc'def
-NULL
-NULL
-0
-1
-2
-5
-abc
-abcn1
-abcn1n2
-5
-5
-NULL
-NULL
-NULL
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query 1 # use `test`; create table t1(n char(30))
-slave-bin.000001 # User var 2 # @`i1`=12345678901234
-slave-bin.000001 # User var 2 # @`i2`=-12345678901234
-slave-bin.000001 # User var 2 # @`i3`=0
-slave-bin.000001 # User var 2 # @`i4`=-1
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@i1), (@i2), (@i3), (@i4)
-slave-bin.000001 # User var 2 # @`r1`=12.5
-slave-bin.000001 # User var 2 # @`r2`=-12.5
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@r1), (@r2)
-slave-bin.000001 # User var 2 # @`s1`=_latin1 0x5468697320697320612074657374 COLLATE latin1_swedish_ci
-slave-bin.000001 # User var 2 # @`s2`=_latin1 "" COLLATE latin1_swedish_ci
-slave-bin.000001 # User var 2 # @`s3`=_latin1 0x61626327646566 COLLATE latin1_swedish_ci
-slave-bin.000001 # User var 2 # @`s4`=_latin1 0x6162635C646566 COLLATE latin1_swedish_ci
-slave-bin.000001 # User var 2 # @`s5`=_latin1 0x61626327646566 COLLATE latin1_swedish_ci
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@s1), (@s2), (@s3), (@s4), (@s5)
-slave-bin.000001 # User var 2 # @`n1`=NULL
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@n1)
-slave-bin.000001 # User var 2 # @`n2`=NULL
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@n2)
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a:=0), (@a:=@a+1), (@a:=@a+1)
-slave-bin.000001 # User var 2 # @`a`=2
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a+(@b:=@a+1))
-slave-bin.000001 # User var 2 # @`q`=_latin1 0x616263 COLLATE latin1_swedish_ci
-slave-bin.000001 # Query 1 # use `test`; insert t1 values (@q), (@q:=concat(@q, 'n1')), (@q:=concat(@q, 'n2'))
-slave-bin.000001 # User var 2 # @`a`=5
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a),(@a)
-slave-bin.000001 # User var 2 # @`a`=NULL
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a),(@a),(@a*5)
-insert into t1 select * FROM (select @var1 union select @var2) AS t2;
-drop table t1;
-End of 4.1 tests.
-DROP TABLE IF EXISTS t20;
-DROP TABLE IF EXISTS t21;
-DROP PROCEDURE IF EXISTS test.insert;
-CREATE TABLE t20 (a VARCHAR(20));
-CREATE TABLE t21 (a VARCHAR(20));
-CREATE PROCEDURE test.insert()
-BEGIN
-IF (@VAR)
-THEN
-INSERT INTO test.t20 VALUES ('SP_TRUE');
-ELSE
-INSERT INTO test.t20 VALUES ('SP_FALSE');
-END IF;
-END|
-CREATE TRIGGER test.insert_bi BEFORE INSERT
-ON test.t20 FOR EACH ROW
-BEGIN
-IF (@VAR)
-THEN
-INSERT INTO test.t21 VALUES ('TRIG_TRUE');
-ELSE
-INSERT INTO test.t21 VALUES ('TRIG_FALSE');
-END IF;
-END|
-SET @VAR=0;
-CALL test.insert();
-SET @VAR=1;
-CALL test.insert();
-On master: Check the tables for correct data
-SELECT * FROM t20;
-a
-SP_FALSE
-SP_TRUE
-SELECT * FROM t21;
-a
-TRIG_FALSE
-TRIG_TRUE
-On slave: Check the tables for correct data and it matches master
-SELECT * FROM t20;
-a
-SP_FALSE
-SP_TRUE
-SELECT * FROM t21;
-a
-TRIG_FALSE
-TRIG_TRUE
-DROP TABLE t20;
-DROP TABLE t21;
-DROP PROCEDURE test.insert;
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS test.square;
-CREATE TABLE t1 (i INT);
-CREATE FUNCTION test.square() RETURNS INTEGER DETERMINISTIC RETURN (@var * @var);
-SET @var = 1;
-INSERT INTO t1 VALUES (square());
-SET @var = 2;
-INSERT INTO t1 VALUES (square());
-SET @var = 3;
-INSERT INTO t1 VALUES (square());
-SET @var = 4;
-INSERT INTO t1 VALUES (square());
-SET @var = 5;
-INSERT INTO t1 VALUES (square());
-On master: Retrieve the values from the table
-SELECT * FROM t1;
-i
-1
-4
-9
-16
-25
-On slave: Retrieve the values from the table and verify they are the same as on master
-SELECT * FROM t1;
-i
-1
-4
-9
-16
-25
-DROP TABLE t1;
-DROP FUNCTION test.square;
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-CREATE TABLE t1(a int);
-CREATE FUNCTION f1() returns int deterministic
-BEGIN
-return @a;
-END |
-CREATE FUNCTION f2() returns int deterministic
-BEGIN
-IF (@b > 0) then
-SET @c = (@a + @b);
-else
-SET @c = (@a - 1);
-END if;
-return @c;
-END |
-SET @a=500;
-INSERT INTO t1 values(f1());
-SET @b = 125;
-SET @c = 1;
-INSERT INTO t1 values(f2());
-On master: Retrieve the values from the table
-SELECT * from t1;
-a
-500
-625
-On slave: Check the tables for correct data and it matches master
-SELECT * from t1;
-a
-500
-625
-DROP TABLE t1;
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t1 (i int);
-CREATE TABLE t2 (k int);
-CREATE trigger t1_bi before INSERT on t1 for each row
-BEGIN
-INSERT INTO t2 values (@a);
-SET @a:=42;
-INSERT INTO t2 values (@a);
-END |
-SET @a:=100;
-INSERT INTO t1 values (5);
-On master: Check to see that data was inserted correctly in both tables
-SELECT * from t1;
-i
-5
-SELECT * from t2;
-k
-100
-42
-On slave: Check the tables for correct data and it matches master
-SELECT * from t1;
-i
-5
-SELECT * from t2;
-k
-100
-42
-drop table t1, t2;
-reset master;
-create table t1 (a int);
-prepare s from "insert into t1 values (@a),(?)";
-set @a=98;
-execute s using @a;
-prepare s from "insert into t1 values (?)";
-set @a=99;
-execute s using @a;
-prepare s from "insert into t1 select 100 limit ?";
-set @a=100;
-execute s using @a;
-show binlog events from 98;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 98 Query 1 184 use `test`; create table t1 (a int)
-slave-bin.000001 184 User var 2 226 @`a`=98
-slave-bin.000001 226 Query 1 320 use `test`; insert into t1 values (@a),(98)
-slave-bin.000001 320 Query 1 409 use `test`; insert into t1 values (99)
-slave-bin.000001 409 Query 1 507 use `test`; insert into t1 select 100 limit 100
-select * from t1;
-a
-98
-98
-99
-100
-drop table t1;
-create table t1(a int, b int);
-prepare s1 from 'insert into t1 values (@x:=@x+1, ?)';
-set @x=1;
-execute s1 using @x;
-select * from t1;
-a b
-2 1
-select * from t1;
-a b
-2 1
-drop table t1;
-End of 5.0 tests.
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-CREATE TABLE t1 (i INT);
-CREATE FUNCTION f1() RETURNS INT RETURN @a;
-CREATE FUNCTION f2() RETURNS INT
-BEGIN
-INSERT INTO t1 VALUES (10 + @a);
-RETURN 0;
-END|
-SET @a:=123;
-SELECT f1(), f2();
-f1() f2()
-123 0
-On master: Check to see that data was inserted correctly
-INSERT INTO t1 VALUES(f1());
-SELECT * FROM t1;
-i
-133
-123
-On slave: Check the table for correct data and it matches master
-SELECT * FROM t1;
-i
-133
-123
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-DROP TABLE t1;
-stop slave;
diff --git a/mysql-test/r/rpl_variables.result b/mysql-test/r/rpl_variables.result
deleted file mode 100644
index 6c532e33983..00000000000
--- a/mysql-test/r/rpl_variables.result
+++ /dev/null
@@ -1,19 +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 @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 =@my_slave_net_timeout;
diff --git a/mysql-test/r/rpl_view.result b/mysql-test/r/rpl_view.result
deleted file mode 100644
index be7ed6e8c2a..00000000000
--- a/mysql-test/r/rpl_view.result
+++ /dev/null
@@ -1,115 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1,v1;
-drop view if exists t1,v1;
-reset master;
-create table t1 (a int);
-insert into t1 values (1);
-create view v1 as select a from t1;
-insert into v1 values (2);
-select * from v1 order by a;
-a
-1
-2
-select * from v1 order by a;
-a
-1
-2
-update v1 set a=3 where a=1;
-select * from v1 order by a;
-a
-2
-3
-select * from v1 order by a;
-a
-2
-3
-delete from v1 where a=2;
-select * from v1 order by a;
-a
-3
-select * from v1 order by a;
-a
-3
-alter view v1 as select a as b from t1;
-select * from v1 order by 1;
-b
-3
-drop view v1;
-select * from v1 order by a;
-ERROR 42S02: Table 'test.v1' doesn't exist
-drop table t1;
-show binlog events limit 1,100;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query 1 # use `test`; create table t1 (a int)
-slave-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
-slave-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a from t1
-slave-bin.000001 # Query 1 # use `test`; insert into v1 values (2)
-slave-bin.000001 # Query 1 # use `test`; update v1 set a=3 where a=1
-slave-bin.000001 # Query 1 # use `test`; delete from v1 where a=2
-slave-bin.000001 # Query 1 # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a as b from t1
-slave-bin.000001 # Query 1 # use `test`; drop view v1
-slave-bin.000001 # Query 1 # use `test`; drop table t1
-
----> Test for BUG#20438
-
----> Preparing environment...
----> connection: master
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-
----> Synchronizing slave with master...
-
----> connection: master
-
----> Creating objects...
-CREATE TABLE t1(c INT);
-/*!50003 CREATE VIEW v1 AS SELECT * FROM t1 */;
-
----> Inserting value...
-INSERT INTO t1 VALUES(1);
-
----> Checking on master...
-SELECT * FROM t1;
-c
-1
-
----> Synchronizing slave with master...
----> connection: master
-
----> Checking on slave...
-SELECT * FROM t1;
-c
-1
-
----> connection: master
-
----> Cleaning up...
-DROP VIEW v1;
-DROP TABLE t1;
-create table t1(a int, b int);
-insert into t1 values (1, 1), (1, 2), (1, 3);
-create view v1(a, b) as select a, sum(b) from t1 group by a;
-explain v1;
-Field Type Null Key Default Extra
-a int(11) YES NULL
-b decimal(32,0) YES NULL
-show create table v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,sum(`t1`.`b`) AS `b` from `t1` group by `t1`.`a`
-select * from v1;
-a b
-1 6
-drop table t1;
-drop view v1;
-CREATE TABLE t1(a INT);
-CREATE VIEW v1 AS SELECT * FROM t1;
-CREATE VIEW v1 AS SELECT * FROM t1;
-ERROR 42S01: Table 'v1' already exists
-DROP VIEW v1;
-DROP TABLE t1;
-End of 5.0 tests
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 3ca84bcf34b..2f305f6ec5d 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -144,9 +144,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -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 index period period 4 NULL 41810
+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 41810
+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
@@ -1431,7 +1431,7 @@ companynr companynr
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
+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
@@ -1504,8 +1504,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
@@ -2363,7 +2363,7 @@ insert into t2 values (1,3), (2,3), (3,4), (4,4);
explain select * from t1 left join t2 on a=c where d in (4);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref c,d d 5 const 2 Using where
-1 SIMPLE t1 ALL a NULL NULL NULL 3 Using where
+1 SIMPLE t1 ALL a NULL NULL NULL 4 Using where; Using join buffer
select * from t1 left join t2 on a=c where d in (4);
a b c d
3 2 3 4
@@ -2371,7 +2371,7 @@ a b c d
explain select * from t1 left join t2 on a=c where d = 4;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref c,d d 5 const 2 Using where
-1 SIMPLE t1 ALL a NULL NULL NULL 3 Using where
+1 SIMPLE t1 ALL a NULL NULL NULL 4 Using where; Using join buffer
select * from t1 left join t2 on a=c where d = 4;
a b c d
3 2 3 4
@@ -2717,7 +2717,7 @@ where (t1.c=t2.a or (t1.c=t3.a and t2.a=t3.b)) and t1.b=556476786 and
t2.b like '%%' order by t2.b limit 0,1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref b,c b 5 const 1 Using where; Using temporary; Using filesort
-1 SIMPLE t3 index PRIMARY,a,b PRIMARY 8 NULL 2 Using index
+1 SIMPLE t3 index PRIMARY,a,b PRIMARY 8 NULL 2 Using index; Using join buffer
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 2 Range checked for each record (index map: 0x1)
DROP TABLE t1,t2,t3;
CREATE TABLE t1 (a int, INDEX idx(a));
@@ -2726,15 +2726,9 @@ EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
EXPLAIN SELECT * FROM t1 IGNORE INDEX (a);
-ERROR HY000: Key 'a' doesn't exist in table 't1'
+ERROR 42000: Key 'a' doesn't exist in table 't1'
EXPLAIN SELECT * FROM t1 FORCE INDEX (a);
-ERROR HY000: Key 'a' doesn't exist in table 't1'
-DROP TABLE t1;
-CREATE TABLE t1 (i BIGINT UNSIGNED NOT NULL);
-INSERT INTO t1 VALUES (10);
-SELECT i='1e+01',i=1e+01, i in (1e+01,1e+01), i in ('1e+01','1e+01') FROM t1;
-i='1e+01' i=1e+01 i in (1e+01,1e+01) i in ('1e+01','1e+01')
-1 1 1 1
+ERROR 42000: Key 'a' doesn't exist in table 't1'
DROP TABLE t1;
CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES (1,1), (2,1), (4,10);
@@ -2744,7 +2738,7 @@ ALTER TABLE t1 ENABLE KEYS;
EXPLAIN SELECT STRAIGHT_JOIN SQL_NO_CACHE COUNT(*) FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index b b 5 NULL 2 Using index
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using join buffer
SELECT STRAIGHT_JOIN SQL_NO_CACHE * FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
a b a b
1 NULL 1 1
@@ -2754,7 +2748,7 @@ a b a b
EXPLAIN SELECT STRAIGHT_JOIN SQL_NO_CACHE COUNT(*) FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index b b 5 NULL 2 Using index
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using join buffer
SELECT STRAIGHT_JOIN SQL_NO_CACHE * FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
a b a b
1 NULL 1 1
@@ -2811,16 +2805,22 @@ select min(key1) from t1 where key1 >= 0.3762 and rand() + 0.5 >= 0.5;
min(key1)
0.37619999051094
DROP TABLE t1,t2;
+CREATE TABLE t1 (i BIGINT UNSIGNED NOT NULL);
+INSERT INTO t1 VALUES (10);
+SELECT i='1e+01',i=1e+01, i in (1e+01,1e+01), i in ('1e+01','1e+01') FROM t1;
+i='1e+01' i=1e+01 i in (1e+01,1e+01) i in ('1e+01','1e+01')
+1 1 1 1
+DROP TABLE t1;
create table t1(a bigint unsigned, b bigint);
insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff),
(0x10000000000000000, 0x10000000000000000),
(0x8fffffffffffffff, 0x8fffffffffffffff);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'b' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'b' at row 2
-Warning 1264 Out of range value adjusted for column 'b' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'b' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'b' at row 2
+Warning 1264 Out of range value for column 'b' at row 3
select hex(a), hex(b) from t1;
hex(a) hex(b)
FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
@@ -2910,11 +2910,11 @@ a
EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 5
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where; Using join buffer
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where; Using join buffer
DROP TABLE t1,t2;
select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;
x'10' + 0 X'10' + 0 b'10' + 0 B'10' + 0
@@ -3423,19 +3423,19 @@ CREATE TABLE t1 (i TINYINT UNSIGNED NOT NULL);
INSERT t1 SET i = 0;
UPDATE t1 SET i = -1;
Warnings:
-Warning 1264 Out of range value adjusted for column 'i' at row 1
+Warning 1264 Out of range value for column 'i' at row 1
SELECT * FROM t1;
i
0
UPDATE t1 SET i = CAST(i - 1 AS SIGNED);
Warnings:
-Warning 1264 Out of range value adjusted for column 'i' at row 1
+Warning 1264 Out of range value for column 'i' at row 1
SELECT * FROM t1;
i
0
UPDATE t1 SET i = i - 1;
Warnings:
-Warning 1264 Out of range value adjusted for column 'i' at row 1
+Warning 1264 Out of range value for column 'i' at row 1
SELECT * FROM t1;
i
255
@@ -3453,7 +3453,7 @@ In next EXPLAIN, B.rows must be exactly 10:
explain select * from t2 A, t2 B where A.a=5 and A.b=5 and A.C<5
and B.a=5 and B.b=A.e and (B.b =1 or B.b = 3 or B.b=5);
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE A range PRIMARY PRIMARY 12 NULL 3 Using where
+1 SIMPLE A range PRIMARY PRIMARY 12 NULL 4 Using where
1 SIMPLE B ref PRIMARY PRIMARY 8 const,test.A.e 10
drop table t1, t2;
CREATE TABLE t1 (a int PRIMARY KEY, b int, INDEX(b));
@@ -3636,21 +3636,6 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range si,ai si 5 NULL 2 Using where
1 SIMPLE t3 eq_ref PRIMARY,ci PRIMARY 4 test.t2.a 1 Using where
DROP TABLE t1,t2,t3;
-CREATE TABLE t1 (a INT, b INT, KEY (a));
-INSERT INTO t1 VALUES (1,1),(2,2);
-EXPLAIN SELECT 1 FROM t1 WHERE a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 5 const 1 Using where; Using index
-EXPLAIN SELECT 1 FROM t1 IGNORE INDEX FOR JOIN (a) WHERE a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
-EXPLAIN SELECT 1 FROM t1 USE INDEX FOR JOIN (a) WHERE a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 5 const 1 Using where; Using index
-EXPLAIN SELECT 1 FROM t1 FORCE INDEX FOR JOIN (a) WHERE a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 5 const 1 Using where; Using index
-DROP TABLE t1;
CREATE TABLE t1 ( f1 int primary key, f2 int, f3 int, f4 int, f5 int, f6 int, checked_out int);
CREATE TABLE t2 ( f11 int PRIMARY KEY );
INSERT INTO t1 VALUES (1,1,1,0,0,0,0),(2,1,1,3,8,1,0),(3,1,1,4,12,1,0);
@@ -3797,9 +3782,9 @@ coalesce(9223372036854775808, 1) co;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` decimal(19,0) NOT NULL default '0',
- `c` decimal(19,0) NOT NULL default '0',
- `co` decimal(19,0) NOT NULL default '0'
+ `i` decimal(19,0) NOT NULL DEFAULT '0',
+ `c` decimal(19,0) NOT NULL DEFAULT '0',
+ `co` decimal(19,0) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select
@@ -4062,8 +4047,8 @@ join_2.c1,
join_7.c1,
join_1.c1,
join_0.c1;
-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
+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;
@@ -4329,3 +4314,20 @@ c1
DROP TABLE t1;
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
index 09adebad10f..b42de1e0f70 100644
--- a/mysql-test/r/shm.result
+++ b/mysql-test/r/shm.result
@@ -142,9 +142,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -605,11 +605,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 index period period 4 NULL 41810
+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 41810
+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
@@ -1429,7 +1429,7 @@ companynr companynr
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
+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
@@ -1502,8 +1502,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
index 0ad32d2f5ed..ff32d2a1512 100644
--- a/mysql-test/r/show_check.result
+++ b/mysql-test/r/show_check.result
@@ -78,7 +78,7 @@ t1 0 PRIMARY 1 a A 5 NULL NULL BTREE
t1 1 b 1 b A 1 NULL NULL BTREE
t1 1 b 2 c A 5 NULL NULL BTREE
insert into t1 values (5,5,5);
-ERROR 23000: Duplicate entry '5' for key 1
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
@@ -99,39 +99,39 @@ drop table t1;
-- after Bug#29394 is implemented.
show variables like "wait_timeout%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def VARIABLES Variable_name Variable_name 253 80 12 N 1 0 8
-def VARIABLES Value Value 253 512 5 N 1 0 8
+def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8
+def VARIABLES VARIABLE_VALUE Value 253 20480 5 Y 0 0 8
Variable_name Value
wait_timeout 28800
show variables like "WAIT_timeout%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def VARIABLES Variable_name Variable_name 253 80 12 N 1 0 8
-def VARIABLES Value Value 253 512 5 N 1 0 8
+def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8
+def VARIABLES VARIABLE_VALUE Value 253 20480 5 Y 0 0 8
Variable_name Value
wait_timeout 28800
show variables like "this_doesn't_exists%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def VARIABLES Variable_name Variable_name 253 80 0 N 1 0 8
-def VARIABLES Value Value 253 512 0 N 1 0 8
+def VARIABLES VARIABLE_NAME Variable_name 253 64 0 N 1 0 8
+def VARIABLES VARIABLE_VALUE Value 253 20480 0 Y 0 0 8
Variable_name Value
show table status from test like "this_doesn't_exists%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def TABLES TABLE_NAME Name 253 64 0 N 1 0 8
def TABLES ENGINE Engine 253 64 0 Y 0 0 8
-def TABLES VERSION Version 8 21 0 Y 32768 0 63
+def TABLES VERSION Version 8 21 0 Y 32800 0 63
def TABLES ROW_FORMAT Row_format 253 10 0 Y 0 0 8
-def TABLES TABLE_ROWS Rows 8 21 0 Y 32768 0 63
-def TABLES AVG_ROW_LENGTH Avg_row_length 8 21 0 Y 32768 0 63
-def TABLES DATA_LENGTH Data_length 8 21 0 Y 32768 0 63
-def TABLES MAX_DATA_LENGTH Max_data_length 8 21 0 Y 32768 0 63
-def TABLES INDEX_LENGTH Index_length 8 21 0 Y 32768 0 63
-def TABLES DATA_FREE Data_free 8 21 0 Y 32768 0 63
-def TABLES AUTO_INCREMENT Auto_increment 8 21 0 Y 32768 0 63
+def TABLES TABLE_ROWS Rows 8 21 0 Y 32800 0 63
+def TABLES AVG_ROW_LENGTH Avg_row_length 8 21 0 Y 32800 0 63
+def TABLES DATA_LENGTH Data_length 8 21 0 Y 32800 0 63
+def TABLES MAX_DATA_LENGTH Max_data_length 8 21 0 Y 32800 0 63
+def TABLES INDEX_LENGTH Index_length 8 21 0 Y 32800 0 63
+def TABLES DATA_FREE Data_free 8 21 0 Y 32800 0 63
+def TABLES AUTO_INCREMENT Auto_increment 8 21 0 Y 32800 0 63
def TABLES CREATE_TIME Create_time 12 19 0 Y 128 0 63
def TABLES UPDATE_TIME Update_time 12 19 0 Y 128 0 63
def TABLES CHECK_TIME Check_time 12 19 0 Y 128 0 63
def TABLES TABLE_COLLATION Collation 253 64 0 Y 0 0 8
-def TABLES CHECKSUM Checksum 8 21 0 Y 32768 0 63
+def TABLES CHECKSUM Checksum 8 21 0 Y 32800 0 63
def TABLES CREATE_OPTIONS Create_options 253 255 0 Y 0 0 8
def TABLES TABLE_COMMENT Comment 253 80 0 N 1 0 8
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
@@ -207,21 +207,21 @@ c int not null comment 'int column',
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `test_set` set('val1','val2','val3') NOT NULL default '',
- `name` char(20) default 'O''Brien' COMMENT 'O''Brien as default',
+ `test_set` set('val1','val2','val3') NOT NULL DEFAULT '',
+ `name` char(20) DEFAULT 'O''Brien' COMMENT 'O''Brien as default',
`c` int(11) NOT NULL COMMENT 'int column',
- `c-b` int(11) default NULL COMMENT 'name with a minus',
- `space 2` int(11) default NULL COMMENT 'name with a space'
+ `c-b` int(11) DEFAULT NULL COMMENT 'name with a minus',
+ `space 2` int(11) DEFAULT NULL COMMENT 'name with a space'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='it''s a table'
set sql_quote_show_create=0;
show create table t1;
Table Create Table
t1 CREATE TABLE t1 (
- test_set set('val1','val2','val3') NOT NULL default '',
- `name` char(20) default 'O''Brien' COMMENT 'O''Brien as default',
+ test_set set('val1','val2','val3') NOT NULL DEFAULT '',
+ `name` char(20) DEFAULT 'O''Brien' COMMENT 'O''Brien as default',
c int(11) NOT NULL COMMENT 'int column',
- `c-b` int(11) default NULL COMMENT 'name with a minus',
- `space 2` int(11) default NULL COMMENT 'name with a space'
+ `c-b` int(11) DEFAULT NULL COMMENT 'name with a minus',
+ `space 2` int(11) DEFAULT NULL COMMENT 'name with a space'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='it''s a table'
set sql_quote_show_create=1;
show full columns from t1;
@@ -245,24 +245,26 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
flush tables;
show open tables;
Database Table In_use Name_locked
+mysql general_log 0 0
create table t1(n int);
insert into t1 values (1);
show open tables;
Database Table In_use Name_locked
test t1 0 0
+mysql general_log 0 0
drop table t1;
create table t1 (a int not null, b VARCHAR(10), INDEX (b) ) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" ENGINE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(10) default NULL,
+ `b` varchar(10) DEFAULT NULL,
KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
alter table t1 MAX_ROWS=200 ROW_FORMAT=dynamic PACK_KEYS=0;
@@ -270,7 +272,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(10) default NULL,
+ `b` varchar(10) DEFAULT NULL,
KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=200 AVG_ROW_LENGTH=10 PACK_KEYS=0 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='test'
ALTER TABLE t1 AVG_ROW_LENGTH=0 CHECKSUM=0 COMMENT="" MIN_ROWS=0 MAX_ROWS=0 PACK_KEYS=DEFAULT DELAY_KEY_WRITE=0 ROW_FORMAT=default;
@@ -278,7 +280,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(10) default NULL,
+ `b` varchar(10) DEFAULT NULL,
KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -327,28 +329,28 @@ index(type_short)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `type_bool` tinyint(1) NOT NULL default '0',
- `type_tiny` tinyint(4) NOT NULL auto_increment,
- `type_short` smallint(3) default NULL,
- `type_mediumint` mediumint(9) default NULL,
- `type_bigint` bigint(20) default NULL,
- `type_decimal` decimal(5,2) default NULL,
- `type_numeric` decimal(5,2) default NULL,
- `empty_char` char(0) default NULL,
- `type_char` char(2) default NULL,
- `type_varchar` varchar(10) default NULL,
- `type_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `type_date` date NOT NULL default '0000-00-00',
- `type_time` time NOT NULL default '00:00:00',
- `type_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
- `type_year` year(4) default NULL,
- `type_enum` enum('red','green','blue') default NULL,
- `type_set` enum('red','green','blue') default NULL,
+ `type_bool` tinyint(1) NOT NULL DEFAULT '0',
+ `type_tiny` tinyint(4) NOT NULL AUTO_INCREMENT,
+ `type_short` smallint(3) DEFAULT NULL,
+ `type_mediumint` mediumint(9) DEFAULT NULL,
+ `type_bigint` bigint(20) DEFAULT NULL,
+ `type_decimal` decimal(5,2) DEFAULT NULL,
+ `type_numeric` decimal(5,2) DEFAULT NULL,
+ `empty_char` char(0) DEFAULT NULL,
+ `type_char` char(2) DEFAULT NULL,
+ `type_varchar` varchar(10) DEFAULT NULL,
+ `type_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `type_date` date NOT NULL DEFAULT '0000-00-00',
+ `type_time` time NOT NULL DEFAULT '00:00:00',
+ `type_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `type_year` year(4) DEFAULT NULL,
+ `type_enum` enum('red','green','blue') DEFAULT NULL,
+ `type_set` enum('red','green','blue') DEFAULT NULL,
`type_tinyblob` tinyblob,
`type_blob` blob,
`type_medium_blob` mediumblob,
`type_long_blob` longblob,
- PRIMARY KEY (`type_tiny`),
+ PRIMARY KEY (`type_tiny`),
KEY `type_short` (`type_short`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
insert into t1 (type_timestamp) values ("2003-02-07 10:00:01");
@@ -379,22 +381,56 @@ f float(3,3) YES NULL
drop table t1;
SET @old_sql_mode= @@sql_mode, sql_mode= '';
SET @old_sql_quote_show_create= @@sql_quote_show_create, sql_quote_show_create= OFF;
-CREATE TABLE `a/b` (i INT);
-ERROR 42000: Incorrect table name 'a/b'
+CREATE TABLE ```ab``cd``` (i INT);
+SHOW CREATE TABLE ```ab``cd```;
+Table Create Table
+`ab`cd` CREATE TABLE ```ab``cd``` (
+ i int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE ```ab``cd```;
+CREATE TABLE ```ab````cd``` (i INT);
+SHOW CREATE TABLE ```ab````cd```;
+Table Create Table
+`ab``cd` CREATE TABLE ```ab````cd``` (
+ i int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE ```ab````cd```;
+CREATE TABLE ```a` (i INT);
+SHOW CREATE TABLE ```a`;
+Table Create Table
+`a CREATE TABLE ```a` (
+ i int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE ```a`;
+CREATE TABLE `a.1` (i INT);
+SHOW CREATE TABLE `a.1`;
+Table Create Table
+a.1 CREATE TABLE `a.1` (
+ i int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE `a.1`;
+SET sql_mode= 'ANSI_QUOTES';
+CREATE TABLE """a" (i INT);
+SHOW CREATE TABLE """a";
+Table Create Table
+"a CREATE TABLE """a" (
+ i int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE """a";
SET sql_mode= '';
SET sql_quote_show_create= OFF;
CREATE TABLE t1 (i INT);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE t1 (
- i int(11) default NULL
+ i int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE `table` (i INT);
SHOW CREATE TABLE `table`;
Table Create Table
table CREATE TABLE `table` (
- i int(11) default NULL
+ i int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE `table`;
SET sql_quote_show_create= @old_sql_quote_show_create;
@@ -448,9 +484,9 @@ Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length I
t1 MEMORY 10 Fixed 4 # # # # # NULL NULL NULL NULL latin1_swedish_ci NULL
t2 MEMORY 10 Fixed 4 # # # # # NULL NULL NULL NULL latin1_swedish_ci NULL
t3 MEMORY 10 Fixed 4 # # # # # NULL NULL NULL NULL latin1_swedish_ci NULL
-delete from t1;
-delete from t2;
-delete from t3;
+truncate table t1;
+truncate table t2;
+truncate table t3;
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 MEMORY 10 Fixed 0 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
@@ -503,7 +539,8 @@ ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysql
select * from mysqltest.t1;
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't1'
show create database mysqltest;
-ERROR 42000: Access denied for user 'mysqltest_3'@'localhost' to database 'mysqltest'
+Database Create Database
+mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
drop table mysqltest.t1;
drop database mysqltest;
set names binary;
@@ -516,7 +553,7 @@ CREATE TABLE t1 (i int, KEY (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
+ `i` int(11) DEFAULT NULL,
KEY `i` (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -524,23 +561,23 @@ CREATE TABLE t1 (i int, KEY USING HASH (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
- KEY `i` USING HASH (`i`)
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`) USING HASH
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
- KEY `i` USING BTREE (`i`)
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
+ `i` int(11) DEFAULT NULL,
KEY `i` (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -548,22 +585,22 @@ CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
- KEY `i` USING BTREE (`i`)
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
+ `i` int(11) DEFAULT NULL,
KEY `i` (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
+ `i` int(11) DEFAULT NULL,
KEY `i` (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -571,15 +608,15 @@ CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
- KEY `i` USING BTREE (`i`)
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL,
- KEY `i` USING BTREE (`i`)
+ `i` int(11) DEFAULT NULL,
+ KEY `i` (`i`) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1(
@@ -614,8 +651,8 @@ Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) NOT NULL,
`c2` int(11) NOT NULL,
- PRIMARY KEY USING HASH (`c1`),
- KEY `c2` USING BTREE (`c2`)
+ PRIMARY KEY (`c1`) USING HASH,
+ KEY `c2` (`c2`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
flush tables;
@@ -624,8 +661,7 @@ Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length I
t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
show create table t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
-drop table t1;
-End of 4.1 tests
+drop table if exists t1;
CREATE TABLE txt1(a int);
CREATE TABLE tyt2(a int);
CREATE TABLE urkunde(a int);
@@ -637,17 +673,19 @@ Database Table In_use Name_locked
mysql db 0 0
test urkunde 0 0
mysql time_zone 0 0
-mysql user 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;
Database Table In_use Name_locked
mysql db 0 0
mysql time_zone 0 0
-mysql user 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%';
Database Table In_use Name_locked
@@ -661,62 +699,65 @@ mysql time_zone_name 0 0
SHOW OPEN TABLES LIKE '%o%';
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
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;
SHOW TABLES FROM non_existing_database;
ERROR 42000: Unknown database 'non_existing_database'
+End of 4.1 tests
DROP VIEW IF EXISTS v1;
DROP PROCEDURE IF EXISTS p1;
CREATE VIEW v1 AS SELECT 1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
+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` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE 1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE 1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache 1 AS `1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache 1 AS `1` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE SQL_NO_CACHE NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE SQL_CACHE NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE SQL_NO_CACHE SQL_CACHE NOW();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()` binary binary
DROP VIEW v1;
CREATE PROCEDURE p1()
BEGIN
@@ -727,8 +768,8 @@ DROP PREPARE stmt;
END |
CALL p1();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1` binary binary
DROP PROCEDURE p1;
DROP VIEW v1;
SHOW TABLES FROM no_such_database;
@@ -750,6 +791,64 @@ select 1 from information_schema.tables limit 1;
show status like 'slow_queries';
Variable_name Value
Slow_queries 1
+create table t1 (a int);
+create trigger tr1 before insert on t1 for each row
+begin
+end;
+create view v1 as select a from t1;
+create procedure p1()
+begin
+end;
+create function f1()
+returns int
+return 0;
+create event e1 on schedule every 1 year starts now()
+ends date_add(now(), interval 5 hour) do
+begin
+end;
+flush status;
+show databases;
+show tables;
+show events;
+show table status;
+show open tables;
+show plugins;
+show columns in t1;
+show slave hosts;
+show keys in t1;
+show column types;
+show table types;
+show storage engines;
+show authors;
+show contributors;
+show privileges;
+show count(*) warnings;
+show count(*) errors;
+show warnings;
+show status;
+show processlist;
+show variables;
+show charset;
+show collation;
+show grants;
+show create database test;
+show create table t1;
+show create view v1;
+show master status;
+show slave status;
+show create procedure p1;
+show create function f1;
+show create trigger tr1;
+show procedure status;
+show create event e1;
+show status like 'slow_queries';
+Variable_name Value
+Slow_queries 0
+drop view v1;
+drop table t1;
+drop procedure p1;
+drop function f1;
+drop event e1;
DROP DATABASE IF EXISTS mysqltest1;
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
@@ -802,11 +901,11 @@ mysqltest1
SHOW CREATE TABLE t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 63 2 N 1 31 33
-def Create Table 253 1023 103 N 1 31 33
+def Create Table 253 1023 102 N 1 31 33
Table Create Table
t1 CREATE TABLE `t1` (
`c` int(11) NOT NULL,
- PRIMARY KEY (`c`)
+ PRIMARY KEY (`c`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
----------------------------------------------------------------
SHOW INDEX FROM t1;
@@ -880,7 +979,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
@@ -899,7 +998,7 @@ 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 NULL
----------------------------------------------------------------
@@ -913,8 +1012,11 @@ def TRIGGERS ACTION_TIMING Timing 253 18 6 N 1 0 33
def TRIGGERS CREATED Created 12 19 0 Y 128 0 63
def TRIGGERS SQL_MODE sql_mode 252 589815 0 N 17 0 33
def TRIGGERS DEFINER Definer 252 589815 14 N 17 0 33
-Trigger Event Table Statement Timing Created sql_mode Definer
-t1_bi INSERT t1 SET @a = 1 BEFORE NULL root@localhost
+def TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 96 6 N 1 0 33
+def TRIGGERS COLLATION_CONNECTION collation_connection 253 96 6 N 1 0 33
+def TRIGGERS DATABASE_COLLATION Database Collation 253 96 17 N 1 0 33
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+t1_bi INSERT t1 SET @a = 1 BEFORE NULL root@localhost binary binary latin1_swedish_ci
----------------------------------------------------------------
SELECT
TRIGGER_CATALOG,
@@ -961,8 +1063,10 @@ SHOW CREATE VIEW v1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def View 253 63 2 N 1 31 33
def Create View 253 1023 103 N 1 31 33
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
+def character_set_client 253 30 6 N 1 31 33
+def collation_connection 253 30 6 N 1 31 33
+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` binary binary
----------------------------------------------------------------
SELECT *
FROM INFORMATION_SCHEMA.VIEWS
@@ -971,22 +1075,27 @@ 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 41 N 17 0 33
+def VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 589815 8 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
def VIEWS SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE
-NULL test v1 /* ALGORITHM=UNDEFINED */ select 1 AS `1` NONE NO root@localhost DEFINER
+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
----------------------------------------------------------------
SHOW CREATE PROCEDURE p1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Procedure 253 63 2 N 1 31 33
def sql_mode 253 0 0 N 1 31 33
-def Create Procedure 253 2046 59 Y 0 31 33
-Procedure sql_mode Create Procedure
+def Create Procedure 253 1023 59 Y 0 31 33
+def character_set_client 253 30 6 N 1 31 33
+def collation_connection 253 30 6 N 1 31 33
+def Database Collation 253 30 17 N 1 31 33
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
-SELECT 1
+SELECT 1 binary binary latin1_swedish_ci
----------------------------------------------------------------
SELECT
SPECIFIC_NAME,
@@ -1035,10 +1144,13 @@ SHOW CREATE FUNCTION f1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Function 253 63 2 N 1 31 33
def sql_mode 253 0 0 N 1 31 33
-def Create Function 253 2046 74 Y 0 31 33
-Function sql_mode Create Function
+def Create Function 253 1023 74 Y 0 31 33
+def character_set_client 253 30 6 N 1 31 33
+def collation_connection 253 30 6 N 1 31 33
+def Database Collation 253 30 17 N 1 31 33
+Function sql_mode Create Function character_set_client collation_connection Database Collation
f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
-RETURN 1
+RETURN 1 binary binary latin1_swedish_ci
----------------------------------------------------------------
SELECT
SPECIFIC_NAME,
@@ -1104,7 +1216,7 @@ DROP DATABASE mysqltest1;
SHOW CREATE TABLE mysqltest1.t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `1` int(11) default NULL
+ `1` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP DATABASE mysqltest1;
use test;
@@ -1142,3 +1254,177 @@ show variables like 'myisam_recover_options';
Variable_name Value
myisam_recover_options OFF
End of 5.0 tests
+SHOW AUTHORS;
+create database mysqltest;
+show create database mysqltest;
+Database Create Database
+mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
+create table mysqltest.t1(a int);
+insert into mysqltest.t1 values(1);
+grant select on `mysqltest`.`t1` to mysqltest_4@localhost;
+show create database mysqltest;
+Database Create Database
+mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
+delete from mysql.user where user='mysqltest_4';
+delete from mysql.db where user='mysqltest_4';
+delete from mysql.tables_priv where user='mysqltest_4';
+flush privileges;
+drop database mysqltest;
+show full plugin;
+show warnings;
+Level Code Message
+Warning 1287 The syntax 'SHOW PLUGIN' is deprecated and will be removed in MySQL 5.2. Please use 'SHOW PLUGINS' instead
+show plugin;
+show plugins;
+create database `mysqlttest\1`;
+create table `mysqlttest\1`.`a\b` (a int);
+show tables from `mysqlttest\1`;
+Tables_in_mysqlttest\1
+a\b
+show fields from `mysqlttest\1`.`a\b`;
+Field Type Null Key Default Extra
+a int(11) YES NULL
+show columns from `a\b` from `mysqlttest\1`;
+Field Type Null Key Default Extra
+a int(11) YES NULL
+show keys from `mysqlttest\1`.`a\b`;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+drop table `mysqlttest\1`.`a\b`;
+drop database `mysqlttest\1`;
+show engine foobar status;
+ERROR 42000: Unknown table engine 'foobar'
+show engine foobar logs;
+ERROR 42000: Unknown table engine 'foobar'
+show engine foobar mutex;
+ERROR 42000: Unknown table engine 'foobar'
+show engine mutex status;
+ERROR 42000: Unknown table engine 'mutex'
+show engine csv status;
+Type Name Status
+show engine csv logs;
+Type Name Status
+show engine csv mutex;
+Type Name Status
+set names utf8;
+drop table if exists `été`;
+create table `été` (field1 int);
+show full tables;
+Tables_in_test Table_type
+été BASE TABLE
+drop table `été`;
+set names latin1;
+show columns from `#mysql50#????????`;
+Got one of the listed errors
+DROP TABLE IF EXISTS t1;
+DROP PROCEDURE IF EXISTS p1;
+CREATE TABLE t1(c1 INT);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
+SHOW CREATE TRIGGER t1_bi;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CREATE PROCEDURE p1() SHOW CREATE TRIGGER t1_bi;
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+CALL p1();
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+PREPARE stmt1 FROM 'SHOW CREATE TRIGGER t1_bi';
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+EXECUTE stmt1;
+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 FOR EACH ROW SET @a = 1 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP TABLE t1;
+DROP PROCEDURE p1;
+DEALLOCATE PREPARE stmt1;
+set names koi8r;
+DROP VIEW IF EXISTS v1;
+DROP PROCEDURE IF EXISTS p1;
+DROP FUNCTION IF EXISTS f1;
+DROP TABLE IF EXISTS t1;
+DROP EVENT IF EXISTS ev1;
+CREATE VIEW v1 AS SELECT '' AS test;
+CREATE PROCEDURE p1() SELECT '' AS test;
+CREATE FUNCTION f1() RETURNS CHAR(10) RETURN '';
+CREATE TABLE t1(c1 CHAR(10));
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1
+FOR EACH ROW
+SET NEW.c1 = '';
+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
+SHOW CREATE PROCEDURE p1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
+SELECT 'тест' AS test koi8r koi8r_general_ci latin1_swedish_ci
+SHOW CREATE FUNCTION f1;
+Function sql_mode Create Function character_set_client collation_connection Database Collation
+f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS char(10) CHARSET latin1
+RETURN 'тест' koi8r koi8r_general_ci latin1_swedish_ci
+SHOW CREATE TRIGGER t1_bi;
+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
+FOR EACH ROW
+SET NEW.c1 = 'тест' koi8r koi8r_general_ci latin1_swedish_ci
+SHOW CREATE EVENT ev1;
+Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
+ev1 SYSTEM CREATE EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 'тест' AS test koi8r koi8r_general_ci latin1_swedish_ci
+DROP VIEW v1;
+DROP PROCEDURE p1;
+DROP FUNCTION f1;
+DROP TABLE t1;
+DROP EVENT ev1;
+SHOW TABLE TYPES;
+End of 5.1 tests
diff --git a/mysql-test/r/skip_grants.result b/mysql-test/r/skip_grants.result
index 1ef35b051d6..bf0f16a174f 100644
--- a/mysql-test/r/skip_grants.result
+++ b/mysql-test/r/skip_grants.result
@@ -35,16 +35,16 @@ SELECT 3;
CREATE DEFINER=a@'' FUNCTION f3() RETURNS INT
RETURN 3;
SHOW CREATE VIEW v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`a`@`` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`c` AS `c` from `t1`
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`a`@`` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`c` AS `c` from `t1` latin1 latin1_swedish_ci
SHOW CREATE PROCEDURE p3;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p3 CREATE DEFINER=`a`@`` PROCEDURE `p3`()
-SELECT 3
+SELECT 3 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION f3;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
f3 CREATE DEFINER=`a`@`` FUNCTION `f3`() RETURNS int(11)
-RETURN 3
+RETURN 3 latin1 latin1_swedish_ci latin1_swedish_ci
DROP TRIGGER t1_bi;
DROP TRIGGER ti_ai;
DROP TRIGGER ti_bu;
@@ -58,6 +58,8 @@ DROP PROCEDURE p3;
DROP FUNCTION f1;
DROP FUNCTION f2;
DROP FUNCTION f3;
+set global event_scheduler=1;
+ERROR HY000: The MySQL server is running with the --event-scheduler=DISABLED or --skip-grant-tables option so it cannot execute this statement
select count(*) from information_schema.COLUMN_PRIVILEGES;
count(*)
0
@@ -75,3 +77,10 @@ ERROR HY000: Can't initialize function 'a'; UDFs are unavailable with the --skip
DROP FUNCTION a;
ERROR 42000: FUNCTION test.a does not exist
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 219f3c9b37a..018173e723d 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
@@ -734,3 +734,20 @@ drop table t1;
drop procedure proc_26977_broken;
drop procedure proc_26977_works;
End of 5.0 tests.
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE dummy int default 0;
+CASE 12
+WHEN 12
+THEN SET dummy = 0;
+END CASE;
+END//
+SHOW PROCEDURE CODE p1;
+Pos Instruction
+0 set dummy@0 0
+1 set_case_expr (6) 0 12
+2 jump_if_not 5(6) (case_expr@0 = 12)
+3 set dummy@0 0
+4 jump 6
+5 error 1339
+DROP PROCEDURE p1;
diff --git a/mysql-test/r/sp-destruct.result b/mysql-test/r/sp-destruct.result
index 4df8086c84e..ae294f05b25 100644
--- a/mysql-test/r/sp-destruct.result
+++ b/mysql-test/r/sp-destruct.result
@@ -37,26 +37,33 @@ insert into mysql.proc
(
db, name, type, specific_name, language, sql_data_access, is_deterministic,
security_type, param_list, returns, body, definer, created, modified,
-sql_mode, comment
+sql_mode, comment, character_set_client, collation_connection, db_collation,
+body_utf8
)
values
(
'test', 'bug14233_1', 'FUNCTION', 'bug14233_1', 'SQL', 'READS_SQL_DATA', 'NO',
'DEFINER', '', 'int(10)',
'select count(*) from mysql.user',
-'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
+'root@localhost', NOW() , '0000-00-00 00:00:00', '', '',
+'', '', '',
+'select count(*) from mysql.user'
),
(
'test', 'bug14233_2', 'FUNCTION', 'bug14233_2', 'SQL', 'READS_SQL_DATA', 'NO',
'DEFINER', '', 'int(10)',
'begin declare x int; select count(*) into x from mysql.user; end',
-'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
+'root@localhost', NOW() , '0000-00-00 00:00:00', '', '',
+'', '', '',
+'begin declare x int; select count(*) into x from mysql.user; end'
),
(
'test', 'bug14233_3', 'PROCEDURE', 'bug14233_3', 'SQL', 'READS_SQL_DATA','NO',
'DEFINER', '', '',
'alksj wpsj sa ^#!@ ',
-'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
+'root@localhost', NOW() , '0000-00-00 00:00:00', '', '',
+'', '', '',
+'alksj wpsj sa ^#!@ '
);
select bug14233_1();
ERROR HY000: Failed to load routine test.bug14233_1. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
@@ -78,6 +85,6 @@ drop function bug14233_1;
drop function bug14233_2;
drop procedure bug14233_3;
show procedure status;
-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
show function status;
-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
diff --git a/mysql-test/r/sp-dynamic.result b/mysql-test/r/sp-dynamic.result
index 0f50bcc97cd..34b76a9424f 100644
--- a/mysql-test/r/sp-dynamic.result
+++ b/mysql-test/r/sp-dynamic.result
@@ -294,11 +294,11 @@ call p1()|
select * from t1|
id stmt_text status
1 select 1 supported
-2 flush tables not supported
+2 flush tables supported
3 handler t1 open as ha not supported
4 analyze table t1 supported
5 check table t1 not supported
-6 checksum table t1 not supported
+6 checksum table t1 supported
7 check table t1 not supported
8 optimize table t1 supported
9 repair table t1 supported
diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result
index b4bcfbdc7f7..b81f8ea64c9 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;
@@ -292,9 +295,9 @@ call p()|
unlock tables|
drop procedure p|
lock tables t1 read, mysql.proc write|
-ERROR HY000: You can't combine write-locking of system 'mysql.proc' table with other tables
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
lock tables mysql.proc write, mysql.user write|
-ERROR HY000: You can't combine write-locking of system 'mysql.proc' table with other tables
+ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
lock tables t1 read, mysql.proc read|
unlock tables|
lock tables mysql.proc write|
@@ -368,7 +371,7 @@ end|
insert into t1 values (666, 51.3)|
call bug2272()|
ERROR 42S22: Unknown column 'v' in 'field list'
-delete from t1|
+truncate table t1|
drop procedure bug2272|
create procedure bug2329_1()
begin
@@ -425,7 +428,7 @@ set y = x;
end|
set @x = 0|
call bug3279(@x)|
-ERROR 23000: Duplicate entry '6' for key 1
+ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
select @x|
@x
0
@@ -520,7 +523,7 @@ declare exit handler for sqlexception select 'Error!';
open c;
fetch c into v;
end|
-delete from t1|
+truncate table t1|
call bug7299()|
ERROR 02000: No data - zero rows fetched, selected, or processed
drop procedure bug7299|
@@ -621,7 +624,7 @@ val x bug8408()
3 3.14 3
7 7 3
drop function bug8408|
-delete from t1|
+truncate table t1|
drop procedure if exists bug10537|
create procedure bug10537()
load data local infile '/tmp/somefile' into table t1|
@@ -682,8 +685,8 @@ create procedure bug17015_012345678901234567890123456789012345678901234567890123
begin
end|
show procedure status like 'bug17015%'|
-Db Name Type Definer Modified Created Security_type Comment
-test bug17015_0123456789012345678901234567890123456789012345678901234 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bug17015_0123456789012345678901234567890123456789012345678901234 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure bug17015_0123456789012345678901234567890123456789012345678901234|
drop procedure if exists bug10969|
create procedure bug10969()
@@ -793,7 +796,7 @@ bug11834_2()
10
drop function bug11834_1;
execute stmt;
-ERROR 42000: FUNCTION test.bug11834_1 does not exist
+ERROR 42000: FUNCTION test.bug11834_2 does not exist
deallocate prepare stmt;
drop function bug11834_2;
DROP FUNCTION IF EXISTS bug12953|
@@ -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 |
@@ -1087,8 +1102,8 @@ create procedure p2() select version();
ERROR 3D000: No database selected
use mysqltest2;
show procedure status;
-Db Name Type Definer Modified Created Security_type Comment
-mysqltest2 p1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+mysqltest2 p1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop database mysqltest2;
use test;
DROP FUNCTION IF EXISTS bug13012|
@@ -1177,8 +1192,8 @@ call ` bug15658`();
1
1
show procedure status;
-Db Name Type Definer Modified Created Security_type Comment
-test bug15658 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bug15658 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure ` bug15658`;
drop function if exists bug14270;
drop table if exists t1;
@@ -1400,6 +1415,19 @@ drop table table_25345_b;
drop procedure proc_25345;
drop function func_25345;
drop function func_25345_b;
+End of 5.0 tests
+drop function if exists bug16164;
+create function bug16164() returns int
+begin
+show authors;
+return 42;
+end|
+ERROR 0A000: Not allowed to return a result set from a function
+drop function if exists bug20701;
+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;
create procedure proc_26503_error_1()
begin
retry:
@@ -1452,6 +1480,35 @@ 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;
@@ -1465,3 +1522,60 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
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
diff --git a/mysql-test/r/sp-security.result b/mysql-test/r/sp-security.result
index 8462bafe0e3..1a1645ca971 100644
--- a/mysql-test/r/sp-security.result
+++ b/mysql-test/r/sp-security.result
@@ -12,8 +12,8 @@ insert into t1 values('test', 0);
create procedure stamp(i int)
insert into db1_secret.t1 values (user(), i);
show procedure status like 'stamp';
-Db Name Type Definer Modified Created Security_type Comment
-db1_secret stamp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db1_secret stamp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
create function db() returns varchar(64)
begin
declare v varchar(64);
@@ -21,8 +21,8 @@ select u into v from t1 limit 1;
return v;
end|
show function status like 'db';
-Db Name Type Definer Modified Created Security_type Comment
-db1_secret db FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db1_secret db FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
call stamp(1);
select * from t1;
u i
@@ -71,12 +71,12 @@ user1@localhost 2
anon@localhost 3
alter procedure stamp sql security invoker;
show procedure status like 'stamp';
-Db Name Type Definer Modified Created Security_type Comment
-db1_secret stamp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db1_secret stamp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
alter function db sql security invoker;
show function status like 'db';
-Db Name Type Definer Modified Created Security_type Comment
-db1_secret db FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+db1_secret db FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
call stamp(4);
select * from t1;
u i
@@ -331,16 +331,6 @@ select * from db_bug14533.t1;
ERROR 42000: SELECT command denied to user 'user_bug14533'@'localhost' for table 't1'
drop user user_bug14533@localhost;
drop database db_bug14533;
-CREATE DATABASE db_bug7787;
-use db_bug7787;
-CREATE PROCEDURE p1()
-SHOW INNODB STATUS;
-Warnings:
-Warning 1287 'SHOW INNODB STATUS' is deprecated; use 'SHOW ENGINE INNODB STATUS' instead
-GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
-DROP DATABASE db_bug7787;
-drop user user_bug7787@localhost;
-use test;
---> connection: root
DROP DATABASE IF EXISTS mysqltest;
@@ -375,21 +365,21 @@ Note 1449 There is no 'a @ b @ c'@'localhost' registered
---> connection: con1root
use mysqltest;
SHOW CREATE PROCEDURE wl2897_p1;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
wl2897_p1 CREATE DEFINER=`mysqltest_2`@`localhost` PROCEDURE `wl2897_p1`()
-SELECT 1
+SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE PROCEDURE wl2897_p3;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
wl2897_p3 CREATE DEFINER=`a @ b @ c`@`localhost` PROCEDURE `wl2897_p3`()
-SELECT 3
+SELECT 3 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION wl2897_f1;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
wl2897_f1 CREATE DEFINER=`mysqltest_2`@`localhost` FUNCTION `wl2897_f1`() RETURNS int(11)
-RETURN 1
+RETURN 1 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION wl2897_f3;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
wl2897_f3 CREATE DEFINER=`a @ b @ c`@`localhost` FUNCTION `wl2897_f3`() RETURNS int(11)
-RETURN 3
+RETURN 3 latin1 latin1_swedish_ci latin1_swedish_ci
DROP USER mysqltest_1@localhost;
DROP USER mysqltest_2@localhost;
DROP DATABASE mysqltest;
@@ -453,14 +443,14 @@ SET a=1;
SELECT a;
END //
SHOW CREATE PROCEDURE test.sp19857;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
sp19857 CREATE DEFINER=`user19857`@`localhost` PROCEDURE `sp19857`()
DETERMINISTIC
BEGIN
DECLARE a INT;
SET a=1;
SELECT a;
-END
+END latin1 latin1_swedish_ci latin1_swedish_ci
DROP PROCEDURE IF EXISTS test.sp19857;
---> connection: root
@@ -468,6 +458,7 @@ SELECT Host,User,Password FROM mysql.user WHERE User='user19857';
Host User Password
localhost user19857 *82DC221D557298F6CE9961037DB1C90604792F5C
DROP USER user19857@localhost;
+use test;
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
DROP FUNCTION IF EXISTS f_suid;
diff --git a/mysql-test/r/sp-vars.result b/mysql-test/r/sp-vars.result
index f3eb40b3d70..f5420a62f63 100644
--- a/mysql-test/r/sp-vars.result
+++ b/mysql-test/r/sp-vars.result
@@ -110,18 +110,18 @@ v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
v17 v18 v19 v20
12.00 12.12 12.00 12.12
Warnings:
-Warning 1264 Out of range value adjusted for column 'v1' at row 1
-Warning 1264 Out of range value adjusted for column 'v1u' at row 1
-Warning 1264 Out of range value adjusted for column 'v2' at row 1
-Warning 1264 Out of range value adjusted for column 'v2u' at row 1
-Warning 1264 Out of range value adjusted for column 'v3' at row 1
-Warning 1264 Out of range value adjusted for column 'v3u' at row 1
-Warning 1264 Out of range value adjusted for column 'v4' at row 1
-Warning 1264 Out of range value adjusted for column 'v4u' at row 1
-Warning 1264 Out of range value adjusted for column 'v5' at row 1
-Warning 1264 Out of range value adjusted for column 'v5u' at row 1
-Warning 1264 Out of range value adjusted for column 'v6' at row 1
-Warning 1264 Out of range value adjusted for column 'v6u' at row 1
+Warning 1264 Out of range value for column 'v1' at row 1
+Warning 1264 Out of range value for column 'v1u' at row 1
+Warning 1264 Out of range value for column 'v2' at row 1
+Warning 1264 Out of range value for column 'v2u' at row 1
+Warning 1264 Out of range value for column 'v3' at row 1
+Warning 1264 Out of range value for column 'v3u' at row 1
+Warning 1264 Out of range value for column 'v4' at row 1
+Warning 1264 Out of range value for column 'v4u' at row 1
+Warning 1264 Out of range value for column 'v5' at row 1
+Warning 1264 Out of range value for column 'v5u' at row 1
+Warning 1264 Out of range value for column 'v6' at row 1
+Warning 1264 Out of range value for column 'v6u' at row 1
Warning 1366 Incorrect integer value: 'String 10 ' for column 'v10' at row 1
Warning 1366 Incorrect integer value: 'String10' for column 'v11' at row 1
Warning 1265 Data truncated for column 'v12' at row 1
@@ -143,32 +143,32 @@ d1 d2 d3
d1 d2 d3
1234.00 1234.12 1234.12
Warnings:
-Warning 1264 Out of range value adjusted for column 'i1' at row 1
-Warning 1264 Out of range value adjusted for column 'i2' at row 1
-Warning 1264 Out of range value adjusted for column 'i3' at row 1
-Warning 1264 Out of range value adjusted for column 'i4' at row 1
-Warning 1264 Out of range value adjusted for column 'i1' at row 1
-Warning 1264 Out of range value adjusted for column 'i2' at row 1
-Warning 1264 Out of range value adjusted for column 'i3' at row 1
-Warning 1264 Out of range value adjusted for column 'i4' at row 1
-Warning 1264 Out of range value adjusted for column 'u1' at row 1
-Warning 1264 Out of range value adjusted for column 'u2' at row 1
-Warning 1264 Out of range value adjusted for column 'u3' at row 1
-Warning 1264 Out of range value adjusted for column 'u4' at row 1
-Warning 1264 Out of range value adjusted for column 'u1' at row 1
-Warning 1264 Out of range value adjusted for column 'u2' at row 1
+Warning 1264 Out of range value for column 'i1' at row 1
+Warning 1264 Out of range value for column 'i2' at row 1
+Warning 1264 Out of range value for column 'i3' at row 1
+Warning 1264 Out of range value for column 'i4' at row 1
+Warning 1264 Out of range value for column 'i1' at row 1
+Warning 1264 Out of range value for column 'i2' at row 1
+Warning 1264 Out of range value for column 'i3' at row 1
+Warning 1264 Out of range value for column 'i4' at row 1
+Warning 1264 Out of range value for column 'u1' at row 1
+Warning 1264 Out of range value for column 'u2' at row 1
+Warning 1264 Out of range value for column 'u3' at row 1
+Warning 1264 Out of range value for column 'u4' at row 1
+Warning 1264 Out of range value for column 'u1' at row 1
+Warning 1264 Out of range value for column 'u2' at row 1
Note 1265 Data truncated for column 'd3' at row 1
Note 1265 Data truncated for column 'd3' at row 1
SELECT sp_vars_check_ret1();
sp_vars_check_ret1()
127
Warnings:
-Warning 1264 Out of range value adjusted for column 'sp_vars_check_ret1()' at row 1
+Warning 1264 Out of range value for column 'sp_vars_check_ret1()' at row 1
SELECT sp_vars_check_ret2();
sp_vars_check_ret2()
127
Warnings:
-Warning 1264 Out of range value adjusted for column 'sp_vars_check_ret2()' at row 1
+Warning 1264 Out of range value for column 'sp_vars_check_ret2()' at row 1
SELECT sp_vars_check_ret3();
sp_vars_check_ret3()
0
@@ -198,18 +198,18 @@ v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
v17 v18 v19 v20
12.00 12.12 12.00 12.12
Warnings:
-Warning 1264 Out of range value adjusted for column 'v1' at row 1
-Warning 1264 Out of range value adjusted for column 'v1u' at row 1
-Warning 1264 Out of range value adjusted for column 'v2' at row 1
-Warning 1264 Out of range value adjusted for column 'v2u' at row 1
-Warning 1264 Out of range value adjusted for column 'v3' at row 1
-Warning 1264 Out of range value adjusted for column 'v3u' at row 1
-Warning 1264 Out of range value adjusted for column 'v4' at row 1
-Warning 1264 Out of range value adjusted for column 'v4u' at row 1
-Warning 1264 Out of range value adjusted for column 'v5' at row 1
-Warning 1264 Out of range value adjusted for column 'v5u' at row 1
-Warning 1264 Out of range value adjusted for column 'v6' at row 1
-Warning 1264 Out of range value adjusted for column 'v6u' at row 1
+Warning 1264 Out of range value for column 'v1' at row 1
+Warning 1264 Out of range value for column 'v1u' at row 1
+Warning 1264 Out of range value for column 'v2' at row 1
+Warning 1264 Out of range value for column 'v2u' at row 1
+Warning 1264 Out of range value for column 'v3' at row 1
+Warning 1264 Out of range value for column 'v3u' at row 1
+Warning 1264 Out of range value for column 'v4' at row 1
+Warning 1264 Out of range value for column 'v4u' at row 1
+Warning 1264 Out of range value for column 'v5' at row 1
+Warning 1264 Out of range value for column 'v5u' at row 1
+Warning 1264 Out of range value for column 'v6' at row 1
+Warning 1264 Out of range value for column 'v6u' at row 1
Warning 1366 Incorrect integer value: 'String 10 ' for column 'v10' at row 1
Warning 1366 Incorrect integer value: 'String10' for column 'v11' at row 1
Warning 1265 Data truncated for column 'v12' at row 1
@@ -231,32 +231,32 @@ d1 d2 d3
d1 d2 d3
1234.00 1234.12 1234.12
Warnings:
-Warning 1264 Out of range value adjusted for column 'i1' at row 1
-Warning 1264 Out of range value adjusted for column 'i2' at row 1
-Warning 1264 Out of range value adjusted for column 'i3' at row 1
-Warning 1264 Out of range value adjusted for column 'i4' at row 1
-Warning 1264 Out of range value adjusted for column 'i1' at row 1
-Warning 1264 Out of range value adjusted for column 'i2' at row 1
-Warning 1264 Out of range value adjusted for column 'i3' at row 1
-Warning 1264 Out of range value adjusted for column 'i4' at row 1
-Warning 1264 Out of range value adjusted for column 'u1' at row 1
-Warning 1264 Out of range value adjusted for column 'u2' at row 1
-Warning 1264 Out of range value adjusted for column 'u3' at row 1
-Warning 1264 Out of range value adjusted for column 'u4' at row 1
-Warning 1264 Out of range value adjusted for column 'u1' at row 1
-Warning 1264 Out of range value adjusted for column 'u2' at row 1
+Warning 1264 Out of range value for column 'i1' at row 1
+Warning 1264 Out of range value for column 'i2' at row 1
+Warning 1264 Out of range value for column 'i3' at row 1
+Warning 1264 Out of range value for column 'i4' at row 1
+Warning 1264 Out of range value for column 'i1' at row 1
+Warning 1264 Out of range value for column 'i2' at row 1
+Warning 1264 Out of range value for column 'i3' at row 1
+Warning 1264 Out of range value for column 'i4' at row 1
+Warning 1264 Out of range value for column 'u1' at row 1
+Warning 1264 Out of range value for column 'u2' at row 1
+Warning 1264 Out of range value for column 'u3' at row 1
+Warning 1264 Out of range value for column 'u4' at row 1
+Warning 1264 Out of range value for column 'u1' at row 1
+Warning 1264 Out of range value for column 'u2' at row 1
Note 1265 Data truncated for column 'd3' at row 1
Note 1265 Data truncated for column 'd3' at row 1
SELECT sp_vars_check_ret1();
sp_vars_check_ret1()
127
Warnings:
-Warning 1264 Out of range value adjusted for column 'sp_vars_check_ret1()' at row 1
+Warning 1264 Out of range value for column 'sp_vars_check_ret1()' at row 1
SELECT sp_vars_check_ret2();
sp_vars_check_ret2()
127
Warnings:
-Warning 1264 Out of range value adjusted for column 'sp_vars_check_ret2()' at row 1
+Warning 1264 Out of range value for column 'sp_vars_check_ret2()' at row 1
SELECT sp_vars_check_ret3();
sp_vars_check_ret3()
0
@@ -372,13 +372,13 @@ Calling the routines, created in TRADITIONAL mode.
---------------------------------------------------------------
CALL sp_vars_check_dflt();
-ERROR 22003: Out of range value adjusted for column 'v1' at row 1
+ERROR 22003: Out of range value for column 'v1' at row 1
CALL sp_vars_check_assignment();
-ERROR 22003: Out of range value adjusted for column 'i1' at row 1
+ERROR 22003: Out of range value for column 'i1' at row 1
SELECT sp_vars_check_ret1();
-ERROR 22003: Out of range value adjusted for column 'sp_vars_check_ret1()' at row 1
+ERROR 22003: Out of range value for column 'sp_vars_check_ret1()' at row 1
SELECT sp_vars_check_ret2();
-ERROR 22003: Out of range value adjusted for column 'sp_vars_check_ret2()' at row 1
+ERROR 22003: Out of range value for column 'sp_vars_check_ret2()' at row 1
SELECT sp_vars_check_ret3();
ERROR HY000: Incorrect integer value: 'Hello, world' for column 'sp_vars_check_ret3()' at row 1
SELECT sp_vars_check_ret4();
@@ -451,11 +451,11 @@ FF
HEX(v10)
FF
Warnings:
-Warning 1264 Out of range value adjusted for column 'v8' at row 1
-Warning 1264 Out of range value adjusted for column 'v9' at row 1
-Warning 1264 Out of range value adjusted for column 'v10' at row 1
-Warning 1264 Out of range value adjusted for column 'v1' at row 1
-Warning 1264 Out of range value adjusted for column 'v5' at row 1
+Warning 1264 Out of range value for column 'v8' at row 1
+Warning 1264 Out of range value for column 'v9' at row 1
+Warning 1264 Out of range value for column 'v10' at row 1
+Warning 1264 Out of range value for column 'v1' at row 1
+Warning 1264 Out of range value for column 'v5' at row 1
DROP PROCEDURE p1;
---------------------------------------------------------------
@@ -690,15 +690,15 @@ END|
CALL p1(NOW());
Table Create Table
t1 CREATE TABLE "t1" (
- "x" datetime default NULL
+ "x" datetime DEFAULT NULL
)
CALL p1('test');
Table Create Table
t1 CREATE TABLE "t1" (
- "x" datetime default NULL
+ "x" datetime DEFAULT NULL
)
Warnings:
-Warning 1264 Out of range value adjusted for column 'x' at row 1
+Warning 1264 Out of range value for column 'x' at row 1
DROP PROCEDURE p1;
---------------------------------------------------------------
@@ -848,9 +848,9 @@ SET var := arg;
SELECT arg, var;
END|
CALL p1();
-ERROR 22003: Out of range value adjusted for column 'v' at row 1
+ERROR 22003: Out of range value for column 'v' at row 1
CALL p2();
-ERROR 22003: Out of range value adjusted for column 'v' at row 1
+ERROR 22003: Out of range value for column 'v' at row 1
CALL p3();
ERROR 22001: Data too long for column 'v' at row 1
CALL p4('aaa');
@@ -858,7 +858,7 @@ ERROR 22001: Data too long for column 'arg' at row 1
CALL p5('aa');
ERROR 22001: Data too long for column 'var' at row 1
CALL p6(10);
-ERROR 22003: Out of range value adjusted for column 'var' at row 1
+ERROR 22003: Out of range value for column 'var' at row 1
SET @@sql_mode = 'ansi';
DROP PROCEDURE p1;
DROP PROCEDURE p2;
@@ -904,17 +904,17 @@ SELECT f1(-2500);
f1(-2500)
0
Warnings:
-Warning 1264 Out of range value adjusted for column 'arg' at row 1
+Warning 1264 Out of range value for column 'arg' at row 1
SET @@sql_mode = 'traditional';
SELECT f1(-2500);
-ERROR 22003: Out of range value adjusted for column 'arg' at row 1
+ERROR 22003: Out of range value for column 'arg' at row 1
DROP FUNCTION f1;
CREATE FUNCTION f1(arg TINYINT UNSIGNED) RETURNS TINYINT
BEGIN
RETURN arg;
END|
SELECT f1(-2500);
-ERROR 22003: Out of range value adjusted for column 'arg' at row 1
+ERROR 22003: Out of range value for column 'arg' at row 1
SET @@sql_mode = 'ansi';
DROP FUNCTION f1;
@@ -931,17 +931,17 @@ SELECT f1(8388699);
f1(8388699)
8388607
Warnings:
-Warning 1264 Out of range value adjusted for column 'arg' at row 1
+Warning 1264 Out of range value for column 'arg' at row 1
SET @@sql_mode = 'traditional';
SELECT f1(8388699);
-ERROR 22003: Out of range value adjusted for column 'arg' at row 1
+ERROR 22003: Out of range value for column 'arg' at row 1
DROP FUNCTION f1;
CREATE FUNCTION f1(arg MEDIUMINT) RETURNS MEDIUMINT
BEGIN
RETURN arg;
END|
SELECT f1(8388699);
-ERROR 22003: Out of range value adjusted for column 'arg' at row 1
+ERROR 22003: Out of range value for column 'arg' at row 1
SET @@sql_mode = 'ansi';
DROP FUNCTION f1;
@@ -1202,3 +1202,29 @@ after substr str_remainder
after substr b,c
DROP PROCEDURE bug27415_text_test|
DROP PROCEDURE bug27415_text_test2|
+drop function if exists f1;
+drop table if exists t1;
+create function f1() returns int
+begin
+if @a=1 then set @b='abc';
+else set @b=1;
+end if;
+set @a=1;
+return 0;
+end|
+create table t1 (a int)|
+insert into t1 (a) values (1), (2)|
+set @b=1|
+set @a=0|
+select f1(), @b from t1|
+f1() @b
+0 1
+0 0
+set @b:='test'|
+set @a=0|
+select f1(), @b from t1|
+f1() @b
+0 1
+0 abc
+drop function f1;
+drop table t1;
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result
index 061bbafd9a1..68aa278585f 100644
--- a/mysql-test/r/sp.result
+++ b/mysql-test/r/sp.result
@@ -83,7 +83,7 @@ replace t1 set data = data, id = "bar";
update t1 set id = "kaka", data = 3 where t1.data = data;
end|
call setcontext()|
-select * from t1|
+select * from t1 order by data|
id data
foo 1
kaka 3
@@ -196,7 +196,7 @@ drop procedure if exists inc|
create procedure inc(inout io int)
set io = io + 1|
call iotest("io1", "io2", 1)|
-select * from t1|
+select * from t1 order by data desc|
id data
io2 2
io1 1
@@ -229,7 +229,7 @@ set y2 = 4711;
insert into test.t1 values ("cbv2", y1);
end|
call cbv1()|
-select * from t1|
+select * from t1 order by data|
id data
cbv2 4
cbv1 4711
@@ -248,7 +248,7 @@ set x = (select sum(t.i) from test.t2 t);
insert into test.t1 values (id, x);
end|
drop procedure if exists sub3|
-create function sub3(i int) returns int
+create function sub3(i int) returns int deterministic
return i+1|
call sub1("sub1a", (select 7))|
call sub1("sub1b", (select max(i) from t2))|
@@ -256,7 +256,7 @@ call sub1("sub1c", (select i,d from t2 limit 1))|
ERROR 21000: Operand should contain 1 column(s)
call sub1("sub1d", (select 1 from (select 1) a))|
call sub2("sub2")|
-select * from t1|
+select * from t1 order by id|
id data
sub1a 7
sub1b 3
@@ -277,7 +277,7 @@ set x = x-1;
insert into test.t1 values ("a0", x);
end while|
call a0(3)|
-select * from t1|
+select * from t1 order by data desc|
id data
a0 2
a0 1
@@ -291,7 +291,7 @@ set x = x-1;
insert into test.t1 values ("a", x);
end while|
call a(3)|
-select * from t1|
+select * from t1 order by data desc|
id data
a 2
a 1
@@ -305,7 +305,7 @@ insert into test.t1 values (repeat("b",3), x);
set x = x-1;
until x = 0 end repeat|
call b(3)|
-select * from t1|
+select * from t1 order by data desc|
id data
bbb 3
bbb 2
@@ -328,7 +328,7 @@ iterate hmm;
insert into test.t1 values ("x", x);
end while hmm|
call c(3)|
-select * from t1|
+select * from t1 order by data desc|
id data
c 3
c 2
@@ -359,7 +359,7 @@ insert into test.t1 values ("e", x);
set x = x-1;
end loop foo|
call e(3)|
-select * from t1|
+select * from t1 order by data desc|
id data
e 3
e 2
@@ -378,7 +378,7 @@ end if|
call f(-2)|
call f(0)|
call f(4)|
-select * from t1|
+select * from t1 order by data|
id data
f 0
f 1
@@ -398,7 +398,7 @@ end case|
call g(-42)|
call g(0)|
call g(1)|
-select * from t1|
+select * from t1 order by data|
id data
g 0
g 1
@@ -418,7 +418,7 @@ end case|
call h(0)|
call h(1)|
call h(17)|
-select * from t1|
+select * from t1 order by data|
id data
h0 0
h1 1
@@ -446,7 +446,7 @@ insert into t2 values ("x", 9, 4.1), ("y", -1, 19.2), ("z", 3, 2.2)|
drop procedure if exists sel1|
create procedure sel1()
begin
-select * from t1;
+select * from t1 order by data;
end|
call sel1()|
id data
@@ -456,8 +456,8 @@ drop procedure sel1|
drop procedure if exists sel2|
create procedure sel2()
begin
-select * from t1;
-select * from t2;
+select * from t1 order by data;
+select * from t2 order by s;
end|
call sel2()|
id data
@@ -478,7 +478,7 @@ select id,data into x,y from test.t1 limit 1;
insert into test.t1 values (concat(x, "2"), y+2);
end|
call into_test("into", 100)|
-select * from t1|
+select * from t1 order by data|
id data
into 100
into2 102
@@ -492,7 +492,7 @@ select id,data into x,@z from test.t1 limit 1;
insert into test.t1 values (concat(x, "2"), y+2);
end|
call into_test2("into", 100)|
-select id,data,@z from t1|
+select id,data,@z from t1 order by data|
id data @z
into 100 100
into2 102 100
@@ -624,14 +624,14 @@ insert into t2 values (append("a", "b"), mul(2,mul(3,4)), fun(1.7, 4, 6))|
select * from t2 where s = append("a", "b")|
s i d
ab 24 1324.36598821719
-select * from t2 where i = mul(4,3) or i = mul(mul(3,4),2)|
+select * from t2 where i = mul(4,3) or i = mul(mul(3,4),2) order by i|
s i d
xxxyyy 12 2.71828182845905
ab 24 1324.36598821719
select * from t2 where d = e()|
s i d
xxxyyy 12 2.71828182845905
-select * from t2|
+select * from t2 order by i|
s i d
xxxyyy 12 2.71828182845905
ab 24 1324.36598821719
@@ -750,8 +750,8 @@ drop procedure if exists cur2|
create procedure cur2()
begin
declare done int default 0;
-declare c1 cursor for select id,data from test.t1;
-declare c2 cursor for select i from test.t2;
+declare c1 cursor for select id,data from test.t1 order by id,data;
+declare c2 cursor for select i from test.t2 order by i;
declare continue handler for sqlstate '02000' set done = 1;
open c1;
open c2;
@@ -774,10 +774,10 @@ close c1;
close c2;
end|
call cur2()|
-select * from t3|
+select * from t3 order by i,s|
s i
-foo 40
bar 3
+foo 40
zap 663
delete from t1|
delete from t2|
@@ -792,11 +792,11 @@ sql security definer
comment 'Characteristics procedure test'
insert into t1 values ("chistics", 1)|
show create procedure chistics|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
chistics CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`()
MODIFIES SQL DATA
COMMENT 'Characteristics procedure test'
-insert into t1 values ("chistics", 1)
+insert into t1 values ("chistics", 1) latin1 latin1_swedish_ci latin1_swedish_ci
call chistics()|
select * from t1|
id data
@@ -804,12 +804,12 @@ chistics 1
delete from t1|
alter procedure chistics sql security invoker|
show create procedure chistics|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
chistics CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`()
MODIFIES SQL DATA
SQL SECURITY INVOKER
COMMENT 'Characteristics procedure test'
-insert into t1 values ("chistics", 1)
+insert into t1 values ("chistics", 1) latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure chistics|
drop function if exists chistics|
create function chistics() returns int
@@ -819,12 +819,12 @@ sql security invoker
comment 'Characteristics procedure test'
return 42|
show create function chistics|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
chistics CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11)
DETERMINISTIC
SQL SECURITY INVOKER
COMMENT 'Characteristics procedure test'
-return 42
+return 42 latin1 latin1_swedish_ci latin1_swedish_ci
select chistics()|
chistics()
42
@@ -832,13 +832,13 @@ alter function chistics
no sql
comment 'Characteristics function test'|
show create function chistics|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
chistics CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11)
NO SQL
DETERMINISTIC
SQL SECURITY INVOKER
COMMENT 'Characteristics function test'
-return 42
+return 42 latin1 latin1_swedish_ci latin1_swedish_ci
drop function chistics|
insert into t1 values ("foo", 1), ("bar", 2), ("zip", 3)|
set @@sql_mode = 'ANSI'|
@@ -940,16 +940,16 @@ return (select sum(data) from t1)|
select f1()|
f1()
3
-select id, f1() from t1|
+select id, f1() from t1 order by id|
id f1()
a 3
b 3
create function f2() returns int
-return (select data from t1 where data <= (select sum(data) from t1) limit 1)|
+return (select data from t1 where data <= (select sum(data) from t1) order by data limit 1)|
select f2()|
f2()
1
-select id, f2() from t1|
+select id, f2() from t1 order by id|
id f2()
a 1
b 1
@@ -964,14 +964,14 @@ end|
select f3()|
f3()
1
-select id, f3() from t1|
+select id, f3() from t1 order by id|
id f3()
a 1
b 1
select f1(), f3()|
f1() f3()
3 1
-select id, f1(), f3() from t1|
+select id, f1(), f3() from t1 order by id|
id f1() f3()
a 3 1
b 3 1
@@ -980,7 +980,7 @@ return (select d from t1, t2 where t1.data = t2.i and t1.id= "b")|
select f4()|
f4()
2
-select s, f4() from t2|
+select s, f4() from t2 order by s|
s f4()
a 2
b 2
@@ -1013,7 +1013,7 @@ return (select sum(data) from t1 where data <= f1())|
select f6()|
f6()
2
-select id, f6() from t1|
+select id, f6() from t1 order by id|
id f6()
a 2
b 2
@@ -1021,7 +1021,7 @@ create view v1 (a) as select f1()|
select * from v1|
a
3
-select id, a from t1, v1|
+select id, a from t1, v1 order by id|
id a
a 3
b 3
@@ -1032,7 +1032,7 @@ create view v2 (a) as select a*10 from v1|
select * from v2|
a
30
-select id, a from t1, v2|
+select id, a from t1, v2 order by id|
id a
a 30
b 30
@@ -1077,7 +1077,7 @@ lock tables t1 read, t1 as t11 read|
select f3()|
f3()
1
-select id, f3() from t1 as t11|
+select id, f3() from t1 as t11 order by id|
id f3()
a 1
b 1
@@ -1184,8 +1184,8 @@ drop function f12_2|
drop view v0|
drop view v1|
drop view v2|
-delete from t1 |
-delete from t2 |
+truncate table t1 |
+truncate table t2 |
drop table t4|
drop table if exists t3|
create table t3 (n int unsigned not null primary key, f bigint unsigned)|
@@ -1228,12 +1228,12 @@ n f
20 2432902008176640000
drop table t3|
show function status like '%f%'|
-Db Name Type Definer Modified Created Security_type Comment
-test fac FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test fac FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure ifac|
drop function fac|
show function status like '%f%'|
-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 table if exists t3|
create table t3 (
i int unsigned not null primary key,
@@ -1295,7 +1295,7 @@ end;
end while;
end|
show create procedure opp|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
opp CREATE DEFINER=`root`@`localhost` PROCEDURE `opp`(n bigint unsigned, out pp bool)
begin
declare r double;
@@ -1321,11 +1321,11 @@ set s = s+1;
end;
end if;
end loop;
-end
+end latin1 latin1_swedish_ci latin1_swedish_ci
show procedure status like '%p%'|
-Db Name Type Definer Modified Created Security_type Comment
-test ip PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
-test opp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test ip PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
+test opp PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
call ip(200)|
select * from t3 where i=45 or i=100 or i=199|
i p
@@ -1336,7 +1336,7 @@ drop table t3|
drop procedure opp|
drop procedure ip|
show procedure status like '%p%'|
-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 table if exists t3|
create table t3 ( f bigint unsigned not null )|
drop procedure if exists fib|
@@ -1364,7 +1364,7 @@ f
1
1
2
-delete from t3|
+truncate table t3|
insert into t3 values (0), (1)|
call fib(10)|
select * from t3 order by f asc|
@@ -1388,19 +1388,19 @@ create procedure bar(x char(16), y int)
comment "111111111111" sql security invoker
insert into test.t1 values (x, y)|
show procedure status like 'bar'|
-Db Name Type Definer Modified Created Security_type Comment
-test bar PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER 111111111111
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bar PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 INVOKER 111111111111 latin1 latin1_swedish_ci latin1_swedish_ci
alter procedure bar comment "2222222222" sql security definer|
alter procedure bar comment "3333333333"|
alter procedure bar|
show create procedure bar|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bar CREATE DEFINER=`root`@`localhost` PROCEDURE `bar`(x char(16), y int)
COMMENT '3333333333'
-insert into test.t1 values (x, y)
+insert into test.t1 values (x, y) latin1 latin1_swedish_ci latin1_swedish_ci
show procedure status like 'bar'|
-Db Name Type Definer Modified Created Security_type Comment
-test bar PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER 3333333333
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bar PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER 3333333333 latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure bar|
drop procedure if exists p1|
create procedure p1 ()
@@ -1823,7 +1823,7 @@ delete from t1|
call bug822('foo', 42)|
call bug822('foo', 42)|
call bug822('bar', 666)|
-select * from t1|
+select * from t1 order by data|
id data
foo 42
bar 666
@@ -1846,7 +1846,7 @@ delete from t1 where id='foo'|
insert into t1 values ('bar', 7)|
call bug1495()|
delete from t1 where id='bar'|
-select * from t1|
+select * from t1 order by data|
id data
less 2
more 17
@@ -1866,10 +1866,10 @@ end|
insert into t1 values ("foo", 12), ("bar", 7)|
call bug1547("foo")|
call bug1547("bar")|
-select * from t1|
+select * from t1 order by id|
id data
-foo 12
bar 7
+foo 12
less 2
more 17
delete from t1|
@@ -1917,12 +1917,12 @@ insert into t2 values ("avg", 0, y);
end|
insert into t1 (data) values (3), (1), (5), (9), (4)|
call bug1874()|
-select * from t2|
+select * from t2 order by i|
s i d
-max 9 0
+avg 0 4.4
min 1 0
+max 9 0
sum 22 0
-avg 0 4.4
delete from t1|
delete from t2|
drop procedure bug1874|
@@ -1965,24 +1965,24 @@ show create function bug2267_4;
end|
create function bug2267_4() returns int return 100|
call bug2267_1()|
-Db Name Type Definer Modified Created Security_type Comment
-test bug2267_1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
-test bug2267_2 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
-test bug2267_3 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
-test bug2267_4 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bug2267_1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
+test bug2267_2 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
+test bug2267_3 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
+test bug2267_4 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
call bug2267_2()|
-Db Name Type Definer Modified Created Security_type Comment
-test bug2267_4 FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
+Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
+test bug2267_4 FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
call bug2267_3()|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug2267_1 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug2267_1`()
begin
show procedure status;
-end
+end latin1 latin1_swedish_ci latin1_swedish_ci
call bug2267_4()|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug2267_4 CREATE DEFINER=`root`@`localhost` FUNCTION `bug2267_4`() RETURNS int(11)
-return 100
+return 100 latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure bug2267_1|
drop procedure bug2267_2|
drop procedure bug2267_3|
@@ -2071,7 +2071,7 @@ drop procedure bug2776_2|
create table t3 (s1 smallint)|
insert into t3 values (123456789012)|
Warnings:
-Warning 1264 Out of range value adjusted for column 's1' at row 1
+Warning 1264 Out of range value for column 's1' at row 1
drop procedure if exists bug2780|
create procedure bug2780()
begin
@@ -2187,6 +2187,7 @@ set @stamped_time=in_time;
set x=2;
end if;
end|
+set time_zone='+03:00';
call bug3426(1000, @i)|
select @i, from_unixtime(@stamped_time, '%d-%m-%Y %h:%i:%s') as time|
@i time
@@ -2312,22 +2313,22 @@ create function bug2564_4(x int, y int) returns int
return x || y$
set @@sql_mode = ''|
show create procedure bug2564_1|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug2564_1 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug2564_1`()
COMMENT 'Joe''s procedure'
-insert into `t1` values ("foo", 1)
+insert into `t1` values ("foo", 1) latin1 latin1_swedish_ci latin1_swedish_ci
show create procedure bug2564_2|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug2564_2 ANSI_QUOTES CREATE DEFINER="root"@"localhost" PROCEDURE "bug2564_2"()
-insert into "t1" values ('foo', 1)
+insert into "t1" values ('foo', 1) latin1 latin1_swedish_ci latin1_swedish_ci
show create function bug2564_3|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug2564_3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug2564_3`(x int, y int) RETURNS int(11)
-return x || y
+return x || y latin1 latin1_swedish_ci latin1_swedish_ci
show create function bug2564_4|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI CREATE DEFINER="root"@"localhost" FUNCTION "bug2564_4"(x int, y int) RETURNS int(11)
-return x || y
+return x || y latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure bug2564_1|
drop procedure bug2564_2|
drop function bug2564_3|
@@ -2398,7 +2399,7 @@ create table t3 as select bug2773()|
show create table t3|
Table Create Table
t3 CREATE TABLE `t3` (
- `bug2773()` int(11) default NULL
+ `bug2773()` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t3|
drop function bug2773|
@@ -2459,7 +2460,7 @@ tinyint 1 -128 127 0 0 YES YES NO YES YES NO NULL,0 A very small integer
tinyint unsigned 1 0 255 0 0 YES YES YES YES YES NO NULL,0 A very small integer
Table Create Table
t1 CREATE TABLE `t1` (
- `id` char(16) NOT NULL default '',
+ `id` char(16) NOT NULL DEFAULT '',
`data` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Database Create Database
@@ -2481,6 +2482,7 @@ Create view Tables To create new views
Create user Server Admin To create new users
Delete Tables To delete existing rows
Drop Databases,Tables To drop databases, tables, and views
+Event Server Admin To create, alter, drop and execute events
Execute Functions,Procedures To execute stored routines
File File access on server To read and write files on the server
Grant option Databases,Tables,Functions,Procedures To give to other users those privileges you possess
@@ -2497,6 +2499,7 @@ Show databases Server Admin To see all databases with SHOW DATABASES
Show view Tables To see views with SHOW CREATE VIEW
Shutdown Server Admin To shut down the server
Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
+Trigger Tables To use triggers
Update Tables To update existing rows
Usage Server Admin No privileges - allow connect only
Variable_name Value
@@ -2511,7 +2514,7 @@ tinyint 1 -128 127 0 0 YES YES NO YES YES NO NULL,0 A very small integer
tinyint unsigned 1 0 255 0 0 YES YES YES YES YES NO NULL,0 A very small integer
Table Create Table
t1 CREATE TABLE `t1` (
- `id` char(16) NOT NULL default '',
+ `id` char(16) NOT NULL DEFAULT '',
`data` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Database Create Database
@@ -2533,6 +2536,7 @@ Create view Tables To create new views
Create user Server Admin To create new users
Delete Tables To delete existing rows
Drop Databases,Tables To drop databases, tables, and views
+Event Server Admin To create, alter, drop and execute events
Execute Functions,Procedures To execute stored routines
File File access on server To read and write files on the server
Grant option Databases,Tables,Functions,Procedures To give to other users those privileges you possess
@@ -2549,6 +2553,7 @@ Show databases Server Admin To see all databases with SHOW DATABASES
Show view Tables To see views with SHOW CREATE VIEW
Shutdown Server Admin To shut down the server
Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
+Trigger Tables To use triggers
Update Tables To update existing rows
Usage Server Admin No privileges - allow connect only
Variable_name Value
@@ -3625,12 +3630,18 @@ call bug11333(10)|
drop procedure bug11333|
drop table t3|
drop function if exists bug9048|
-create function bug9048(f1 char binary) returns char binary
+create function bug9048(f1 char binary) returns char
begin
set f1= concat( 'hello', f1 );
return f1;
end|
drop function bug9048|
+create function bug9048(f1 char binary) returns char binary
+begin
+set f1= concat( 'hello', f1 );
+return f1;
+end|
+ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
drop procedure if exists bug12849_1|
create procedure bug12849_1(inout x char) select x into x|
set @var='a'|
@@ -3717,7 +3728,7 @@ begin
select bug12379();
end|
select bug12379()|
-ERROR 23000: Duplicate entry 'X' for key 1
+ERROR 23000: Duplicate entry 'X' for key 'PRIMARY'
select 1|
1
1
@@ -3734,7 +3745,7 @@ select 3|
3
3
call bug12379_3()|
-ERROR 23000: Duplicate entry 'X' for key 1
+ERROR 23000: Duplicate entry 'X' for key 'PRIMARY'
select 4|
4
4
@@ -3789,7 +3800,7 @@ s1
0
1
call bug6127()|
-ERROR 23000: Duplicate entry '0' for key 1
+ERROR 23000: Duplicate entry '0' for key 's1'
select * from t3|
s1
0
@@ -3828,20 +3839,20 @@ end|
call bug12589_1()|
Table Create Table
tm1 CREATE TEMPORARY TABLE `tm1` (
- `spv1` decimal(3,3) default NULL
+ `spv1` decimal(3,3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Warnings:
-Warning 1264 Out of range value adjusted for column 'spv1' at row 1
+Warning 1264 Out of range value for column 'spv1' at row 1
Warning 1366 Incorrect decimal value: 'test' for column 'spv1' at row 1
call bug12589_2()|
Table Create Table
tm1 CREATE TEMPORARY TABLE `tm1` (
- `spv1` decimal(6,3) default NULL
+ `spv1` decimal(6,3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
call bug12589_3()|
Table Create Table
tm1 CREATE TEMPORARY TABLE `tm1` (
- `spv1` decimal(6,3) default NULL
+ `spv1` decimal(6,3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop procedure bug12589_1|
drop procedure bug12589_2|
@@ -3993,11 +4004,11 @@ main_loop: begin
return 42;
end */;;
show create function bug14723;;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug14723 CREATE DEFINER=`root`@`localhost` FUNCTION `bug14723`() RETURNS bigint(20)
main_loop: begin
return 42;
-end
+end latin1 latin1_swedish_ci latin1_swedish_ci
select bug14723();;
bug14723()
42
@@ -4006,11 +4017,11 @@ main_loop: begin
select 42;
end */;;
show create procedure bug14723;;
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug14723 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug14723`()
main_loop: begin
select 42;
-end
+end latin1 latin1_swedish_ci latin1_swedish_ci
call bug14723();;
42
42
@@ -4079,7 +4090,7 @@ select res;
end|
create table t3 (a int)|
insert into t3 values (0)|
-create view v1 as select a from t3;
+create view v1 as select a from t3|
create procedure bug10100pt(level int, lim int)
begin
if level < lim then
@@ -4100,7 +4111,7 @@ else
select * from v1;
end if;
end|
-prepare stmt2 from "select * from t3;";
+prepare stmt2 from "select * from t3;"|
create procedure bug10100pd(level int, lim int)
begin
if level < lim then
@@ -4398,8 +4409,10 @@ call bug13012()|
Table Op Msg_type Msg_text
test.t1 repair status OK
Table Op Msg_type Msg_text
+test.t1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 backup status OK
Table Op Msg_type Msg_text
+test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead
test.t1 restore status OK
drop procedure bug13012|
create view v1 as select * from t1|
@@ -4467,8 +4480,8 @@ test.t3 analyze status Table is already up to date
test.v1 analyze Error 'test.v1' is not BASE TABLE
test.v1 analyze error Corrupt
drop procedure bug13012|
-drop view v1;
-select * from t1|
+drop view v1|
+select * from t1 order by data|
id data
aa 0
aa 1
@@ -4784,22 +4797,6 @@ i
0
drop table t3|
drop procedure bug16887|
-create table t3 (f1 int, f2 varchar(3), primary key(f1)) engine=innodb|
-insert into t3 values (1,'aaa'),(2,'bbb'),(3,'ccc')|
-CREATE FUNCTION bug13575 ( p1 integer )
-returns varchar(3)
-BEGIN
-DECLARE v1 VARCHAR(10) DEFAULT null;
-SELECT f2 INTO v1 FROM t3 WHERE f1 = p1;
-RETURN v1;
-END|
-select distinct f1, bug13575(f1) from t3 order by f1|
-f1 bug13575(f1)
-1 aaa
-2 bbb
-3 ccc
-drop function bug13575;
-drop table t3|
drop procedure if exists bug16474_1|
drop procedure if exists bug16474_2|
delete from t1|
@@ -4807,7 +4804,7 @@ insert into t1 values ('c', 2), ('b', 3), ('a', 1)|
create procedure bug16474_1()
begin
declare x int;
-select id from t1 order by x;
+select id from t1 order by x, id;
end|
drop procedure if exists bug14945|
create table t3 (id int not null auto_increment primary key)|
@@ -4821,30 +4818,30 @@ id
drop table t3|
drop procedure bug14945|
create procedure bug16474_2(x int)
-select id from t1 order by x|
+select id from t1 order by x, id|
call bug16474_1()|
id
-c
-b
a
+b
+c
call bug16474_2(1)|
id
-c
-b
a
+b
+c
call bug16474_2(2)|
id
-c
-b
a
+b
+c
drop procedure bug16474_1|
drop procedure bug16474_2|
set @x = 2|
-select * from t1 order by @x|
+select * from t1 order by @x, data|
id data
+a 1
c 2
b 3
-a 1
delete from t1|
drop function if exists bug15728|
drop table if exists t3|
@@ -4906,7 +4903,7 @@ create table t3 as select bug12472() as i|
show create table t3|
Table Create Table
t3 CREATE TABLE `t3` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t3|
i
@@ -4917,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
@@ -5079,21 +5076,21 @@ RETURN ""|
CREATE FUNCTION mysqltest2.bug16211_f4() RETURNS CHAR(10) CHARSET koi8r
RETURN ""|
SHOW CREATE FUNCTION bug16211_f1|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION bug16211_f2|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f2 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f2`() RETURNS char(10) CHARSET koi8r
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f3|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f4|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f4 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f4`() RETURNS char(10) CHARSET koi8r
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SELECT dtd_identifier
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = "mysqltest1" AND ROUTINE_NAME = "bug16211_f1"|
@@ -5129,21 +5126,21 @@ koi8r
ALTER DATABASE mysqltest1 CHARACTER SET cp1251|
ALTER DATABASE mysqltest2 CHARACTER SET cp1251|
SHOW CREATE FUNCTION bug16211_f1|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION bug16211_f2|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f2 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f2`() RETURNS char(10) CHARSET koi8r
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f3|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f4|
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f4 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f4`() RETURNS char(10) CHARSET koi8r
-RETURN ""
+RETURN "" latin1 latin1_swedish_ci utf8_general_ci
SELECT dtd_identifier
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = "mysqltest1" AND ROUTINE_NAME = "bug16211_f1"|
@@ -5388,9 +5385,9 @@ ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghi
drop procedure if exists bug21416|
create procedure bug21416() show create procedure bug21416|
call bug21416()|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug21416 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug21416`()
-show create procedure bug21416
+show create procedure bug21416 latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure bug21416|
DROP PROCEDURE IF EXISTS bug21414|
CREATE PROCEDURE bug21414() SELECT 1|
@@ -5403,7 +5400,7 @@ DROP PROCEDURE bug21414|
set names utf8|
drop database if exists това_е_дълго_име_за_база_данни_нали|
create database това_е_дълго_име_за_база_данни_нали|
-INSERT INTO mysql.proc VALUES ('това_е_дълго_име_за_база_данни_нали','това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго','PROCEDURE','това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго','SQL','CONTAINS_SQL','NO','DEFINER','','','bad_body','root@localhost',now(), now(),'','')|
+INSERT INTO mysql.proc VALUES ('това_е_дълго_име_за_база_данни_нали','това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго','PROCEDURE','това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго','SQL','CONTAINS_SQL','NO','DEFINER','','','bad_body','root@localhost',now(), now(),'','', 'utf8', 'utf8_general_ci', 'utf8_general_ci', 'n/a')|
call това_е_дълго_име_за_база_данни_нали.това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго()|
ERROR HY000: Failed to load routine това_е_дълго_име_за_база_данни_нали.това_е_процедура_с_доста_дълго_име_нали_и_още_по_дълго. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
drop database това_е_дълго_име_за_база_данни_нали|
@@ -5667,6 +5664,114 @@ t3_id_1 t3_id_2 t4_id
DROP PROCEDURE p1|
DROP VIEW v1, v2|
DROP TABLE t3, t4|
+End of 5.0 tests
+Begin of 5.1 tests
+drop function if exists pi;
+create function pi() returns varchar(50)
+return "pie, my favorite desert.";
+Warnings:
+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 ();
+pi() pi ()
+3.141593 3.141593
+select test.pi(), test.pi ();
+test.pi() test.pi ()
+pie, my favorite desert. pie, my favorite desert.
+SET SQL_MODE='';
+select pi(), pi ();
+pi() pi ()
+3.141593 3.141593
+select test.pi(), test.pi ();
+test.pi() test.pi ()
+pie, my favorite desert. pie, my favorite desert.
+SET @@sql_mode=@save_sql_mode;
+drop function pi;
+drop function if exists test.database;
+drop function if exists test.current_user;
+drop function if exists test.md5;
+create database nowhere;
+use nowhere;
+drop database nowhere;
+SET @save_sql_mode=@@sql_mode;
+SET SQL_MODE='IGNORE_SPACE';
+select database(), database ();
+database() database ()
+NULL NULL
+select current_user(), current_user ();
+current_user() current_user ()
+root@localhost root@localhost
+select md5("aaa"), md5 ("aaa");
+md5("aaa") md5 ("aaa")
+47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
+SET SQL_MODE='';
+select database(), database ();
+database() database ()
+NULL NULL
+select current_user(), current_user ();
+current_user() current_user ()
+root@localhost root@localhost
+select md5("aaa"), md5 ("aaa");
+md5("aaa") md5 ("aaa")
+47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
+use test;
+create function `database`() returns varchar(50)
+return "Stored function database";
+Warnings:
+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 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 1585 This function 'md5' has the same name as a native function
+SET SQL_MODE='IGNORE_SPACE';
+select database(), database ();
+database() database ()
+test test
+select current_user(), current_user ();
+current_user() current_user ()
+root@localhost root@localhost
+select md5("aaa"), md5 ("aaa");
+md5("aaa") md5 ("aaa")
+47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
+select test.database(), test.database ();
+test.database() test.database ()
+Stored function database Stored function database
+select test.current_user(), test.current_user ();
+test.current_user() test.current_user ()
+Stored function current_user Stored function current_user
+select test.md5("aaa"), test.md5 ("aaa");
+test.md5("aaa") test.md5 ("aaa")
+Stored function md5 Stored function md5
+SET SQL_MODE='';
+select database(), database ();
+database() database ()
+test test
+select current_user(), current_user ();
+current_user() current_user ()
+root@localhost root@localhost
+select md5("aaa"), md5 ("aaa");
+md5("aaa") md5 ("aaa")
+47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
+select test.database(), test.database ();
+test.database() test.database ()
+Stored function database Stored function database
+select test.current_user(), test.current_user ();
+test.current_user() test.current_user ()
+Stored function current_user Stored function current_user
+select test.md5("aaa"), test.md5 ("aaa");
+test.md5("aaa") test.md5 ("aaa")
+Stored function md5 Stored function md5
+SET @@sql_mode=@save_sql_mode;
+drop function test.database;
+drop function test.current_user;
+drop function md5;
+use test;
+End of 5.1 tests
DROP TABLE IF EXISTS bug23760|
DROP TABLE IF EXISTS bug23760_log|
DROP PROCEDURE IF EXISTS bug23760_update_log|
@@ -6027,7 +6132,7 @@ select bug20777(-9223372036854775808) as 'lower bounds signed bigint';
lower bounds signed bigint
0
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
upper bounds signed bigint
9223372036854775807
@@ -6041,12 +6146,12 @@ select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
upper bounds unsigned bigint + 1
18446744073709551615
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
lower bounds unsigned bigint - 1
0
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 1
create table examplebug20777 as select
0 as 'i',
bug20777(9223372036854775806) as '2**63-2',
@@ -6059,24 +6164,24 @@ bug20777(18446744073709551616) as '2**64',
bug20777(0) as '0',
bug20777(-1) as '-1';
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
-Warning 1264 Out of range value adjusted 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
insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, 223372036854775808, 9223372036854775809, 18446744073709551614, 18446744073709551615, 8446744073709551616, 0, -1);
Warnings:
-Warning 1264 Out of range value adjusted for column '-1' at row 1
+Warning 1264 Out of range value for column '-1' at row 1
show create table examplebug20777;
Table Create Table
examplebug20777 CREATE TABLE `examplebug20777` (
- `i` int(1) NOT NULL default '0',
- `2**63-2` bigint(20) unsigned default NULL,
- `2**63-1` bigint(20) unsigned default NULL,
- `2**63` bigint(20) unsigned default NULL,
- `2**63+1` bigint(20) unsigned default NULL,
- `2**64-2` bigint(20) unsigned default NULL,
- `2**64-1` bigint(20) unsigned default NULL,
- `2**64` bigint(20) unsigned default NULL,
- `0` bigint(20) unsigned default NULL,
- `-1` bigint(20) unsigned default NULL
+ `i` int(1) NOT NULL DEFAULT '0',
+ `2**63-2` bigint(20) unsigned DEFAULT NULL,
+ `2**63-1` bigint(20) unsigned DEFAULT NULL,
+ `2**63` bigint(20) unsigned DEFAULT NULL,
+ `2**63+1` bigint(20) unsigned DEFAULT NULL,
+ `2**64-2` bigint(20) unsigned DEFAULT NULL,
+ `2**64-1` bigint(20) unsigned DEFAULT NULL,
+ `2**64` bigint(20) unsigned DEFAULT NULL,
+ `0` bigint(20) unsigned DEFAULT NULL,
+ `-1` bigint(20) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from examplebug20777 order by i;
i 2**63-2 2**63-1 2**63 2**63+1 2**64-2 2**64-1 2**64 0 -1
@@ -6140,10 +6245,11 @@ DROP FUNCTION bug5274_f2|
drop procedure if exists proc_21513|
create procedure proc_21513()`my_label`:BEGIN END|
show create procedure proc_21513|
-Procedure sql_mode Create Procedure
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
proc_21513 CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_21513`()
-`my_label`:BEGIN END
+`my_label`:BEGIN END utf8 utf8_general_ci latin1_swedish_ci
drop procedure proc_21513|
+End of 5.0 tests.
drop table t1,t2;
CREATE TABLE t1 (a int auto_increment primary key) engine=MyISAM;
CREATE TABLE t2 (a int auto_increment primary key, b int) engine=innodb;
@@ -6175,8 +6281,8 @@ INSERT INTO t1 VALUES (1),(2);
CREATE FUNCTION metered(a INT) RETURNS INT RETURN 12;
CREATE VIEW v1 AS SELECT test.metered(a) as metered FROM t1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`metered`(`t1`.`a`) AS `metered` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`metered`(`t1`.`a`) AS `metered` from `t1` utf8 utf8_general_ci
DROP VIEW v1;
DROP FUNCTION metered;
DROP TABLE t1;
@@ -6272,6 +6378,144 @@ Level Code Message
use test;
drop procedure sp_bug29050;
drop table t1;
+SET NAMES latin1;
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE INT;
+SELECT ;
+END|
+CALL p1();
+
+NULL
+SET NAMES default;
+DROP PROCEDURE p1;
+drop procedure if exists proc_25411_a;
+drop procedure if exists proc_25411_b;
+drop procedure if exists proc_25411_c;
+create procedure proc_25411_a()
+begin
+/* real comment */
+select 1;
+/*! select 2; */
+select 3;
+/*!00000 select 4; */
+/*!99999 select 5; */
+end
+$$
+create procedure proc_25411_b(
+/* real comment */
+/*! p1 int, */
+/*!00000 p2 int */
+/*!99999 ,p3 int */
+)
+begin
+select p1, p2;
+end
+$$
+create procedure proc_25411_c()
+begin
+select 1/*!,2*//*!00000,3*//*!99999,4*/;
+select 1/*! ,2*//*!00000 ,3*//*!99999 ,4*/;
+select 1/*!,2 *//*!00000,3 *//*!99999,4 */;
+select 1/*! ,2 *//*!00000 ,3 *//*!99999 ,4 */;
+select 1 /*!,2*/ /*!00000,3*/ /*!99999,4*/ ;
+end
+$$
+show create procedure proc_25411_a;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+proc_25411_a CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_25411_a`()
+begin
+/* real comment */
+select 1;
+ select 2;
+select 3;
+ select 4;
+
+end latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_25411_a();
+1
+1
+2
+2
+3
+3
+4
+4
+show create procedure proc_25411_b;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+proc_25411_b CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_25411_b`(
+/* real comment */
+ p1 int,
+ p2 int
+
+)
+begin
+select p1, p2;
+end latin1 latin1_swedish_ci latin1_swedish_ci
+select name, param_list, body from mysql.proc where name like "%25411%";
+name param_list body
+proc_25411_a begin
+/* real comment */
+select 1;
+ select 2;
+select 3;
+ select 4;
+
+end
+proc_25411_b
+/* real comment */
+ p1 int,
+ p2 int
+
+ begin
+select p1, p2;
+end
+proc_25411_c begin
+select 1,2,3;
+select 1 ,2 ,3;
+select 1,2 ,3 ;
+select 1 ,2 ,3 ;
+select 1 ,2 ,3 ;
+end
+call proc_25411_b(10, 20);
+p1 p2
+10 20
+show create procedure proc_25411_c;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+proc_25411_c CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_25411_c`()
+begin
+select 1,2,3;
+select 1 ,2 ,3;
+select 1,2 ,3 ;
+select 1 ,2 ,3 ;
+select 1 ,2 ,3 ;
+end latin1 latin1_swedish_ci latin1_swedish_ci
+call proc_25411_c();
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+1 2 3
+drop procedure proc_25411_a;
+drop procedure proc_25411_b;
+drop procedure proc_25411_c;
+drop procedure if exists proc_26302;
+create procedure proc_26302()
+select 1 /* testing */;
+show create procedure proc_26302;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+proc_26302 CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_26302`()
+select 1 /* testing */ latin1 latin1_swedish_ci latin1_swedish_ci
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES
+where ROUTINE_NAME = "proc_26302";
+ROUTINE_NAME ROUTINE_DEFINITION
+proc_26302 select 1 /* testing */
+drop procedure proc_26302;
CREATE FUNCTION f1() RETURNS INT DETERMINISTIC RETURN 2;
CREATE FUNCTION f2(I INT) RETURNS INT DETERMINISTIC RETURN 3;
CREATE TABLE t1 (c1 INT, INDEX(c1));
@@ -6302,17 +6546,6 @@ DROP VIEW v1;
DROP FUNCTION f1;
DROP FUNCTION f2;
DROP TABLE t1;
-SET NAMES latin1;
-CREATE PROCEDURE p1()
-BEGIN
-DECLARE INT;
-SELECT ;
-END|
-CALL p1();
-
-NULL
-SET NAMES default;
-DROP PROCEDURE p1;
create function f1()
returns int(11)
not deterministic
@@ -6326,8 +6559,8 @@ return x;
end|
create view v1 as select 1 as one, f1() as days;
show create view test.v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select 1 AS `one`,`f1`() AS `days`
+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
@@ -6349,18 +6582,18 @@ CALL p1(NOW());
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` datetime default NULL
+ `v` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CALL p1('text');
Warnings:
-Warning 1264 Out of range value adjusted for column 'v' at row 1
+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
+ `v` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -6369,7 +6602,7 @@ CALL p2(10);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` bigint(11) default NULL
+ `v` bigint(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -6380,7 +6613,7 @@ 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
+ `v` bigint(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -6578,6 +6811,104 @@ DROP PROCEDURE db28318_a.t1;
DROP PROCEDURE db28318_b.t2;
DROP DATABASE db28318_a;
DROP DATABASE db28318_b;
-# ------------------------------------------------------------------
-# -- End of 5.0 tests
-# ------------------------------------------------------------------
+use test;
+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;
+
+End of 5.1 tests
diff --git a/mysql-test/r/sp_gis.result b/mysql-test/r/sp_gis.result
new file mode 100644
index 00000000000..7a76507754f
--- /dev/null
+++ b/mysql-test/r/sp_gis.result
@@ -0,0 +1,30 @@
+use test;
+drop function if exists a;
+drop function if exists x;
+drop function if exists y;
+create function a() returns int
+return 1;
+create function x() returns int
+return 2;
+Warnings:
+Note 1585 This function 'x' has the same name as a native function
+create function y() returns int
+return 3;
+Warnings:
+Note 1585 This function 'y' has the same name as a native function
+select a();
+a()
+1
+select x();
+ERROR 42000: Incorrect parameter count in the call to native function 'x'
+select y();
+ERROR 42000: Incorrect parameter count in the call to native function 'y'
+select x(PointFromText("POINT(10 20)")), y(PointFromText("POINT(10 20)"));
+x(PointFromText("POINT(10 20)")) y(PointFromText("POINT(10 20)"))
+10 20
+select test.a(), test.x(), test.y();
+test.a() test.x() test.y()
+1 2 3
+drop function a;
+drop function x;
+drop function y;
diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result
index 60e427e17a5..277eea8570e 100644
--- a/mysql-test/r/sp_notembedded.result
+++ b/mysql-test/r/sp_notembedded.result
@@ -23,17 +23,6 @@ call bug4902_2()|
Id User Host db Command Time State Info
# root localhost test Query # NULL show processlist
drop procedure bug4902_2|
-drop function if exists bug5278|
-create function bug5278 () returns char
-begin
-SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
-return 'okay';
-end|
-select bug5278()|
-ERROR 42000: Can't find any matching row in the user table
-select bug5278()|
-ERROR 42000: Can't find any matching row in the user table
-drop function bug5278|
drop table if exists t1|
create table t1 (
id char(16) not null default '',
@@ -219,3 +208,26 @@ 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;
diff --git a/mysql-test/r/sp_trans.result b/mysql-test/r/sp_trans.result
index 564e31c9e32..abd454ac907 100644
--- a/mysql-test/r/sp_trans.result
+++ b/mysql-test/r/sp_trans.result
@@ -82,7 +82,7 @@ end if;
return i;
end|
insert into t1 values (bug10015_5(4)), (bug10015_5(5))|
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
select * from t1|
id
1
@@ -530,3 +530,29 @@ count(*)
drop table t3, t4|
drop procedure bug14210|
set @@session.max_heap_table_size=default|
+CREATE DATABASE db_bug7787|
+use db_bug7787|
+CREATE PROCEDURE p1()
+SHOW INNODB STATUS; |
+Warnings:
+Warning 1287 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 5.2. Please use 'SHOW ENGINE INNODB STATUS' instead
+GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost|
+DROP DATABASE db_bug7787|
+drop user user_bug7787@localhost|
+use test|
+create table t3 (f1 int, f2 varchar(3), primary key(f1)) engine=innodb|
+insert into t3 values (1,'aaa'),(2,'bbb'),(3,'ccc')|
+CREATE FUNCTION bug13575 ( p1 integer )
+returns varchar(3)
+BEGIN
+DECLARE v1 VARCHAR(10) DEFAULT null;
+SELECT f2 INTO v1 FROM t3 WHERE f1 = p1;
+RETURN v1;
+END|
+select distinct f1, bug13575(f1) from t3 order by f1|
+f1 bug13575(f1)
+1 aaa
+2 bbb
+3 ccc
+drop function bug13575|
+drop table t3|
diff --git a/mysql-test/r/sp_trans_log.result b/mysql-test/r/sp_trans_log.result
index 9b644798079..a835b06858b 100644
--- a/mysql-test/r/sp_trans_log.result
+++ b/mysql-test/r/sp_trans_log.result
@@ -1,3 +1,5 @@
+drop function if exists bug23333|
+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, b int, PRIMARY KEY (a)) ENGINE=InnoDB|
insert into t2 values (1,1)|
@@ -11,12 +13,15 @@ return @a;
end|
reset master|
insert into t2 values (bug23333(),1)|
-ERROR 23000: Duplicate entry '1' for key 1
-show binlog events from 98 /* with fixes for #23333 will show there are 2 queries */|
+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 # #
master-bin.000001 # Query 1 # #
select count(*),@a from t1 /* must be 1,1 */|
count(*) @a
1 1
-drop table t1, t2|
+drop table t1,t2;
+drop function if exists bug23333;
diff --git a/mysql-test/r/sql_mode.result b/mysql-test/r/sql_mode.result
index 474659f7dfc..2b34ff8c021 100644
--- a/mysql-test/r/sql_mode.result
+++ b/mysql-test/r/sql_mode.result
@@ -14,11 +14,11 @@ sql_mode
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL auto_increment,
- `pseudo` varchar(35) character set latin2 NOT NULL default '',
- `email` varchar(60) character set latin2 NOT NULL default '',
- PRIMARY KEY (`a`),
- UNIQUE KEY `email` USING BTREE (`email`)
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `pseudo` varchar(35) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `email` varchar(60) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `email` (`email`) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
set @@sql_mode="ansi_quotes";
show variables like 'sql_mode';
@@ -27,11 +27,11 @@ sql_mode ANSI_QUOTES
show create table t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" int(11) NOT NULL auto_increment,
- "pseudo" varchar(35) character set latin2 NOT NULL default '',
- "email" varchar(60) character set latin2 NOT NULL default '',
- PRIMARY KEY ("a"),
- UNIQUE KEY "email" USING BTREE ("email")
+ "a" int(11) NOT NULL AUTO_INCREMENT,
+ "pseudo" varchar(35) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ "email" varchar(60) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ PRIMARY KEY ("a"),
+ UNIQUE KEY "email" ("email") USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
set @@sql_mode="no_table_options";
show variables like 'sql_mode';
@@ -40,11 +40,11 @@ sql_mode NO_TABLE_OPTIONS
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL auto_increment,
- `pseudo` varchar(35) character set latin2 NOT NULL default '',
- `email` varchar(60) character set latin2 NOT NULL default '',
- PRIMARY KEY (`a`),
- UNIQUE KEY `email` USING BTREE (`email`)
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `pseudo` varchar(35) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `email` varchar(60) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`),
+ UNIQUE KEY `email` (`email`) USING BTREE
)
set @@sql_mode="no_key_options";
show variables like 'sql_mode';
@@ -53,10 +53,10 @@ sql_mode NO_KEY_OPTIONS
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL auto_increment,
- `pseudo` varchar(35) character set latin2 NOT NULL default '',
- `email` varchar(60) character set latin2 NOT NULL default '',
- PRIMARY KEY (`a`),
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ `pseudo` varchar(35) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ `email` varchar(60) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`),
UNIQUE KEY `email` (`email`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
set @@sql_mode="no_field_options,mysql323,mysql40";
@@ -67,9 +67,9 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `pseudo` varchar(35) NOT NULL default '',
- `email` varchar(60) NOT NULL default '',
- PRIMARY KEY (`a`),
+ `pseudo` varchar(35) NOT NULL DEFAULT '',
+ `email` varchar(60) NOT NULL DEFAULT '',
+ PRIMARY KEY (`a`),
UNIQUE KEY `email` (`email`)
) TYPE=HEAP ROW_FORMAT=DYNAMIC
set sql_mode="postgresql,oracle,mssql,db2,maxdb";
@@ -80,9 +80,9 @@ show create table t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" int(11) NOT NULL,
- "pseudo" varchar(35) character set latin2 NOT NULL default '',
- "email" varchar(60) character set latin2 NOT NULL default '',
- PRIMARY KEY ("a"),
+ "pseudo" varchar(35) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ "email" varchar(60) CHARACTER SET latin2 NOT NULL DEFAULT '',
+ PRIMARY KEY ("a"),
UNIQUE KEY "email" ("email")
)
drop table t1;
@@ -95,25 +95,25 @@ set @@sql_mode="";
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL,
- `b` char(10) character set latin1 collate latin1_bin default NULL,
- `c` binary(10) default NULL
+ `a` char(10) DEFAULT NULL,
+ `b` char(10) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
+ `c` binary(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
set @@sql_mode="mysql323";
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL,
- `b` char(10) binary default NULL,
- `c` binary(10) default NULL
+ `a` char(10) DEFAULT NULL,
+ `b` char(10) binary DEFAULT NULL,
+ `c` binary(10) DEFAULT NULL
) TYPE=MyISAM
set @@sql_mode="mysql40";
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) default NULL,
- `b` char(10) binary default NULL,
- `c` binary(10) default NULL
+ `a` char(10) DEFAULT NULL,
+ `b` char(10) binary DEFAULT NULL,
+ `c` binary(10) DEFAULT NULL
) TYPE=MyISAM
drop table t1;
set session sql_mode = '';
@@ -121,7 +121,7 @@ create table t1 ( min_num dec(6,6) default .000001);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `min_num` decimal(6,6) default '0.000001'
+ `min_num` decimal(6,6) DEFAULT '0.000001'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1 ;
set session sql_mode = 'IGNORE_SPACE';
@@ -129,14 +129,14 @@ create table t1 ( min_num dec(6,6) default 0.000001);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `min_num` decimal(6,6) default '0.000001'
+ `min_num` decimal(6,6) DEFAULT '0.000001'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1 ;
create table t1 ( min_num dec(6,6) default .000001);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `min_num` decimal(6,6) default '0.000001'
+ `min_num` decimal(6,6) DEFAULT '0.000001'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1 ;
set @@SQL_MODE=NULL;
@@ -148,17 +148,17 @@ f2 timestamp default current_timestamp on update current_timestamp);
show create table t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "f1" int(11) NOT NULL auto_increment,
- "f2" timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY ("f1")
+ "f1" int(11) NOT NULL AUTO_INCREMENT,
+ "f2" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY ("f1")
)
set session sql_mode=no_field_options;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f1` int(11) NOT NULL,
- `f2` timestamp NOT NULL default CURRENT_TIMESTAMP,
- PRIMARY KEY (`f1`)
+ `f2` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`f1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='';
@@ -423,58 +423,40 @@ a\b a\"b a'\b a'\"b
SELECT "a\\b", "a\\\'b", "a""\\b", "a""\\\'b";
a\b a\'b a"\b a"\'b
a\b a\'b a"\b a"\'b
-set session sql_mode = 'NO_ENGINE_SUBSTITUTION';
-create table t1 (a int) engine=isam;
-ERROR HY000: The 'ISAM' feature is disabled; you need MySQL built with 'ISAM' to have it working
-show create table t1;
-ERROR 42S02: Table 'test.t1' doesn't exist
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-set session sql_mode = '';
-create table t1 (a int) engine=isam;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
SET @@SQL_MODE='';
create function `foo` () returns int return 5;
show create function `foo`;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
foo CREATE DEFINER=`root`@`localhost` FUNCTION `foo`() RETURNS int(11)
-return 5
+return 5 latin1 latin1_swedish_ci latin1_swedish_ci
SET @@SQL_MODE='ANSI_QUOTES';
show create function `foo`;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
foo CREATE DEFINER=`root`@`localhost` FUNCTION `foo`() RETURNS int(11)
-return 5
+return 5 latin1 latin1_swedish_ci latin1_swedish_ci
drop function `foo`;
create function `foo` () returns int return 5;
show create function `foo`;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
foo ANSI_QUOTES CREATE DEFINER="root"@"localhost" FUNCTION "foo"() RETURNS int(11)
-return 5
+return 5 latin1 latin1_swedish_ci latin1_swedish_ci
SET @@SQL_MODE='';
show create function `foo`;
-Function sql_mode Create Function
+Function sql_mode Create Function character_set_client collation_connection Database Collation
foo ANSI_QUOTES CREATE DEFINER="root"@"localhost" FUNCTION "foo"() RETURNS int(11)
-return 5
+return 5 latin1 latin1_swedish_ci latin1_swedish_ci
drop function `foo`;
SET @@SQL_MODE='';
create table t1 (a int);
create table t2 (a int);
create view v1 as select a from t1;
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` 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`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
SET @@SQL_MODE='ANSI_QUOTES';
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" 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"."a" AS "a" from "t1" latin1 latin1_swedish_ci
create view v2 as select a from t2 where a in (select a from v1);
drop view v2, v1;
drop table t1, t2;
@@ -493,9 +475,24 @@ set sql_mode=16384+(65536*4);
select @@sql_mode;
@@sql_mode
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_TABLE_OPTIONS,ANSI
-set sql_mode=2147483648;
-ERROR 42000: Variable 'sql_mode' can't be set to the value of '2147483648'
+set sql_mode=2147483648*2;
+ERROR 42000: Variable 'sql_mode' can't be set to the value of '4294967296'
select @@sql_mode;
@@sql_mode
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_TABLE_OPTIONS,ANSI
+set sql_mode=PAD_CHAR_TO_FULL_LENGTH;
+create table t1 (a int auto_increment primary key, b char(5));
+insert into t1 (b) values('a'),('b\t'),('c ');
+select concat('x',b,'x') from t1;
+concat('x',b,'x')
+xa x
+xb x
+xc x
+set sql_mode=0;
+select concat('x',b,'x') from t1;
+concat('x',b,'x')
+xax
+xb x
+xcx
+drop table t1;
SET @@SQL_MODE=@OLD_SQL_MODE;
diff --git a/mysql-test/r/ssl.result b/mysql-test/r/ssl.result
index cd8bf52139e..3622fb51c99 100644
--- a/mysql-test/r/ssl.result
+++ b/mysql-test/r/ssl.result
@@ -145,9 +145,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -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 index period period 4 NULL 41810
+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 41810
+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
@@ -1432,7 +1432,7 @@ companynr companynr
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
+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
@@ -1505,8 +1505,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
diff --git a/mysql-test/r/ssl_compress.result b/mysql-test/r/ssl_compress.result
index 78e83dabdd5..3018fce5cad 100644
--- a/mysql-test/r/ssl_compress.result
+++ b/mysql-test/r/ssl_compress.result
@@ -148,9 +148,9 @@ 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 HY000: Key 'not_used' doesn't exist in table 't2'
+ERROR 42000: Key 'not_used' doesn't exist in table 't2'
explain select fld3 from t2 use index (not_used);
-ERROR HY000: Key 'not_used' doesn't exist in table 't2'
+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
@@ -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 index period period 4 NULL 41810
+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 41810
+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
@@ -1435,7 +1435,7 @@ companynr companynr
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
+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
@@ -1508,8 +1508,8 @@ select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1)
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 Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
+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''))
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result
index 36857e22aaf..c95b09597fc 100644
--- a/mysql-test/r/status.result
+++ b/mysql-test/r/status.result
@@ -1,9 +1,15 @@
flush status;
show status like 'Table_lock%';
Variable_name Value
-Table_locks_immediate 0
+Table_locks_immediate 1
Table_locks_waited 0
+select * from information_schema.session_status where variable_name like 'Table_lock%';
+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);
@@ -12,36 +18,77 @@ 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 3
Table_locks_waited 1
drop table t1;
+set global general_log = @old_general_log;
select 1;
1
1
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
+create table t1 (a int);
+insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+select * from t1 where a=6;
+a
+6
+6
+6
+6
+6
+show status like 'last_query_cost';
+Variable_name Value
+Last_query_cost 12.084449
+show status like 'last_query_cost';
+Variable_name Value
+Last_query_cost 12.084449
+select 1;
+1
+1
+show status like 'last_query_cost';
+Variable_name Value
+Last_query_cost 0.000000
+drop table t1;
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 1
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_USED_CONNECTIONS 1
SET @save_thread_cache_size=@@thread_cache_size;
SET GLOBAL thread_cache_size=3;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 3
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_USED_CONNECTIONS 3
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 2
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_USED_CONNECTIONS 2
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 3
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_USED_CONNECTIONS 3
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 4
+SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
+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);
@@ -91,3 +138,27 @@ 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
+show status like 'hand%write%';
+Variable_name Value
+Handler_write 5
+show status like '%tmp%';
+Variable_name Value
+Created_tmp_disk_tables 0
+Created_tmp_files 0
+Created_tmp_tables 0
+show status like 'hand%write%';
+Variable_name Value
+Handler_write 7
+show status like '%tmp%';
+Variable_name Value
+Created_tmp_disk_tables 0
+Created_tmp_files 0
+Created_tmp_tables 0
+show status like 'com_show_status';
+Variable_name Value
+Com_show_status 8
+rnd_diff tmp_table_diff
+20 8
diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result
index 34869862a63..cc1a2535896 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;
@@ -264,14 +264,14 @@ ERROR 22007: Incorrect date value: '2004-10-00' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(CAST('2004-0-10' AS DATE));
ERROR 22007: Incorrect date value: '2004-00-10' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(CAST('0000-00-00' AS DATE));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
INSERT INTO t1 (col2) VALUES(CAST('0000-10-31 15:30' AS DATETIME));
INSERT INTO t1 (col2) VALUES(CAST('2004-10-0 15:30' AS DATETIME));
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(CAST('0000-00-00' AS DATETIME));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
INSERT INTO t1 (col3) VALUES(CAST('0000-10-31 15:30' AS DATETIME));
ERROR 22007: Incorrect datetime value: '0000-10-31 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(CAST('2004-10-0 15:30' AS DATETIME));
@@ -279,7 +279,7 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' a
INSERT INTO t1 (col3) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(CAST('0000-00-00' AS DATETIME));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
drop table t1;
CREATE TABLE t1 (col1 date, col2 datetime, col3 timestamp);
INSERT INTO t1 (col1) VALUES (CONVERT('2004-10-15',DATE));
@@ -291,14 +291,14 @@ ERROR 22007: Incorrect date value: '2004-10-00' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(CONVERT('2004-0-10' , DATE));
ERROR 22007: Incorrect date value: '2004-00-10' for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(CONVERT('0000-00-00',DATE));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
INSERT INTO t1 (col2) VALUES(CONVERT('0000-10-31 15:30',DATETIME));
INSERT INTO t1 (col2) VALUES(CONVERT('2004-10-0 15:30',DATETIME));
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(CONVERT('0000-00-00',DATETIME));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
INSERT INTO t1 (col3) VALUES(CONVERT('0000-10-31 15:30',DATETIME));
ERROR 22007: Incorrect datetime value: '0000-10-31 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(CONVERT('2004-10-0 15:30',DATETIME));
@@ -306,7 +306,7 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' a
INSERT INTO t1 (col3) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col3' at row 1
INSERT INTO t1 (col3) VALUES(CONVERT('0000-00-00',DATETIME));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
drop table t1;
CREATE TABLE t1(col1 TINYINT, col2 TINYINT UNSIGNED);
INSERT INTO t1 VALUES(-128,0),(0,0),(127,255),('-128','0'),('0','0'),('127','255'),(-128.0,0.0),(0.0,0.0),(127.0,255.0);
@@ -318,36 +318,36 @@ Warnings:
Error 1365 Division by 0
Error 1365 Division by 0
INSERT INTO t1 (col1) VALUES(-129);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(128);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(256);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES('-129');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES('128');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES('-1');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES('256');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES(128.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(256.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
SELECT MOD(col1,0) FROM t1 WHERE col1 > 0 LIMIT 1;
MOD(col1,0)
NULL
Warnings:
Error 1365 Division by 0
UPDATE t1 SET col1 = col1 - 50 WHERE col1 < 0;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
UPDATE t1 SET col2=col2 + 50 WHERE col2 > 0;
-ERROR 22003: Out of range value adjusted for column 'col2' at row 3
+ERROR 22003: Out of range value for column 'col2' at row 3
UPDATE t1 SET col1=col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
set @@sql_mode='ERROR_FOR_DIVISION_BY_ZERO';
@@ -381,16 +381,16 @@ INSERT INTO t1 values (1/0,1/0);
set @@sql_mode='ansi,traditional';
INSERT IGNORE INTO t1 VALUES('-129','-1'),('128','256');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES(-129.0,-1.0),(128.0,256.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
UPDATE IGNORE t1 SET col2=1/NULL where col1=0;
SELECT * FROM t1;
col1 col2
@@ -415,33 +415,33 @@ DROP TABLE t1;
CREATE TABLE t1(col1 SMALLINT, col2 SMALLINT UNSIGNED);
INSERT INTO t1 VALUES(-32768,0),(0,0),(32767,65535),('-32768','0'),('32767','65535'),(-32768.0,0.0),(32767.0,65535.0);
INSERT INTO t1 (col1) VALUES(-32769);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(32768);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(65536);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES('-32769');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES('32768');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES('-1');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES('65536');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES(-32769.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(32768.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(65536.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
UPDATE t1 SET col1 = col1 - 50 WHERE col1 < 0;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
UPDATE t1 SET col2 = col2 + 50 WHERE col2 > 0;
-ERROR 22003: Out of range value adjusted for column 'col2' at row 3
+ERROR 22003: Out of range value for column 'col2' at row 3
UPDATE t1 SET col1 = col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0;
@@ -461,22 +461,22 @@ Error 1365 Division by 0
Error 1365 Division by 0
INSERT IGNORE INTO t1 VALUES(-32769,-1),(32768,65536);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES('-32769','-1'),('32768','65536');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES(-32769,-1.0),(32768.0,65536.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
UPDATE IGNORE t1 SET col2=1/NULL where col1=0;
SELECT * FROM t1;
col1 col2
@@ -499,33 +499,33 @@ DROP TABLE t1;
CREATE TABLE t1 (col1 MEDIUMINT, col2 MEDIUMINT UNSIGNED);
INSERT INTO t1 VALUES(-8388608,0),(0,0),(8388607,16777215),('-8388608','0'),('8388607','16777215'),(-8388608.0,0.0),(8388607.0,16777215.0);
INSERT INTO t1 (col1) VALUES(-8388609);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(8388608);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(16777216);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES('-8388609');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES('8388608');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES('-1');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES('16777216');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES(-8388609.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(8388608.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(16777216.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
UPDATE t1 SET col1 = col1 - 50 WHERE col1 < 0;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
UPDATE t1 SET col2 = col2 + 50 WHERE col2 > 0;
-ERROR 22003: Out of range value adjusted for column 'col2' at row 3
+ERROR 22003: Out of range value for column 'col2' at row 3
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0;
@@ -545,22 +545,22 @@ Error 1365 Division by 0
Error 1365 Division by 0
INSERT IGNORE INTO t1 VALUES(-8388609,-1),(8388608,16777216);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES('-8388609','-1'),('8388608','16777216');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES(-8388609.0,-1.0),(8388608.0,16777216.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
UPDATE IGNORE t1 SET col2=1/NULL where col1=0;
SELECT * FROM t1;
col1 col2
@@ -583,33 +583,33 @@ DROP TABLE t1;
CREATE TABLE t1 (col1 INT, col2 INT UNSIGNED);
INSERT INTO t1 VALUES(-2147483648,0),(0,0),(2147483647,4294967295),('-2147483648','0'),('2147483647','4294967295'),(-2147483648.0,0.0),(2147483647.0,4294967295.0);
INSERT INTO t1 (col1) VALUES(-2147483649);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(2147643648);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(4294967296);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES('-2147483649');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES('2147643648');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES('-1');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES('4294967296');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES(-2147483649.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(2147643648.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(4294967296.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
UPDATE t1 SET col1 = col1 - 50 WHERE col1 < 0;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
UPDATE t1 SET col2 =col2 + 50 WHERE col2 > 0;
-ERROR 22003: Out of range value adjusted for column 'col2' at row 3
+ERROR 22003: Out of range value for column 'col2' at row 3
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0;
@@ -629,22 +629,22 @@ Error 1365 Division by 0
Error 1365 Division by 0
INSERT IGNORE INTO t1 values (-2147483649, -1),(2147643648,4294967296);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 values ('-2147483649', '-1'),('2147643648','4294967296');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 values (-2147483649.0, -1.0),(2147643648.0,4294967296.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
UPDATE IGNORE t1 SET col2=1/NULL where col1=0;
SELECT * FROM t1;
col1 col2
@@ -669,29 +669,29 @@ INSERT INTO t1 VALUES(-9223372036854775808,0),(0,0),(9223372036854775807,1844674
INSERT INTO t1 VALUES('-9223372036854775808','0'),('9223372036854775807','18446744073709551615');
INSERT INTO t1 VALUES(-9223372036854774000.0,0.0),(9223372036854775700.0,1844674407370954000.0);
INSERT INTO t1 (col1) VALUES(-9223372036854775809);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(9223372036854775808);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(18446744073709551616);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES('-9223372036854775809');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES('9223372036854775808');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES('-1');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES('18446744073709551616');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES(-9223372036854785809.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col1) VALUES(9223372036854785808.0);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES(-1.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col2) VALUES(18446744073709551616.0);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0;
@@ -711,22 +711,22 @@ Error 1365 Division by 0
Error 1365 Division by 0
INSERT IGNORE INTO t1 VALUES(-9223372036854775809,-1),(9223372036854775808,18446744073709551616);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES('-9223372036854775809','-1'),('9223372036854775808','18446744073709551616');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
INSERT IGNORE INTO t1 VALUES(-9223372036854785809.0,-1.0),(9223372036854785808.0,18446744073709551616.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
-Warning 1264 Out of range value adjusted for column 'col2' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col2' at row 2
UPDATE IGNORE t1 SET col2=1/NULL where col1=0;
SELECT * FROM t1;
col1 col2
@@ -756,29 +756,29 @@ Warnings:
Note 1265 Data truncated for column 'col1' at row 2
Note 1265 Data truncated for column 'col1' at row 4
INSERT INTO t1 VALUES (101.55);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES (101);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES (-101.55);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES (1010.55);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES (1010);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('101.55');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('101');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('-101.55');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('-1010.55');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('-100E+1');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 VALUES ('-100E');
ERROR HY000: Incorrect decimal value: '-100E' for column 'col1' at row 1
UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 6
+ERROR 22003: Out of range value for column 'col1' at row 6
UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0;
@@ -797,16 +797,16 @@ Warnings:
Error 1365 Division by 0
INSERT IGNORE INTO t1 VALUES(1000),(-1000);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
INSERT IGNORE INTO t1 VALUES('1000'),('-1000');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
INSERT IGNORE INTO t1 VALUES(1000.0),(-1000.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
UPDATE IGNORE t1 SET col1=1/NULL where col1=0;
SELECT * FROM t1;
col1
@@ -837,15 +837,15 @@ INSERT INTO t1 VALUES (-1.1E-37,0),(+3.4E+38,+3.4E+38);
INSERT INTO t1 VALUES ('-1.1E-37',0),('+3.4E+38','+3.4E+38');
INSERT INTO t1 (col1) VALUES (3E-46);
INSERT INTO t1 (col1) VALUES (+3.4E+39);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES (-1.1E-3);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES ('+3.4E+39');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
INSERT INTO t1 (col2) VALUES ('-1.1E-3');
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+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 adjusted for column 'col1' at row 2
+ERROR 22003: Out of range value for column 'col1' at row 2
UPDATE t1 SET col2 =col2 / 0 WHERE col2 > 0;
ERROR 22012: Division by 0
UPDATE t1 SET col2= MOD(col2,0) WHERE col2 > 0;
@@ -864,12 +864,12 @@ Warnings:
Error 1365 Division by 0
INSERT IGNORE INTO t1 VALUES (+3.4E+39,-3.4E+39);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
INSERT IGNORE INTO t1 VALUES ('+3.4E+39','-3.4E+39');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
SELECT * FROM t1;
col1 col2
-1.1e-37 0
@@ -889,13 +889,13 @@ INSERT INTO t1 (col1) VALUES (-2.2E-330);
INSERT INTO t1 (col1) VALUES (+1.7E+309);
Got one of the listed errors
INSERT INTO t1 (col2) VALUES (-1.1E-3);
-ERROR 22003: Out of range value adjusted for column 'col2' at row 1
+ERROR 22003: Out of range value for column 'col2' at row 1
INSERT INTO t1 (col1) VALUES ('+1.8E+309');
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+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 adjusted for column 'col2' at row 1
+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 adjusted for column 'col1' at row 3
+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;
@@ -916,9 +916,9 @@ INSERT IGNORE INTO t1 VALUES (+1.9E+309,-1.9E+309);
ERROR 22007: Illegal double '1.9E+309' value found during parsing
INSERT IGNORE INTO t1 VALUES ('+2.0E+309','-2.0E+309');
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
SELECT * FROM t1;
col1 col2
-2.2e-307 0
@@ -1013,7 +1013,7 @@ CREATE TABLE t1 (col1 INT NOT NULL default 99, col2 CHAR(6) NOT NULL);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "col1" int(11) NOT NULL default '99',
+ "col1" int(11) NOT NULL DEFAULT '99',
"col2" char(6) NOT NULL
)
INSERT INTO t1 VALUES (1, 'hello');
@@ -1070,24 +1070,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 +1105,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)));
@@ -1137,19 +1137,19 @@ ERROR 22007: Incorrect date value: '0' for column 'col1' at row 1
insert into t1 values (0.0,0.0,0.0);
ERROR 22007: Incorrect date value: '0' for column 'col1' at row 1
insert into t1 (col1) values (convert('0000-00-00',date));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
insert into t1 (col1) values (cast('0000-00-00' as date));
-ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
+ERROR 22007: Incorrect datetime value: '0000-00-00'
set sql_mode='no_zero_date';
insert into t1 values (0,0,0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
Warning 1265 Data truncated for column 'col3' at row 1
insert into t1 values (0.0,0.0,0.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col2' at row 1
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col2' at row 1
Warning 1265 Data truncated for column 'col3' at row 1
drop table t1;
set sql_mode='traditional';
@@ -1164,15 +1164,15 @@ Warnings:
Warning 1265 Data truncated for column 'col1' at row 1
insert ignore into t1 (col1) values (cast('0000-00-00' as date));
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
insert into t1 select * from t1;
ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
alter table t1 modify col1 datetime;
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col1' at row 1
alter ignore table t1 modify col1 datetime;
Warnings:
-Warning 1264 Out of range value adjusted for column 'col1' at row 1
-Warning 1264 Out of range value adjusted for column 'col1' at row 2
+Warning 1264 Out of range value for column 'col1' at row 1
+Warning 1264 Out of range value for column 'col1' at row 2
insert into t1 select * from t1;
ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'col1' at row 1
select * from t1;
@@ -1270,9 +1270,9 @@ alter table t1 add primary key(a);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL default '0',
- `b` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (`a`)
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(a int, b timestamp default 20050102030405);
@@ -1280,9 +1280,9 @@ alter table t1 add primary key(a);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL default '0',
- `b` timestamp NOT NULL default '2005-01-02 03:04:05',
- PRIMARY KEY (`a`)
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` timestamp NOT NULL DEFAULT '2005-01-02 03:04:05',
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @@sql_mode='traditional';
@@ -1345,7 +1345,7 @@ comment '123456789*123456789*123456789*123456789*123456789*123456789*';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='123456789*123456789*123456789*123456789*123456789*123456789*'
drop table t1;
set sql_mode= 'traditional';
diff --git a/mysql-test/r/strict_autoinc_1myisam.result b/mysql-test/r/strict_autoinc_1myisam.result
index 90a69bedc74..afcccb1c40f 100644
--- a/mysql-test/r/strict_autoinc_1myisam.result
+++ b/mysql-test/r/strict_autoinc_1myisam.result
@@ -7,21 +7,21 @@ primary key (`a`)
) engine = 'MYISAM' ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
-ERROR 22003: Out of range value adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
127
diff --git a/mysql-test/r/strict_autoinc_2innodb.result b/mysql-test/r/strict_autoinc_2innodb.result
index 8a5243173e4..e534286e2a2 100644
--- a/mysql-test/r/strict_autoinc_2innodb.result
+++ b/mysql-test/r/strict_autoinc_2innodb.result
@@ -7,21 +7,21 @@ primary key (`a`)
) engine = 'InnoDB' ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
-ERROR 22003: Out of range value adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
127
diff --git a/mysql-test/r/strict_autoinc_3heap.result b/mysql-test/r/strict_autoinc_3heap.result
index 7dc48357c46..0a31da04460 100644
--- a/mysql-test/r/strict_autoinc_3heap.result
+++ b/mysql-test/r/strict_autoinc_3heap.result
@@ -7,21 +7,21 @@ primary key (`a`)
) engine = 'MEMORY' ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
-ERROR 22003: Out of range value adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
127
diff --git a/mysql-test/r/strict_autoinc_4bdb.result b/mysql-test/r/strict_autoinc_4bdb.result
index 89c4d2537f5..2e8980e435b 100644
--- a/mysql-test/r/strict_autoinc_4bdb.result
+++ b/mysql-test/r/strict_autoinc_4bdb.result
@@ -7,21 +7,21 @@ primary key (`a`)
) engine = 'BDB' ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
-ERROR 22003: Out of range value adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+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 adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
127
diff --git a/mysql-test/r/strict_autoinc_5ndb.result b/mysql-test/r/strict_autoinc_5ndb.result
deleted file mode 100644
index 715f9a4b98b..00000000000
--- a/mysql-test/r/strict_autoinc_5ndb.result
+++ /dev/null
@@ -1,28 +0,0 @@
-drop table if exists t1;
-set @org_mode=@@sql_mode;
-create table t1
-(
-`a` tinyint(4) NOT NULL auto_increment,
-primary key (`a`)
-) engine = 'NDB' ;
-set @@sql_mode='strict_all_tables';
-insert into t1 values(1000);
-ERROR 22003: Out of range value adjusted 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 adjusted 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 adjusted 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 f6487ae3ddf..d1173fed7f4 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -3,8 +3,8 @@ select (select 2);
(select 2)
2
explain extended select (select 2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
+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
Warnings:
Note 1249 Select 2 was reduced during optimization
Note 1003 select 2 AS `(select 2)`
@@ -13,10 +13,10 @@ SELECT (SELECT 1) UNION SELECT (SELECT 2);
1
2
explain extended SELECT (SELECT 1) UNION SELECT (SELECT 2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
-3 UNION NULL NULL NULL NULL NULL NULL NULL No tables used
-NULL UNION RESULT <union1,3> ALL NULL NULL NULL NULL 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 No tables used
+3 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union1,3> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1249 Select 2 was reduced during optimization
Note 1249 Select 4 was reduced during optimization
@@ -25,11 +25,11 @@ SELECT (SELECT (SELECT 0 UNION SELECT 0));
(SELECT (SELECT 0 UNION SELECT 0))
0
explain extended SELECT (SELECT (SELECT 0 UNION SELECT 0));
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
-3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
-4 UNION NULL NULL NULL NULL NULL NULL NULL No tables used
-NULL UNION RESULT <union3,4> ALL NULL NULL NULL NULL 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 No tables used
+3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+4 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union3,4> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1249 Select 2 was reduced during optimization
Note 1003 select (select 0 AS `0` union select 0 AS `0`) AS `(SELECT (SELECT 0 UNION SELECT 0))`
@@ -43,10 +43,10 @@ SELECT (SELECT 1),MAX(1) FROM (SELECT 1) as a;
SELECT (SELECT a) as a;
ERROR 42S22: Reference 'a' not supported (forward reference in item list)
EXPLAIN EXTENDED SELECT 1 FROM (SELECT 1 as a) as b HAVING (SELECT a)=1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> system NULL NULL NULL NULL 1
-3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
-2 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> system NULL NULL NULL NULL 1 100.00
+3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+2 DERIVED NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
Note 1276 Field or reference 'b.a' of SELECT #3 was resolved in SELECT #1
Note 1276 Field or reference 'b.a' of SELECT #3 was resolved in SELECT #1
@@ -180,12 +180,12 @@ a b
4 8
3 8
explain extended (select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1)) union (select * from t4 where t4.b=(select max(t2.a)*4 from t2) order by a);
-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 SUBQUERY t3 ALL NULL NULL NULL NULL 3 Using filesort
-3 UNION t4 ALL NULL NULL NULL NULL 3 Using where
-4 SUBQUERY t2 ALL NULL NULL NULL NULL 2
-NULL UNION RESULT <union1,3> ALL NULL NULL NULL NULL 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 SUBQUERY t3 ALL NULL NULL NULL NULL 3 100.00 Using filesort
+3 UNION t4 ALL NULL NULL NULL NULL 3 100.00 Using where
+4 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
+NULL UNION RESULT <union1,3> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` = (select `test`.`t3`.`a` AS `a` from `test`.`t3` order by 1 desc limit 1))) union (select `test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t4` where (`test`.`t4`.`b` = (select (max(`test`.`t2`.`a`) * 4) AS `max(t2.a)*4` from `test`.`t2`)) order by `a`)
select (select a from t3 where a<t2.a*4 order by 1 desc limit 1), a from t2;
@@ -198,10 +198,10 @@ select (select t3.a from t3 where a<8 order by 1 desc limit 1), a from
7 2
explain extended select (select t3.a from t3 where a<8 order by 1 desc limit 1), a from
(select * from t2 where a>1) as tt;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived3> system NULL NULL NULL NULL 1
-3 DERIVED t2 ALL NULL NULL NULL NULL 2 Using where
-2 SUBQUERY t3 ALL NULL NULL NULL NULL 3 Using where; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived3> system NULL NULL NULL NULL 1 100.00
+3 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using where
+2 SUBQUERY t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using filesort
Warnings:
Note 1003 select (select `test`.`t3`.`a` AS `a` from `test`.`t3` where (`test`.`t3`.`a` < 8) order by 1 desc limit 1) AS `(select t3.a from t3 where a<8 order by 1 desc limit 1)`,'2' AS `a` from (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`a` > 1)) `tt`
select * from t1 where t1.a=(select t2.a from t2 where t2.b=(select max(a) from t3) order by 1 desc limit 1);
@@ -218,10 +218,10 @@ b (select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2)
8 4.5000
9 7.5000
explain extended select b,(select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2) from t4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t4 ALL NULL NULL NULL NULL 3
-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2
-3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t4 ALL NULL NULL NULL NULL 3 100.00
+2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
+3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t4.a' of SELECT #3 was resolved in SELECT #1
Note 1003 select `test`.`t4`.`b` AS `b`,(select avg((`test`.`t2`.`a` + (select min(`test`.`t3`.`a`) AS `min(t3.a)` from `test`.`t3` where (`test`.`t3`.`a` >= `test`.`t4`.`a`)))) AS `avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a))` from `test`.`t2`) AS `(select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2)` from `test`.`t4`
@@ -266,9 +266,9 @@ a
6
7
explain extended select * from t3 where a >= any (select b from t2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= (select min(`test`.`t2`.`b`) from `test`.`t2`)))
select * from t3 where a >= all (select b from t2);
@@ -306,11 +306,11 @@ select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a)
NULL 1
2 2
explain extended select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a), 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
-2 DEPENDENT SUBQUERY t1 system NULL NULL NULL NULL 1
-3 DEPENDENT UNION t5 ALL NULL NULL NULL NULL 2 Using where
-NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL 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
+2 DEPENDENT SUBQUERY t1 system NULL NULL NULL NULL 1 100.00
+3 DEPENDENT UNION t5 ALL NULL NULL NULL NULL 2 100.00 Using where
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
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 #3 was resolved in SELECT #1
@@ -327,9 +327,9 @@ patient_uq clinic_uq
1 2
2 2
explain extended select * from t6 where exists (select * from t7 where uq = clinic_uq);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t6 ALL NULL NULL NULL NULL 4 Using where
-2 DEPENDENT SUBQUERY t7 eq_ref PRIMARY PRIMARY 4 test.t6.clinic_uq 1 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t6 ALL NULL NULL NULL NULL 4 100.00 Using where
+2 DEPENDENT SUBQUERY t7 eq_ref PRIMARY PRIMARY 4 test.t6.clinic_uq 1 100.00 Using index
Warnings:
Note 1276 Field or reference 'test.t6.clinic_uq' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t6`.`patient_uq` AS `patient_uq`,`test`.`t6`.`clinic_uq` AS `clinic_uq` from `test`.`t6` where exists(select 1 AS `Not_used` from `test`.`t7` where (`test`.`t7`.`uq` = `test`.`t6`.`clinic_uq`))
@@ -361,11 +361,11 @@ INSERT INTO t8 (pseudo,email) VALUES ('joce','test');
INSERT INTO t8 (pseudo,email) VALUES ('joce1','test1');
INSERT INTO t8 (pseudo,email) VALUES ('2joce1','2test1');
EXPLAIN EXTENDED SELECT pseudo,(SELECT email FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce')) FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce');
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t8 const PRIMARY PRIMARY 37 const 1 Using index
-4 SUBQUERY t8 const PRIMARY PRIMARY 37 1 Using index
-2 SUBQUERY t8 const PRIMARY PRIMARY 37 const 1
-3 SUBQUERY t8 const PRIMARY PRIMARY 37 1 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t8 const PRIMARY PRIMARY 37 const 1 100.00 Using index
+4 SUBQUERY t8 const PRIMARY PRIMARY 37 1 100.00 Using index
+2 SUBQUERY t8 const PRIMARY PRIMARY 37 const 1 100.00
+3 SUBQUERY t8 const PRIMARY PRIMARY 37 1 100.00 Using index
Warnings:
Note 1003 select 'joce' AS `pseudo`,(select 'test' AS `email` from `test`.`t8` where 1) AS `(SELECT email FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce'))` from `test`.`t8` where 1
SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo,email FROM
@@ -390,14 +390,14 @@ KEY `topic` (`topic`)
INSERT INTO t1 (topic,date,pseudo) VALUES
('43506','2002-10-02','joce'),('40143','2002-08-03','joce');
EXPLAIN EXTENDED SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 43 NULL 2 Using where; Using index
+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')
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 Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
-2 SUBQUERY t1 index NULL PRIMARY 43 NULL 2 Using where; Using index
+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')`
SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';
@@ -414,11 +414,11 @@ SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1) UNION ALL SELECT 1;
SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1) UNION SELECT 1;
ERROR 21000: Subquery returns more than 1 row
EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL topic 3 NULL 2 Using index
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
-3 UNION NULL NULL NULL NULL NULL NULL NULL No tables used
-NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 index NULL topic 3 NULL 2 100.00 Using index
+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+3 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 select 1 AS `1` from `test`.`t1` where 1
drop table t1;
@@ -537,14 +537,14 @@ INSERT INTO t1 (numeropost,numreponse,pseudo) VALUES (1,1,'joce'),(1,2,'joce'),(
EXPLAIN EXTENDED SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT 1 FROM t1 WHERE numeropost='1');
ERROR 21000: Subquery returns more than 1 row
EXPLAIN EXTENDED SELECT MAX(numreponse) FROM t1 WHERE numeropost='1';
-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
+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')
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 Extra
-1 PRIMARY t1 const PRIMARY,numreponse PRIMARY 7 const,const 1 Using index
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+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'))
drop table t1;
@@ -718,8 +718,8 @@ SELECT * FROM t2 WHERE id IN (SELECT 1);
id
1
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ref id id 5 const 1 Using where; Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ref id id 5 const 1 100.00 Using where; Using index
Warnings:
Note 1249 Select 2 was reduced during optimization
Note 1003 select `test`.`t2`.`id` AS `id` from `test`.`t2` where (`test`.`t2`.`id` = 1)
@@ -730,18 +730,18 @@ SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
id
2
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ref id id 5 const 1 Using where; Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ref id id 5 const 1 100.00 Using where; Using index
Warnings:
Note 1249 Select 3 was reduced during optimization
Note 1249 Select 2 was reduced during optimization
Note 1003 select `test`.`t2`.`id` AS `id` from `test`.`t2` where (`test`.`t2`.`id` = (1 + 1))
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 index NULL id 5 NULL 2 Using where; Using index
-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
-3 DEPENDENT UNION NULL NULL NULL NULL NULL NULL NULL No tables used
-NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 index NULL id 5 NULL 2 100.00 Using where; Using index
+2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+3 DEPENDENT UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 select `test`.`t2`.`id` AS `id` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`id`,<exists>(select 1 AS `1` having (<cache>(`test`.`t2`.`id`) = <ref_null_helper>(1)) union select 3 AS `3` having (<cache>(`test`.`t2`.`id`) = <ref_null_helper>(3))))
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 3);
@@ -864,8 +864,8 @@ select 10.5 > ANY (SELECT * from t1);
10.5 > ANY (SELECT * from t1)
1
explain extended select (select a+1) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1276 Field or reference 'test.t1.a' of SELECT #2 was resolved in SELECT #1
Note 1249 Select 2 was reduced during optimization
@@ -887,9 +887,9 @@ a t1.a in (select t2.a from t2)
3 1
4 0
explain extended SELECT t1.a, t1.a in (select t2.a from t2) FROM t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL PRIMARY 4 NULL 4 Using index
-2 DEPENDENT SUBQUERY t2 index_subquery a a 5 func 2 Using index
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 index NULL PRIMARY 4 NULL 4 100.00 Using index
+2 DEPENDENT SUBQUERY t2 index_subquery a a 5 func 2 100.00 Using index
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,<in_optimizer>(`test`.`t1`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t1`.`a`) in t2 on a checking NULL having <is_not_null_test>(`test`.`t2`.`a`)))) AS `t1.a in (select t2.a from t2)` from `test`.`t1`
CREATE TABLE t3 (a int(11) default '0');
@@ -901,10 +901,10 @@ a t1.a in (select t2.a from t2,t3 where t3.a=t2.a)
3 1
4 0
explain extended SELECT t1.a, t1.a in (select t2.a from t2,t3 where t3.a=t2.a) FROM t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL PRIMARY 4 NULL 4 Using index
-2 DEPENDENT SUBQUERY t2 ref_or_null a a 5 func 2 Using where; Using index
-2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 index NULL PRIMARY 4 NULL 4 100.00 Using index
+2 DEPENDENT SUBQUERY t2 ref_or_null a a 5 func 2 100.00 Using where; Using index
+2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join buffer
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,<in_optimizer>(`test`.`t1`.`a`,<exists>(select 1 AS `Not_used` from `test`.`t2` join `test`.`t3` where ((`test`.`t3`.`a` = `test`.`t2`.`a`) and ((<cache>(`test`.`t1`.`a`) = `test`.`t2`.`a`) or isnull(`test`.`t2`.`a`))) having <is_not_null_test>(`test`.`t2`.`a`))) AS `t1.a in (select t2.a from t2,t3 where t3.a=t2.a)` from `test`.`t1`
drop table t1,t2,t3;
@@ -1014,21 +1014,21 @@ i
drop table t1;
CREATE TABLE t1 (a int(1));
EXPLAIN EXTENDED SELECT (SELECT RAND() FROM t1) FROM t1;
-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 UNCACHEABLE SUBQUERY t1 system NULL NULL NULL NULL 0 const row not found
+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 rand() AS `RAND()` from `test`.`t1`) AS `(SELECT RAND() FROM t1)` from `test`.`t1`
EXPLAIN EXTENDED SELECT (SELECT ENCRYPT('test') FROM t1) FROM t1;
-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 UNCACHEABLE SUBQUERY t1 system NULL NULL NULL NULL 0 const row not found
+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`
EXPLAIN EXTENDED SELECT (SELECT BENCHMARK(1,1) FROM t1) FROM t1;
-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 UNCACHEABLE SUBQUERY t1 system NULL NULL NULL NULL 0 const row not found
+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 benchmark(1,1) AS `BENCHMARK(1,1)` from `test`.`t1`) AS `(SELECT BENCHMARK(1,1) FROM t1)` from `test`.`t1`
drop table t1;
@@ -1086,24 +1086,24 @@ CREATE TABLE t1 SELECT * FROM (SELECT 1 as a,(SELECT 1)) a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(1) NOT NULL default '0',
- `(SELECT 1)` int(1) NOT NULL default '0'
+ `a` int(1) NOT NULL DEFAULT '0',
+ `(SELECT 1)` int(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t1 SELECT * FROM (SELECT 1 as a,(SELECT a)) a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(1) NOT NULL default '0',
- `(SELECT a)` int(1) NOT NULL default '0'
+ `a` int(1) NOT NULL DEFAULT '0',
+ `(SELECT a)` int(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t1 SELECT * FROM (SELECT 1 as a,(SELECT a+0)) a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(1) NOT NULL default '0',
- `(SELECT a+0)` int(3) NOT NULL default '0'
+ `a` int(1) NOT NULL DEFAULT '0',
+ `(SELECT a+0)` int(3) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t1 SELECT (SELECT 1 as a UNION SELECT 1+1 limit 1,1) as a;
@@ -1113,17 +1113,17 @@ a
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bigint(20) NOT NULL default '0'
+ `a` bigint(20) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a int);
insert into t1 values (1), (2), (3);
explain extended select a,(select (select rand() from t1 limit 1) from t1 limit 1)
from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 3
-2 UNCACHEABLE SUBQUERY t1 ALL NULL NULL NULL NULL 3
-3 UNCACHEABLE SUBQUERY t1 ALL NULL NULL NULL NULL 3
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00
+2 UNCACHEABLE SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00
+3 UNCACHEABLE SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a`,(select (select rand() AS `rand()` from `test`.`t1` limit 1) AS `(select rand() from t1 limit 1)` from `test`.`t1` limit 1) AS `(select (select rand() from t1 limit 1) from t1 limit 1)` from `test`.`t1`
drop table t1;
@@ -1175,9 +1175,9 @@ SELECT 0 IN (SELECT 1 FROM t1 a);
0 IN (SELECT 1 FROM t1 a)
0
EXPLAIN EXTENDED SELECT 0 IN (SELECT 1 FROM t1 a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+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 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
Warnings:
Note 1003 select <in_optimizer>(0,<exists>(select 1 AS `Not_used` from `test`.`t1` `a` where 0)) AS `0 IN (SELECT 1 FROM t1 a)`
INSERT INTO t1 (pseudo) VALUES ('test1');
@@ -1185,9 +1185,9 @@ SELECT 0 IN (SELECT 1 FROM t1 a);
0 IN (SELECT 1 FROM t1 a)
0
EXPLAIN EXTENDED SELECT 0 IN (SELECT 1 FROM t1 a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+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 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
Warnings:
Note 1003 select <in_optimizer>(0,<exists>(select 1 AS `Not_used` from `test`.`t1` `a` where 0)) AS `0 IN (SELECT 1 FROM t1 a)`
drop table t1;
@@ -1230,9 +1230,9 @@ drop table t1;
create table t1 (id int not null auto_increment primary key, salary int, key(salary));
insert into t1 (salary) values (100),(1000),(10000),(10),(500),(5000),(50000);
explain extended SELECT id FROM t1 where salary = (SELECT MAX(salary) FROM t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ref salary salary 5 const 1 Using where
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ref salary salary 5 const 1 100.00 Using where
+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
Warnings:
Note 1003 select `test`.`t1`.`id` AS `id` from `test`.`t1` where (`test`.`t1`.`salary` = (select max(`test`.`t1`.`salary`) AS `MAX(salary)` from `test`.`t1`))
drop table t1;
@@ -1292,9 +1292,9 @@ a
3
4
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 Extra
-1 PRIMARY t2 index NULL PRIMARY 4 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 Using index
+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 index
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)))
select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
@@ -1302,9 +1302,9 @@ a
2
4
explain extended select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 index NULL PRIMARY 4 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 Using where
+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) 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);
@@ -1312,10 +1312,10 @@ a
2
3
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 Extra
-1 PRIMARY t2 index NULL PRIMARY 4 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 func 1
-2 DEPENDENT SUBQUERY t3 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 Using index
+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
+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;
@@ -1331,9 +1331,9 @@ a
3
4
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 Extra
-1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 Using index; Using where
+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 (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`))))
select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
@@ -1341,9 +1341,9 @@ a
2
4
explain extended select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 Using index; Using where
+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) 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);
@@ -1351,10 +1351,10 @@ a
2
3
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 Extra
-1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 ref a a 5 func 1001 Using where; Using index
-2 DEPENDENT SUBQUERY t3 index a a 5 NULL 3 Using where; Using index
+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 ref a a 5 func 1001 100.00 Using where; Using index
+2 DEPENDENT SUBQUERY t3 index a a 5 NULL 3 100.00 Using where; Using index; Using join buffer
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`))))
insert into t1 values (3,31);
@@ -1368,9 +1368,9 @@ a
2
4
explain extended select * from t2 where t2.a in (select a from t1 where t1.b <> 30);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 1001 Using index; Using where
+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) and (<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`)))))
drop table t1, t2, t3;
@@ -1426,8 +1426,8 @@ select * from t1 where ('a','b')=(select 'a','b' from t1 union select 'a','b' fr
s1
tttt
explain extended (select * from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1
+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 'tttt' AS `s1` from `test`.`t1`)
(select * from t1);
@@ -1459,27 +1459,27 @@ a1 0
a2 1
a3 1
explain extended select s1, s1 NOT IN (SELECT s1 FROM t2) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL s1 6 NULL 3 Using index
-2 DEPENDENT SUBQUERY t2 index_subquery s1 s1 6 func 2 Using index; Full scan on NULL key
+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; 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 having trigcond(<is_not_null_test>(`test`.`t2`.`s1`))))))) AS `s1 NOT IN (SELECT s1 FROM t2)` from `test`.`t1`
explain extended select s1, s1 = ANY (SELECT s1 FROM t2) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL s1 6 NULL 3 Using index
-2 DEPENDENT SUBQUERY t2 index_subquery s1 s1 6 func 2 Using index; Full scan on NULL key
+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; Full scan on NULL key
Warnings:
Note 1003 select `test`.`t1`.`s1` AS `s1`,<in_optimizer>(`test`.`t1`.`s1`,<exists>(<index_lookup>(<cache>(`test`.`t1`.`s1`) in t2 on s1 checking NULL having trigcond(<is_not_null_test>(`test`.`t2`.`s1`))))) AS `s1 = ANY (SELECT s1 FROM t2)` from `test`.`t1`
explain extended select s1, s1 <> ALL (SELECT s1 FROM t2) from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL s1 6 NULL 3 Using index
-2 DEPENDENT SUBQUERY t2 index_subquery s1 s1 6 func 2 Using index; Full scan on NULL key
+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; 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 having trigcond(<is_not_null_test>(`test`.`t2`.`s1`))))))) AS `s1 <> ALL (SELECT s1 FROM t2)` from `test`.`t1`
explain extended select s1, s1 NOT IN (SELECT s1 FROM t2 WHERE s1 < 'a2') from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL s1 6 NULL 3 Using index
-2 DEPENDENT SUBQUERY t2 index_subquery s1 s1 6 func 2 Using index; Using where; Full scan on NULL key
+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`
drop table t1,t2;
@@ -1492,17 +1492,17 @@ a
7
3
explain extended select * from t3 where a >= all (select b from t2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < (select max('0') from `test`.`t2`)))
select * from t3 where a >= some (select b from t2);
a
explain extended select * from t3 where a >= some (select b from t2);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= (select min('0') from `test`.`t2`)))
select * from t3 where a >= all (select b from t2 group by 1);
@@ -1511,49 +1511,49 @@ a
7
3
explain extended select * from t3 where a >= all (select b from t2 group by 1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` < <max>(select '0' AS `b` from `test`.`t2` group by 1)))
select * from t3 where a >= some (select b from t2 group by 1);
a
explain extended select * from t3 where a >= some (select b from t2 group by 1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <nop>((`test`.`t3`.`a` >= <min>(select '0' AS `b` from `test`.`t2` group by 1)))
select * from t3 where NULL >= any (select b from t2);
a
explain extended select * from t3 where NULL >= any (select b from t2);
-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 t2 system NULL NULL NULL NULL 0 const row not found
+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
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where 0
select * from t3 where NULL >= any (select b from t2 group by 1);
a
explain extended select * from t3 where NULL >= any (select b from t2 group by 1);
-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 t2 system NULL NULL NULL NULL 0 const row not found
+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
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where 0
select * from t3 where NULL >= some (select b from t2);
a
explain extended select * from t3 where NULL >= some (select b from t2);
-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 t2 system NULL NULL NULL NULL 0 const row not found
+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
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where 0
select * from t3 where NULL >= some (select b from t2 group by 1);
a
explain extended select * from t3 where NULL >= some (select b from t2 group by 1);
-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 t2 system NULL NULL NULL NULL 0 const row not found
+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
+2 SUBQUERY t2 system NULL NULL NULL NULL 0 0.00 const row not found
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where 0
insert into t2 values (2,2), (2,1), (3,3), (3,1);
@@ -1562,9 +1562,9 @@ a
6
7
explain extended select * from t3 where a > all (select max(b) from t2 group by a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where
-2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00 Using where
+2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 100.00 Using temporary; Using filesort
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a` from `test`.`t3` where <not>((`test`.`t3`.`a` <= <max>(select max(`test`.`t2`.`b`) AS `max(b)` from `test`.`t2` group by `test`.`t2`.`a`)))
drop table t2, t3;
@@ -1611,11 +1611,11 @@ select * from t1 where 'f' > any (select s1 from t1 union select s1 from t1);
s1
e
explain extended select * from t1 where 'f' > any (select s1 from t1 union select s1 from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 system NULL NULL NULL NULL 1
-2 SUBQUERY t1 system NULL NULL NULL NULL 1
-3 UNION t1 system NULL NULL NULL NULL 1
-NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
+2 SUBQUERY t1 system NULL NULL NULL NULL 1 100.00
+3 UNION t1 system NULL NULL NULL NULL 1 100.00
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 select 'e' AS `s1` from `test`.`t1` where 1
drop table t1;
@@ -1732,15 +1732,15 @@ id text
11 text11
12 text12
explain extended select * from t1 where id not in (select id from t1 where id < 8);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 12 Using where
-2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 Using index; Using where
+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) 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 Extra
-1 PRIMARY tt ALL NULL NULL NULL NULL 12 Using where
-2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 Using where; Using index
+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
+2 DEPENDENT SUBQUERY t1 eq_ref PRIMARY PRIMARY 4 test.tt.id 1 100.00 Using where; Using index
Warnings:
Note 1276 Field or reference 'test.tt.id' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`tt`.`id` AS `id`,`test`.`tt`.`text` AS `text` from `test`.`t1` `tt` where (not(exists(select `test`.`t1`.`id` AS `id` from `test`.`t1` where ((`test`.`t1`.`id` < 8) and (`test`.`t1`.`id` = `test`.`tt`.`id`)) having (`test`.`t1`.`id` is not null))))
@@ -1764,10 +1764,10 @@ id text id text id text
1000 text1000 NULL NULL 1000 text1000
1001 text1001 NULL NULL 1000 text1000
explain extended select * from t1 a left join t2 b on (a.id=b.id or b.id is null) join t1 c on (if(isnull(b.id), 1000, b.id)=c.id);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE a ALL NULL NULL NULL NULL 14
-1 SIMPLE b eq_ref PRIMARY PRIMARY 4 test.a.id 2
-1 SIMPLE c eq_ref PRIMARY PRIMARY 4 func 1 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE a ALL NULL NULL NULL NULL 14 100.00
+1 SIMPLE b eq_ref PRIMARY PRIMARY 4 test.a.id 2 100.00
+1 SIMPLE c eq_ref PRIMARY PRIMARY 4 func 1 100.00 Using where
Warnings:
Note 1003 select `test`.`a`.`id` AS `id`,`test`.`a`.`text` AS `text`,`test`.`b`.`id` AS `id`,`test`.`b`.`text` AS `text`,`test`.`c`.`id` AS `id`,`test`.`c`.`text` AS `text` from `test`.`t1` `a` left join `test`.`t2` `b` on(((`test`.`b`.`id` = `test`.`a`.`id`) or isnull(`test`.`b`.`id`))) join `test`.`t1` `c` where (if(isnull(`test`.`b`.`id`),1000,`test`.`b`.`id`) = `test`.`c`.`id`)
drop table t1,t2;
@@ -2274,9 +2274,9 @@ a b
1 2
3 4
explain extended select * from t1 up where exists (select * from t1 where t1.a=up.a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY up ALL NULL NULL NULL NULL 2 Using where
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY up ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.up.a' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`up`.`a` AS `a`,`test`.`up`.`b` AS `b` from `test`.`t1` `up` where exists(select 1 AS `Not_used` from `test`.`t1` where (`test`.`t1`.`a` = `test`.`up`.`a`))
@@ -2816,21 +2816,21 @@ one two test
10 5 NULL
10 10 NULL
explain extended SELECT one,two,ROW(one,two) IN (SELECT one,two FROM t2 WHERE flag = '0') as 'test' from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 8
-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 Using where
+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`
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 Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 8 Using where
-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 Using where
+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`))))
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 Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 8
-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 9 Using where; Using temporary; Using filesort
+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`
DROP TABLE t1,t2;
@@ -3027,13 +3027,13 @@ FROM t1 WHERE a > '2000-01-01';
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `sub_a` datetime default NULL
+ `sub_a` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t3 AS (SELECT a FROM t1 WHERE a < '2000-01-01') UNION (SELECT a FROM t1 WHERE a > '2000-01-01');
SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `a` datetime default NULL
+ `a` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2,t3;
CREATE TABLE t1 (a int);
@@ -3423,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);
@@ -4077,9 +4077,9 @@ CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (1), (2);
EXPLAIN EXTENDED
SELECT * FROM (SELECT count(*) FROM t1 GROUP BY a) as res;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
-2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00
+2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
Warnings:
Note 1003 select `res`.`count(*)` AS `count(*)` from (select count(0) AS `count(*)` from `test`.`t1` group by `test`.`t1`.`a`) `res`
DROP TABLE t1;
@@ -4144,107 +4144,6 @@ 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(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 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-3 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-4 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-5 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-6 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-7 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-8 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-9 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-10 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; Using filesort
-11 SUBQUERY t1 range a a 5 NULL 9 Using where; Using temporary; 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;
CREATE TABLE t1 (a1 INT, a2 INT);
CREATE TABLE t2 (b1 INT, b2 INT);
INSERT INTO t1 VALUES (100, 200);
@@ -4371,9 +4270,9 @@ SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
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 Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
+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`))
@@ -4384,3 +4283,32 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
(SELECT 1 FROM t2 WHERE t1.a = t2.a))' at line 2
DROP TABLE t1,t2;
End of 5.0 tests.
+CREATE TABLE t1 (a int, b int);
+INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
+SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
+a
+1
+2
+SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
+a
+SELECT a FROM t1 t0
+WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
+a
+1
+2
+SET @@sql_mode='ansi';
+SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
+ERROR HY000: Invalid use of group function
+SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
+ERROR HY000: Invalid use of group function
+SELECT a FROM t1 t0
+WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
+ERROR HY000: Invalid use of group function
+SET @@sql_mode=default;
+DROP TABLE t1;
+CREATE TABLE t1 (s1 char(1));
+INSERT INTO t1 VALUES ('a');
+SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
+s1
+a
+DROP TABLE t1;
diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result
index bdf00e4c307..ac492caf89a 100644
--- a/mysql-test/r/subselect3.result
+++ b/mysql-test/r/subselect3.result
@@ -25,18 +25,18 @@ NULL 2 NULL
explain extended
select a, oref, a in (select max(ie)
from t1 where oref=t2.oref group by grp) Z from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 Using where; Using temporary; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 5 100.00
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using temporary; Using filesort
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`oref` AS `oref`,<in_optimizer>(`test`.`t2`.`a`,<exists>(select max(`test`.`t1`.`ie`) AS `max(ie)` from `test`.`t1` where (`test`.`t1`.`oref` = `test`.`t2`.`oref`) group by `test`.`t1`.`grp` having trigcond((<cache>(`test`.`t2`.`a`) = <ref_null_helper>(max(`test`.`t1`.`ie`)))))) AS `Z` from `test`.`t2`
explain extended
select a, oref from t2
where a in (select max(ie) from t1 where oref=t2.oref group by grp);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 Using where; Using temporary; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 5 100.00 Using where
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using temporary; Using filesort
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`oref` AS `oref` from `test`.`t2` where <in_optimizer>(`test`.`t2`.`a`,<exists>(select max(`test`.`t1`.`ie`) AS `max(ie)` from `test`.`t1` where (`test`.`t1`.`oref` = `test`.`t2`.`oref`) group by `test`.`t1`.`grp` having (<cache>(`test`.`t2`.`a`) = <ref_null_helper>(max(`test`.`t1`.`ie`)))))
@@ -64,9 +64,9 @@ select ' ^ This must show 11' Z;
Z
^ This must show 11
explain extended select a in (select max(ie) from t1 where oref=4 group by grp) from t3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 2
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 Using where; Using temporary; Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 2 100.00
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 6 100.00 Using where; Using temporary; Using filesort
Warnings:
Note 1003 select <in_optimizer>(`test`.`t3`.`a`,<exists>(select max(`test`.`t1`.`ie`) AS `max(ie)` from `test`.`t1` where (`test`.`t1`.`oref` = 4) group by `test`.`t1`.`grp` having trigcond((<cache>(`test`.`t3`.`a`) = <ref_null_helper>(max(`test`.`t1`.`ie`)))))) AS `a in (select max(ie) from t1 where oref=4 group by grp)` from `test`.`t3`
drop table t1, t2, t3;
@@ -87,9 +87,9 @@ oref a Z
4 NULL 0
explain extended
select oref, a, a in (select a from t1 where oref=t2.oref) Z from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 4
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 2 Using where; Full scan on NULL key
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 4 100.00
+2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 2 100.00 Using where; Full scan on NULL key
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`oref` AS `oref`,`test`.`t2`.`a` AS `a`,<in_optimizer>(`test`.`t2`.`a`,<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a checking NULL where (`test`.`t1`.`oref` = `test`.`t2`.`oref`) having trigcond(<is_not_null_test>(`test`.`t1`.`a`))))) AS `Z` from `test`.`t2`
@@ -151,10 +151,10 @@ explain extended
select a, oref,
t3.a in (select t1.a from t1, t2 where t1.b=t2.a and t2.b=t3.oref) Z
from t3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3
-2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 4 Using where; Full scan on NULL key
-2 DEPENDENT SUBQUERY t2 ref a a 5 test.t1.b 1 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00
+2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 4 100.00 Using where; Full scan on NULL key
+2 DEPENDENT SUBQUERY t2 ref a a 5 test.t1.b 1 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t3.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`t3`.`oref` AS `oref`,<in_optimizer>(`test`.`t3`.`a`,<exists>(select 1 AS `Not_used` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`a` = `test`.`t1`.`b`) and (`test`.`t2`.`b` = `test`.`t3`.`oref`) and trigcond(((<cache>(`test`.`t3`.`a`) = `test`.`t1`.`a`) or isnull(`test`.`t1`.`a`)))) having trigcond(<is_not_null_test>(`test`.`t1`.`a`)))) AS `Z` from `test`.`t3`
@@ -179,10 +179,10 @@ explain extended
select a, oref,
t3.a in (select t1.a from t1, t2 where t1.b=t2.a and t2.b=t3.oref) Z
from t3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 ALL NULL NULL NULL NULL 3
-2 DEPENDENT SUBQUERY t1 ref a a 4 func 2 Using where; Full scan on NULL key
-2 DEPENDENT SUBQUERY t2 ref a a 4 test.t1.b 1 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t3 ALL NULL NULL NULL NULL 3 100.00
+2 DEPENDENT SUBQUERY t1 ref a a 4 func 2 100.00 Using where; Full scan on NULL key
+2 DEPENDENT SUBQUERY t2 ref a a 4 test.t1.b 1 100.00 Using where
Warnings:
Note 1276 Field or reference 'test.t3.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`t3`.`oref` AS `oref`,<in_optimizer>(`test`.`t3`.`a`,<exists>(select 1 AS `Not_used` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`a` = `test`.`t1`.`b`) and (`test`.`t2`.`b` = `test`.`t3`.`oref`) and trigcond((<cache>(`test`.`t3`.`a`) = `test`.`t1`.`a`))))) AS `Z` from `test`.`t3`
@@ -204,9 +204,9 @@ This must show a trig_cond:
explain extended
select a, oref,
a in (select count(*) from t1 group by grp having grp=t2.oref) Z from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+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
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
Warnings:
Note 1276 Field or reference 't2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`oref` AS `oref`,<in_optimizer>(`test`.`t2`.`a`,<exists>(select count(0) AS `count(*)` from `test`.`t1` group by `test`.`t1`.`grp` having ((`test`.`t1`.`grp` = `test`.`t2`.`oref`) and trigcond((<cache>(`test`.`t2`.`a`) = <ref_null_helper>(count(0))))))) AS `Z` from `test`.`t2`
@@ -236,9 +236,9 @@ insert into t2 values (NULL,1, 100), (NULL,2, 100);
create table t1 (a int, b int, c int, key(a,b));
insert into t1 select 2*A, 2*A, 100 from t3;
explain extended select a,b, oref, (a,b) in (select a,b from t1 where c=t2.oref) Z from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2
-2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 2 Using where; Full scan on NULL key
+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
+2 DEPENDENT SUBQUERY t1 index_subquery a a 5 func 2 100.00 Using where; Full scan on NULL key
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`oref` AS `oref`,<in_optimizer>((`test`.`t2`.`a`,`test`.`t2`.`b`),<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on a checking NULL where ((`test`.`t1`.`c` = `test`.`t2`.`oref`) and trigcond(((<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`) or isnull(`test`.`t1`.`a`))) and trigcond(((<cache>(`test`.`t2`.`b`) = `test`.`t1`.`b`) or isnull(`test`.`t1`.`b`)))) having (trigcond(<is_not_null_test>(`test`.`t1`.`a`)) and trigcond(<is_not_null_test>(`test`.`t1`.`b`)))))) AS `Z` from `test`.`t2`
@@ -252,10 +252,10 @@ explain extended
select a,b, oref,
(a,b) in (select a,b from t1,t4 where c=t2.oref) Z
from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2
-2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 2 Using where; Full scan on NULL key
-2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 100 Using where
+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
+2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 2 100.00 Using where; Full scan on NULL key
+2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 100 100.00 Using where; Using join buffer
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`oref` AS `oref`,<in_optimizer>((`test`.`t2`.`a`,`test`.`t2`.`b`),<exists>(select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` join `test`.`t4` where ((`test`.`t1`.`c` = `test`.`t2`.`oref`) and trigcond(((<cache>(`test`.`t2`.`a`) = `test`.`t1`.`a`) or isnull(`test`.`t1`.`a`))) and trigcond(((<cache>(`test`.`t2`.`b`) = `test`.`t1`.`b`) or isnull(`test`.`t1`.`b`)))) having (trigcond(<is_not_null_test>(`test`.`t1`.`a`)) and trigcond(<is_not_null_test>(`test`.`t1`.`b`))))) AS `Z` from `test`.`t2`
@@ -298,9 +298,9 @@ oref a b Z
new1 10 10 NULL
explain extended
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=10 and b=10;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 8 Using where
-2 DEPENDENT SUBQUERY t1 index_subquery idx idx 5 func 4 Using where; Full scan on NULL key
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 8 100.00 Using where
+2 DEPENDENT SUBQUERY t1 index_subquery idx idx 5 func 4 100.00 Using where; Full scan on NULL key
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`oref` AS `oref`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,<in_optimizer>((`test`.`t2`.`a`,`test`.`t2`.`b`),<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on idx checking NULL where ((`test`.`t1`.`oref` = `test`.`t2`.`oref`) and trigcond(((<cache>(`test`.`t2`.`a`) = `test`.`t1`.`ie1`) or isnull(`test`.`t1`.`ie1`))) and trigcond(((<cache>(`test`.`t2`.`b`) = `test`.`t1`.`ie2`) or isnull(`test`.`t1`.`ie2`)))) having (trigcond(<is_not_null_test>(`test`.`t1`.`ie1`)) and trigcond(<is_not_null_test>(`test`.`t1`.`ie2`)))))) AS `Z` from `test`.`t2` where ((`test`.`t2`.`b` = 10) and (`test`.`t2`.`a` = 10))
@@ -568,9 +568,9 @@ bb 2 1
dd 1 NULL
explain extended
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 7
-2 DEPENDENT SUBQUERY t1 index_subquery idx idx 5 func 4 Using where; Full scan on NULL key
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t2 ALL NULL NULL NULL NULL 7 100.00
+2 DEPENDENT SUBQUERY t1 index_subquery idx idx 5 func 4 100.00 Using where; Full scan on NULL key
Warnings:
Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1
Note 1003 select `test`.`t2`.`oref` AS `oref`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,<in_optimizer>((`test`.`t2`.`a`,`test`.`t2`.`b`),<exists>(<index_lookup>(<cache>(`test`.`t2`.`a`) in t1 on idx checking NULL where ((`test`.`t1`.`oref` = `test`.`t2`.`oref`) and trigcond(((<cache>(`test`.`t2`.`a`) = `test`.`t1`.`ie1`) or isnull(`test`.`t1`.`ie1`))) and trigcond(((<cache>(`test`.`t2`.`b`) = `test`.`t1`.`ie2`) or isnull(`test`.`t1`.`ie2`)))) having (trigcond(<is_not_null_test>(`test`.`t1`.`ie1`)) and trigcond(<is_not_null_test>(`test`.`t1`.`ie2`)))))) AS `Z` from `test`.`t2`
@@ -698,10 +698,10 @@ INSERT INTO t1 VALUES (1), (NULL), (4);
INSERT INTO t2 VALUES (3), (1),(2), (5), (4), (7), (6);
EXPLAIN EXTENDED
SELECT a FROM t1, t2 WHERE a=b AND (b NOT 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 3 Using where
-1 PRIMARY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
+1 PRIMARY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 100.00 Using index
+2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`b` = `test`.`t1`.`a`) and (not(<in_optimizer>(`test`.`t1`.`a`,<exists>(select 1 AS `Not_used` from `test`.`t1` where ((<cache>(`test`.`t2`.`b`) = `test`.`t1`.`a`) or isnull(`test`.`t1`.`a`)) having <is_not_null_test>(`test`.`t1`.`a`))))))
SELECT a FROM t1, t2 WHERE a=b AND (b NOT IN (SELECT a FROM t1));
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 833adbeb851..4eece9d5b5a 100644
--- a/mysql-test/r/symlink.result
+++ b/mysql-test/r/symlink.result
@@ -36,10 +36,10 @@ alter table t9 add column c int not null;
show create table t9;
Table Create Table
t9 CREATE TABLE `t9` (
- `a` int(11) NOT NULL auto_increment,
+ `a` int(11) NOT NULL AUTO_INCREMENT,
`b` char(16) NOT NULL,
`c` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
alter table t9 rename t8, add column d int not null;
alter table t8 rename t7;
@@ -48,11 +48,11 @@ drop table t1;
SHOW CREATE TABLE t9;
Table Create Table
t9 CREATE TABLE `t9` (
- `a` int(11) NOT NULL auto_increment,
+ `a` int(11) NOT NULL AUTO_INCREMENT,
`b` char(16) NOT NULL,
`c` int(11) NOT NULL,
`d` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
Got one of the listed errors
Got one of the listed errors
@@ -66,11 +66,11 @@ count(*)
show create table mysqltest.t9;
Table Create Table
t9 CREATE TABLE `t9` (
- `a` int(11) NOT NULL auto_increment,
+ `a` int(11) NOT NULL AUTO_INCREMENT,
`b` char(16) NOT NULL,
`c` int(11) NOT NULL,
`d` int(11) NOT NULL,
- PRIMARY KEY (`a`)
+ PRIMARY KEY (`a`)
) 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;
@@ -88,7 +88,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` int(11) default NULL
+ `b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Warnings:
Warning 0 INDEX DIRECTORY option ignored
@@ -96,7 +96,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` int(11) default NULL
+ `b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t1(a INT)
@@ -108,24 +108,24 @@ DROP TABLE t1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` int(11) default NULL
+ `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
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
show create table t1;
Table Create Table
t1 CREATE TEMPORARY TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/log/'
show create table t1;
Table Create Table
t1 CREATE TEMPORARY TABLE `t1` (
- `a` int(11) default NULL
+ `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/log/'
create table t1 (a int) engine=myisam select 42 a;
select * from t1;
@@ -150,7 +150,7 @@ RESET QUERY CACHE;
USE db1;
SET SESSION keep_files_on_create = TRUE;
CREATE TABLE t1 (a INT) ENGINE MYISAM;
-ERROR HY000: Can't create/write to file './db1/t1.MYD' (Errcode: 17)
+Got one of the listed errors
CREATE TABLE t3 (a INT) Engine=MyISAM;
INSERT INTO t3 VALUES (1),(2),(3);
TRUNCATE TABLE t3;
diff --git a/mysql-test/r/synchronization.result b/mysql-test/r/synchronization.result
index 29557b6cfd4..5d8585f1f88 100644
--- a/mysql-test/r/synchronization.result
+++ b/mysql-test/r/synchronization.result
@@ -1,11 +1,11 @@
-drop table if exists t1;
+drop table if exists t1,t2;
CREATE TABLE t1 (x1 int);
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -13,7 +13,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -21,7 +21,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -29,7 +29,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -37,7 +37,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -45,7 +45,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -53,7 +53,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -61,7 +61,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -69,7 +69,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -77,7 +77,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -85,7 +85,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -93,7 +93,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -101,7 +101,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -109,7 +109,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -117,7 +117,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -125,7 +125,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -133,7 +133,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -141,7 +141,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
@@ -149,7 +149,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
@@ -157,7 +157,7 @@ CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `xx` int(11) default NULL
+ `xx` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result
index 999f12a0573..d1aff0fa657 100644
--- a/mysql-test/r/system_mysql_db.result
+++ b/mysql-test/r/system_mysql_db.result
@@ -3,14 +3,20 @@ show tables;
Tables_in_db
columns_priv
db
+event
func
+general_log
help_category
help_keyword
help_relation
help_topic
host
+ndb_binlog_index
+plugin
proc
procs_priv
+servers
+slow_log
tables_priv
time_zone
time_zone_leap_second
@@ -21,164 +27,239 @@ user
show create table db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `Db` char(64) collate utf8_bin NOT NULL default '',
- `User` char(16) collate utf8_bin NOT NULL default '',
- `Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- PRIMARY KEY (`Host`,`Db`,`User`),
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges'
show create table host;
Table Create Table
host CREATE TABLE `host` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `Db` char(64) collate utf8_bin NOT NULL default '',
- `Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- PRIMARY KEY (`Host`,`Db`)
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ PRIMARY KEY (`Host`,`Db`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Host privileges; Merged with database privileges'
show create table user;
Table Create Table
user CREATE TABLE `user` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `User` char(16) collate utf8_bin NOT NULL default '',
- `Password` char(41) character set latin1 collate latin1_bin NOT NULL default '',
- `Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Reload_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Shutdown_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Process_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `File_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Show_db_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Super_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Repl_slave_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Repl_client_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `Create_user_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
- `ssl_type` enum('','ANY','X509','SPECIFIED') character set utf8 NOT NULL default '',
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
`ssl_cipher` blob NOT NULL,
`x509_issuer` blob NOT NULL,
`x509_subject` blob NOT NULL,
- `max_questions` int(11) unsigned NOT NULL default '0',
- `max_updates` int(11) unsigned NOT NULL default '0',
- `max_connections` int(11) unsigned NOT NULL default '0',
- `max_user_connections` int(11) unsigned NOT NULL default '0',
- PRIMARY KEY (`Host`,`User`)
+ `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
+ `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
+ `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
+ `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
show create table func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) collate utf8_bin NOT NULL default '',
- `ret` tinyint(1) NOT NULL default '0',
- `dl` char(128) collate utf8_bin NOT NULL default '',
- `type` enum('function','aggregate') character set utf8 NOT NULL,
- PRIMARY KEY (`name`)
+ `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `ret` tinyint(1) NOT NULL DEFAULT '0',
+ `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions'
show create table tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `Db` char(64) collate utf8_bin NOT NULL default '',
- `User` char(16) collate utf8_bin NOT NULL default '',
- `Table_name` char(64) collate utf8_bin NOT NULL default '',
- `Grantor` char(77) collate utf8_bin NOT NULL default '',
- `Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') character set utf8 NOT NULL default '',
- `Column_priv` set('Select','Insert','Update','References') character set utf8 NOT NULL default '',
- PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Table privileges'
show create table columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `Db` char(64) collate utf8_bin NOT NULL default '',
- `User` char(16) collate utf8_bin NOT NULL default '',
- `Table_name` char(64) collate utf8_bin NOT NULL default '',
- `Column_name` char(64) collate utf8_bin NOT NULL default '',
- `Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `Column_priv` set('Select','Insert','Update','References') character set utf8 NOT NULL default '',
- PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges'
show create table procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) collate utf8_bin NOT NULL default '',
- `Db` char(64) collate utf8_bin NOT NULL default '',
- `User` char(16) collate utf8_bin NOT NULL default '',
- `Routine_name` char(64) collate utf8_bin NOT NULL default '',
- `Routine_type` enum('FUNCTION','PROCEDURE') collate utf8_bin NOT NULL,
- `Grantor` char(77) collate utf8_bin NOT NULL default '',
- `Proc_priv` set('Execute','Alter Routine','Grant') character set utf8 NOT NULL default '',
- `Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8_bin NOT NULL,
+ `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges'
+show create table servers;
+Table Create Table
+servers CREATE TABLE `servers` (
+ `Server_name` char(64) NOT NULL DEFAULT '',
+ `Host` char(64) NOT NULL DEFAULT '',
+ `Db` char(64) NOT NULL DEFAULT '',
+ `Username` char(64) NOT NULL DEFAULT '',
+ `Password` char(64) NOT NULL DEFAULT '',
+ `Port` int(4) NOT NULL DEFAULT '0',
+ `Socket` char(64) NOT NULL DEFAULT '',
+ `Wrapper` char(64) NOT NULL DEFAULT '',
+ `Owner` char(64) NOT NULL DEFAULT '',
+ PRIMARY KEY (`Server_name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'
show create table proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) character set utf8 collate utf8_bin NOT NULL default '',
- `name` char(64) NOT NULL default '',
+ `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE') NOT NULL,
- `specific_name` char(64) NOT NULL default '',
- `language` enum('SQL') NOT NULL default 'SQL',
- `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL',
- `is_deterministic` enum('YES','NO') NOT NULL default 'NO',
- `security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER',
+ `specific_name` char(64) NOT NULL DEFAULT '',
+ `language` enum('SQL') NOT NULL DEFAULT 'SQL',
+ `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL DEFAULT 'CONTAINS_SQL',
+ `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 '',
- `comment` char(64) character set utf8 collate utf8_bin NOT NULL default '',
- PRIMARY KEY (`db`,`name`,`type`)
+ `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 '',
+ `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,
+ `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `body_utf8` longblob,
+ PRIMARY KEY (`db`,`name`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'
+show create table event;
+Table Create Table
+event CREATE TABLE `event` (
+ `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) 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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `last_executed` datetime DEFAULT NULL,
+ `starts` datetime DEFAULT NULL,
+ `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 '',
+ `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',
+ `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,
+ `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `body_utf8` longblob,
+ PRIMARY KEY (`db`,`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'
+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 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
+slow_log CREATE TABLE `slow_log` (
+ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `user_host` mediumtext NOT NULL,
+ `query_time` time NOT NULL,
+ `lock_time` time NOT NULL,
+ `rows_sent` int(11) NOT NULL,
+ `rows_examined` int(11) NOT 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;
Tables_in_test
diff --git a/mysql-test/r/temp_table.result b/mysql-test/r/temp_table.result
index d6adf51602b..46724de4281 100644
--- a/mysql-test/r/temp_table.result
+++ b/mysql-test/r/temp_table.result
@@ -77,7 +77,7 @@ drop table t1,t2;
create temporary table t1 (a int not null);
insert into t1 values (1),(1);
alter table t1 add primary key (a);
-ERROR 23000: Duplicate entry '1' for key 1
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
drop table t1;
CREATE TABLE t1 (
d datetime default NULL
@@ -98,7 +98,7 @@ d
show status like "created_tmp%tables";
Variable_name Value
Created_tmp_disk_tables 0
-Created_tmp_tables 2
+Created_tmp_tables 1
drop table t1;
create temporary table v1 as select 'This is temp. table' A;
create view v1 as select 'This is view' A;
@@ -108,11 +108,11 @@ This is temp. table
show create table v1;
Table Create Table
v1 CREATE TEMPORARY TABLE `v1` (
- `A` varchar(19) NOT NULL default ''
+ `A` varchar(19) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select _latin1'This is view' AS `A`
+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
drop view v1;
select * from v1;
A
@@ -173,3 +173,14 @@ c/1
12139
1
DROP TABLE t1, t2;
+create temporary table t1 (a int);
+insert into t1 values (4711);
+select * from t1;
+a
+4711
+truncate t1;
+insert into t1 values (42);
+select * from t1;
+a
+42
+drop table t1;
diff --git a/mysql-test/r/timezone2.result b/mysql-test/r/timezone2.result
index bb1d764ac8c..32db7ea7fa9 100644
--- a/mysql-test/r/timezone2.result
+++ b/mysql-test/r/timezone2.result
@@ -70,7 +70,7 @@ i ts
1067129999 2003-10-26 00:59:59
1067137200 2003-10-26 03:00:00
1067129999 2003-10-26 00:59:59
-delete from t1;
+truncate table t1;
set time_zone='Europe/Moscow';
insert into t1 (i, ts) values
(unix_timestamp('2004-01-01 00:00:00'),'2004-01-01 00:00:00'),
@@ -85,7 +85,7 @@ i ts
1080428400 2004-03-28 03:00:00
1091304000 2003-08-01 00:00:00
1099175400 2004-10-31 02:30:00
-delete from t1;
+truncate table t1;
set time_zone='leap/Europe/Moscow';
insert into t1 (i, ts) values
(unix_timestamp('2004-01-01 00:00:00'),'2004-01-01 00:00:00'),
@@ -100,7 +100,7 @@ i ts
1080428422 2004-03-28 03:00:00
1091304022 2003-08-01 00:00:00
1099175422 2004-10-31 02:30:00
-delete from t1;
+truncate table t1;
insert into t1 (i, ts) values
(unix_timestamp('1981-07-01 03:59:59'),'1981-07-01 03:59:59'),
(unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
@@ -118,9 +118,9 @@ insert into t1 values ('0000-00-00 00:00:00'),('1969-12-31 23:59:59'),
('1970-01-01 00:00:00'),('1970-01-01 00:00:01'),
('2038-01-19 03:14:07'),('2038-01-19 03:14:08');
Warnings:
-Warning 1264 Out of range value adjusted for column 'ts' at row 2
-Warning 1264 Out of range value adjusted for column 'ts' at row 3
-Warning 1264 Out of range value adjusted for column 'ts' at row 6
+Warning 1264 Out of range value for column 'ts' at row 2
+Warning 1264 Out of range value for column 'ts' at row 3
+Warning 1264 Out of range value for column 'ts' at row 6
select * from t1;
ts
0000-00-00 00:00:00
@@ -129,15 +129,15 @@ ts
1970-01-01 00:00:01
2038-01-19 03:14:07
0000-00-00 00:00:00
-delete from t1;
+truncate table t1;
set time_zone='MET';
insert into t1 values ('0000-00-00 00:00:00'),('1970-01-01 00:30:00'),
('1970-01-01 01:00:00'),('1970-01-01 01:00:01'),
('2038-01-19 04:14:07'),('2038-01-19 04:14:08');
Warnings:
-Warning 1264 Out of range value adjusted for column 'ts' at row 2
-Warning 1264 Out of range value adjusted for column 'ts' at row 3
-Warning 1264 Out of range value adjusted for column 'ts' at row 6
+Warning 1264 Out of range value for column 'ts' at row 2
+Warning 1264 Out of range value for column 'ts' at row 3
+Warning 1264 Out of range value for column 'ts' at row 6
select * from t1;
ts
0000-00-00 00:00:00
@@ -146,15 +146,15 @@ ts
1970-01-01 01:00:01
2038-01-19 04:14:07
0000-00-00 00:00:00
-delete from t1;
+truncate table t1;
set time_zone='+01:30';
insert into t1 values ('0000-00-00 00:00:00'),('1970-01-01 01:00:00'),
('1970-01-01 01:30:00'),('1970-01-01 01:30:01'),
('2038-01-19 04:44:07'),('2038-01-19 04:44:08');
Warnings:
-Warning 1264 Out of range value adjusted for column 'ts' at row 2
-Warning 1264 Out of range value adjusted for column 'ts' at row 3
-Warning 1264 Out of range value adjusted for column 'ts' at row 6
+Warning 1264 Out of range value for column 'ts' at row 2
+Warning 1264 Out of range value for column 'ts' at row 3
+Warning 1264 Out of range value for column 'ts' at row 6
select * from t1;
ts
0000-00-00 00:00:00
@@ -269,6 +269,7 @@ select * from t1;
convert_tz(NULL, NULL, NULL)
NULL
drop table t1;
+SET GLOBAL log_bin_trust_function_creators = 1;
create table t1 (ldt datetime, udt datetime);
create function f1(i datetime) returns datetime
return convert_tz(i, 'UTC', 'Europe/Moscow');
@@ -283,3 +284,15 @@ ldt ldt2
2006-04-19 16:30:00 2006-04-19 16:30:00
drop table t1;
drop function f1;
+SET GLOBAL log_bin_trust_function_creators = 0;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (t TIMESTAMP);
+INSERT INTO t1 VALUES (NULL), (NULL);
+LOCK TABLES t1 WRITE;
+SELECT CONVERT_TZ(NOW(), 'UTC', 'Europe/Moscow') IS NULL;
+CONVERT_TZ(NOW(), 'UTC', 'Europe/Moscow') IS NULL
+0
+UPDATE t1 SET t = CONVERT_TZ(t, 'UTC', 'Europe/Moscow');
+UNLOCK TABLES;
+DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/r/timezone_grant.result b/mysql-test/r/timezone_grant.result
index 2f4d46dfdc0..49918038da5 100644
--- a/mysql-test/r/timezone_grant.result
+++ b/mysql-test/r/timezone_grant.result
@@ -40,7 +40,7 @@ select convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC');
convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC')
NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '2004-11-31 12:00:00'
+Warning 1292 Incorrect datetime value: '2004-11-31 12:00:00'
select convert_tz(b, 'Europe/Moscow', 'UTC') from t1;
convert_tz(b, 'Europe/Moscow', 'UTC')
update t1, t2 set t1.b = convert_tz('2004-11-30 12:00:00', 'Europe/Moscow', 'UTC')
diff --git a/mysql-test/r/trigger-compat.result b/mysql-test/r/trigger-compat.result
index 6839cacab43..1609707fb09 100644
--- a/mysql-test/r/trigger-compat.result
+++ b/mysql-test/r/trigger-compat.result
@@ -7,8 +7,7 @@ DROP DATABASE IF EXISTS mysqltest_db1;
CREATE DATABASE mysqltest_db1;
CREATE USER mysqltest_dfn@localhost;
CREATE USER mysqltest_inv@localhost;
-GRANT SUPER ON *.* TO mysqltest_dfn@localhost;
-GRANT CREATE ON mysqltest_db1.* TO mysqltest_dfn@localhost;
+GRANT CREATE, TRIGGER ON mysqltest_db1.* TO mysqltest_dfn@localhost;
---> connection: wl2818_definer_con
CREATE TABLE t1(num_value INT);
@@ -33,9 +32,9 @@ Warnings:
Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'wl2818_trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
-TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
-NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL
-NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@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
+NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL latin1 latin1_swedish_ci latin1_swedish_ci
+NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DROP TRIGGER wl2818_trg1;
Warnings:
Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'wl2818_trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result
index a07318435f6..8b384dfdc4e 100644
--- a/mysql-test/r/trigger.result
+++ b/mysql-test/r/trigger.result
@@ -600,9 +600,9 @@ select @a;
@a
10
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-t1_bi INSERT t1 set new."t1 column" = 5 BEFORE # REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI root@localhost
-t1_af INSERT t1 set @a=10 AFTER # root@localhost
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+t1_bi INSERT t1 set new."t1 column" = 5 BEFORE # REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+t1_af INSERT t1 set @a=10 AFTER # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop table t1;
set sql_mode="traditional";
create table t1 (a date);
@@ -619,11 +619,11 @@ set sql_mode=default;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` date default NULL
+ `a` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer
-t1_bi INSERT t1 set new.a = '2004-01-00' BEFORE # root@localhost
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+t1_bi INSERT t1 set new.a = '2004-01-00' BEFORE # root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
drop table t1;
create table t1 (id int);
create trigger t1_ai after insert on t1 for each row reset query cache;
@@ -947,7 +947,7 @@ mysqltest t1_bi mysqltest t1 set @a:=new.id
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `id` int(11) default NULL
+ `id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop trigger test.t1_bi;
ERROR HY000: Trigger does not exist
@@ -1008,9 +1008,9 @@ insert into t1 values
create function f2() returns int return (select max(b) from t2);
insert into t2 select a, f2() from t1;
load data infile '../std_data_ln/words.dat' into table t1 (a) set b:= f1();
-drop table t1, t2;
drop function f1;
drop function f2;
+drop table t1, t2;
create table t1(i int not null, j int not null, n numeric(15,2), primary key(i,j));
create table t2(i int not null, n numeric(15,2), primary key(i));
create trigger t1_ai after insert on t1 for each row
@@ -1962,3 +1962,58 @@ s1
drop table t1;
drop temporary table t2;
End of 5.0 tests
+drop table if exists table_25411_a;
+drop table if exists table_25411_b;
+create table table_25411_a(a int);
+create table table_25411_b(b int);
+create trigger trg_25411a_ai after insert on table_25411_a
+for each row
+insert into table_25411_b select new.*;
+select * from table_25411_a;
+a
+insert into table_25411_a values (1);
+ERROR 42S02: Unknown table 'new'
+select * from table_25411_a;
+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;
+End of 5.1 tests.
diff --git a/mysql-test/r/trigger-grant.result b/mysql-test/r/trigger_notembedded.result
index f6384d479b7..d56f83993a6 100644
--- a/mysql-test/r/trigger-grant.result
+++ b/mysql-test/r/trigger_notembedded.result
@@ -7,12 +7,57 @@ DROP DATABASE IF EXISTS mysqltest_db1;
CREATE DATABASE mysqltest_db1;
CREATE USER mysqltest_dfn@localhost;
CREATE USER mysqltest_inv@localhost;
-GRANT SUPER ON *.* TO mysqltest_dfn@localhost;
GRANT CREATE ON mysqltest_db1.* TO mysqltest_dfn@localhost;
---> connection: wl2818_definer_con
CREATE TABLE t1(num_value INT);
CREATE TABLE t2(user_str TEXT);
+
+---> connection: default
+GRANT INSERT, DROP ON mysqltest_db1.t1 TO mysqltest_dfn@localhost;
+GRANT INSERT, DROP ON mysqltest_db1.t2 TO mysqltest_dfn@localhost;
+
+---> connection: default
+GRANT SUPER ON *.* TO mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
+CREATE TRIGGER trg1 AFTER INSERT ON t1
+FOR EACH ROW
+INSERT INTO t2 VALUES(CURRENT_USER());
+ERROR 42000: TRIGGER command denied to user 'mysqltest_dfn'@'localhost' for table 't1'
+
+---> connection: default
+GRANT TRIGGER ON mysqltest_db1.t1 TO mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
+CREATE TRIGGER trg1 AFTER INSERT ON t1
+FOR EACH ROW
+INSERT INTO t2 VALUES(CURRENT_USER());
+
+---> connection: default
+REVOKE TRIGGER ON mysqltest_db1.t1 FROM mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
+DROP TRIGGER trg1;
+ERROR 42000: TRIGGER command denied to user 'mysqltest_dfn'@'localhost' for table 't1'
+
+---> connection: wl2818_definer_con
+INSERT INTO t1 VALUES(0);
+ERROR 42000: TRIGGER command denied to user 'mysqltest_dfn'@'localhost' for table 't1'
+
+---> connection: default
+GRANT TRIGGER ON mysqltest_db1.t1 TO mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
+INSERT INTO t1 VALUES(0);
+DROP TRIGGER trg1;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+
+---> connection: default
+REVOKE SUPER ON *.* FROM mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
CREATE TRIGGER trg1 AFTER INSERT ON t1
FOR EACH ROW
INSERT INTO t2 VALUES(CURRENT_USER());
@@ -72,6 +117,17 @@ CREATE DEFINER='mysqltest_inv'@'localhost'
TRIGGER trg1 BEFORE INSERT ON t1
FOR EACH ROW
SET @new_sum = 0;
+ERROR 42000: Access denied; you need the SUPER privilege for this operation
+
+---> connection: default
+use mysqltest_db1;
+GRANT SUPER ON *.* TO mysqltest_dfn@localhost;
+
+---> connection: wl2818_definer_con
+CREATE DEFINER='mysqltest_inv'@'localhost'
+ TRIGGER trg1 BEFORE INSERT ON t1
+FOR EACH ROW
+SET @new_sum = 0;
CREATE DEFINER='mysqltest_nonexs'@'localhost'
TRIGGER trg2 AFTER INSERT ON t1
FOR EACH ROW
@@ -79,11 +135,11 @@ SET @new_sum = 0;
Warnings:
Note 1449 There is no 'mysqltest_nonexs'@'localhost' registered
INSERT INTO t1 VALUES(6);
-ERROR 42000: Access denied; you need the SUPER privilege for this operation
+ERROR HY000: There is no 'mysqltest_nonexs'@'localhost' registered
SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer
-trg1 INSERT t1 SET @new_sum = 0 BEFORE NULL mysqltest_inv@localhost
-trg2 INSERT t1 SET @new_sum = 0 AFTER NULL mysqltest_nonexs@localhost
+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
+trg2 INSERT t1 SET @new_sum = 0 AFTER NULL mysqltest_nonexs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DROP TRIGGER trg1;
DROP TRIGGER trg2;
CREATE TRIGGER trg1 BEFORE INSERT ON t1
@@ -113,12 +169,12 @@ Warnings:
Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
-TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
-NULL mysqltest_db1 trg1 INSERT NULL mysqltest_db1 t1 0 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW NULL
-NULL mysqltest_db1 trg2 INSERT NULL mysqltest_db1 t1 0 NULL SET @a = 2 ROW AFTER NULL NULL OLD NEW NULL @
-NULL mysqltest_db1 trg3 UPDATE NULL mysqltest_db1 t1 0 NULL SET @a = 3 ROW BEFORE NULL NULL OLD NEW NULL @abc@def@@
-NULL mysqltest_db1 trg4 UPDATE NULL mysqltest_db1 t1 0 NULL SET @a = 4 ROW AFTER NULL NULL OLD NEW NULL @hostname
-NULL mysqltest_db1 trg5 DELETE NULL mysqltest_db1 t1 0 NULL SET @a = 5 ROW BEFORE NULL NULL OLD NEW NULL @abcdef@@@hostname
+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 mysqltest_db1 trg1 INSERT NULL mysqltest_db1 t1 0 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW NULL latin1 latin1_swedish_ci latin1_swedish_ci
+NULL mysqltest_db1 trg2 INSERT NULL mysqltest_db1 t1 0 NULL SET @a = 2 ROW AFTER NULL NULL OLD NEW NULL @ latin1 latin1_swedish_ci latin1_swedish_ci
+NULL mysqltest_db1 trg3 UPDATE NULL mysqltest_db1 t1 0 NULL SET @a = 3 ROW BEFORE NULL NULL OLD NEW NULL @abc@def@@ latin1 latin1_swedish_ci latin1_swedish_ci
+NULL mysqltest_db1 trg4 UPDATE NULL mysqltest_db1 t1 0 NULL SET @a = 4 ROW AFTER NULL NULL OLD NEW NULL @hostname latin1 latin1_swedish_ci latin1_swedish_ci
+NULL mysqltest_db1 trg5 DELETE NULL mysqltest_db1 t1 0 NULL SET @a = 5 ROW BEFORE NULL NULL OLD NEW NULL @abcdef@@@hostname latin1 latin1_swedish_ci latin1_swedish_ci
---> connection: default
DROP USER mysqltest_dfn@localhost;
@@ -140,18 +196,16 @@ CREATE TABLE t3(col CHAR(20));
CREATE TABLE t4(col CHAR(20));
CREATE USER mysqltest_u1@localhost;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_u1@localhost;
-GRANT SUPER ON *.* TO mysqltest_u1@localhost;
-GRANT SELECT ON mysqltest_db1.t1 TO mysqltest_u1@localhost;
+GRANT TRIGGER ON mysqltest_db1.* TO mysqltest_u1@localhost;
SET @mysqltest_var = NULL;
---> connection: default
use mysqltest_db1;
-REVOKE SELECT ON mysqltest_db1.t1 FROM mysqltest_u1@localhost;
GRANT DELETE ON mysqltest_db1.* TO mysqltest_u1@localhost;
SHOW GRANTS FOR mysqltest_u1@localhost;
Grants for mysqltest_u1@localhost
-GRANT SUPER ON *.* TO 'mysqltest_u1'@'localhost'
-GRANT DELETE ON `mysqltest_db1`.* TO 'mysqltest_u1'@'localhost'
+GRANT USAGE ON *.* TO 'mysqltest_u1'@'localhost'
+GRANT DELETE, TRIGGER ON `mysqltest_db1`.* TO 'mysqltest_u1'@'localhost'
---> connection: bug15166_u1_con
use mysqltest_db1;
@@ -322,7 +376,7 @@ CREATE TABLE t1 (i1 INT);
CREATE TABLE t2 (i1 INT);
CREATE USER mysqltest_dfn@localhost;
CREATE USER mysqltest_inv@localhost;
-GRANT EXECUTE, CREATE ROUTINE, SUPER ON *.* TO mysqltest_dfn@localhost;
+GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost;
GRANT INSERT ON mysqltest_db1.* TO mysqltest_inv@localhost;
CREATE PROCEDURE p1(OUT i INT) DETERMINISTIC NO SQL SET i = 3;
CREATE PROCEDURE p2(INOUT i INT) DETERMINISTIC NO SQL SET i = i * 5;
@@ -394,3 +448,4 @@ DROP TABLE t1;
DROP DATABASE mysqltest_db1;
USE test;
End of 5.0 tests.
+End of 5.1 tests.
diff --git a/mysql-test/r/type_binary.result b/mysql-test/r/type_binary.result
index debf4ff8fb8..432c58272a2 100644
--- a/mysql-test/r/type_binary.result
+++ b/mysql-test/r/type_binary.result
@@ -21,8 +21,8 @@ create table t1 (s1 varbinary(20), s2 varbinary(20));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `s1` varbinary(20) default NULL,
- `s2` varbinary(20) default NULL
+ `s1` varbinary(20) DEFAULT NULL,
+ `s2` varbinary(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (0x41,0x4100),(0x41,0x4120),(0x4100,0x4120);
select hex(s1), hex(s2) from t1;
@@ -47,7 +47,7 @@ create table t1 (s1 binary(2) primary key);
insert into t1 values (0x01);
insert into t1 values (0x0120);
insert into t1 values (0x0100);
-ERROR 23000: Duplicate entry '' for key 1
+ERROR 23000: Duplicate entry '' for key 'PRIMARY'
select hex(s1) from t1 order by s1;
hex(s1)
0100
diff --git a/mysql-test/r/type_bit.result b/mysql-test/r/type_bit.result
index 4c4fcb9a9ae..fee0df9ab02 100644
--- a/mysql-test/r/type_bit.result
+++ b/mysql-test/r/type_bit.result
@@ -41,7 +41,7 @@ create table t1 (a bit(0));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) default NULL
+ `a` bit(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a bit(64));
@@ -62,7 +62,7 @@ drop table t1;
create table t1 (a bit);
insert into t1 values (b'0'), (b'1'), (b'000'), (b'100'), (b'001');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 4
select hex(a) from t1;
hex(a)
0
@@ -71,12 +71,12 @@ hex(a)
1
1
alter table t1 add unique (a);
-ERROR 23000: Duplicate entry '' for key 1
+ERROR 23000: Duplicate entry '' for key 'a'
drop table t1;
create table t1 (a bit(2));
insert into t1 values (b'00'), (b'01'), (b'10'), (b'100');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 4
select a+0 from t1;
a+0
0
@@ -463,7 +463,7 @@ drop table t1;
create table t1 (a bit(8)) engine=heap;
insert into t1 values ('1111100000');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select a+0 from t1;
a+0
255
@@ -496,7 +496,7 @@ a+0
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` bit(7) default NULL
+ `a` bit(7) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (id1 int(11), b1 bit(1));
@@ -607,7 +607,7 @@ drop table bug15583;
create table t1(a bit(1), b smallint unsigned);
insert into t1 (b, a) values ('2', '1');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select hex(a), b from t1;
hex(a) b
1 2
@@ -685,3 +685,29 @@ SELECT 1 FROM t1 GROUP BY a;
1
DROP TABLE t1;
End of 5.0 tests
+create table t1(a bit(7));
+insert into t1 values(0x40);
+alter table t1 modify column a bit(8);
+select hex(a) from t1;
+hex(a)
+40
+insert into t1 values(0x80);
+select hex(a) from t1;
+hex(a)
+40
+80
+create index a on t1(a);
+insert into t1 values(0x81);
+select hex(a) from t1;
+hex(a)
+40
+80
+81
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bit(8) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+End of 5.1 tests
diff --git a/mysql-test/r/type_bit_innodb.result b/mysql-test/r/type_bit_innodb.result
index d0cf15e59a5..a9c3cae1770 100644
--- a/mysql-test/r/type_bit_innodb.result
+++ b/mysql-test/r/type_bit_innodb.result
@@ -41,7 +41,7 @@ create table t1 (a bit(0)) engine=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) default NULL
+ `a` bit(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a bit(64)) engine=innodb;
@@ -62,7 +62,7 @@ drop table t1;
create table t1 (a bit) engine=innodb;
insert into t1 values (b'0'), (b'1'), (b'000'), (b'100'), (b'001');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 4
select hex(a) from t1;
hex(a)
0
@@ -71,12 +71,12 @@ hex(a)
1
1
alter table t1 add unique (a);
-ERROR 23000: Duplicate entry '' for key 1
+ERROR 23000: Duplicate entry '' for key 'a'
drop table t1;
create table t1 (a bit(2)) engine=innodb;
insert into t1 values (b'00'), (b'01'), (b'10'), (b'100');
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 4
select a+0 from t1;
a+0
0
@@ -386,22 +386,22 @@ create table t1 (a bit, b bit(10)) engine=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) default NULL,
- `b` bit(10) default NULL
+ `a` bit(1) DEFAULT NULL,
+ `b` bit(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
alter table t1 engine=heap;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) default NULL,
- `b` bit(10) default NULL
+ `a` bit(1) DEFAULT NULL,
+ `b` bit(10) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
alter table t1 engine=innodb;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` bit(1) default NULL,
- `b` bit(10) default NULL
+ `a` bit(1) DEFAULT NULL,
+ `b` bit(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a bit(7)) engine=innodb;
diff --git a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result
index 80d233ee16a..c98c8c5b68c 100644
--- a/mysql-test/r/type_blob.result
+++ b/mysql-test/r/type_blob.result
@@ -29,7 +29,7 @@ t3 CREATE TABLE `t3` (
show create TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
- `c` mediumtext character set utf8 NOT NULL
+ `c` mediumtext CHARACTER SET utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1,t2,t3,t4;
CREATE TABLE t1 (a char(257) default "hello");
@@ -516,8 +516,8 @@ explain extended select
charset(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat')),
collation(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat')),
coercibility(load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat'));
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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'))`
update t1 set imagem=load_file('MYSQLTEST_VARDIR/std_data_ln/words.dat') where id=1;
@@ -532,9 +532,9 @@ l longblob NULL YES NULL #
drop table t1;
create table t1 (id integer primary key auto_increment, txt text not null, unique index txt_index (txt (20)));
insert into t1 (txt) values ('Chevy'), ('Chevy ');
-ERROR 23000: Duplicate entry 'Chevy ' for key 2
+ERROR 23000: Duplicate entry 'Chevy ' for key 'txt_index'
insert into t1 (txt) values ('Chevy'), ('CHEVY');
-ERROR 23000: Duplicate entry 'Chevy' for key 2
+ERROR 23000: Duplicate entry 'Chevy' for key 'txt_index'
alter table t1 drop index txt_index, add index txt_index (txt(20));
insert into t1 (txt) values ('Chevy ');
select * from t1 where txt='Chevy';
@@ -711,12 +711,12 @@ alter table t1 add key (a,b,d,e);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL default '0',
- `b` int(11) NOT NULL default '0',
+ `a` int(11) NOT NULL DEFAULT '0',
+ `b` int(11) NOT NULL DEFAULT '0',
`c` tinyblob NOT NULL,
- `d` int(11) NOT NULL default '0',
- `e` int(11) default NULL,
- PRIMARY KEY (`a`,`b`,`c`(255),`d`),
+ `d` int(11) NOT NULL DEFAULT '0',
+ `e` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`,`b`,`c`(255),`d`),
KEY `a` (`a`,`b`,`d`,`e`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
diff --git a/mysql-test/r/type_date.result b/mysql-test/r/type_date.result
index 3cf1a166e7f..5921991bf50 100644
--- a/mysql-test/r/type_date.result
+++ b/mysql-test/r/type_date.result
@@ -110,25 +110,34 @@ select 1 from t1 where cast('2000-01-01 12:01:01' as datetime) between start_dat
1
1
drop table t1;
-select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
-@d:=1111 year(@d) month(@d) day(@d) cast(@d as date)
-1111 2000 11 11 2000-11-11
-select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
-@d:=011111 year(@d) month(@d) day(@d) cast(@d as date)
-11111 2001 11 11 2001-11-11
-select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
-@d:=1311 year(@d) month(@d) day(@d) cast(@d as date)
-1311 NULL NULL NULL NULL
+select @d:=1111;
+@d:=1111
+1111
+select year(@d), month(@d), day(@d), cast(@d as date);
+year(@d) month(@d) day(@d) cast(@d as date)
+2000 11 11 2000-11-11
+select @d:=011111;
+@d:=011111
+11111
+select year(@d), month(@d), day(@d), cast(@d as date);
+year(@d) month(@d) day(@d) cast(@d as date)
+2001 11 11 2001-11-11
+select @d:=1311;
+@d:=1311
+1311
+select year(@d), month(@d), day(@d), cast(@d as date);
+year(@d) month(@d) day(@d) cast(@d as date)
+NULL NULL NULL NULL
Warnings:
-Warning 1292 Truncated incorrect datetime value: '1311'
-Warning 1292 Truncated incorrect datetime value: '1311'
-Warning 1292 Truncated incorrect datetime value: '1311'
-Warning 1292 Truncated incorrect datetime value: '1311'
+Warning 1292 Incorrect datetime value: '1311'
+Warning 1292 Incorrect datetime value: '1311'
+Warning 1292 Incorrect datetime value: '1311'
+Warning 1292 Incorrect datetime value: '1311'
create table t1 (d date , dt datetime , ts timestamp);
insert into t1 values (9912101,9912101,9912101);
Warnings:
-Warning 1264 Out of range value adjusted for column 'd' at row 1
-Warning 1264 Out of range value adjusted for column 'dt' at row 1
+Warning 1264 Out of range value for column 'd' at row 1
+Warning 1264 Out of range value for column 'dt' at row 1
Warning 1265 Data truncated for column 'ts' at row 1
insert into t1 values (11111,11111,11111);
select * from t1;
@@ -252,3 +261,10 @@ ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1
SET SQL_MODE=DEFAULT;
DROP TABLE t1,t2;
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 3814e2f8348..d485c468a39 100644
--- a/mysql-test/r/type_datetime.result
+++ b/mysql-test/r/type_datetime.result
@@ -52,7 +52,7 @@ t
truncate table t1;
insert into t1 values("2003-0303 12:13:14");
Warnings:
-Warning 1264 Out of range value adjusted for column 't' at row 1
+Warning 1264 Out of range value for column 't' at row 1
select * from t1;
t
0000-00-00 00:00:00
@@ -115,12 +115,12 @@ create table t1 (t datetime);
insert into t1 values (20030102030460),(20030102036301),(20030102240401),
(20030132030401),(20031302030401),(100001202030401);
Warnings:
-Warning 1264 Out of range value adjusted for column 't' at row 1
-Warning 1264 Out of range value adjusted for column 't' at row 2
-Warning 1264 Out of range value adjusted for column 't' at row 3
-Warning 1264 Out of range value adjusted for column 't' at row 4
-Warning 1264 Out of range value adjusted for column 't' at row 5
-Warning 1264 Out of range value adjusted for column 't' at row 6
+Warning 1264 Out of range value for column 't' at row 1
+Warning 1264 Out of range value for column 't' at row 2
+Warning 1264 Out of range value for column 't' at row 3
+Warning 1264 Out of range value for column 't' at row 4
+Warning 1264 Out of range value for column 't' at row 5
+Warning 1264 Out of range value for column 't' at row 6
select * from t1;
t
0000-00-00 00:00:00
@@ -134,12 +134,12 @@ insert into t1 values
("2003-01-02 03:04:60"),("2003-01-02 03:63:01"),("2003-01-02 24:04:01"),
("2003-01-32 03:04:01"),("2003-13-02 03:04:01"), ("10000-12-02 03:04:00");
Warnings:
-Warning 1264 Out of range value adjusted for column 't' at row 1
-Warning 1264 Out of range value adjusted for column 't' at row 2
-Warning 1264 Out of range value adjusted for column 't' at row 3
-Warning 1264 Out of range value adjusted for column 't' at row 4
-Warning 1264 Out of range value adjusted for column 't' at row 5
-Warning 1264 Out of range value adjusted for column 't' at row 6
+Warning 1264 Out of range value for column 't' at row 1
+Warning 1264 Out of range value for column 't' at row 2
+Warning 1264 Out of range value for column 't' at row 3
+Warning 1264 Out of range value for column 't' at row 4
+Warning 1264 Out of range value for column 't' at row 5
+Warning 1264 Out of range value for column 't' at row 6
select * from t1;
t
0000-00-00 00:00:00
@@ -151,9 +151,9 @@ t
delete from t1;
insert into t1 values ("0000-00-00 00:00:00 some trailer"),("2003-01-01 00:00:00 some trailer");
Warnings:
-Warning 1264 Out of range value adjusted for column 't' at row 1
-Warning 1264 Out of range value adjusted for column 't' at row 2
-select * from t1;
+Warning 1264 Out of range value for column 't' at row 1
+Warning 1264 Out of range value for column 't' at row 2
+select * from t1 order by t;
t
0000-00-00 00:00:00
2003-01-01 00:00:00
@@ -201,8 +201,8 @@ Note 1265 Data truncated for column 'da' at row 1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `da` date default '1962-03-03',
- `dt` datetime default '1962-03-03 00:00:00'
+ `da` date DEFAULT '1962-03-03',
+ `dt` datetime DEFAULT '1962-03-03 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ();
insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38');
@@ -365,8 +365,8 @@ least(cast('01-01-01' as datetime), '01-01-02') + 0
select cast(least(cast('01-01-01' as datetime), '01-01-02') as signed);
cast(least(cast('01-01-01' as datetime), '01-01-02') as signed)
20010101000000
-select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(20,2));
-cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(20,2))
+select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2));
+cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2))
20010101000000.00
DROP PROCEDURE IF EXISTS test27759 ;
CREATE PROCEDURE test27759()
@@ -497,7 +497,7 @@ select * from t1 where (convert(f1,datetime)) != 1;
f1
15:44:44
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00 45:44:44'
+Warning 1292 Incorrect datetime value: '0000-00-00 45:44:44'
drop table t1;
create table t1 (a tinyint);
insert into t1 values (), (), ();
@@ -512,9 +512,9 @@ 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 Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+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))
@@ -524,9 +524,9 @@ 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 Extra
-1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+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))
@@ -538,9 +538,9 @@ 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 Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
-2 DEPENDENT SUBQUERY x1 ALL NULL NULL NULL NULL 2 Using where
+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`))))
@@ -550,9 +550,9 @@ 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 Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
-2 DEPENDENT SUBQUERY x1 ALL NULL NULL NULL NULL 2 Using where
+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`))))
@@ -561,3 +561,38 @@ 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:
+Note 1265 Data truncated for column 'da' at row 1
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `da` date DEFAULT '1962-03-03',
+ `dt` datetime DEFAULT '1962-03-03 00:00:00'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+insert into t1 values ();
+insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38');
+Warnings:
+Note 1265 Data truncated for column 'da' at row 1
+set @@sql_mode='ansi,traditional';
+insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38');
+Warnings:
+Note 1265 Data truncated for column 'da' at row 1
+insert into t1 set dt='2007-03-23 13:49:38',da=dt;
+Warnings:
+Note 1265 Data truncated for column 'da' at row 1
+insert into t1 values ('2007-03-32','2007-03-23 13:49:38');
+ERROR 22007: Incorrect date value: '2007-03-32' for column 'da' at row 1
+select * from t1;
+da dt
+1962-03-03 1962-03-03 00:00:00
+2007-03-23 2007-03-23 13:49:38
+2007-03-23 2007-03-23 13:49:38
+2007-03-23 2007-03-23 13:49:38
+drop table t1;
+create table t1 (da date default '1962-03-32 23:33:34', dt datetime default '1962-03-03');
+ERROR 42000: Invalid default value for 'da'
+create table t1 (t time default '916:00:00 a');
+ERROR 42000: Invalid default value for 't'
+set @@sql_mode= @org_mode;
diff --git a/mysql-test/r/type_decimal.result b/mysql-test/r/type_decimal.result
index a438755ce6b..e37a398d22e 100644
--- a/mysql-test/r/type_decimal.result
+++ b/mysql-test/r/type_decimal.result
@@ -157,25 +157,25 @@ insert into t1 values ("-.1"),("+.1"),(".1");
insert into t1 values ("00000000000001"),("+0000000000001"),("-0000000000001");
insert into t1 values ("+111111111.11"),("111111111.11"),("-11111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
insert into t1 values ("-111111111.11"),("+1111111111.11"),("1111111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("1e+1000"),("1e-1000"),("-1e+1000");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Note 1265 Data truncated for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("1e+4294967296"),("1e-4294967296");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Note 1265 Data truncated for column 'a' at row 2
insert into t1 values ("1e+18446744073709551615"),("1e+18446744073709551616"),("1e-9223372036854775807"),("1e-9223372036854775809");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Warning 1366 Incorrect decimal value: '1e+18446744073709551616' for column 'a' at row 2
Note 1265 Data truncated for column 'a' at row 3
Warning 1366 Incorrect decimal value: '1e-9223372036854775809' for column 'a' at row 4
@@ -221,29 +221,29 @@ drop table t1;
create table t1 (a decimal(10,2) unsigned);
insert into t1 values ("0.0"),("-0.0"),("+0.0"),("01.0"),("+01.0"),("-01.0");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 6
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 6
insert into t1 values ("-.1"),("+.1"),(".1");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values ("00000000000001"),("+0000000000001"),("-0000000000001");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("+111111111.11"),("111111111.11"),("-11111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("-111111111.11"),("+1111111111.11"),("1111111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("1e+1000"),("1e-1000"),("-1e+1000");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Note 1265 Data truncated for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("123.4e"),("123.4e+2"),("123.4e-2"),("123e1"),("123e+0");
Warnings:
Note 1265 Data truncated for column 'a' at row 1
@@ -280,29 +280,29 @@ drop table t1;
create table t1 (a decimal(10,2) zerofill);
insert into t1 values ("0.0"),("-0.0"),("+0.0"),("01.0"),("+01.0"),("-01.0");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 6
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 6
insert into t1 values ("-.1"),("+.1"),(".1");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values ("00000000000001"),("+0000000000001"),("-0000000000001");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("+111111111.11"),("111111111.11"),("-11111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("-111111111.11"),("+1111111111.11"),("1111111111.11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("1e+1000"),("1e-1000"),("-1e+1000");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Note 1265 Data truncated for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values ("123.4e"),("123.4e+2"),("123.4e-2"),("123e1"),("123e+0");
Warnings:
Note 1265 Data truncated for column 'a' at row 1
@@ -342,18 +342,18 @@ insert into t1 values (-.1),(+.1),(.1);
insert into t1 values (00000000000001),(+0000000000001),(-0000000000001);
insert into t1 values (+111111111.11),(111111111.11),(-11111111.11);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
insert into t1 values (-111111111.11),(+1111111111.11),(1111111111.11);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values (1e+100),(1e-100),(-1e+100);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
Note 1265 Data truncated for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
insert into t1 values (123.4e0),(123.4e+2),(123.4e-2),(123e1),(123e+0);
Warnings:
Note 1265 Data truncated for column 'a' at row 3
@@ -393,9 +393,9 @@ drop table t1;
create table t1 (a decimal);
insert into t1 values (-99999999999999),(-1),('+1'),('01'),('+00000000000001'),('+12345678901'),(99999999999999);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 6
-Warning 1264 Out of range value adjusted for column 'a' at row 7
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 6
+Warning 1264 Out of range value for column 'a' at row 7
select * from t1;
a
-9999999999
@@ -409,9 +409,9 @@ drop table t1;
create table t1 (a decimal unsigned);
insert into t1 values (-99999999999999),(-1),('+1'),('01'),('+00000000000001'),('+1234567890'),(99999999999999);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 7
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 7
select * from t1;
a
0
@@ -425,9 +425,9 @@ drop table t1;
create table t1 (a decimal zerofill);
insert into t1 values (-99999999999999),(-1),('+1'),('01'),('+00000000000001'),('+1234567890'),(99999999999999);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 7
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 7
select * from t1;
a
0000000000
@@ -441,9 +441,9 @@ drop table t1;
create table t1 (a decimal unsigned zerofill);
insert into t1 values (-99999999999999),(-1),('+1'),('01'),('+00000000000001'),('+1234567890'),(99999999999999);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 7
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 7
select * from t1;
a
0000000000
@@ -457,14 +457,14 @@ drop table t1;
create table t1(a decimal(10,0));
insert into t1 values ("1e4294967295");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
9999999999
delete from t1;
insert into t1 values("1e4294967297");
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
9999999999
@@ -710,14 +710,14 @@ create table t1 (d decimal(5));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `d` decimal(5,0) default NULL
+ `d` decimal(5,0) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (d decimal);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `d` decimal(10,0) default NULL
+ `d` decimal(10,0) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (d decimal(66,0));
@@ -787,9 +787,9 @@ select group_concat(t) from t1 group by week(date)/10;
group_concat(t)
t
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+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,
@@ -881,8 +881,8 @@ 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
+ `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
diff --git a/mysql-test/r/type_enum.result b/mysql-test/r/type_enum.result
index 9de296844a0..813f912c5af 100644
--- a/mysql-test/r/type_enum.result
+++ b/mysql-test/r/type_enum.result
@@ -1633,7 +1633,7 @@ create table t1 (a enum (' ','a','b ') not null default 'b ');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('','a','b') NOT NULL default 'b'
+ `a` enum('','a','b') NOT NULL DEFAULT 'b'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a enum ('0','1'));
@@ -1658,7 +1658,7 @@ a enum('','1','2') NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('','1','2') NOT NULL default ''
+ `a` enum('','1','2') NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set names latin1;
@@ -1669,7 +1669,7 @@ b ENUM('value','_value','') character set latin1 NOT NULL
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) default '1',
+ `a` int(11) DEFAULT '1',
`b` enum('value','_value','') NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
@@ -1699,7 +1699,7 @@ a ENUM('','','') character set utf8 default ''
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('','','') character set utf8 default ''
+ `a` enum('','','') CHARACTER SET utf8 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (''), (''), ('');
select a from t1 order by a;
@@ -1717,7 +1717,7 @@ set names latin1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('','','') default ''
+ `a` enum('','','') DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select a from t1 order by a;
a
@@ -1750,29 +1750,29 @@ alter table t1 add f2 enum(0xFFFF);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL,
- `f2` enum('') default NULL
+ `f1` int(11) DEFAULT NULL,
+ `f2` enum('') DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(russian enum('E','F','EF','FE') NOT NULL DEFAULT'E');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `russian` enum('E','F','EF','FE') NOT NULL default 'E'
+ `russian` enum('E','F','EF','FE') NOT NULL DEFAULT 'E'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(denormal enum('E','F','E,F','F,E') NOT NULL DEFAULT'E');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `denormal` enum('E','F','E,F','F,E') NOT NULL default 'E'
+ `denormal` enum('E','F','E,F','F,E') NOT NULL DEFAULT 'E'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(russian_deviant enum('E','F','EF','F,E') NOT NULL DEFAULT'E');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `russian_deviant` enum('E','F','EF','F,E') NOT NULL default 'E'
+ `russian_deviant` enum('E','F','EF','F,E') NOT NULL DEFAULT 'E'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1(exhausting_charset enum('ABCDEFGHIJKLMNOPQRSTUVWXYZ','
@@ -1853,3 +1853,4 @@ SELECT a FROM t1 WHERE a=0;
a
DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/r/type_float.result b/mysql-test/r/type_float.result
index f1075604ca9..6fbc8268a64 100644
--- a/mysql-test/r/type_float.result
+++ b/mysql-test/r/type_float.result
@@ -24,8 +24,8 @@ f1 float NULL YES NULL #
f2 double NULL YES NULL #
insert into t1 values(10,10),(1e+5,1e+5),(1234567890,1234567890),(1e+10,1e+10),(1e+15,1e+15),(1e+20,1e+20),(1e+50,1e+50),(1e+150,1e+150);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 7
-Warning 1264 Out of range value adjusted for column 'f1' at row 8
+Warning 1264 Out of range value for column 'f1' at row 7
+Warning 1264 Out of range value for column 'f1' at row 8
insert into t1 values(-10,-10),(1e-5,1e-5),(1e-10,1e-10),(1e-15,1e-15),(1e-20,1e-20),(1e-50,1e-50),(1e-150,1e-150);
select * from t1;
f1 f2
@@ -91,10 +91,10 @@ col1 col2 col3 col4
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `col1` double default NULL,
- `col2` double(22,5) default NULL,
- `col3` double default NULL,
- `col4` double default NULL
+ `col1` double DEFAULT NULL,
+ `col2` double(22,5) DEFAULT NULL,
+ `col3` double DEFAULT NULL,
+ `col4` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1,t2;
create table t1 (a float);
@@ -149,7 +149,7 @@ create table t1 (d1 double, d2 double unsigned);
insert into t1 set d1 = -1.0;
update t1 set d2 = d1;
Warnings:
-Warning 1264 Out of range value adjusted for column 'd2' at row 1
+Warning 1264 Out of range value for column 'd2' at row 1
select * from t1;
d1 d2
-1 0
@@ -157,12 +157,12 @@ drop table t1;
create table t1 (f float(4,3));
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'f' at row 1
-Warning 1264 Out of range value adjusted for column 'f' at row 2
-Warning 1264 Out of range value adjusted for column 'f' at row 3
-Warning 1264 Out of range value adjusted for column 'f' at row 4
-Warning 1264 Out of range value adjusted for column 'f' at row 5
-Warning 1264 Out of range value adjusted for column 'f' at row 6
+Warning 1264 Out of range value for column 'f' at row 1
+Warning 1264 Out of range value for column 'f' at row 2
+Warning 1264 Out of range value for column 'f' at row 3
+Warning 1264 Out of range value for column 'f' at row 4
+Warning 1264 Out of range value for column 'f' at row 5
+Warning 1264 Out of range value for column 'f' at row 6
select * from t1;
f
-9.999
@@ -175,12 +175,12 @@ drop table if exists t1;
create table t1 (f double(4,3));
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11");
Warnings:
-Warning 1264 Out of range value adjusted for column 'f' at row 1
-Warning 1264 Out of range value adjusted for column 'f' at row 2
-Warning 1264 Out of range value adjusted for column 'f' at row 3
-Warning 1264 Out of range value adjusted for column 'f' at row 4
-Warning 1264 Out of range value adjusted for column 'f' at row 5
-Warning 1264 Out of range value adjusted for column 'f' at row 6
+Warning 1264 Out of range value for column 'f' at row 1
+Warning 1264 Out of range value for column 'f' at row 2
+Warning 1264 Out of range value for column 'f' at row 3
+Warning 1264 Out of range value for column 'f' at row 4
+Warning 1264 Out of range value for column 'f' at row 5
+Warning 1264 Out of range value for column 'f' at row 6
select * from t1;
f
-9.999
@@ -237,7 +237,7 @@ d
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
- `d` double default NULL
+ `d` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2, t3;
create table t1 select 105213674794682365.00 + 0.0 x;
@@ -365,8 +365,8 @@ insert into t1 values (1e199), (-1e199);
insert into t1 values (1e200), (-1e200);
insert into t1 values (2e200), (-2e200);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
-Warning 1264 Out of range value adjusted for column 'f1' at row 2
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 2
select f1 + 0e0 from t1;
f1 + 0e0
1e+199
@@ -381,8 +381,8 @@ insert into t1 values (1e29), (-1e29);
insert into t1 values (1e30), (-1e30);
insert into t1 values (2e30), (-2e30);
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
-Warning 1264 Out of range value adjusted for column 'f1' at row 2
+Warning 1264 Out of range value for column 'f1' at row 1
+Warning 1264 Out of range value for column 'f1' at row 2
select f1 + 0e0 from t1;
f1 + 0e0
1.0000000150475e+29
diff --git a/mysql-test/r/type_nchar.result b/mysql-test/r/type_nchar.result
index f844b3b0241..95741d37e2a 100644
--- a/mysql-test/r/type_nchar.result
+++ b/mysql-test/r/type_nchar.result
@@ -3,48 +3,48 @@ create table t1 (c nchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 default NULL
+ `c` char(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national char(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) character set utf8 default NULL
+ `c` char(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national varchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) character set utf8 default NULL
+ `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nvarchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) character set utf8 default NULL
+ `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nchar varchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) character set utf8 default NULL
+ `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national character varying(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) character set utf8 default NULL
+ `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nchar varying(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) character set utf8 default NULL
+ `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result
index b53b49bd0dd..71be41b106f 100644
--- a/mysql-test/r/type_newdecimal.result
+++ b/mysql-test/r/type_newdecimal.result
@@ -52,13 +52,13 @@ if(1, 1.1, 1.2) if(0, 1.1, 1.2) if(0.1, 1.1, 1.2) if(0, 1, 1.1) if(0, NULL, 1.2)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `if(1, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
- `if(0, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
- `if(0.1, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
- `if(0, 1, 1.1)` decimal(2,1) NOT NULL default '0.0',
- `if(0, NULL, 1.2)` decimal(2,1) default NULL,
- `if(1, 0.22e1, 1.1)` double NOT NULL default '0',
- `if(1E0, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0'
+ `if(1, 1.1, 1.2)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `if(0, 1.1, 1.2)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `if(0.1, 1.1, 1.2)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `if(0, 1, 1.1)` decimal(2,1) NOT NULL DEFAULT '0.0',
+ `if(0, NULL, 1.2)` decimal(2,1) DEFAULT NULL,
+ `if(1, 0.22e1, 1.1)` double NOT NULL DEFAULT '0',
+ `if(1E0, 1.1, 1.2)` decimal(2,1) NOT NULL DEFAULT '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select nullif(1.1, 1.1), nullif(1.1, 1.2), nullif(1.1, 0.11e1), nullif(1.0, 1), nullif(1, 1.0), nullif(1, 1.1);
@@ -68,27 +68,27 @@ NULL 1.1 NULL NULL NULL 1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `nullif(1.1, 1.1)` decimal(2,1) default NULL,
- `nullif(1.1, 1.2)` decimal(2,1) default NULL,
- `nullif(1.1, 0.11e1)` decimal(2,1) default NULL,
- `nullif(1.0, 1)` decimal(2,1) default NULL,
- `nullif(1, 1.0)` int(1) default NULL,
- `nullif(1, 1.1)` int(1) default NULL
+ `nullif(1.1, 1.1)` decimal(2,1) DEFAULT NULL,
+ `nullif(1.1, 1.2)` decimal(2,1) DEFAULT NULL,
+ `nullif(1.1, 0.11e1)` decimal(2,1) DEFAULT NULL,
+ `nullif(1.0, 1)` decimal(2,1) DEFAULT NULL,
+ `nullif(1, 1.0)` int(1) DEFAULT NULL,
+ `nullif(1, 1.1)` int(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a decimal(4,2));
insert into t1 value (10000), (1.1e10), ("11111"), (100000.1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 4
insert into t1 value (-10000), (-1.1e10), ("-11111"), (-100000.1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 4
select a from t1;
a
99.99
@@ -103,16 +103,16 @@ drop table t1;
create table t1 (a decimal(4,2) unsigned);
insert into t1 value (10000), (1.1e10), ("11111"), (100000.1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 4
insert into t1 value (-10000), (-1.1e10), ("-11111"), (-100000.1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
-Warning 1264 Out of range value adjusted for column 'a' at row 4
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1264 Out of range value for column 'a' at row 4
select a from t1;
a
99.99
@@ -127,13 +127,13 @@ drop table t1;
create table t1 (a bigint);
insert into t1 values (18446744073709551615.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values (9223372036854775808.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values (-18446744073709551615.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
9223372036854775807
@@ -145,10 +145,10 @@ insert into t1 values (18446744073709551615.0);
insert into t1 values (9223372036854775808.0);
insert into t1 values (9999999999999999999999999.000);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values (-1.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
18446744073709551615
@@ -159,12 +159,12 @@ drop table t1;
create table t1 (a tinyint);
insert into t1 values (18446744073709551615.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
insert into t1 values (9223372036854775808.0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'a' at row 1
-Warning 1264 Out of range value adjusted for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 1
select * from t1;
a
127
@@ -174,10 +174,10 @@ create table t1 select round(15.4,-1), truncate(-5678.123451,-3), abs(-1.1), -(-
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `round(15.4,-1)` decimal(3,0) NOT NULL default '0',
- `truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0',
- `abs(-1.1)` decimal(3,1) NOT NULL default '0.0',
- `-(-1.1)` decimal(2,1) NOT NULL default '0.0'
+ `round(15.4,-1)` decimal(3,0) NOT NULL DEFAULT '0',
+ `truncate(-5678.123451,-3)` decimal(4,0) NOT NULL DEFAULT '0',
+ `abs(-1.1)` decimal(3,1) NOT NULL DEFAULT '0.0',
+ `-(-1.1)` decimal(2,1) NOT NULL DEFAULT '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set session sql_mode='traditional';
@@ -771,7 +771,7 @@ create table t1 as select 0.5;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `0.5` decimal(2,1) NOT NULL default '0.0'
+ `0.5` decimal(2,1) NOT NULL DEFAULT '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select round(1.5),round(2.5);
@@ -806,9 +806,9 @@ Warnings:
Note 1265 Data truncated for column 'col1' at row 1
INSERT INTO Sow6_2f VALUES (11);
INSERT INTO Sow6_2f VALUES (101.55);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
UPDATE Sow6_2f SET col1 = col1 * 50 WHERE col1 = 11;
-ERROR 22003: Out of range value adjusted for column 'col1' at row 5
+ERROR 22003: Out of range value for column 'col1' at row 5
UPDATE Sow6_2f SET col1 = col1 / 0 WHERE col1 > 0;
ERROR 22012: Division by 0
SELECT MOD(col1,0) FROM Sow6_2f;
@@ -872,13 +872,13 @@ NULL
set @@sql_mode='traditional';
create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (22) unsigned);
insert into t1 values(1,-1,-1);
-ERROR 22003: Out of range value adjusted for column 'd2' at row 1
+ERROR 22003: Out of range value for column 'd2' at row 1
drop table t1;
create table t1 (col1 decimal(5,2), col2 numeric(5,2));
insert into t1 values (999.999,999.999);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
insert into t1 values (-999.999,-999.999);
-ERROR 22003: Out of range value adjusted for column 'col1' at row 1
+ERROR 22003: Out of range value for column 'col1' at row 1
select * from t1;
col1 col2
drop table t1;
@@ -934,14 +934,14 @@ create table t1 (sl decimal(5, 5));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `sl` decimal(5,5) default NULL
+ `sl` decimal(5,5) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (sl decimal(65, 30));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `sl` decimal(65,30) default NULL
+ `sl` decimal(65,30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (
@@ -973,8 +973,8 @@ f1 decimal (0,0) zerofill not null default 0);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f0` decimal(30,30) unsigned zerofill NOT NULL default '0.000000000000000000000000000000',
- `f1` decimal(10,0) unsigned zerofill NOT NULL default '0000000000'
+ `f0` decimal(30,30) unsigned zerofill NOT NULL DEFAULT '0.000000000000000000000000000000',
+ `f1` decimal(10,0) unsigned zerofill NOT NULL DEFAULT '0000000000'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
drop procedure if exists wg2;
@@ -1021,10 +1021,10 @@ my_decimal DECIMAL(65,30)
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `my_float` float default NULL,
- `my_double` double default NULL,
- `my_varchar` varchar(50) default NULL,
- `my_decimal` decimal(65,30) default NULL
+ `my_float` float DEFAULT NULL,
+ `my_double` double DEFAULT NULL,
+ `my_varchar` varchar(50) DEFAULT NULL,
+ `my_decimal` decimal(65,30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 SET my_float = 1.175494345e-32,
my_double = 1.175494345e-32,
@@ -1381,7 +1381,7 @@ insert into t1 values(
89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);
Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
insert into t1 values(
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 *
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999);
@@ -1389,16 +1389,26 @@ Warnings:
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
Error 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
insert into t1 values(1e100);
Warnings:
-Warning 1264 Out of range value adjusted for column 'c1' at row 1
+Warning 1264 Out of range value for column 'c1' at row 1
select * from t1;
c1
9999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999
drop table t1;
+create table t1(a decimal(7,2));
+insert into t1 values(123.12);
+select * from t1;
+a
+123.12
+alter table t1 modify a decimal(10,2);
+select * from t1;
+a
+123.12
+drop table t1;
create table t1 (i int, j int);
insert into t1 values (1,1), (1,2), (2,3), (2,4);
select i, count(distinct j) from t1 group by i;
@@ -1434,12 +1444,12 @@ select cast(11.1234 as DECIMAL(3,2));
cast(11.1234 as DECIMAL(3,2))
9.99
Warnings:
-Error 1264 Out of range value adjusted for column 'cast(11.1234 as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(11.1234 as DECIMAL(3,2))' at row 1
select * from (select cast(11.1234 as DECIMAL(3,2))) t;
cast(11.1234 as DECIMAL(3,2))
9.99
Warnings:
-Error 1264 Out of range value adjusted for column 'cast(11.1234 as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(11.1234 as DECIMAL(3,2))' at row 1
select cast(a as DECIMAL(3,2))
from (select 11.1233 as a
UNION select 11.1234
@@ -1450,9 +1460,9 @@ cast(a as DECIMAL(3,2))
9.99
9.99
Warnings:
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
select cast(a as DECIMAL(3,2)), count(*)
from (select 11.1233 as a
UNION select 11.1234
@@ -1461,10 +1471,10 @@ UNION select 12.1234
cast(a as DECIMAL(3,2)) count(*)
9.99 3
Warnings:
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
-Error 1264 Out of range value adjusted for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
+Error 1264 Out of range value for column 'cast(a as DECIMAL(3,2))' at row 1
create table t1 (s varchar(100));
insert into t1 values (0.00000000010000000000000000364321973154977415791655470655996396089904010295867919921875);
drop table t1;
@@ -1511,7 +1521,7 @@ f1
DROP TABLE t1;
CREATE TABLE t1 SELECT 123451234512345123451234512345123451234512345.678906789067890678906789067890678906789067890 AS f1;
Warnings:
-Warning 1264 Out of range value adjusted for column 'f1' at row 1
+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
@@ -1520,3 +1530,30 @@ 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))
+143.5
+select cast(143.481 as decimal(4,0));
+cast(143.481 as decimal(4,0))
+143
+select cast(143.481 as decimal(2,1));
+cast(143.481 as decimal(2,1))
+9.9
+Warnings:
+Error 1264 Out of range value for column 'cast(143.481 as decimal(2,1))' at row 1
+select cast(-3.4 as decimal(2,1));
+cast(-3.4 as decimal(2,1))
+-3.4
+select cast(99.6 as decimal(2,0));
+cast(99.6 as decimal(2,0))
+99
+Warnings:
+Error 1264 Out of range value for column 'cast(99.6 as decimal(2,0))' at row 1
+select cast(-13.4 as decimal(2,1));
+cast(-13.4 as decimal(2,1))
+-9.9
+Warnings:
+Error 1264 Out of range value for column 'cast(-13.4 as decimal(2,1))' at row 1
+select cast(98.6 as decimal(2,0));
+cast(98.6 as decimal(2,0))
+99
diff --git a/mysql-test/r/type_ranges.result b/mysql-test/r/type_ranges.result
index 3b368ff135f..6e08067d8a4 100644
--- a/mysql-test/r/type_ranges.result
+++ b/mysql-test/r/type_ranges.result
@@ -57,7 +57,7 @@ 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 #
@@ -94,35 +94,35 @@ Warnings:
Warning 1265 Data truncated for column 'string' at row 1
insert into t1 values (0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,NULL,19970807,080706,19970403090807,-1,-1,-1,'-1',-1,-1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'utiny' at row 1
-Warning 1264 Out of range value adjusted for column 'ushort' at row 1
-Warning 1264 Out of range value adjusted for column 'umedium' at row 1
-Warning 1264 Out of range value adjusted for column 'ulong' at row 1
-Warning 1264 Out of range value adjusted for column 'ulonglong' at row 1
+Warning 1264 Out of range value for column 'utiny' at row 1
+Warning 1264 Out of range value for column 'ushort' at row 1
+Warning 1264 Out of range value for column 'umedium' at row 1
+Warning 1264 Out of range value for column 'ulong' at row 1
+Warning 1264 Out of range value for column 'ulonglong' at row 1
Warning 1265 Data truncated for column 'options' at row 1
Warning 1265 Data truncated for column 'flags' at row 1
insert into t1 values (0,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,NULL,0,0,0,-4294967295,-4294967295,-4294967295,'-4294967295',0,"one,two,tree");
Warnings:
Warning 1265 Data truncated for column 'string' at row 1
-Warning 1264 Out of range value adjusted for column 'tiny' at row 1
-Warning 1264 Out of range value adjusted for column 'short' at row 1
-Warning 1264 Out of range value adjusted for column 'medium' at row 1
-Warning 1264 Out of range value adjusted for column 'long_int' at row 1
-Warning 1264 Out of range value adjusted for column 'utiny' at row 1
-Warning 1264 Out of range value adjusted for column 'ushort' at row 1
-Warning 1264 Out of range value adjusted for column 'umedium' at row 1
-Warning 1264 Out of range value adjusted for column 'ulong' at row 1
-Warning 1264 Out of range value adjusted for column 'ulonglong' at row 1
+Warning 1264 Out of range value for column 'tiny' at row 1
+Warning 1264 Out of range value for column 'short' at row 1
+Warning 1264 Out of range value for column 'medium' at row 1
+Warning 1264 Out of range value for column 'long_int' at row 1
+Warning 1264 Out of range value for column 'utiny' at row 1
+Warning 1264 Out of range value for column 'ushort' at row 1
+Warning 1264 Out of range value for column 'umedium' at row 1
+Warning 1264 Out of range value for column 'ulong' at row 1
+Warning 1264 Out of range value for column 'ulonglong' at row 1
Warning 1265 Data truncated for column 'options' at row 1
insert into t1 values (0,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,NULL,0,0,0,4294967295,4294967295,4294967295,'4294967295',0,0);
Warnings:
-Warning 1264 Out of range value adjusted for column 'tiny' at row 1
-Warning 1264 Out of range value adjusted for column 'short' at row 1
-Warning 1264 Out of range value adjusted for column 'medium' at row 1
-Warning 1264 Out of range value adjusted for column 'long_int' at row 1
-Warning 1264 Out of range value adjusted for column 'utiny' at row 1
-Warning 1264 Out of range value adjusted for column 'ushort' at row 1
-Warning 1264 Out of range value adjusted for column 'umedium' at row 1
+Warning 1264 Out of range value for column 'tiny' at row 1
+Warning 1264 Out of range value for column 'short' at row 1
+Warning 1264 Out of range value for column 'medium' at row 1
+Warning 1264 Out of range value for column 'long_int' at row 1
+Warning 1264 Out of range value for column 'utiny' at row 1
+Warning 1264 Out of range value for column 'ushort' at row 1
+Warning 1264 Out of range value for column 'umedium' at row 1
Warning 1265 Data truncated for column 'options' at row 1
insert into t1 (tiny) values (1);
select auto,string,tiny,short,medium,long_int,longlong,real_float,real_double,utiny,ushort,umedium,ulong,ulonglong,mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000),date_field,time_field,date_time,blob_col,tinyblob_col,mediumblob_col,longblob_col from t1;
@@ -225,7 +225,7 @@ 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 #
@@ -322,7 +322,7 @@ select * from t3;
id_A id_B
1 1
2 NULL
-delete from t3;
+truncate table t3;
insert into t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id);
select * from t3;
id_A id_B
diff --git a/mysql-test/r/type_set.result b/mysql-test/r/type_set.result
index 03de20baef2..877400ab7e1 100644
--- a/mysql-test/r/type_set.result
+++ b/mysql-test/r/type_set.result
@@ -10,7 +10,7 @@ create table t1 (a set (' ','a','b ') not null default 'b ');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` set('','a','b') NOT NULL default 'b'
+ `a` set('','a','b') NOT NULL DEFAULT 'b'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
CREATE TABLE t1 ( user varchar(64) NOT NULL default '', path varchar(255) NOT NULL default '', privilege set('select','RESERVED30','RESERVED29','RESERVED28','RESERVED27','RESERVED26', 'RESERVED25','RESERVED24','data.delete','RESERVED22','RESERVED21', 'RESERVED20','data.insert.none','data.insert.approve', 'data.insert.delete','data.insert.move','data.insert.propose', 'data.insert.reject','RESERVED13','RESERVED12','RESERVED11','RESERVED10', 'RESERVED09','data.update','RESERVED07','RESERVED06','RESERVED05', 'RESERVED04','metadata.delete','metadata.put','RESERVED01','RESERVED00') NOT NULL default '', KEY user (user) ) ENGINE=MyISAM CHARSET=utf8;
@@ -20,7 +20,7 @@ create table t1 (s set ('a','A') character set latin1 collate latin1_bin);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `s` set('a','A') character set latin1 collate latin1_bin default NULL
+ `s` set('a','A') CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('a'),('a,A'),('A,a'),('A');
select s from t1 order by s;
@@ -82,6 +82,6 @@ Note 1291 Column 'f1' has duplicated value '1' in SET
show create table t1;
Table Create Table
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
+ `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;
diff --git a/mysql-test/r/type_time.result b/mysql-test/r/type_time.result
index 96bf23109df..d80a3973555 100644
--- a/mysql-test/r/type_time.result
+++ b/mysql-test/r/type_time.result
@@ -26,9 +26,9 @@ t
insert into t1 values("10.22.22"),(1234567),(123456789),(123456789.10),("10 22:22"),("12.45a");
Warnings:
Warning 1265 Data truncated for column 't' at row 1
-Warning 1264 Out of range value adjusted for column 't' at row 2
-Warning 1264 Out of range value adjusted for column 't' at row 3
-Warning 1264 Out of range value adjusted for column 't' at row 4
+Warning 1264 Out of range value for column 't' at row 2
+Warning 1264 Out of range value for column 't' at row 3
+Warning 1264 Out of range value for column 't' at row 4
Warning 1265 Data truncated for column 't' at row 6
select * from t1;
t
diff --git a/mysql-test/r/type_timestamp.result b/mysql-test/r/type_timestamp.result
index 445ada578d0..596dcbf432c 100644
--- a/mysql-test/r/type_timestamp.result
+++ b/mysql-test/r/type_timestamp.result
@@ -60,7 +60,7 @@ ix+0
19990501000000
19991101000000
19990501000000
-delete from t1;
+truncate table t1;
insert into t1 values ("19991101000000"),("19990102030405"),("19990630232922"),("19990601000000");
select ix+0 from t1;
ix+0
@@ -101,13 +101,13 @@ create table t1 (t2 timestamp(2), t4 timestamp(4), t6 timestamp(6),
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
t14 timestamp(14));
Warnings:
-Warning 1287 'TIMESTAMP(2)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(4)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(6)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(8)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(10)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(12)' is deprecated; use 'TIMESTAMP' instead
-Warning 1287 'TIMESTAMP(14)' is deprecated; use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
+Warning 1287 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead
insert t1 values (0,0,0,0,0,0,0),
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
@@ -141,7 +141,7 @@ ix+0
0
0
0
-delete from t1;
+truncate table t1;
insert into t1 values ("00000000000000"),("20030101010160"),("20030101016001"),("20030101240101"),("20030132010101"),("20031301010101"),("20031200000000"),("20030000000000");
Warnings:
Warning 1265 Data truncated for column 'ix' at row 2
@@ -161,7 +161,7 @@ ix+0
0
0
0
-delete from t1;
+truncate table t1;
insert into t1 values ("0000-00-00 00:00:00 some trailer"),("2003-01-01 00:00:00 some trailer");
Warnings:
Warning 1265 Data truncated for column 'ix' at row 1
@@ -195,9 +195,9 @@ t1 t2 t3
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default '2003-01-01 00:00:00',
- `t2` datetime default NULL,
- `t3` timestamp NOT NULL default '0000-00-00 00:00:00'
+ `t1` timestamp NOT NULL DEFAULT '2003-01-01 00:00:00',
+ `t2` datetime DEFAULT NULL,
+ `t3` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
@@ -219,9 +219,9 @@ t1 t2 t3
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default CURRENT_TIMESTAMP,
- `t2` datetime default NULL,
- `t3` timestamp NOT NULL default '0000-00-00 00:00:00'
+ `t1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `t2` datetime DEFAULT NULL,
+ `t3` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show columns from t1;
Field Type Null Key Default Extra
@@ -246,12 +246,12 @@ t1 t2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default '2003-01-01 00:00:00' on update CURRENT_TIMESTAMP,
- `t2` datetime default NULL
+ `t1` timestamp NOT NULL DEFAULT '2003-01-01 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+ `t2` datetime DEFAULT NULL
) 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);
@@ -271,12 +271,12 @@ t1 t2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `t2` datetime default NULL
+ `t1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `t2` datetime DEFAULT NULL
) 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);
@@ -296,13 +296,13 @@ t1 t2 t3
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `t2` datetime default NULL,
- `t3` timestamp NOT NULL default '0000-00-00 00:00:00'
+ `t1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `t2` datetime DEFAULT NULL,
+ `t3` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) 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;
@@ -323,14 +323,14 @@ t1 t2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `t2` datetime default NULL
+ `t1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `t2` datetime DEFAULT NULL
) 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
-delete from t1;
+truncate table t1;
insert into t1 values ('2004-04-01 00:00:00', '2004-04-01 00:00:00');
SET TIMESTAMP=1000000012;
update t1 set t1= '2004-04-02 00:00:00';
@@ -378,8 +378,8 @@ create table t1 (a timestamp null, b timestamp null);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` timestamp NULL default NULL,
- `b` timestamp NULL default NULL
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (NULL, NULL);
SET TIMESTAMP=1000000017;
@@ -393,8 +393,8 @@ create table t1 (a timestamp null default current_timestamp on update current_ti
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `b` timestamp NULL default NULL
+ `a` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `b` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (NULL, NULL);
SET TIMESTAMP=1000000018;
@@ -408,8 +408,8 @@ create table t1 (a timestamp null default null, b timestamp null default '2003-0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` timestamp NULL default NULL,
- `b` timestamp NULL default '2003-01-01 00:00:00'
+ `a` timestamp NULL DEFAULT NULL,
+ `b` timestamp NULL DEFAULT '2003-01-01 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values (NULL, NULL);
insert into t1 values (DEFAULT, DEFAULT);
@@ -440,8 +440,8 @@ create table t1 (a timestamp, b timestamp(19));
show create table t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" datetime default NULL,
- "b" datetime default NULL
+ "a" datetime DEFAULT NULL,
+ "b" datetime DEFAULT NULL
)
set sql_mode='';
drop table t1;
diff --git a/mysql-test/r/type_uint.result b/mysql-test/r/type_uint.result
index 0474f3a24f4..e08605fb237 100644
--- a/mysql-test/r/type_uint.result
+++ b/mysql-test/r/type_uint.result
@@ -4,10 +4,10 @@ create table t1 (this int unsigned);
insert into t1 values (1);
insert into t1 values (-1);
Warnings:
-Warning 1264 Out of range value adjusted for column 'this' at row 1
+Warning 1264 Out of range value for column 'this' at row 1
insert into t1 values ('5000000000');
Warnings:
-Warning 1264 Out of range value adjusted for column 'this' at row 1
+Warning 1264 Out of range value for column 'this' at row 1
select * from t1;
this
1
diff --git a/mysql-test/r/type_varchar.result b/mysql-test/r/type_varchar.result
index f6c2f4d01a6..96042a91bae 100644
--- a/mysql-test/r/type_varchar.result
+++ b/mysql-test/r/type_varchar.result
@@ -4,17 +4,17 @@ truncate table vchar;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` varchar(30) default NULL,
- `c` char(3) default NULL,
- `e` enum('abc','def','ghi') default NULL,
+ `v` varchar(30) DEFAULT NULL,
+ `c` char(3) DEFAULT NULL,
+ `e` enum('abc','def','ghi') DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create table vchar;
Table Create Table
vchar CREATE TABLE `vchar` (
- `v` varchar(30) default NULL,
- `c` char(3) default NULL,
- `e` enum('abc','def','ghi') default NULL,
+ `v` varchar(30) DEFAULT NULL,
+ `c` char(3) DEFAULT NULL,
+ `e` enum('abc','def','ghi') DEFAULT NULL,
`t` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('abc', 'de', 'ghi', 'jkl');
@@ -37,11 +37,11 @@ alter table vchar add i int;
show create table vchar;
Table Create Table
vchar CREATE TABLE `vchar` (
- `v` varchar(30) default NULL,
- `c` char(3) default NULL,
- `e` enum('abc','def','ghi') default NULL,
+ `v` varchar(30) DEFAULT NULL,
+ `c` char(3) DEFAULT NULL,
+ `e` enum('abc','def','ghi') DEFAULT NULL,
`t` text,
- `i` int(11) default NULL
+ `i` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select length(v),length(c),length(e),length(t) from vchar;
length(v) length(c) length(e) length(t)
@@ -62,7 +62,7 @@ binary v='a '
1
insert into t1 values('a');
alter table t1 add primary key (v);
-ERROR 23000: Duplicate entry 'a' for key 1
+ERROR 23000: Duplicate entry 'a' for key 'PRIMARY'
drop table t1;
create table t1 (v varbinary(20));
insert into t1 values('a');
@@ -397,14 +397,14 @@ create index index1 on t1(f1(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f1` varchar(65500) default NULL,
+ `f1` varchar(65500) DEFAULT NULL,
KEY `index1` (`f1`(10))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify f1 varchar(255);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f1` varchar(255) default NULL,
+ `f1` varchar(255) DEFAULT NULL,
KEY `index1` (`f1`(10))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 modify f1 tinytext;
diff --git a/mysql-test/r/udf.result b/mysql-test/r/udf.result
index a79be1c3189..15410ac2039 100644
--- a/mysql-test/r/udf.result
+++ b/mysql-test/r/udf.result
@@ -2,7 +2,7 @@ drop table if exists t1;
CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION myfunc_double RETURNS REAL SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
-ERROR HY000: Can't find function 'myfunc_nonexist' in library
+ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION sequence RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION lookup RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
@@ -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;
@@ -118,13 +118,13 @@ myfunc_int(a AS attr_name)
1
2
EXPLAIN EXTENDED SELECT myfunc_int(a AS attr_name) FROM t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+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
Warnings:
Note 1003 select myfunc_int(`test`.`t1`.`a` AS `attr_name`) AS `myfunc_int(a AS attr_name)` from `test`.`t1`
EXPLAIN EXTENDED SELECT myfunc_int(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
+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
Warnings:
Note 1003 select myfunc_int(`test`.`t1`.`a` AS `a`) AS `myfunc_int(a)` from `test`.`t1`
SELECT a,c FROM v1;
@@ -132,9 +132,9 @@ a c
1 1
2 2
SELECT a, fn(MIN(b) xx) as c FROM t1 GROUP BY 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 'xx) as c FROM t1 GROUP BY a' at line 1
+ERROR 42000: Incorrect parameters in the call to stored function 'fn'
SELECT myfunc_int(fn(MIN(b) xx)) as c FROM t1 GROUP BY 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 'xx)) as c FROM t1 GROUP BY a' at line 1
+ERROR 42000: Incorrect parameters in the call to stored function 'fn'
SELECT myfunc_int(test.fn(MIN(b) xx)) as c FROM t1 GROUP BY 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 'xx)) as c FROM t1 GROUP BY a' at line 1
SELECT myfunc_int(fn(MIN(b)) xx) as c FROM t1 GROUP BY a;
@@ -146,23 +146,23 @@ c
1
2
EXPLAIN EXTENDED SELECT myfunc_int(MIN(b) xx) as c FROM t1 GROUP BY a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+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 temporary; Using filesort
Warnings:
Note 1003 select myfunc_int(min(`test`.`t1`.`b`) AS `xx`) AS `c` from `test`.`t1` group by `test`.`t1`.`a`
EXPLAIN EXTENDED SELECT test.fn(MIN(b)) as c FROM t1 GROUP BY a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+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 temporary; Using filesort
Warnings:
Note 1003 select `test`.`fn`(min(`test`.`t1`.`b`)) AS `c` from `test`.`t1` group by `test`.`t1`.`a`
EXPLAIN EXTENDED SELECT myfunc_int(fn(MIN(b))) as c FROM t1 GROUP BY a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+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 temporary; Using filesort
Warnings:
Note 1003 select myfunc_int(`fn`(min(`test`.`t1`.`b`)) AS `fn(MIN(b))`) AS `c` from `test`.`t1` group by `test`.`t1`.`a`
EXPLAIN EXTENDED SELECT myfunc_int(test.fn(MIN(b))) as c FROM t1 GROUP BY a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
+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 temporary; Using filesort
Warnings:
Note 1003 select myfunc_int(`test`.`fn`(min(`test`.`t1`.`b`)) AS `test.fn(MIN(b))`) AS `c` from `test`.`t1` group by `test`.`t1`.`a`
SELECT myfunc_int(MIN(b) xx) as c FROM t1 GROUP BY a;
@@ -185,6 +185,44 @@ DROP VIEW v1;
DROP TABLE t1;
DROP FUNCTION fn;
End of 5.0 tests.
+select myfunc_double(3);
+myfunc_double(3)
+51.00
+select myfunc_double(3 AS three);
+myfunc_double(3 AS three)
+51.00
+select myfunc_double(abs(3));
+myfunc_double(abs(3))
+51.00
+select myfunc_double(abs(3) AS named_param);
+myfunc_double(abs(3) AS named_param)
+51.00
+select abs(myfunc_double(3));
+abs(myfunc_double(3))
+51.00
+select abs(myfunc_double(3 AS three));
+abs(myfunc_double(3 AS three))
+51.00
+select myfunc_double(abs(3 AS wrong));
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+select abs(myfunc_double(3) AS wrong);
+ERROR 42000: Incorrect parameters in the call to native function 'abs'
+drop function if exists pi;
+CREATE FUNCTION pi RETURNS STRING SONAME "should_not_parse.so";
+ERROR HY000: This function 'pi' has the same name as a native function
+DROP FUNCTION IF EXISTS metaphon;
+CREATE FUNCTION metaphon(a int) RETURNS int
+return 0;
+CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+DROP FUNCTION metaphon;
+DROP FUNCTION metaphon;
+CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
+CREATE FUNCTION metaphon(a int) RETURNS int
+return 0;
+ERROR HY000: Function 'metaphon' already exists
+CREATE FUNCTION test.metaphon(a int) RETURNS int
+return 0;
+ERROR HY000: Function 'metaphon' already exists
DROP FUNCTION metaphon;
DROP FUNCTION myfunc_double;
DROP FUNCTION myfunc_nonexist;
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result
index bd0c1f31bd7..a8f538b6cc7 100644
--- a/mysql-test/r/union.result
+++ b/mysql-test/r/union.result
@@ -83,10 +83,10 @@ a b
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b;
ERROR 42000: Table 't1' from one of the SELECTs cannot be used in global ORDER clause
explain extended (select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 ALL NULL NULL NULL NULL 4
-2 UNION t2 ALL NULL NULL NULL NULL 4 Using filesort
-NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00
+2 UNION t2 ALL NULL NULL NULL NULL 4 100.00 Using filesort
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
Warnings:
Note 1003 (select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` limit 2) union all (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` order by `test`.`t2`.`a` limit 1) order by `b` desc
(select sql_calc_found_rows a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 2;
@@ -475,10 +475,10 @@ create table t2 (a int not null primary key auto_increment, b int);
insert into t1 (b) values (1),(2),(2),(3);
insert into t2 (b) values (10),(11),(12),(13);
explain extended (select * from t1 where a=1) union (select * from t2 where a=1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1
-2 UNION t2 const PRIMARY PRIMARY 4 const 1
-NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1 100.00
+2 UNION t2 const PRIMARY PRIMARY 4 const 1 100.00
+NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 (select '1' AS `a`,'1' AS `b` from `test`.`t1` where ('1' = 1)) union (select '1' AS `a`,'10' AS `b` from `test`.`t2` where ('1' = 1))
(select * from t1 where a=5) union (select * from t2 where a=1);
@@ -500,7 +500,7 @@ explain (select * from t1 where a=1 and b=10) union (select straight_join t1.a,t
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 UNION t1 index PRIMARY PRIMARY 4 NULL 4 Using index
-2 UNION t2 index PRIMARY PRIMARY 4 NULL 3 Using where; Using index
+2 UNION t2 index PRIMARY PRIMARY 4 NULL 4 Using where; Using index; Using join buffer
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
explain (select * from t1 where a=1) union (select * from t1 where b=1);
id select_type table type possible_keys key key_len ref rows Extra
@@ -543,7 +543,7 @@ aa
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2) NOT NULL default ''
+ `a` varchar(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT 12 as a UNION select "aa" as a;
@@ -554,7 +554,7 @@ aa
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varbinary(2) NOT NULL default ''
+ `a` varbinary(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT 12 as a UNION select 12.2 as a;
@@ -565,7 +565,7 @@ a
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` decimal(3,1) NOT NULL default '0.0'
+ `a` decimal(3,1) NOT NULL DEFAULT '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t2 (it1 tinyint, it2 tinyint not null, i int not null, ib bigint, f float, d double, y year, da date, dt datetime, sc char(10), sv varchar(10), b blob, tx text);
@@ -578,7 +578,7 @@ NULL
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `it2` tinyint(4) default NULL
+ `it2` tinyint(4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT it2 from t2 UNION select i from t2;
@@ -589,7 +589,7 @@ it2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `it2` int(11) NOT NULL default '0'
+ `it2` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT i from t2 UNION select f from t2;
@@ -600,7 +600,7 @@ i
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `i` double default NULL
+ `i` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT f from t2 UNION select d from t2;
@@ -611,7 +611,7 @@ f
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f` double default NULL
+ `f` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT ib from t2 UNION select f from t2;
@@ -622,7 +622,7 @@ ib
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ib` double default NULL
+ `ib` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT ib from t2 UNION select d from t2;
@@ -633,7 +633,7 @@ ib
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ib` double default NULL
+ `ib` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT f from t2 UNION select y from t2;
@@ -644,7 +644,7 @@ f
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f` float default NULL
+ `f` float DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT f from t2 UNION select da from t2;
@@ -655,7 +655,7 @@ f
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `f` varbinary(12) default NULL
+ `f` varbinary(12) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT y from t2 UNION select da from t2;
@@ -666,7 +666,7 @@ y
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `y` varbinary(10) default NULL
+ `y` varbinary(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT y from t2 UNION select dt from t2;
@@ -677,7 +677,7 @@ y
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `y` varbinary(19) default NULL
+ `y` varbinary(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT da from t2 UNION select dt from t2;
@@ -688,7 +688,7 @@ da
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `da` datetime default NULL
+ `da` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT dt from t2 UNION select trim(sc) from t2;
@@ -699,7 +699,7 @@ testc
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `dt` varbinary(19) default NULL
+ `dt` varbinary(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT dt from t2 UNION select sv from t2;
@@ -710,7 +710,7 @@ testv
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `dt` varbinary(19) default NULL
+ `dt` varbinary(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT sc from t2 UNION select sv from t2;
@@ -721,7 +721,7 @@ testv
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `sc` varchar(10) default NULL
+ `sc` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 SELECT dt from t2 UNION select b from t2;
@@ -788,7 +788,7 @@ select * from t1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `1` bigint(20) NOT NULL default '0'
+ `1` bigint(20) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select _latin1"test" union select _latin2"testt" ;
@@ -797,7 +797,7 @@ create table t1 select _latin2"test" union select _latin2"testt" ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `test` varchar(5) character set latin2 NOT NULL default ''
+ `test` varchar(5) CHARACTER SET latin2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (s char(200));
@@ -1041,7 +1041,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `test` varchar(4) NOT NULL default ''
+ `test` varchar(4) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select count(*) from t1;
count(*)
@@ -1054,7 +1054,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `_latin1'test' collate latin1_bin` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
+ `_latin1'test' collate latin1_bin` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select count(*) from t1;
count(*)
@@ -1067,7 +1067,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `test` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
+ `test` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select count(*) from t1;
count(*)
@@ -1080,7 +1080,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `test` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
+ `test` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select count(*) from t1;
count(*)
@@ -1099,7 +1099,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a collate latin1_german1_ci` varchar(1) character set latin1 collate latin1_german1_ci default NULL
+ `a collate latin1_german1_ci` varchar(1) CHARACTER SET latin1 COLLATE latin1_german1_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as
@@ -1108,7 +1108,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) character set latin1 collate latin1_german1_ci default NULL
+ `a` varchar(1) CHARACTER SET latin1 COLLATE latin1_german1_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as
@@ -1118,7 +1118,7 @@ create table t1 as
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) character set latin1 collate latin1_german1_ci default NULL
+ `a` varchar(1) CHARACTER SET latin1 COLLATE latin1_german1_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
drop table t2;
@@ -1203,9 +1203,9 @@ c ENUM("one", "two")
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('','','') character set utf8 NOT NULL default '',
- `b` enum('one','two') character set utf8 default NULL,
- `c` enum('one','two') default NULL
+ `a` enum('','','') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `b` enum('one','two') CHARACTER SET utf8 DEFAULT NULL,
+ `c` enum('one','two') DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('', 'one', 'one'), ('', 'two', 'one'), ('', NULL, NULL);
create table t2 select NULL union select a from t1;
@@ -1261,7 +1261,7 @@ create table t2 select * from t1 union select 'abcdefghijkl';
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(12) default NULL
+ `a` varchar(12) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select row_format from information_schema.TABLES where table_schema="test" and table_name="t2";
row_format
@@ -1270,7 +1270,7 @@ alter table t2 ROW_FORMAT=fixed;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(12) default NULL
+ `a` varchar(12) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
drop table t1,t2;
CREATE TABLE t1 (a mediumtext);
@@ -1284,9 +1284,65 @@ create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
+ `left(a,100000000)` mediumtext
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop tables t1,t2,t3;
+CREATE TABLE t1 (a longtext);
+CREATE TABLE t2 (b varchar(20));
+INSERT INTO t1 VALUES ('a'),('b');
+SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
+left(a,100000000)
+a
+b
+create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
`left(a,100000000)` longtext
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop tables t1,t2,t3;
+SELECT @tmp_max:= @@max_allowed_packet;
+@tmp_max:= @@max_allowed_packet
+1048576
+SET max_allowed_packet=25000000;
+CREATE TABLE t1 (a mediumtext);
+CREATE TABLE t2 (b varchar(20));
+INSERT INTO t1 VALUES ('a');
+CREATE TABLE t3 SELECT REPEAT(a,20000000) AS a FROM t1 UNION SELECT b FROM t2;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLES t1,t3;
+CREATE TABLE t1 (a tinytext);
+INSERT INTO t1 VALUES ('a');
+CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` varchar(510) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLES t1,t3;
+CREATE TABLE t1 (a mediumtext);
+INSERT INTO t1 VALUES ('a');
+CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` longtext
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLES t1,t3;
+CREATE TABLE t1 (a tinyblob);
+INSERT INTO t1 VALUES ('a');
+CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
+SHOW CREATE TABLE t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` varbinary(510) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLES t1,t2,t3;
+SET max_allowed_packet:= @tmp_max;
create table t1 ( id int not null auto_increment, primary key (id), col1 int);
insert into t1 (col1) values (2),(3),(4),(5),(6);
select 99 union all select id from t1 order by 1;
@@ -1311,14 +1367,14 @@ create table t2 as select *, f6 as f8 from t1 union select *, f7 from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `f1` char(1) default NULL,
- `f2` char(5) default NULL,
- `f3` binary(1) default NULL,
- `f4` binary(5) default NULL,
- `f5` timestamp NOT NULL default '0000-00-00 00:00:00',
- `f6` varchar(1) character set utf8 default NULL,
+ `f1` char(1) DEFAULT NULL,
+ `f2` char(5) DEFAULT NULL,
+ `f3` binary(1) DEFAULT NULL,
+ `f4` binary(5) DEFAULT NULL,
+ `f5` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `f6` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
`f7` text,
- `f8` mediumtext character set utf8
+ `f8` mediumtext CHARACTER SET utf8
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
(select avg(1)) union (select avg(1)) union (select avg(1)) union
@@ -1440,46 +1496,4 @@ 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);
-SELECT a INTO @v FROM (
-SELECT a FROM t1
-UNION
-SELECT a FROM t1
-) alias;
-SELECT a INTO OUTFILE 'union.out.file' FROM (
-SELECT a FROM t1
-UNION
-SELECT a FROM t1 WHERE 0
-) alias;
-SELECT a INTO DUMPFILE 'union.out.file2' FROM (
-SELECT a FROM t1
-UNION
-SELECT a FROM t1 WHERE 0
-) alias;
-SELECT a FROM (
-SELECT a FROM t1
-UNION
-SELECT a INTO @v FROM t1
-) alias;
-SELECT a FROM (
-SELECT a FROM t1
-UNION
-SELECT a INTO OUTFILE 'union.out.file3' FROM t1
-) alias;
-SELECT a FROM (
-SELECT a FROM t1
-UNION
-SELECT a INTO DUMPFILE 'union.out.file4' FROM t1
-) alias;
-SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
-SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
-SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
-SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
-ERROR HY000: Incorrect usage of UNION and INTO
-SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1;
-ERROR HY000: Incorrect usage of UNION and INTO
-SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1;
-ERROR HY000: Incorrect usage of UNION and INTO
-DROP TABLE t1;
End of 5.0 tests
diff --git a/mysql-test/r/unsafe_binlog_innodb.result b/mysql-test/r/unsafe_binlog_innodb.result
new file mode 100644
index 00000000000..b2cf16ad58f
--- /dev/null
+++ b/mysql-test/r/unsafe_binlog_innodb.result
@@ -0,0 +1,123 @@
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
+create table t1 (id int not null, f_id int not null, f int not null,
+primary key(f_id, id)) engine = InnoDB;
+create table t2 (id int not null,s_id int not null,s varchar(200),
+primary key(id)) engine = InnoDB;
+INSERT INTO t1 VALUES (8, 1, 3);
+INSERT INTO t1 VALUES (1, 2, 1);
+INSERT INTO t2 VALUES (1, 0, '');
+INSERT INTO t2 VALUES (8, 1, '');
+commit;
+DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
+WHERE mm.id IS NULL;
+select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)
+where mm.id is null lock in share mode;
+id f_id f
+drop table t1,t2;
+create table t1(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
+commit;
+set autocommit = 0;
+select * from t1 lock in share mode;
+a b
+1 1
+2 2
+3 1
+4 2
+5 1
+6 2
+7 3
+update t1 set b = 5 where b = 1;
+set autocommit = 0;
+select * from t1 where a = 2 and b = 2 for update;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+commit;
+drop table t1;
+create table t1(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
+commit;
+set autocommit = 0;
+update t1 set b = 5 where b = 1;
+set autocommit = 0;
+select * from t1 where a = 7 and b = 3 for update;
+a b
+7 3
+commit;
+commit;
+drop table t1;
+create table t1(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t1 values (1,2),(5,3),(4,2);
+create table t2(d int not null, e int, primary key(d)) engine = InnoDB;
+insert into t2 values (8,6),(12,1),(3,1);
+commit;
+set autocommit = 0;
+select * from t2 for update;
+d e
+3 1
+8 6
+12 1
+set autocommit = 0;
+insert into t1 select * from t2;
+update t1 set b = (select e from t2 where a = d);
+create table t3(d int not null, e int, primary key(d)) engine = InnoDB
+select * from t2;
+commit;
+commit;
+drop table t1, t2, t3;
+SET SESSION STORAGE_ENGINE = InnoDB;
+SET SESSION STORAGE_ENGINE = InnoDB;
+SET SESSION STORAGE_ENGINE = InnoDB;
+create table t1(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t1 values (1,2),(5,3),(4,2);
+create table t2(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t2 values (8,6),(12,1),(3,1);
+create table t3(d int not null, b int, primary key(d)) engine = InnoDB;
+insert into t3 values (8,6),(12,1),(3,1);
+create table t5(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t5 values (1,2),(5,3),(4,2);
+create table t6(d int not null, e int, primary key(d)) engine = InnoDB;
+insert into t6 values (8,6),(12,1),(3,1);
+create table t8(a int not null, b int, primary key(a)) engine = InnoDB;
+insert into t8 values (1,2),(5,3),(4,2);
+create table t9(d int not null, e int, primary key(d)) engine = InnoDB;
+insert into t9 values (8,6),(12,1),(3,1);
+commit;
+set autocommit = 0;
+select * from t2 for update;
+a b
+3 1
+8 6
+12 1
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+insert into t1 select * from t2;
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+update t3 set b = (select b from t2 where a = d);
+set autocommit = 0;
+SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+create table t4(a int not null, b int, primary key(a)) select * from t2;
+set autocommit = 0;
+insert into t5 (select * from t2 lock in share mode);
+set autocommit = 0;
+update t6 set e = (select b from t2 where a = d lock in share mode);
+set autocommit = 0;
+create table t7(a int not null, b int, primary key(a)) select * from t2 lock in share mode;
+set autocommit = 0;
+insert into t8 (select * from t2 for update);
+set autocommit = 0;
+update t9 set e = (select b from t2 where a = d for update);
+set autocommit = 0;
+create table t10(a int not null, b int, primary key(a)) select * from t2 for update;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+commit;
+drop table t1, t2, t3, t5, t6, t8, t9;
diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result
index dc7c7642a9b..b861ec96882 100644
--- a/mysql-test/r/update.result
+++ b/mysql-test/r/update.result
@@ -418,7 +418,7 @@ Handler_read_key 2
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
-Handler_read_rnd_next 7
+Handler_read_rnd_next 0
UPDATE t1 SET user_id=null WHERE request_id=9999999999999;
show status like '%Handler_read%';
Variable_name Value
@@ -427,7 +427,7 @@ Handler_read_key 3
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
-Handler_read_rnd_next 14
+Handler_read_rnd_next 0
UPDATE t1 SET user_id=null WHERE request_id=999999999999999999999999999999;
show status like '%Handler_read%';
Variable_name Value
@@ -436,7 +436,7 @@ Handler_read_key 3
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
-Handler_read_rnd_next 21
+Handler_read_rnd_next 0
DROP TABLE t1;
CREATE TABLE t1 (
a INT(11),
diff --git a/mysql-test/r/upgrade.result b/mysql-test/r/upgrade.result
new file mode 100644
index 00000000000..adf81efe8e3
--- /dev/null
+++ b/mysql-test/r/upgrade.result
@@ -0,0 +1,86 @@
+drop database if exists `mysqltest1`;
+drop database if exists `mysqltest-1`;
+drop database if exists `#mysql50#mysqltest-1`;
+create database `mysqltest1`;
+create database `#mysql50#mysqltest-1`;
+create table `mysqltest1`.`t1` (a int);
+create table `mysqltest1`.`#mysql50#t-1` (a int);
+create table `#mysql50#mysqltest-1`.`t1` (a int);
+create table `#mysql50#mysqltest-1`.`#mysql50#t-1` (a int);
+show create database `mysqltest1`;
+Database Create Database
+mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
+show create database `mysqltest-1`;
+ERROR 42000: Unknown database 'mysqltest-1'
+show create database `#mysql50#mysqltest-1`;
+Database Create Database
+#mysql50#mysqltest-1 CREATE DATABASE `#mysql50#mysqltest-1` /*!40100 DEFAULT CHARACTER SET latin1 */
+show tables in `mysqltest1`;
+Tables_in_mysqltest1
+#mysql50#t-1
+t1
+show tables in `#mysql50#mysqltest-1`;
+Tables_in_#mysql50#mysqltest-1
+#mysql50#t-1
+t1
+show create database `mysqltest1`;
+Database Create Database
+mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
+show create database `mysqltest-1`;
+Database Create Database
+mysqltest-1 CREATE DATABASE `mysqltest-1` /*!40100 DEFAULT CHARACTER SET latin1 */
+show create database `#mysql50#mysqltest-1`;
+ERROR 42000: Unknown database '#mysql50#mysqltest-1'
+show tables in `mysqltest1`;
+Tables_in_mysqltest1
+t1
+t-1
+show tables in `mysqltest-1`;
+Tables_in_mysqltest-1
+t1
+t-1
+drop database `mysqltest1`;
+drop database `mysqltest-1`;
+drop table if exists `txu@0023p@0023p1`;
+drop table if exists `txu#p#p1`;
+create table `txu#p#p1` (s1 int);
+insert into `txu#p#p1` values (1);
+select * from `txu@0023p@0023p1`;
+ERROR 42S02: Table 'test.txu@0023p@0023p1' doesn't exist
+create table `txu@0023p@0023p1` (s1 int);
+insert into `txu@0023p@0023p1` values (2);
+select * from `txu@0023p@0023p1`;
+s1
+2
+select * from `txu#p#p1`;
+s1
+1
+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 2b37a4b1d9a..b76b399c9e2 100644
--- a/mysql-test/r/user_var-binlog.result
+++ b/mysql-test/r/user_var-binlog.result
@@ -6,13 +6,14 @@ INSERT INTO t1 VALUES(@`a b`);
set @var1= "';aaa";
SET @var2=char(ascii('a'));
insert into t1 values (@var1),(@var2);
-show binlog events from 98;
+show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 98 User var 1 139 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci
-master-bin.000001 139 Query 1 231 use `test`; INSERT INTO t1 VALUES(@`a b`)
-master-bin.000001 231 User var 1 273 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci
-master-bin.000001 273 User var 1 311 @`var2`=_binary 0x61 COLLATE binary
-master-bin.000001 311 Query 1 411 use `test`; insert into t1 values (@var1),(@var2)
+master-bin.000001 # User var # # @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@`a b`)
+master-bin.000001 # User var # # @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci
+master-bin.000001 # User var # # @`var2`=_binary 0x61 COLLATE binary
+master-bin.000001 # Query # # use `test`; insert into t1 values (@var1),(@var2)
+flush logs;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result
index 80b5dccc198..2cd132ce03c 100644
--- a/mysql-test/r/user_var.result
+++ b/mysql-test/r/user_var.result
@@ -91,7 +91,7 @@ NULL test test
set @g=1;
select @g,(@g:=c),@g from t1;
@g (@g:=c) @g
-1 test test
+1 test 0
select @c, @d, @e, @f;
@c @d @e @f
1 1 2 test
@@ -229,7 +229,7 @@ create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `@first_var` bigint(20) default NULL
+ `@first_var` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var= NULL;
@@ -237,7 +237,7 @@ create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `@first_var` bigint(20) default NULL
+ `@first_var` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var= concat(NULL);
@@ -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/varbinary.result b/mysql-test/r/varbinary.result
index a41885a257d..6d39d8301c5 100644
--- a/mysql-test/r/varbinary.result
+++ b/mysql-test/r/varbinary.result
@@ -12,8 +12,8 @@ create table t1 (ID int(8) unsigned zerofill not null auto_increment,UNIQ bigint
insert into t1 set UNIQ=0x38afba1d73e6a18a;
insert into t1 set UNIQ=123;
explain extended select * from t1 where UNIQ=0x38afba1d73e6a18a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const UNIQ UNIQ 8 const 1
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 const UNIQ UNIQ 8 const 1 100.00
Warnings:
Note 1003 select '00000001' AS `ID`,'004084688022709641610' AS `UNIQ` from `test`.`t1` where 1
drop table t1;
@@ -29,8 +29,8 @@ drop table t1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varbinary(255) default NULL,
- `b` varchar(255) default NULL
+ `a` varbinary(255) DEFAULT NULL,
+ `b` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select length(a), length(b) from t1;
length(a) length(b)
@@ -45,8 +45,8 @@ test.t1 repair status OK
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varbinary(255) default NULL,
- `b` varchar(255) default NULL
+ `a` varbinary(255) DEFAULT NULL,
+ `b` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select length(a), length(b) from t1;
length(a) length(b)
@@ -78,3 +78,20 @@ alter table t1 modify a varchar(255);
select length(a) from t1;
length(a)
6
+drop table t1;
+drop table if exists table_28127_a;
+drop table if exists table_28127_b;
+create table table_28127_a(0b02 int);
+show create table table_28127_a;
+Table Create Table
+table_28127_a CREATE TABLE `table_28127_a` (
+ `0b02` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+create table table_28127_b(0b2 int);
+show create table table_28127_b;
+Table Create Table
+table_28127_b CREATE TABLE `table_28127_b` (
+ `0b2` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table table_28127_a;
+drop table table_28127_b;
diff --git a/mysql-test/r/variables-big.result b/mysql-test/r/variables-big.result
index d7906869276..ae1e20109b9 100644
--- a/mysql-test/r/variables-big.result
+++ b/mysql-test/r/variables-big.result
@@ -5,7 +5,7 @@ Id User Host db Command Time State Info
set session transaction_prealloc_size=1024*1024*1024*2;
show processlist;
Id User Host db Command Time State Info
-1 root localhost test Query 2 NULL show processlist
+1 root localhost test Query 0 NULL show processlist
set session transaction_prealloc_size=1024*1024*1024*3;
show processlist;
Id User Host db Command Time State Info
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index 9c360ef4ab3..e57f82aca26 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -9,12 +9,11 @@ set @my_key_buffer_size =@@global.key_buffer_size;
set @my_max_binlog_cache_size =@@global.max_binlog_cache_size;
set @my_max_binlog_size =@@global.max_binlog_size;
set @my_max_connect_errors =@@global.max_connect_errors;
+set @my_max_connections =@@global.max_connections;
set @my_max_delayed_threads =@@global.max_delayed_threads;
set @my_max_heap_table_size =@@global.max_heap_table_size;
set @my_max_insert_delayed_threads=@@global.max_insert_delayed_threads;
set @my_max_join_size =@@global.max_join_size;
-set @my_max_user_connections =@@global.max_user_connections;
-set @my_max_write_lock_count =@@global.max_write_lock_count;
set @my_myisam_data_pointer_size =@@global.myisam_data_pointer_size;
set @my_net_buffer_length =@@global.net_buffer_length;
set @my_net_write_timeout =@@global.net_write_timeout;
@@ -72,8 +71,8 @@ select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
@t1:=(@t2:=1)+@t3:=4 @t1 @t2 @t3
5 5 1 4
explain extended select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 (@t1:=((@t2:=1) + (@t3:=4))) AS `@t1:=(@t2:=1)+@t3:=4`,(@t1) AS `@t1`,(@t2) AS `@t2`,(@t3) AS `@t3`
select @t5;
@@ -103,21 +102,36 @@ set max_join_size=100;
show variables like 'max_join_size';
Variable_name Value
max_join_size 100
+select * from information_schema.session_variables where variable_name like 'max_join_size';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_JOIN_SIZE 100
show global variables like 'max_join_size';
Variable_name Value
max_join_size 10
+select * from information_schema.global_variables where variable_name like 'max_join_size';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_JOIN_SIZE 10
set GLOBAL max_join_size=2000;
show global variables like 'max_join_size';
Variable_name Value
max_join_size 2000
+select * from information_schema.global_variables where variable_name like 'max_join_size';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_JOIN_SIZE 2000
set max_join_size=DEFAULT;
show variables like 'max_join_size';
Variable_name Value
max_join_size 2000
+select * from information_schema.session_variables where variable_name like 'max_join_size';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_JOIN_SIZE 2000
set GLOBAL max_join_size=DEFAULT;
show global variables like 'max_join_size';
Variable_name Value
max_join_size HA_POS_ERROR
+select * from information_schema.global_variables where variable_name like 'max_join_size';
+VARIABLE_NAME VARIABLE_VALUE
+MAX_JOIN_SIZE HA_POS_ERROR
set @@max_join_size=1000, @@global.max_join_size=2000;
select @@local.max_join_size, @@global.max_join_size;
@@local.max_join_size @@global.max_join_size
@@ -132,16 +146,16 @@ select last_insert_id(345);
last_insert_id(345)
345
explain extended select last_insert_id(345);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 last_insert_id(345) AS `last_insert_id(345)`
select @@IDENTITY,last_insert_id(), @@identity;
@@IDENTITY last_insert_id() @@identity
345 345 345
explain extended select @@IDENTITY,last_insert_id(), @@identity;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
+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 345 AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,345 AS `@@identity`
set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF", big_tables="ON";
@@ -149,14 +163,23 @@ set global concurrent_insert=2;
show variables like 'concurrent_insert';
Variable_name Value
concurrent_insert 2
+select * from information_schema.session_variables where variable_name like 'concurrent_insert';
+VARIABLE_NAME VARIABLE_VALUE
+CONCURRENT_INSERT 2
set global concurrent_insert=1;
show variables like 'concurrent_insert';
Variable_name Value
concurrent_insert 1
+select * from information_schema.session_variables where variable_name like 'concurrent_insert';
+VARIABLE_NAME VARIABLE_VALUE
+CONCURRENT_INSERT 1
set global concurrent_insert=0;
show variables like 'concurrent_insert';
Variable_name Value
concurrent_insert 0
+select * from information_schema.session_variables where variable_name like 'concurrent_insert';
+VARIABLE_NAME VARIABLE_VALUE
+CONCURRENT_INSERT 0
set global concurrent_insert=DEFAULT;
select @@concurrent_insert;
@@concurrent_insert
@@ -165,26 +188,44 @@ set global timed_mutexes=ON;
show variables like 'timed_mutexes';
Variable_name Value
timed_mutexes ON
+select * from information_schema.session_variables where variable_name like 'timed_mutexes';
+VARIABLE_NAME VARIABLE_VALUE
+TIMED_MUTEXES ON
set global timed_mutexes=0;
show variables like 'timed_mutexes';
Variable_name Value
timed_mutexes OFF
+select * from information_schema.session_variables where variable_name like 'timed_mutexes';
+VARIABLE_NAME VARIABLE_VALUE
+TIMED_MUTEXES OFF
set storage_engine=MYISAM, storage_engine="HEAP", global storage_engine="MERGE";
show local variables like 'storage_engine';
Variable_name Value
storage_engine MEMORY
+select * from information_schema.session_variables where variable_name like 'storage_engine';
+VARIABLE_NAME VARIABLE_VALUE
+STORAGE_ENGINE MEMORY
show global variables like 'storage_engine';
Variable_name Value
storage_engine MRG_MYISAM
+select * from information_schema.global_variables where variable_name like 'storage_engine';
+VARIABLE_NAME VARIABLE_VALUE
+STORAGE_ENGINE MRG_MYISAM
set GLOBAL query_cache_size=100000;
set GLOBAL myisam_max_sort_file_size=2000000;
show global variables like 'myisam_max_sort_file_size';
Variable_name Value
myisam_max_sort_file_size 1048576
+select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
+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';
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';
+VARIABLE_NAME VARIABLE_VALUE
+MYISAM_MAX_SORT_FILE_SIZE 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;
set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
@@ -194,12 +235,24 @@ net_buffer_length 1024
net_read_timeout 300
net_retry_count 10
net_write_timeout 200
+select * from information_schema.global_variables where variable_name like 'net_%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+NET_BUFFER_LENGTH 1024
+NET_READ_TIMEOUT 300
+NET_RETRY_COUNT 10
+NET_WRITE_TIMEOUT 200
show session variables like 'net_%';
Variable_name Value
net_buffer_length 2048
net_read_timeout 600
net_retry_count 10
net_write_timeout 500
+select * from information_schema.session_variables where variable_name like 'net_%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+NET_BUFFER_LENGTH 2048
+NET_READ_TIMEOUT 600
+NET_RETRY_COUNT 10
+NET_WRITE_TIMEOUT 500
set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
show global variables like 'net_%';
Variable_name Value
@@ -207,28 +260,49 @@ net_buffer_length 1024
net_read_timeout 900
net_retry_count 10
net_write_timeout 1000
+select * from information_schema.global_variables where variable_name like 'net_%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+NET_BUFFER_LENGTH 1024
+NET_READ_TIMEOUT 900
+NET_RETRY_COUNT 10
+NET_WRITE_TIMEOUT 1000
show session variables like 'net_%';
Variable_name Value
net_buffer_length 7168
net_read_timeout 600
net_retry_count 10
net_write_timeout 500
+select * from information_schema.session_variables where variable_name like 'net_%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+NET_BUFFER_LENGTH 7168
+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
+select * from information_schema.session_variables where variable_name like 'net_buffer_length';
+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
+select * from information_schema.session_variables where variable_name like 'net_buffer_length';
+VARIABLE_NAME VARIABLE_VALUE
+NET_BUFFER_LENGTH 1048576
set character set cp1251_koi8;
show variables like "character_set_client";
Variable_name Value
character_set_client cp1251
+select * from information_schema.session_variables where variable_name like 'character_set_client';
+VARIABLE_NAME VARIABLE_VALUE
+CHARACTER_SET_CLIENT cp1251
select @@timestamp>0;
@@timestamp>0
1
@@ -243,6 +317,13 @@ query_prealloc_size 8192
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 4096
+TRANSACTION_ALLOC_BLOCK_SIZE 8192
+TRANSACTION_PREALLOC_SIZE 4096
set @@range_alloc_block_size=1024*16;
set @@query_alloc_block_size=1024*17+2;
set @@query_prealloc_size=1024*18;
@@ -258,6 +339,13 @@ query_prealloc_size 18432
range_alloc_block_size 16384
transaction_alloc_block_size 19456
transaction_prealloc_size 20480
+select * from information_schema.session_variables where variable_name like '%alloc%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+QUERY_ALLOC_BLOCK_SIZE 17408
+QUERY_PREALLOC_SIZE 18432
+RANGE_ALLOC_BLOCK_SIZE 16384
+TRANSACTION_ALLOC_BLOCK_SIZE 19456
+TRANSACTION_PREALLOC_SIZE 20480
set @@range_alloc_block_size=default;
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
@@ -268,6 +356,13 @@ query_prealloc_size 8192
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 4096
+TRANSACTION_ALLOC_BLOCK_SIZE 8192
+TRANSACTION_PREALLOC_SIZE 4096
SELECT @@version LIKE 'non-existent';
@@version LIKE 'non-existent'
0
@@ -357,7 +452,14 @@ 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:
@@ -437,7 +539,7 @@ set sql_safe_updates=1;
set sql_select_limit=1;
set sql_select_limit=default;
set sql_warnings=1;
-set global table_cache=100;
+set global table_open_cache=100;
set storage_engine=myisam;
set global thread_cache_size=100;
set timestamp=1, timestamp=default;
@@ -447,6 +549,7 @@ 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
@@ -511,6 +614,9 @@ set global myisam_max_sort_file_size=4294967296;
show global variables like 'myisam_max_sort_file_size';
Variable_name Value
myisam_max_sort_file_size MAX_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 MAX_FILE_SIZE
set global myisam_max_sort_file_size=default;
select @@global.max_user_connections,@@local.max_join_size;
@@global.max_user_connections @@local.max_join_size
@@ -550,18 +656,30 @@ set @tstlw = @@log_warnings;
show global variables like 'log_warnings';
Variable_name Value
log_warnings 1
+select * from information_schema.global_variables where variable_name like 'log_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_WARNINGS 1
set global log_warnings = 0;
show global variables like 'log_warnings';
Variable_name Value
log_warnings 0
+select * from information_schema.global_variables where variable_name like 'log_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_WARNINGS 0
set global log_warnings = 42;
show global variables like 'log_warnings';
Variable_name Value
log_warnings 42
+select * from information_schema.global_variables where variable_name like 'log_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_WARNINGS 42
set global log_warnings = @tstlw;
show global variables like 'log_warnings';
Variable_name Value
log_warnings 1
+select * from information_schema.global_variables where variable_name like 'log_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_WARNINGS 1
create table t1 (
c1 tinyint,
c2 smallint,
@@ -571,11 +689,11 @@ c5 bigint);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` tinyint(4) default NULL,
- `c2` smallint(6) default NULL,
- `c3` mediumint(9) default NULL,
- `c4` int(11) default NULL,
- `c5` bigint(20) default NULL
+ `c1` tinyint(4) DEFAULT NULL,
+ `c2` smallint(6) DEFAULT NULL,
+ `c3` mediumint(9) DEFAULT NULL,
+ `c4` int(11) DEFAULT NULL,
+ `c5` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @arg00= 8, @arg01= 8.8, @arg02= 'a string', @arg03= 0.2e0;
@@ -583,23 +701,29 @@ create table t1 as select @arg00 as c1, @arg01 as c2, @arg02 as c3, @arg03 as c4
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` bigint(20) default NULL,
- `c2` decimal(65,30) default NULL,
+ `c1` bigint(20) DEFAULT NULL,
+ `c2` decimal(65,30) DEFAULT NULL,
`c3` longtext,
- `c4` double default NULL
+ `c4` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
SET GLOBAL MYISAM_DATA_POINTER_SIZE= 7;
SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
Variable_name Value
myisam_data_pointer_size 7
-SET GLOBAL table_cache=-1;
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'MYISAM_DATA_POINTER_SIZE';
+VARIABLE_NAME VARIABLE_VALUE
+MYISAM_DATA_POINTER_SIZE 7
+SET GLOBAL table_open_cache=-1;
Warnings:
-Warning 1292 Truncated incorrect table_cache value: '0'
-SHOW VARIABLES LIKE 'table_cache';
-Variable_name Value
-table_cache 1
-SET GLOBAL table_cache=DEFAULT;
+Warning 1292 Truncated incorrect table_open_cache value: '0'
+SHOW VARIABLES LIKE 'table_open_cache';
+Variable_name Value
+table_open_cache 1
+SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
+VARIABLE_NAME VARIABLE_VALUE
+TABLE_OPEN_CACHE 1
+SET GLOBAL table_open_cache=DEFAULT;
set character_set_results=NULL;
select ifnull(@@character_set_results,"really null");
ifnull(@@character_set_results,"really null")
@@ -702,7 +826,7 @@ 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 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+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;
@@ -758,21 +882,36 @@ set @@sql_big_selects = 1;
show variables like 'sql_big_selects';
Variable_name Value
sql_big_selects ON
+select * from information_schema.session_variables where variable_name like 'sql_big_selects';
+VARIABLE_NAME VARIABLE_VALUE
+SQL_BIG_SELECTS ON
set @@sql_big_selects = @old_sql_big_selects;
set @@sql_notes = 0, @@sql_warnings = 0;
show variables like 'sql_notes';
Variable_name Value
sql_notes OFF
+select * from information_schema.session_variables where variable_name like 'sql_notes';
+VARIABLE_NAME VARIABLE_VALUE
+SQL_NOTES OFF
show variables like 'sql_warnings';
Variable_name Value
sql_warnings OFF
+select * from information_schema.session_variables where variable_name like 'sql_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+SQL_WARNINGS OFF
set @@sql_notes = 1, @@sql_warnings = 1;
show variables like 'sql_notes';
Variable_name Value
sql_notes ON
+select * from information_schema.session_variables where variable_name like 'sql_notes';
+VARIABLE_NAME VARIABLE_VALUE
+SQL_NOTES ON
show variables like 'sql_warnings';
Variable_name Value
sql_warnings ON
+select * from information_schema.session_variables where variable_name like 'sql_warnings';
+VARIABLE_NAME VARIABLE_VALUE
+SQL_WARNINGS ON
select @@system_time_zone;
@@system_time_zone
#
@@ -786,12 +925,21 @@ select @@basedir, @@datadir, @@tmpdir;
show variables like 'basedir';
Variable_name Value
basedir #
+select * from information_schema.session_variables where variable_name like 'basedir';
+VARIABLE_NAME VARIABLE_VALUE
+BASEDIR #
show variables like 'datadir';
Variable_name Value
datadir #
+select * from information_schema.session_variables where variable_name like 'datadir';
+VARIABLE_NAME VARIABLE_VALUE
+DATADIR #
show variables like 'tmpdir';
Variable_name Value
tmpdir #
+select * from information_schema.session_variables where variable_name like 'tmpdir';
+VARIABLE_NAME VARIABLE_VALUE
+TMPDIR #
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
@@ssl_ca @@ssl_capath @@ssl_cert @@ssl_cipher @@ssl_key
# # # # #
@@ -802,12 +950,22 @@ ssl_capath #
ssl_cert #
ssl_cipher #
ssl_key #
+select * from information_schema.session_variables where variable_name like 'ssl%' order by 1;
+VARIABLE_NAME VARIABLE_VALUE
+SSL_CA #
+SSL_CAPATH #
+SSL_CERT #
+SSL_CIPHER #
+SSL_KEY #
select @@log_queries_not_using_indexes;
@@log_queries_not_using_indexes
0
show variables like 'log_queries_not_using_indexes';
Variable_name Value
log_queries_not_using_indexes OFF
+select * from information_schema.session_variables where variable_name like 'log_queries_not_using_indexes';
+VARIABLE_NAME VARIABLE_VALUE
+LOG_QUERIES_NOT_USING_INDEXES OFF
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 '""' at line 1
select @@&;
@@ -822,22 +980,6 @@ ERROR HY000: Variable 'hostname' is a read only variable
show variables like 'hostname';
Variable_name Value
hostname #
-SHOW VARIABLES LIKE 'log';
-Variable_name Value
-log ON
-SELECT @@log;
-@@log
-1
-SET GLOBAL log=0;
-ERROR HY000: Variable 'log' is a read only variable
-SHOW VARIABLES LIKE 'log_slow_queries';
-Variable_name Value
-log_slow_queries ON
-SELECT @@log_slow_queries;
-@@log_slow_queries
-1
-SET GLOBAL log_slow_queries=0;
-ERROR HY000: Variable 'log_slow_queries' is a read only variable
End of 5.0 tests
set global binlog_cache_size =@my_binlog_cache_size;
set global connect_timeout =@my_connect_timeout;
@@ -849,12 +991,13 @@ set global key_buffer_size =@my_key_buffer_size;
set global max_binlog_cache_size =default;
set global max_binlog_size =@my_max_binlog_size;
set global max_connect_errors =@my_max_connect_errors;
+set global max_connections =@my_max_connections;
set global max_delayed_threads =@my_max_delayed_threads;
set global max_heap_table_size =@my_max_heap_table_size;
set global max_insert_delayed_threads=@my_max_insert_delayed_threads;
set global max_join_size =@my_max_join_size;
-set global max_user_connections =@my_max_user_connections;
-set global max_write_lock_count =@my_max_write_lock_count;
+set global max_user_connections =default;
+set global max_write_lock_count =default;
set global myisam_data_pointer_size =@my_myisam_data_pointer_size;
set global net_buffer_length =@my_net_buffer_length;
set global net_write_timeout =@my_net_write_timeout;
@@ -866,3 +1009,8 @@ set global server_id =@my_server_id;
set global slow_launch_time =@my_slow_launch_time;
set global storage_engine =@my_storage_engine;
set global thread_cache_size =@my_thread_cache_size;
+show global variables where Variable_name='table_definition_cache' or
+Variable_name='table_lock_wait_timeout';
+Variable_name Value
+table_definition_cache #
+table_lock_wait_timeout #
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index 0e3d650c571..2971af7347d 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -37,11 +37,11 @@ c
6
11
show create table v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (`t1`.`b` + 1) AS `c` 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`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (`t1`.`b` + 1) AS `c` 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`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
show create view t1;
ERROR HY000: 'test.t1' is not VIEW
drop table t1;
@@ -54,14 +54,14 @@ ERROR 42S22: Unknown column 'b' in 'field list'
select v1.b from v1;
ERROR 42S22: Unknown column 'v1.b' in 'field list'
explain extended select c from v1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select (`test`.`t1`.`b` + 1) AS `c` from `test`.`t1`
create algorithm=temptable view v2 (c) as select b+1 from t1;
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
select c from v2;
c
3
@@ -70,9 +70,9 @@ c
6
11
explain extended select c from v2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5
-2 DERIVED t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 100.00
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select `v2`.`c` AS `c` from `test`.`v2`
create view v3 (c) as select a+1 from v1;
@@ -88,8 +88,8 @@ c
7
12
explain extended select c from v3;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select ((`test`.`t1`.`b` + 1) + 1) AS `c` from `test`.`t1`
create algorithm=temptable view v4 (c) as select c+1 from v2;
@@ -101,10 +101,10 @@ c
7
12
explain extended select c from v4;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5
-2 DERIVED <derived3> ALL NULL NULL NULL NULL 5
-3 DERIVED t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 100.00
+2 DERIVED <derived3> ALL NULL NULL NULL NULL 5 100.00
+3 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select `v4`.`c` AS `c` from `test`.`v4`
create view v5 (c) as select c+1 from v2;
@@ -116,9 +116,9 @@ c
7
12
explain extended select c from v5;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived3> ALL NULL NULL NULL NULL 5
-3 DERIVED t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived3> ALL NULL NULL NULL NULL 5 100.00
+3 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select (`v2`.`c` + 1) AS `c` from `test`.`v2`
create algorithm=temptable view v6 (c) as select c+1 from v1;
@@ -130,9 +130,9 @@ c
7
12
explain extended select c from v6;
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5
-2 DERIVED t1 ALL NULL NULL NULL NULL 5
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 100.00
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00
Warnings:
Note 1003 select `v6`.`c` AS `c` from `test`.`v6`
show tables;
@@ -387,8 +387,8 @@ c
20
30
explain extended select * from v1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00 Using where
Warnings:
Note 1003 select `test`.`t1`.`b` AS `c` from `test`.`t1` where (`test`.`t1`.`a` < 3)
update v1 set c=c+1;
@@ -576,8 +576,8 @@ set sql_mode='ansi';
create table t1 ("a*b" int);
create view v1 as select "a*b" from t1;
show create view v1;
-View Create View
-v1 CREATE VIEW "v1" AS select "t1"."a*b" AS "a*b" from "t1"
+View Create View character_set_client collation_connection
+v1 CREATE VIEW "v1" AS select "t1"."a*b" AS "a*b" from "t1" latin1 latin1_swedish_ci
drop view v1;
drop table t1;
set sql_mode=default;
@@ -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 HY000: Incorrect usage of USE INDEX and VIEW
+ERROR HY000: Incorrect usage of index hints and VIEW
drop view v1;
drop table t1;
create table t1 (col1 char(5),col2 char(5));
@@ -682,8 +682,8 @@ drop view v1;
drop table t1;
CREATE VIEW v1 (f1,f2,f3,f4) AS SELECT connection_id(), pi(), current_user(), version();
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select connection_id() AS `f1`,pi() AS `f2`,current_user() AS `f3`,version() AS `f4`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select connection_id() AS `f1`,pi() AS `f2`,current_user() AS `f3`,version() AS `f4` latin1 latin1_swedish_ci
drop view v1;
create table t1 (s1 int);
create table t2 (s2 int);
@@ -716,14 +716,14 @@ create table t2 (a int);
create view v1 as select a from t1;
create view v2 as select a from t2 where a in (select a from v1);
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where `t2`.`a` in (select `v1`.`a` AS `a` from `v1`)
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where `t2`.`a` in (select `v1`.`a` AS `a` from `v1`) latin1 latin1_swedish_ci
drop view v2, v1;
drop table t1, t2;
CREATE VIEW `v 1` AS select 5 AS `5`;
show create view `v 1`;
-View Create View
-v 1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v 1` AS select 5 AS `5`
+View Create View character_set_client collation_connection
+v 1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v 1` AS select 5 AS `5` latin1 latin1_swedish_ci
drop view `v 1`;
create database mysqltest;
create table mysqltest.t1 (a int, b int);
@@ -790,35 +790,35 @@ select * from v3;
a b
1 1
show create view v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `v1`.`col1` AS `a`,`v2`.`col1` AS `b` from (`v1` join `v2`) where (`v1`.`col1` = `v2`.`col1`)
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `v1`.`col1` AS `a`,`v2`.`col1` AS `b` from (`v1` join `v2`) where (`v1`.`col1` = `v2`.`col1`) latin1 latin1_swedish_ci
drop view v3, v2, v1;
drop table t2, t1;
create function `f``1` () returns int return 5;
create view v1 as select test.`f``1` ();
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`f``1`() AS `test.``f````1`` ()`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`f``1`() AS `test.``f````1`` ()` latin1 latin1_swedish_ci
select * from v1;
test.`f``1` ()
5
drop view v1;
drop function `f``1`;
-create function x () returns int return 5;
-create view v1 as select x ();
+create function a() returns int return 5;
+create view v1 as select a();
select * from v1;
-x ()
+a()
5
drop view v1;
-drop function x;
+drop function a;
create table t2 (col1 char collate latin1_german2_ci);
create view v2 as select col1 collate latin1_german1_ci from t2;
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t2`.`col1` collate latin1_german1_ci) AS `col1 collate latin1_german1_ci` from `t2`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t2`.`col1` collate latin1_german1_ci) AS `col1 collate latin1_german1_ci` from `t2` latin1 latin1_swedish_ci
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t2`.`col1` collate latin1_german1_ci) AS `col1 collate latin1_german1_ci` from `t2`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t2`.`col1` collate latin1_german1_ci) AS `col1 collate latin1_german1_ci` from `t2` latin1 latin1_swedish_ci
drop view v2;
drop table t2;
create table t1 (a int);
@@ -844,9 +844,12 @@ drop view v1;
drop table t1;
create view v1 as select 99999999999999999999999999999999999999999999999999999 as col1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 99999999999999999999999999999999999999999999999999999 AS `col1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 99999999999999999999999999999999999999999999999999999 AS `col1` latin1 latin1_swedish_ci
drop view v1;
+SET @old_cs_client = @@character_set_client;
+SET @old_cs_results = @@character_set_results;
+SET @old_cs_connection = @@character_set_connection;
set names utf8;
create table tü (cü char);
create view vü as select cü from tü;
@@ -856,7 +859,9 @@ cü
ü
drop view vü;
drop table tü;
-set names latin1;
+SET character_set_client = @old_cs_client;
+SET character_set_results = @old_cs_results;
+SET character_set_connection = @old_cs_connection;
create table t1 (a int, b int);
insert into t1 values (1,2), (1,3), (2,4), (2,5), (3,10);
create view v1(c) as select a+1 from t1 where b >= 4;
@@ -867,8 +872,8 @@ drop view v1;
drop table t1;
create view v1 as select cast(1 as char(3));
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1 as char(3) charset latin1) AS `cast(1 as char(3))`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1 as char(3) charset latin1) AS `cast(1 as char(3))` latin1 latin1_swedish_ci
select * from v1;
cast(1 as char(3))
1
@@ -913,6 +918,7 @@ drop view v1;
drop table t1;
create table t1 (col1 int);
create table t2 (col1 int);
+create table t3 (col1 datetime not null);
create view v1 as select * from t1;
create view v2 as select * from v1;
create view v3 as select v2.col1 from v2,t2 where v2.col1 = t2.col1;
@@ -1017,8 +1023,8 @@ ERROR HY000: The definition of table 'v2' prevents operation INSERT on table 'v3
insert into v3 (col1) values ((select CONVERT_TZ('20050101000000','UTC','MET') from v2));
ERROR HY000: The definition of table 'v2' prevents operation INSERT on table 'v3'.
insert into v3 (col1) values ((select CONVERT_TZ('20050101000000','UTC','MET') from t2));
-insert into mysql.time_zone values ('', (select CONVERT_TZ('20050101000000','UTC','MET') from t2));
-ERROR 23000: Column 'Use_leap_seconds' cannot be null
+insert into t3 values ((select CONVERT_TZ('20050101000000','UTC','MET') from t2));
+ERROR 23000: Column 'col1' cannot be null
create algorithm=temptable view v4 as select * from t1;
insert into t1 values (1),(2),(3);
insert into t1 (col1) values ((select max(col1) from v4));
@@ -1030,7 +1036,7 @@ NULL
3
3
drop view v4,v3,v2,v1;
-drop table t1,t2;
+drop table t1,t2,t3;
create table t1 (s1 int);
create view v1 as select * from t1;
handler v1 open as xx;
@@ -1121,21 +1127,21 @@ insert ignore into v1 SELECT a from t2;
Warnings:
Error 1369 CHECK OPTION failed 'test.v1'
Error 1369 CHECK OPTION failed 'test.v1'
-select * from t1;
+select * from t1 order by a desc;
a
1
0
update v1 set a=-1 where a=0;
update v1 set a=2 where a=1;
ERROR HY000: CHECK OPTION failed 'test.v1'
-select * from t1;
+select * from t1 order by a desc;
a
1
-1
update v1 set a=0 where a=0;
insert into t2 values (1);
update v1,t2 set v1.a=v1.a-1 where v1.a=t2.a;
-select * from t1;
+select * from t1 order by a desc;
a
0
-1
@@ -1198,20 +1204,20 @@ drop table t1;
create table t1 (a int);
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`.`a` AS `a` 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`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
alter algorithm=undefined view v1 as select * from t1 with check option;
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` from `t1` WITH CASCADED CHECK OPTION
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` WITH CASCADED CHECK OPTION latin1 latin1_swedish_ci
alter algorithm=merge view v1 as select * from t1 with cascaded check option;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` WITH CASCADED CHECK OPTION
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` WITH CASCADED CHECK OPTION latin1 latin1_swedish_ci
alter algorithm=temptable view v1 as select * from t1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
drop view v1;
drop table t1;
create table t1 (s1 int);
@@ -1325,12 +1331,12 @@ Warning 1366 Incorrect integer value: 'error ' for column 'a' at row 3
Error 1369 CHECK OPTION failed 'test.v1'
Warning 1366 Incorrect integer value: 'wrong end ' for column 'a' at row 4
Error 1369 CHECK OPTION failed 'test.v1'
-select * from t1;
+select * from t1 order by a,b;
a b
1 row 1
2 row 2
3 row 3
-select * from v1;
+select * from v1 order by a,b;
a b
1 row 1
2 row 2
@@ -1407,10 +1413,10 @@ a a b
2 2 NULL
4 NULL NULL
explain extended select * from t3 left join v3 on (t3.a = v3.a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL 3
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `b` from `test`.`t3` left join (`test`.`t1` left join `test`.`t2` on((`test`.`t1`.`a` = `test`.`t2`.`a`))) on((`test`.`t3`.`a` = `test`.`t1`.`a`)) where 1
create view v1 (a) as select a from t1;
@@ -1422,10 +1428,10 @@ a a b
2 2 NULL
4 NULL NULL
explain extended select * from t3 left join v4 on (t3.a = v4.a);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL 3
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3
-1 SIMPLE t2 ALL NULL NULL NULL NULL 2
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t3 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00
Warnings:
Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `b` from `test`.`t3` left join (`test`.`t1` left join (`test`.`t2`) on((`test`.`t1`.`a` = `test`.`t2`.`a`))) on((`test`.`t3`.`a` = `test`.`t1`.`a`)) where 1
prepare stmt1 from "select * from t3 left join v4 on (t3.a = v4.a);";
@@ -1884,25 +1890,25 @@ create table t1 (a timestamp default now());
create table t2 (b timestamp default now());
create view v1 as select a,b,t1.a < now() from t1,t2 where t1.a < now();
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`,`t2`.`b` AS `b`,(`t1`.`a` < now()) AS `t1.a < now()` from (`t1` join `t2`) where (`t1`.`a` < now())
+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`,`t2`.`b` AS `b`,(`t1`.`a` < now()) AS `t1.a < now()` from (`t1` join `t2`) where (`t1`.`a` < now()) latin1 latin1_swedish_ci
drop view v1;
drop table t1, t2;
CREATE TABLE t1 ( a varchar(50) );
CREATE VIEW v1 AS SELECT * FROM t1 WHERE a = CURRENT_USER();
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` from `t1` where (`t1`.`a` = current_user())
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` = current_user()) latin1 latin1_swedish_ci
DROP VIEW v1;
CREATE VIEW v1 AS SELECT * FROM t1 WHERE a = VERSION();
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` from `t1` where (`t1`.`a` = version())
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` = version()) latin1 latin1_swedish_ci
DROP VIEW v1;
CREATE VIEW v1 AS SELECT * FROM t1 WHERE a = DATABASE();
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` from `t1` where (`t1`.`a` = database())
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` = database()) latin1 latin1_swedish_ci
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (col1 time);
@@ -2004,8 +2010,8 @@ drop table t1;
create table t1 (s1 int);
create view v1 as select var_samp(s1) from t1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select var_samp(`t1`.`s1`) AS `var_samp(s1)` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select var_samp(`t1`.`s1`) AS `var_samp(s1)` from `t1` latin1 latin1_swedish_ci
drop view v1;
drop table t1;
set sql_mode='strict_all_tables';
@@ -2089,17 +2095,6 @@ CALL p1();
DROP PROCEDURE p1;
DROP VIEW v1;
DROP TABLE t1;
-create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime);
-create view v1 as select * from t1;
-desc v1;
-Field Type Null Key Default Extra
-f1 tinyint(1) YES NULL
-f2 char(1) YES NULL
-f3 varchar(1) YES NULL
-f4 geometry YES NULL
-f5 datetime YES NULL
-drop view v1;
-drop table t1;
create table t1(f1 datetime);
insert into t1 values('2005.01.01 12:0:0');
create view v1 as select f1, subtime(f1, '1:1:1') as sb from t1;
@@ -2261,16 +2256,16 @@ CREATE TABLE t1 (date DATE NOT NULL);
INSERT INTO t1 VALUES ('2005-09-06');
CREATE VIEW v1 AS SELECT DAYNAME(date) FROM t1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select dayname(`t1`.`date`) AS `DAYNAME(date)` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select dayname(`t1`.`date`) AS `DAYNAME(date)` from `t1` latin1 latin1_swedish_ci
CREATE VIEW v2 AS SELECT DAYOFWEEK(date) FROM t1;
SHOW CREATE VIEW v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select dayofweek(`t1`.`date`) AS `DAYOFWEEK(date)` from `t1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select dayofweek(`t1`.`date`) AS `DAYOFWEEK(date)` from `t1` latin1 latin1_swedish_ci
CREATE VIEW v3 AS SELECT WEEKDAY(date) FROM t1;
SHOW CREATE VIEW v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select weekday(`t1`.`date`) AS `WEEKDAY(date)` from `t1`
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select weekday(`t1`.`date`) AS `WEEKDAY(date)` from `t1` latin1 latin1_swedish_ci
SELECT DAYNAME('2005-09-06');
DAYNAME('2005-09-06')
Tuesday
@@ -2355,7 +2350,7 @@ id select_type table type possible_keys key key_len ref rows Extra
EXPLAIN SELECT * FROM v2 WHERE a=1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref a a 5 const 1 Using where; Using index
-1 SIMPLE t3 ALL NULL NULL NULL NULL 3 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 3 Using where; Using join buffer
DROP VIEW v1,v2;
DROP TABLE t1,t2,t3;
create table t1 (f1 int);
@@ -2429,13 +2424,13 @@ test.v1 repair error Corrupt
DROP VIEW v1;
create definer = current_user() sql security invoker view v1 as select 1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` latin1 latin1_swedish_ci
drop view v1;
create definer = current_user sql security invoker view v1 as select 1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` latin1 latin1_swedish_ci
drop view v1;
create table t1 (id INT, primary key(id));
insert into t1 values (1),(2);
@@ -2464,8 +2459,8 @@ end;
//
call p1();
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
+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
drop view v1;
drop procedure p1;
CREATE VIEW v1 AS SELECT 42 AS Meaning;
@@ -2570,8 +2565,8 @@ drop table t1;
show create view v1;
drop view v1;
//
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`id` AS `id` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`id` AS `id` from `t1` latin1 latin1_swedish_ci
create table t1(f1 int, f2 int);
create view v1 as select ta.f1 as a, tb.f1 as b from t1 ta, t1 tb where ta.f1=tb
.f1 and ta.f2=tb.f2;
@@ -2687,8 +2682,8 @@ CREATE VIEW v1 AS
SELECT id, date(d) + INTERVAL TIME_TO_SEC(d) SECOND AS t, COUNT(*)
FROM t1 GROUP BY id, t;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`id` AS `id`,(cast(`t1`.`d` as date) + interval time_to_sec(`t1`.`d`) second) AS `t`,count(0) AS `COUNT(*)` from `t1` group by `t1`.`id`,(cast(`t1`.`d` as date) + interval time_to_sec(`t1`.`d`) second)
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`id` AS `id`,(cast(`t1`.`d` as date) + interval time_to_sec(`t1`.`d`) second) AS `t`,count(0) AS `COUNT(*)` from `t1` group by `t1`.`id`,(cast(`t1`.`d` as date) + interval time_to_sec(`t1`.`d`) second) latin1 latin1_swedish_ci
SELECT * FROM v1;
id t COUNT(*)
DROP VIEW v1;
@@ -2716,8 +2711,8 @@ CREATE VIEW v1 AS
SELECT (year(test_date)-year(DOB)) AS Age
FROM t1 HAVING Age < 75;
SHOW CREATE VIEW v1;
-View Create View
-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)
+View Create View character_set_client collation_connection
+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
43
@@ -2844,12 +2839,12 @@ DROP TABLE t1;
CREATE TABLE t1 (x INT, y INT);
CREATE ALGORITHM=TEMPTABLE SQL SECURITY INVOKER VIEW v1 AS SELECT x FROM t1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select `t1`.`x` AS `x` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select `t1`.`x` AS `x` from `t1` latin1 latin1_swedish_ci
ALTER VIEW v1 AS SELECT x, y FROM t1;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select `t1`.`x` AS `x`,`t1`.`y` AS `y` from `t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select `t1`.`x` AS `x`,`t1`.`y` AS `y` from `t1` latin1 latin1_swedish_ci
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (s1 char);
@@ -2909,8 +2904,8 @@ USE test;
create table t1 (f1 datetime);
create view v1 as select * from t1 where f1 between now() and now() + interval 1 minute;
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` where (`t1`.`f1` between now() and (now() + interval 1 minute))
+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` where (`t1`.`f1` between now() and (now() + interval 1 minute)) latin1 latin1_swedish_ci
drop view v1;
drop table t1;
DROP TABLE IF EXISTS t1;
@@ -2986,8 +2981,8 @@ t2.ver = (SELECT MAX(t.ver) FROM t2 t WHERE t.org = t2.org);
SHOW WARNINGS;
Level Code Message
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`pk` AS `pk` from (`t1` join `t2` on(((`t2`.`fk` = `t1`.`pk`) and (`t2`.`ver` = (select max(`t`.`ver`) AS `MAX(t.ver)` from `t2` `t` where (`t`.`org` = `t2`.`org`))))))
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`pk` AS `pk` from (`t1` join `t2` on(((`t2`.`fk` = `t1`.`pk`) and (`t2`.`ver` = (select max(`t`.`ver`) AS `MAX(t.ver)` from `t2` `t` where (`t`.`org` = `t2`.`org`)))))) latin1 latin1_swedish_ci
DROP VIEW v1;
DROP TABLE t1, t2;
DROP FUNCTION IF EXISTS f1;
@@ -3050,8 +3045,8 @@ DROP VIEW v1, v2;
DROP TABLE t1;
CREATE VIEW v AS SELECT !0 * 5 AS x FROM DUAL;
SHOW CREATE VIEW v;
-View Create View
-v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select ((not(0)) * 5) AS `x`
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select ((not(0)) * 5) AS `x` latin1 latin1_swedish_ci
SELECT !0 * 5 AS x FROM DUAL;
x
5
@@ -3065,8 +3060,8 @@ SELECT * FROM v1;
TheEnd
TheEnd
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select _latin1'The\ZEnd' AS `TheEnd`
+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
DROP VIEW v1;
CREATE TABLE t1 (mydate DATETIME);
INSERT INTO t1 VALUES
@@ -3132,8 +3127,8 @@ f1 f2
1 3
2 3
explain extended select * from v1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`f1` AS `f1`,`test`.`t1`.`f2` AS `f2` from `test`.`t1` order by `test`.`t1`.`f2`
select * from v1 order by f1;
@@ -3145,8 +3140,8 @@ f1 f2
2 2
2 3
explain extended select * from v1 order by f1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 6 100.00 Using filesort
Warnings:
Note 1003 select `test`.`t1`.`f1` AS `f1`,`test`.`t1`.`f2` AS `f2` from `test`.`t1` order by `test`.`t1`.`f1`,`test`.`t1`.`f2`
drop view v1;
@@ -3287,8 +3282,8 @@ old_isfalse int(1) NO 0
a IS NOT FALSE int(1) NO 0
old_isnotfalse int(1) NO 0
show create view view_24532_b;
-View Create View
-view_24532_b CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `view_24532_b` AS select (`table_24532`.`a` is true) AS `a IS TRUE`,if(ifnull(`table_24532`.`a`,0),1,0) AS `old_istrue`,(`table_24532`.`a` is not true) AS `a IS NOT TRUE`,if(ifnull(`table_24532`.`a`,0),0,1) AS `old_isnottrue`,(`table_24532`.`a` is false) AS `a IS FALSE`,if(ifnull(`table_24532`.`a`,1),0,1) AS `old_isfalse`,(`table_24532`.`a` is not false) AS `a IS NOT FALSE`,if(ifnull(`table_24532`.`a`,1),1,0) AS `old_isnotfalse` from `table_24532`
+View Create View character_set_client collation_connection
+view_24532_b CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `view_24532_b` AS select (`table_24532`.`a` is true) AS `a IS TRUE`,if(ifnull(`table_24532`.`a`,0),1,0) AS `old_istrue`,(`table_24532`.`a` is not true) AS `a IS NOT TRUE`,if(ifnull(`table_24532`.`a`,0),0,1) AS `old_isnottrue`,(`table_24532`.`a` is false) AS `a IS FALSE`,if(ifnull(`table_24532`.`a`,1),0,1) AS `old_isfalse`,(`table_24532`.`a` is not false) AS `a IS NOT FALSE`,if(ifnull(`table_24532`.`a`,1),1,0) AS `old_isnotfalse` from `table_24532` latin1 latin1_swedish_ci
insert into table_24532 values (0, 0, 0, 0);
select * from view_24532_b;
a IS TRUE old_istrue a IS NOT TRUE old_isnottrue a IS FALSE old_isfalse a IS NOT FALSE old_isnotfalse
@@ -3386,8 +3381,8 @@ col decimal(7,5) NO 0.00000
DROP VIEW v1;
CREATE VIEW v1 AS SELECT CAST(1.23456789 AS DECIMAL(8,0)) AS col;
SHOW CREATE VIEW v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1.23456789 as decimal(8,0)) AS `col`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1.23456789 as decimal(8,0)) AS `col` latin1 latin1_swedish_ci
DROP VIEW v1;
CREATE TABLE t1 (a INT);
CREATE TABLE t2 (b INT, c INT DEFAULT 0);
@@ -3567,11 +3562,11 @@ 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 USE INDEX and VIEW
+ERROR HY000: Incorrect usage of index hints and VIEW
SELECT * FROM v1 FORCE KEY(non_existant);
-ERROR HY000: Incorrect usage of FORCE INDEX and VIEW
+ERROR HY000: Incorrect usage of index hints and VIEW
SELECT * FROM v1 IGNORE KEY(non_existant);
-ERROR HY000: Incorrect usage of IGNORE INDEX and VIEW
+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,
@@ -3579,22 +3574,22 @@ 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
-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,`b`) order by `t1`.`a`
+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
-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`
+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
-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`
+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
@@ -3603,3 +3598,66 @@ DROP VIEW v2;
DROP VIEW v3;
DROP TABLE t1;
End of 5.0 tests.
+DROP DATABASE IF EXISTS `d-1`;
+CREATE DATABASE `d-1`;
+USE `d-1`;
+CREATE TABLE `t-1` (c1 INT);
+CREATE VIEW `v-1` AS SELECT c1 FROM `t-1`;
+SHOW TABLES;
+Tables_in_d-1
+t-1
+v-1
+RENAME TABLE `t-1` TO `t-2`;
+RENAME TABLE `v-1` TO `v-2`;
+SHOW TABLES;
+Tables_in_d-1
+t-2
+v-2
+DROP TABLE `t-2`;
+DROP VIEW `v-2`;
+DROP DATABASE `d-1`;
+USE test;
+
+#
+# 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.
+
+End of 5.1 tests.
diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
index eef61c65fb8..c301953f508 100644
--- a/mysql-test/r/view_grant.result
+++ b/mysql-test/r/view_grant.result
@@ -1,3 +1,5 @@
+drop database if exists mysqltest;
+drop view if exists v1,v2,v3;
grant create view on test.* to test@localhost;
show grants for test@localhost;
Grants for test@localhost
@@ -25,8 +27,8 @@ ERROR 42000: CREATE VIEW command denied to user 'mysqltest_1'@'localhost' for ta
create view v2 as select * from mysqltest.t2;
ERROR 42000: ANY command denied to user 'mysqltest_1'@'localhost' for table 't2'
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_1`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select `mysqltest`.`t1`.`a` AS `a`,`mysqltest`.`t1`.`b` AS `b` from `mysqltest`.`t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_1`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select `mysqltest`.`t1`.`a` AS `a`,`mysqltest`.`t1`.`b` AS `b` from `mysqltest`.`t1` latin1 latin1_swedish_ci
grant create view,drop,select on test.* to mysqltest_1@localhost;
use test;
alter view v1 as select * from mysqltest.t1;
@@ -125,28 +127,28 @@ explain select c from mysqltest.v1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
show create view mysqltest.v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v1` AS select (`mysqltest`.`t1`.`a` + 1) AS `c`,(`mysqltest`.`t1`.`b` + 1) AS `d` from `mysqltest`.`t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v1` AS select (`mysqltest`.`t1`.`a` + 1) AS `c`,(`mysqltest`.`t1`.`b` + 1) AS `d` from `mysqltest`.`t1` latin1 latin1_swedish_ci
explain select c from mysqltest.v2;
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 NULL NULL NULL NULL NULL NULL NULL no matching row in const table
show create view mysqltest.v2;
-View Create View
-v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v2` AS select (`mysqltest`.`t1`.`a` + 1) AS `c`,(`mysqltest`.`t1`.`b` + 1) AS `d` from `mysqltest`.`t1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v2` AS select (`mysqltest`.`t1`.`a` + 1) AS `c`,(`mysqltest`.`t1`.`b` + 1) AS `d` from `mysqltest`.`t1` latin1 latin1_swedish_ci
explain select c from mysqltest.v3;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 system NULL NULL NULL NULL 0 const row not found
show create view mysqltest.v3;
-View Create View
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v3` AS select (`mysqltest`.`t2`.`a` + 1) AS `c`,(`mysqltest`.`t2`.`b` + 1) AS `d` from `mysqltest`.`t2`
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v3` AS select (`mysqltest`.`t2`.`a` + 1) AS `c`,(`mysqltest`.`t2`.`b` + 1) AS `d` from `mysqltest`.`t2` latin1 latin1_swedish_ci
explain select c from mysqltest.v4;
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 NULL NULL NULL NULL NULL NULL NULL no matching row in const table
show create view mysqltest.v4;
-View Create View
-v4 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v4` AS select (`mysqltest`.`t2`.`a` + 1) AS `c`,(`mysqltest`.`t2`.`b` + 1) AS `d` from `mysqltest`.`t2`
+View Create View character_set_client collation_connection
+v4 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqltest`.`v4` AS select (`mysqltest`.`t2`.`a` + 1) AS `c`,(`mysqltest`.`t2`.`b` + 1) AS `d` from `mysqltest`.`t2` latin1 latin1_swedish_ci
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
delete from mysql.user where user='mysqltest_1';
drop database mysqltest;
@@ -306,8 +308,8 @@ grant select on mysqltest.t1 to mysqltest_1@localhost;
grant create view,select on test.* to mysqltest_1@localhost;
create view v1 as select * from mysqltest.t1;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_1`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select `mysqltest`.`t1`.`a` AS `a`,`mysqltest`.`t1`.`b` AS `b` from `mysqltest`.`t1`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_1`@`localhost` SQL SECURITY DEFINER VIEW `test`.`v1` AS select `mysqltest`.`t1`.`a` AS `a`,`mysqltest`.`t1`.`b` AS `b` from `mysqltest`.`t1` latin1 latin1_swedish_ci
revoke select on mysqltest.t1 from mysqltest_1@localhost;
select * from v1;
ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
@@ -474,15 +476,15 @@ grant all on test.* to 'test14256'@'%';
use test;
create view v1 as select 42;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`test14256`@`%` SQL SECURITY DEFINER VIEW `v1` AS select 42 AS `42`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`test14256`@`%` SQL SECURITY DEFINER VIEW `v1` AS select 42 AS `42` latin1 latin1_swedish_ci
select definer into @v1def1 from information_schema.views
where table_schema = 'test' and table_name='v1';
drop view v1;
create definer=`test14256`@`%` view v1 as select 42;
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`test14256`@`%` SQL SECURITY DEFINER VIEW `v1` AS select 42 AS `42`
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`test14256`@`%` SQL SECURITY DEFINER VIEW `v1` AS select 42 AS `42` latin1 latin1_swedish_ci
select definer into @v1def2 from information_schema.views
where table_schema = 'test' and table_name='v1';
drop view v1;
@@ -498,8 +500,8 @@ use mysqltest;
CREATE TABLE t1 (i INT);
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`.`i` AS `i` 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`.`i` AS `i` from `t1` latin1 latin1_swedish_ci
GRANT SELECT, LOCK TABLES ON mysqltest.* TO mysqltest_1@localhost;
use mysqltest;
LOCK TABLES v1 READ;
@@ -517,11 +519,11 @@ create definer=some_user@localhost sql security invoker view v2 as select 1;
Warnings:
Note 1449 There is no 'some_user'@'localhost' registered
show create view v1;
-View Create View
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1`
+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
show create view v2;
-View Create View
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select 1 AS `1`
+View Create View character_set_client collation_connection
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select 1 AS `1` latin1 latin1_swedish_ci
drop view v1;
drop view v2;
CREATE DATABASE mysqltest1;
@@ -600,8 +602,8 @@ CREATE DEFINER = 'no-such-user'@localhost VIEW v AS SELECT a from t1;
Warnings:
Note 1449 There is no 'no-such-user'@'localhost' registered
SHOW CREATE VIEW v;
-View Create View
-v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `test`.`t1`.`a` AS `a` from `t1`
+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;
@@ -617,14 +619,14 @@ CREATE TABLE t1 (f1 INTEGER);
CREATE VIEW view1 AS
SELECT * FROM t1;
SHOW CREATE VIEW view1;
-View Create View
-view1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view1` AS select `t1`.`f1` AS `f1` from `t1`
+View Create View character_set_client collation_connection
+view1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
CREATE VIEW view2 AS
SELECT * FROM view1;
# Here comes a suspicious warning
SHOW CREATE VIEW view2;
-View Create View
-view2 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view2` AS select `view1`.`f1` AS `f1` from `view1`
+View Create View character_set_client collation_connection
+view2 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view2` AS select `view1`.`f1` AS `f1` from `view1` latin1 latin1_swedish_ci
# But the view view2 is usable
SELECT * FROM view2;
f1
@@ -782,8 +784,8 @@ 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
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1`
+View Create View character_set_client collation_connection
+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;
#
@@ -808,24 +810,24 @@ 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
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1`
+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
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1`
+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
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`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=`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
-v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
+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;
@@ -919,3 +921,38 @@ DROP DATABASE mysqltest1;
DROP DATABASE mysqltest2;
DROP USER mysqltest_u1@localhost;
End of 5.0 tests.
+DROP VIEW IF EXISTS v1;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (i INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+ALTER VIEW v1 AS SELECT * FROM t1;
+SHOW CREATE VIEW v1;
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`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
+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 There is no 'no_such'@'user_1' registered
+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
+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
+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
+Warnings:
+Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+DROP VIEW v1;
+DROP TABLE t1;
+End of 5.1 tests.
diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result
index 9ce1f9c825d..2929328a9b1 100644
--- a/mysql-test/r/warnings.result
+++ b/mysql-test/r/warnings.result
@@ -72,13 +72,13 @@ drop table t1;
create table t1(a tinyint, b int not null, c date, d char(5));
load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
Warnings:
-Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 2
+Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 3
Warning 1265 Data truncated for column 'c' at row 4
Warning 1261 Row 5 doesn't contain data for all columns
Warning 1265 Data truncated for column 'b' at row 6
Warning 1262 Row 7 was truncated; it contained more data than there were input columns
-Warning 1264 Out of range value adjusted for column 'a' at row 8
+Warning 1264 Out of range value for column 'a' at row 8
select @@warning_count;
@@warning_count
7
@@ -87,10 +87,10 @@ 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');
Warnings:
Warning 1048 Column 'a' cannot be null
-Warning 1264 Out of range value adjusted for column 'b' at row 2
+Warning 1264 Out of range value for column 'b' at row 2
Warning 1265 Data truncated for column 'c' at row 2
-Warning 1264 Out of range value adjusted for column 'a' at row 3
-Warning 1264 Out of range value adjusted for column 'b' at row 3
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1264 Out of range value for column 'b' at row 3
Warning 1265 Data truncated for column 'c' at row 3
alter table t1 modify c char(4);
Warnings:
@@ -166,30 +166,9 @@ show variables like 'max_error_count';
Variable_name Value
max_error_count 10
drop table t1;
-create table t1 (id int) engine=isam;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
-alter table t1 engine=isam;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
-drop table t1;
-create table t1 (id int) engine=merge;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
-alter table t1 engine=merge;
-Warnings:
-Warning 1266 Using storage engine MyISAM for table 't1'
-drop table t1;
-create table t1 (id int) type=heap;
-Warnings:
-Warning 1287 'TYPE=storage_engine' is deprecated; use 'ENGINE=storage_engine' instead
-alter table t1 type=myisam;
-Warnings:
-Warning 1287 'TYPE=storage_engine' is deprecated; use 'ENGINE=storage_engine' instead
-drop table t1;
set table_type=MYISAM;
Warnings:
-Warning 1287 'table_type' is deprecated; use 'storage_engine' instead
+Warning 1287 The syntax 'table_type' is deprecated and will be removed in MySQL 5.2. Please use 'storage_engine' instead
create table t1 (a int);
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
update t1 set a='abc';
diff --git a/mysql-test/r/warnings_engine_disabled.result b/mysql-test/r/warnings_engine_disabled.result
new file mode 100644
index 00000000000..aa6170a60a7
--- /dev/null
+++ b/mysql-test/r/warnings_engine_disabled.result
@@ -0,0 +1,7 @@
+create table t1 (id int) engine=NDB;
+Warnings:
+Warning 1266 Using storage engine MyISAM for table 't1'
+alter table t1 engine=NDB;
+Warnings:
+Warning 1266 Using storage engine MyISAM for table 't1'
+drop table t1;
diff --git a/mysql-test/r/windows.require b/mysql-test/r/windows.require
new file mode 100644
index 00000000000..09aae1ed1d0
--- /dev/null
+++ b/mysql-test/r/windows.require
@@ -0,0 +1,2 @@
+TRUE
+1
diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result
index b5f9a48d805..e58a891838a 100644
--- a/mysql-test/r/windows.result
+++ b/mysql-test/r/windows.result
@@ -19,3 +19,18 @@ 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
+call proc_1();
+ERROR HY000: No paths allowed for shared library
+call proc_1();
+ERROR HY000: No paths allowed for shared library
+drop procedure proc_1;
+prepare abc from "install plugin my_plug soname '\\\\root\\\\some_plugin.dll'";
+execute abc;
+ERROR HY000: No paths allowed for shared library
+execute abc;
+ERROR HY000: No paths allowed for shared library
+deallocate prepare abc;
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
new file mode 100644
index 00000000000..56c884343e3
--- /dev/null
+++ b/mysql-test/r/xml.result
@@ -0,0 +1,1032 @@
+SET @xml='<a aa1="aa1" aa2="aa2">a1<b ba1="ba1">b1<c>c1</c>b2</b>a2</a>';
+SELECT extractValue(@xml,'/a');
+extractValue(@xml,'/a')
+a1 a2
+SELECT extractValue(@xml,'/a/b');
+extractValue(@xml,'/a/b')
+b1 b2
+SELECT extractValue(@xml,'/a/b/c');
+extractValue(@xml,'/a/b/c')
+c1
+SELECT extractValue(@xml,'/a/@aa1');
+extractValue(@xml,'/a/@aa1')
+aa1
+SELECT extractValue(@xml,'/a/@aa2');
+extractValue(@xml,'/a/@aa2')
+aa2
+SELECT extractValue(@xml,'/a/@*');
+extractValue(@xml,'/a/@*')
+aa1 aa2
+SELECT extractValue(@xml,'//@ba1');
+extractValue(@xml,'//@ba1')
+ba1
+SELECT extractValue(@xml,'//a');
+extractValue(@xml,'//a')
+a1 a2
+SELECT extractValue(@xml,'//b');
+extractValue(@xml,'//b')
+b1 b2
+SELECT extractValue(@xml,'//c');
+extractValue(@xml,'//c')
+c1
+SELECT extractValue(@xml,'/a//b');
+extractValue(@xml,'/a//b')
+b1 b2
+SELECT extractValue(@xml,'/a//c');
+extractValue(@xml,'/a//c')
+c1
+SELECT extractValue(@xml,'//*');
+extractValue(@xml,'//*')
+a1 b1 c1 b2 a2
+SELECT extractValue(@xml,'/a//*');
+extractValue(@xml,'/a//*')
+b1 c1 b2
+SELECT extractValue(@xml,'/./a');
+extractValue(@xml,'/./a')
+a1 a2
+SELECT extractValue(@xml,'/a/b/.');
+extractValue(@xml,'/a/b/.')
+b1 b2
+SELECT extractValue(@xml,'/a/b/..');
+extractValue(@xml,'/a/b/..')
+a1 a2
+SELECT extractValue(@xml,'/a/b/../@aa1');
+extractValue(@xml,'/a/b/../@aa1')
+aa1
+SELECT extractValue(@xml,'/*');
+extractValue(@xml,'/*')
+a1 a2
+SELECT extractValue(@xml,'/*/*');
+extractValue(@xml,'/*/*')
+b1 b2
+SELECT extractValue(@xml,'/*/*/*');
+extractValue(@xml,'/*/*/*')
+c1
+SELECT extractValue(@xml,'/a/child::*');
+extractValue(@xml,'/a/child::*')
+b1 b2
+SELECT extractValue(@xml,'/a/self::*');
+extractValue(@xml,'/a/self::*')
+a1 a2
+SELECT extractValue(@xml,'/a/descendant::*');
+extractValue(@xml,'/a/descendant::*')
+b1 c1 b2
+SELECT extractValue(@xml,'/a/descendant-or-self::*');
+extractValue(@xml,'/a/descendant-or-self::*')
+a1 b1 c1 b2 a2
+SELECT extractValue(@xml,'/a/attribute::*');
+extractValue(@xml,'/a/attribute::*')
+aa1 aa2
+SELECT extractValue(@xml,'/a/b/c/parent::*');
+extractValue(@xml,'/a/b/c/parent::*')
+b1 b2
+SELECT extractValue(@xml,'/a/b/c/ancestor::*');
+extractValue(@xml,'/a/b/c/ancestor::*')
+a1 b1 b2 a2
+SELECT extractValue(@xml,'/a/b/c/ancestor-or-self::*');
+extractValue(@xml,'/a/b/c/ancestor-or-self::*')
+a1 b1 c1 b2 a2
+SELECT extractValue(@xml,'/descendant-or-self::*');
+extractValue(@xml,'/descendant-or-self::*')
+a1 b1 c1 b2 a2
+SET @xml='<a>a11<b ba="ba11" ba="ba12">b11</b><b ba="ba21" ba="ba22">b21<c>c1</c>b22</b>a12</a>';
+SELECT extractValue(@xml,'/a/b/c/ancestor-or-self::*');
+extractValue(@xml,'/a/b/c/ancestor-or-self::*')
+a11 b21 c1 b22 a12
+SELECT extractValue(@xml,'//@ba');
+extractValue(@xml,'//@ba')
+ba11 ba12 ba21 ba22
+SET @xml='<a><b>b</b><c>c</c></a>';
+SELECT extractValue(@xml,'/a/b');
+extractValue(@xml,'/a/b')
+b
+SELECT extractValue(@xml,'/a/c');
+extractValue(@xml,'/a/c')
+c
+SELECT extractValue(@xml,'/a/child::b');
+extractValue(@xml,'/a/child::b')
+b
+SELECT extractValue(@xml,'/a/child::c');
+extractValue(@xml,'/a/child::c')
+c
+SET @xml='<a><b>b1</b><c>c1</c><b>b2</b><c>c2</c></a>';
+SELECT extractValue(@xml,'/a/b[1]');
+extractValue(@xml,'/a/b[1]')
+b1
+SELECT extractValue(@xml,'/a/b[2]');
+extractValue(@xml,'/a/b[2]')
+b2
+SELECT extractValue(@xml,'/a/c[1]');
+extractValue(@xml,'/a/c[1]')
+c1
+SELECT extractValue(@xml,'/a/c[2]');
+extractValue(@xml,'/a/c[2]')
+c2
+SET @xml='<a><b x="xb1" x="xb2"/><c x="xc1" x="xc2"/></a>';
+SELECT extractValue(@xml,'/a//@x');
+extractValue(@xml,'/a//@x')
+xb1 xb2 xc1 xc2
+SELECT extractValue(@xml,'/a//@x[1]');
+extractValue(@xml,'/a//@x[1]')
+xb1 xc1
+SELECT extractValue(@xml,'/a//@x[2]');
+extractValue(@xml,'/a//@x[2]')
+xb2 xc2
+SET @xml='<a><b>b1</b><b>b2</b><c><b>c1b1</b><b>c1b2</b></c><c><b>c2b1</c></b></a>';
+SELECT extractValue(@xml,'//b[1]');
+extractValue(@xml,'//b[1]')
+b1 c1b1 c2b1
+SELECT extractValue(@xml,'/descendant::b[1]');
+extractValue(@xml,'/descendant::b[1]')
+b1
+SET @xml='<a><b>b1</b><b>b2</b></a>';
+SELECT extractValue(@xml,'/a/b[1+0]');
+extractValue(@xml,'/a/b[1+0]')
+b1
+SELECT extractValue(@xml,'/a/b[1*1]');
+extractValue(@xml,'/a/b[1*1]')
+b1
+SELECT extractValue(@xml,'/a/b[--1]');
+extractValue(@xml,'/a/b[--1]')
+b1
+SELECT extractValue(@xml,'/a/b[2*1-1]');
+extractValue(@xml,'/a/b[2*1-1]')
+b1
+SELECT extractValue(@xml,'/a/b[1+1]');
+extractValue(@xml,'/a/b[1+1]')
+b2
+SELECT extractValue(@xml,'/a/b[1*2]');
+extractValue(@xml,'/a/b[1*2]')
+b2
+SELECT extractValue(@xml,'/a/b[--2]');
+extractValue(@xml,'/a/b[--2]')
+b2
+SELECT extractValue(@xml,'/a/b[1*(3-1)]');
+extractValue(@xml,'/a/b[1*(3-1)]')
+b2
+SELECT extractValue(@xml,'//*[1=1]');
+extractValue(@xml,'//*[1=1]')
+b1 b2
+SELECT extractValue(@xml,'//*[1!=1]');
+extractValue(@xml,'//*[1!=1]')
+
+SELECT extractValue(@xml,'//*[1>1]');
+extractValue(@xml,'//*[1>1]')
+
+SELECT extractValue(@xml,'//*[2>1]');
+extractValue(@xml,'//*[2>1]')
+b1 b2
+SELECT extractValue(@xml,'//*[1>2]');
+extractValue(@xml,'//*[1>2]')
+
+SELECT extractValue(@xml,'//*[1>=1]');
+extractValue(@xml,'//*[1>=1]')
+b1 b2
+SELECT extractValue(@xml,'//*[2>=1]');
+extractValue(@xml,'//*[2>=1]')
+b1 b2
+SELECT extractValue(@xml,'//*[1>=2]');
+extractValue(@xml,'//*[1>=2]')
+
+SELECT extractValue(@xml,'//*[1<1]');
+extractValue(@xml,'//*[1<1]')
+
+SELECT extractValue(@xml,'//*[2<1]');
+extractValue(@xml,'//*[2<1]')
+
+SELECT extractValue(@xml,'//*[1<2]');
+extractValue(@xml,'//*[1<2]')
+b1 b2
+SELECT extractValue(@xml,'//*[1<=1]');
+extractValue(@xml,'//*[1<=1]')
+b1 b2
+SELECT extractValue(@xml,'//*[2<=1]');
+extractValue(@xml,'//*[2<=1]')
+
+SELECT extractValue(@xml,'//*[1<=2]');
+extractValue(@xml,'//*[1<=2]')
+b1 b2
+SET @xml='<a><b>b11<c>c11</c></b><b>b21<c>c21</c></b></a>';
+SELECT extractValue(@xml,'/a/b[c="c11"]');
+extractValue(@xml,'/a/b[c="c11"]')
+b11
+SELECT extractValue(@xml,'/a/b[c="c21"]');
+extractValue(@xml,'/a/b[c="c21"]')
+b21
+SET @xml='<a><b c="c11">b11</b><b c="c21">b21</b></a>';
+SELECT extractValue(@xml,'/a/b[@c="c11"]');
+extractValue(@xml,'/a/b[@c="c11"]')
+b11
+SELECT extractValue(@xml,'/a/b[@c="c21"]');
+extractValue(@xml,'/a/b[@c="c21"]')
+b21
+SET @xml='<a>a1<b c="c11">b11<d>d11</d></b><b c="c21">b21<d>d21</d></b></a>';
+SELECT extractValue(@xml, '/a/b[@c="c11"]/d');
+extractValue(@xml, '/a/b[@c="c11"]/d')
+d11
+SELECT extractValue(@xml, '/a/b[@c="c21"]/d');
+extractValue(@xml, '/a/b[@c="c21"]/d')
+d21
+SELECT extractValue(@xml, '/a/b[d="d11"]/@c');
+extractValue(@xml, '/a/b[d="d11"]/@c')
+c11
+SELECT extractValue(@xml, '/a/b[d="d21"]/@c');
+extractValue(@xml, '/a/b[d="d21"]/@c')
+c21
+SELECT extractValue(@xml, '/a[b="b11"]');
+extractValue(@xml, '/a[b="b11"]')
+a1
+SELECT extractValue(@xml, '/a[b/@c="c11"]');
+extractValue(@xml, '/a[b/@c="c11"]')
+a1
+SELECT extractValue(@xml, '/a[b/d="d11"]');
+extractValue(@xml, '/a[b/d="d11"]')
+a1
+SELECT extractValue(@xml, '/a[/a/b="b11"]');
+extractValue(@xml, '/a[/a/b="b11"]')
+a1
+SELECT extractValue(@xml, '/a[/a/b/@c="c11"]');
+extractValue(@xml, '/a[/a/b/@c="c11"]')
+a1
+SELECT extractValue(@xml, '/a[/a/b/d="d11"]');
+extractValue(@xml, '/a[/a/b/d="d11"]')
+a1
+SELECT extractValue('<a>a</a>', '/a[false()]');
+extractValue('<a>a</a>', '/a[false()]')
+
+SELECT extractValue('<a>a</a>', '/a[true()]');
+extractValue('<a>a</a>', '/a[true()]')
+a
+SELECT extractValue('<a>a</a>', '/a[not(false())]');
+extractValue('<a>a</a>', '/a[not(false())]')
+a
+SELECT extractValue('<a>a</a>', '/a[not(true())]');
+extractValue('<a>a</a>', '/a[not(true())]')
+
+SELECT extractValue('<a>a</a>', '/a[true() and true()]');
+extractValue('<a>a</a>', '/a[true() and true()]')
+a
+SELECT extractValue('<a>a</a>', '/a[true() and false()]');
+extractValue('<a>a</a>', '/a[true() and false()]')
+
+SELECT extractValue('<a>a</a>', '/a[false()and false()]');
+extractValue('<a>a</a>', '/a[false()and false()]')
+
+SELECT extractValue('<a>a</a>', '/a[false()and true()]');
+extractValue('<a>a</a>', '/a[false()and true()]')
+
+SELECT extractValue('<a>a</a>', '/a[true() or true()]');
+extractValue('<a>a</a>', '/a[true() or true()]')
+a
+SELECT extractValue('<a>a</a>', '/a[true() or false()]');
+extractValue('<a>a</a>', '/a[true() or false()]')
+a
+SELECT extractValue('<a>a</a>', '/a[false()or false()]');
+extractValue('<a>a</a>', '/a[false()or false()]')
+
+SELECT extractValue('<a>a</a>', '/a[false()or true()]');
+extractValue('<a>a</a>', '/a[false()or true()]')
+a
+SET @xml='<a>ab<b c="c" c="e">b1</b><b c="d">b2</b><b c="f" c="e">b3</b></a>';
+select extractValue(@xml,'/a/b[@c="c"]');
+extractValue(@xml,'/a/b[@c="c"]')
+b1
+select extractValue(@xml,'/a/b[@c="d"]');
+extractValue(@xml,'/a/b[@c="d"]')
+b2
+select extractValue(@xml,'/a/b[@c="e"]');
+extractValue(@xml,'/a/b[@c="e"]')
+b1 b3
+select extractValue(@xml,'/a/b[not(@c="e")]');
+extractValue(@xml,'/a/b[not(@c="e")]')
+b2
+select extractValue(@xml,'/a/b[@c!="e"]');
+extractValue(@xml,'/a/b[@c!="e"]')
+b1 b2 b3
+select extractValue(@xml,'/a/b[@c="c" or @c="d"]');
+extractValue(@xml,'/a/b[@c="c" or @c="d"]')
+b1 b2
+select extractValue(@xml,'/a/b[@c="c" and @c="e"]');
+extractValue(@xml,'/a/b[@c="c" and @c="e"]')
+b1
+SET @xml='<a><b c="c" d="d">b1</b><b d="d" e="e">b2</b></a>';
+select extractValue(@xml,'/a/b[@c]');
+extractValue(@xml,'/a/b[@c]')
+b1
+select extractValue(@xml,'/a/b[@d]');
+extractValue(@xml,'/a/b[@d]')
+b1 b2
+select extractValue(@xml,'/a/b[@e]');
+extractValue(@xml,'/a/b[@e]')
+b2
+select extractValue(@xml,'/a/b[not(@c)]');
+extractValue(@xml,'/a/b[not(@c)]')
+b2
+select extractValue(@xml,'/a/b[not(@d)]');
+extractValue(@xml,'/a/b[not(@d)]')
+
+select extractValue(@xml,'/a/b[not(@e)]');
+extractValue(@xml,'/a/b[not(@e)]')
+b1
+select extractValue(@xml, '/a/b[boolean(@c) or boolean(@d)]');
+extractValue(@xml, '/a/b[boolean(@c) or boolean(@d)]')
+b1 b2
+select extractValue(@xml, '/a/b[boolean(@c) or boolean(@e)]');
+extractValue(@xml, '/a/b[boolean(@c) or boolean(@e)]')
+b1 b2
+select extractValue(@xml, '/a/b[boolean(@d) or boolean(@e)]');
+extractValue(@xml, '/a/b[boolean(@d) or boolean(@e)]')
+b1 b2
+select extractValue(@xml, '/a/b[boolean(@c) and boolean(@d)]');
+extractValue(@xml, '/a/b[boolean(@c) and boolean(@d)]')
+b1
+select extractValue(@xml, '/a/b[boolean(@c) and boolean(@e)]');
+extractValue(@xml, '/a/b[boolean(@c) and boolean(@e)]')
+
+select extractValue(@xml, '/a/b[boolean(@d) and boolean(@e)]');
+extractValue(@xml, '/a/b[boolean(@d) and boolean(@e)]')
+b2
+select extractValue(@xml, '/a/b[@c or @d]');
+extractValue(@xml, '/a/b[@c or @d]')
+b1 b2
+select extractValue(@xml, '/a/b[@c or @e]');
+extractValue(@xml, '/a/b[@c or @e]')
+b1 b2
+select extractValue(@xml, '/a/b[@d or @e]');
+extractValue(@xml, '/a/b[@d or @e]')
+b1 b2
+select extractValue(@xml, '/a/b[@c and @d]');
+extractValue(@xml, '/a/b[@c and @d]')
+b1
+select extractValue(@xml, '/a/b[@c and @e]');
+extractValue(@xml, '/a/b[@c and @e]')
+
+select extractValue(@xml, '/a/b[@d and @e]');
+extractValue(@xml, '/a/b[@d and @e]')
+b2
+SET @xml='<a><b c="c">b1</b><b>b2</b></a>';
+SELECT extractValue(@xml,'/a/b[@*]');
+extractValue(@xml,'/a/b[@*]')
+b1
+SELECT extractValue(@xml,'/a/b[not(@*)]');
+extractValue(@xml,'/a/b[not(@*)]')
+b2
+SELECT extractValue('<a>a</a>', '/a[ceiling(3.1)=4]');
+extractValue('<a>a</a>', '/a[ceiling(3.1)=4]')
+a
+SELECT extractValue('<a>a</a>', '/a[floor(3.1)=3]');
+extractValue('<a>a</a>', '/a[floor(3.1)=3]')
+a
+SELECT extractValue('<a>a</a>', '/a[round(3.1)=3]');
+extractValue('<a>a</a>', '/a[round(3.1)=3]')
+a
+SELECT extractValue('<a>a</a>', '/a[round(3.8)=4]');
+extractValue('<a>a</a>', '/a[round(3.8)=4]')
+a
+SELECT extractValue('<a><b>b</b><c>c</c></a>', '/a/b | /a/c');
+extractValue('<a><b>b</b><c>c</c></a>', '/a/b | /a/c')
+b c
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=1]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=1]')
+b1
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=2]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=2]')
+b2
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=3]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=3]')
+b3
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[1=position()]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[1=position()]')
+b1
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2=position()]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2=position()]')
+b2
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[3=position()]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[3=position()]')
+b3
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2>=position()]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2>=position()]')
+b1 b2
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2<=position()]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2<=position()]')
+b2 b3
+select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=3 or position()=2]');
+extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=3 or position()=2]')
+b2 b3
+SELECT extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=0]');
+extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=0]')
+a2
+SELECT extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=1]');
+extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=1]')
+a1
+select extractValue('<a>a1<b ba="1" ba="2">b1</b><b>b2</b>4</a>','/a/b[sum(@ba)=3]');
+extractValue('<a>a1<b ba="1" ba="2">b1</b><b>b2</b>4</a>','/a/b[sum(@ba)=3]')
+b1
+select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[1]');
+extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[1]')
+b1
+select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[boolean(1)]');
+extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[boolean(1)]')
+b1 b2
+select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[true()]');
+extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[true()]')
+b1 b2
+select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[number(true())]');
+extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[number(true())]')
+b1
+select extractValue('<a>ab</a>','/a[contains("abc","b")]');
+extractValue('<a>ab</a>','/a[contains("abc","b")]')
+ab
+select extractValue('<a>ab</a>','/a[contains(.,"a")]');
+extractValue('<a>ab</a>','/a[contains(.,"a")]')
+ab
+select extractValue('<a>ab</a>','/a[contains(.,"b")]');
+extractValue('<a>ab</a>','/a[contains(.,"b")]')
+ab
+select extractValue('<a>ab</a>','/a[contains(.,"c")]');
+extractValue('<a>ab</a>','/a[contains(.,"c")]')
+
+select extractValue('<a b="1">ab</a>','/a[concat(@b,"2")="12"]');
+extractValue('<a b="1">ab</a>','/a[concat(@b,"2")="12"]')
+ab
+SET @xml='<a b="11" b="12" b="21" b="22">ab</a>';
+select extractValue(@xml, '/a/@b[substring(.,2)="1"]');
+extractValue(@xml, '/a/@b[substring(.,2)="1"]')
+11 21
+select extractValue(@xml, '/a/@b[substring(.,2)="2"]');
+extractValue(@xml, '/a/@b[substring(.,2)="2"]')
+12 22
+select extractValue(@xml, '/a/@b[substring(.,1,1)="1"]');
+extractValue(@xml, '/a/@b[substring(.,1,1)="1"]')
+11 12
+select extractValue(@xml, '/a/@b[substring(.,1,1)="2"]');
+extractValue(@xml, '/a/@b[substring(.,1,1)="2"]')
+21 22
+select extractValue(@xml, '/a/@b[substring(.,2,1)="1"]');
+extractValue(@xml, '/a/@b[substring(.,2,1)="1"]')
+11 21
+select extractValue(@xml, '/a/@b[substring(.,2,1)="2"]');
+extractValue(@xml, '/a/@b[substring(.,2,1)="2"]')
+12 22
+SET @xml='<a><b>b1</b><b>b2</b></a>';
+SELECT extractValue(@xml, '/a/b[string-length("x")=1]');
+extractValue(@xml, '/a/b[string-length("x")=1]')
+b1 b2
+SELECT extractValue(@xml, '/a/b[string-length("xx")=2]');
+extractValue(@xml, '/a/b[string-length("xx")=2]')
+b1 b2
+SELECT extractValue(@xml, '/a/b[string-length("xxx")=2]');
+extractValue(@xml, '/a/b[string-length("xxx")=2]')
+
+SELECT extractValue(@xml, '/a/b[string-length("x")]');
+extractValue(@xml, '/a/b[string-length("x")]')
+b1
+SELECT extractValue(@xml, '/a/b[string-length("xx")]');
+extractValue(@xml, '/a/b[string-length("xx")]')
+b2
+SELECT extractValue(@xml, '/a/b[string-length()]');
+extractValue(@xml, '/a/b[string-length()]')
+b2
+SELECT extractValue(@xml, 'string-length()');
+ERROR HY000: XPATH syntax error: ''
+SELECT extractValue(@xml, 'string-length("x")');
+extractValue(@xml, 'string-length("x")')
+1
+SET @xml='<a b="b11" b="b12" b="b21" b="22"/>';
+select extractValue(@xml,'/a/@b');
+extractValue(@xml,'/a/@b')
+b11 b12 b21 22
+select extractValue(@xml,'/a/@b[contains(.,"1")]');
+extractValue(@xml,'/a/@b[contains(.,"1")]')
+b11 b12 b21
+select extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")]');
+extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")]')
+b12 b21
+select extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")][2]');
+extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")][2]')
+b21
+SET @xml='<a>a1<b>b1<c>c1</c>b2</b>a2</a>';
+select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','+++++++++');
+UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','+++++++++')
+<a>a1<b>b1+++++++++b2</b>a2</a>
+select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1>+++++++++</c1>');
+UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1>+++++++++</c1>')
+<a>a1<b>b1<c1>+++++++++</c1>b2</b>a2</a>
+select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1/>');
+UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1/>')
+<a>a1<b>b1<c1/>b2</b>a2</a>
+SET @xml='<a><b>bb</b></a>';
+select UpdateXML(@xml, '/a/b', '<b>ccc</b>');
+UpdateXML(@xml, '/a/b', '<b>ccc</b>')
+<a><b>ccc</b></a>
+SET @xml='<a aa1="aa1" aa2="aa2"><b bb1="bb1" bb2="bb2">bb</b></a>';
+select UpdateXML(@xml, '/a/b', '<b>ccc</b>');
+UpdateXML(@xml, '/a/b', '<b>ccc</b>')
+<a aa1="aa1" aa2="aa2"><b>ccc</b></a>
+select UpdateXML(@xml, '/a/@aa1', '');
+UpdateXML(@xml, '/a/@aa1', '')
+<a aa2="aa2"><b bb1="bb1" bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/@aa1', 'aa3="aa3"');
+UpdateXML(@xml, '/a/@aa1', 'aa3="aa3"')
+<a aa3="aa3" aa2="aa2"><b bb1="bb1" bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/@aa2', '');
+UpdateXML(@xml, '/a/@aa2', '')
+<a aa1="aa1" ><b bb1="bb1" bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/@aa2', 'aa3="aa3"');
+UpdateXML(@xml, '/a/@aa2', 'aa3="aa3"')
+<a aa1="aa1" aa3="aa3"><b bb1="bb1" bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/b/@bb1', '');
+UpdateXML(@xml, '/a/b/@bb1', '')
+<a aa1="aa1" aa2="aa2"><b bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/b/@bb1', 'bb3="bb3"');
+UpdateXML(@xml, '/a/b/@bb1', 'bb3="bb3"')
+<a aa1="aa1" aa2="aa2"><b bb3="bb3" bb2="bb2">bb</b></a>
+select UpdateXML(@xml, '/a/b/@bb2', '');
+UpdateXML(@xml, '/a/b/@bb2', '')
+<a aa1="aa1" aa2="aa2"><b bb1="bb1" >bb</b></a>
+select UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"');
+UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"')
+<a aa1="aa1" aa2="aa2"><b bb1="bb1" bb3="bb3">bb</b></a>
+select updatexml('<div><div><span>1</span><span>2</span></div></div>',
+'/','<tr><td>1</td><td>2</td></tr>') as upd1;
+upd1
+<tr><td>1</td><td>2</td></tr>
+select updatexml('', '/', '') as upd2;
+upd2
+
+SET @xml= '<order><clerk>lesser wombat</clerk></order>';
+select extractvalue(@xml,'order/clerk');
+extractvalue(@xml,'order/clerk')
+lesser wombat
+select extractvalue(@xml,'/order/clerk');
+extractvalue(@xml,'/order/clerk')
+lesser wombat
+select extractvalue('<a><b>B</b></a>','/a|/b');
+extractvalue('<a><b>B</b></a>','/a|/b')
+
+select extractvalue('<a><b>B</b></a>','/a|b');
+extractvalue('<a><b>B</b></a>','/a|b')
+
+select extractvalue('<a>a<b>B</b></a>','/a|/b');
+extractvalue('<a>a<b>B</b></a>','/a|/b')
+a
+select extractvalue('<a>a<b>B</b></a>','/a|b');
+extractvalue('<a>a<b>B</b></a>','/a|b')
+a
+select extractvalue('<a>a<b>B</b></a>','a|/b');
+extractvalue('<a>a<b>B</b></a>','a|/b')
+a
+select extractvalue('<a>A</a>','/<a>');
+ERROR HY000: XPATH error: comparison of two nodesets is not supported: '<a>'
+select extractvalue('<a><b>b</b><b!>b!</b!></a>','//b!');
+ERROR HY000: XPATH syntax error: '!'
+select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant::*');
+extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant::*')
+B C
+select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/self::*');
+extractvalue('<a>A<b>B<c>C</c></b></a>','/a/self::*')
+A
+select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant-or-self::*');
+extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant-or-self::*')
+A B C
+select extractvalue('<A_B>A</A_B>','/A_B');
+extractvalue('<A_B>A</A_B>','/A_B')
+A
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[position()]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[position()]')
+B1 B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]')
+B1 B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()]')
+B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()-1]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()-1]')
+B1
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=1]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=1]')
+
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=2]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=2]')
+B1 B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]')
+B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)]')
+B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)-1]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)-1]')
+B1
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=1]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=1]')
+
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=2]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=2]')
+B1 B2
+select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]');
+extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]')
+B2
+select extractvalue('<a>Jack</a>','/a[contains(../a,"J")]');
+extractvalue('<a>Jack</a>','/a[contains(../a,"J")]')
+Jack
+select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]');
+extractvalue('<a>Jack</a>','/a[contains(../a,"j")]')
+Jack
+select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]' collate latin1_bin);
+extractvalue('<a>Jack</a>','/a[contains(../a,"j")]' collate latin1_bin)
+
+select extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]');
+extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]')
+
+select ExtractValue('<tag1><![CDATA[test]]></tag1>','/tag1');
+ExtractValue('<tag1><![CDATA[test]]></tag1>','/tag1')
+test
+select extractValue('<a>a','/a');
+extractValue('<a>a','/a')
+NULL
+Warnings:
+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 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 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 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 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 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()');
+ERROR HY000: XPATH syntax error: ''
+select extractValue('<e><a>1</a></e>','/e/');
+ERROR HY000: XPATH syntax error: ''
+set names utf8;
+select extractValue('<Ñ><r>r</r></Ñ>','/Ñ/r');
+extractValue('<Ñ><r>r</r></Ñ>','/Ñ/r')
+r
+select extractValue('<r><Ñ>Ñ</Ñ></r>','/r/Ñ');
+extractValue('<r><Ñ>Ñ</Ñ></r>','/r/Ñ')
+select extractValue('<Ñ r="r"/>','/Ñ/@r');
+extractValue('<Ñ r="r"/>','/Ñ/@r')
+r
+select extractValue('<r Ñ="Ñ"/>','/r/@Ñ');
+extractValue('<r Ñ="Ñ"/>','/r/@Ñ')
+DROP PROCEDURE IF EXISTS p2;
+CREATE PROCEDURE p2 ()
+BEGIN
+DECLARE p LONGTEXT CHARACTER SET UTF8 DEFAULT '<Ñ><r>A</r></Ñ>';
+SELECT EXTRACTVALUE(p,'/Ñ/r');
+END//
+CALL p2();
+EXTRACTVALUE(p,'/Ñ/r')
+A
+DROP PROCEDURE p2;
+select extractValue('<ns:element xmlns:ns="myns"/>','count(ns:element)');
+extractValue('<ns:element xmlns:ns="myns"/>','count(ns:element)')
+1
+select extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element');
+extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element')
+a
+select extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element/@xmlns:ns');
+extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element/@xmlns:ns')
+myns
+select extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/foo.bar');
+extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/foo.bar')
+Data
+select extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/something');
+extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/something')
+Otherdata
+select extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','/zot/tim0/02');
+ERROR HY000: XPATH syntax error: '02'
+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 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 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 1525 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
+select extractValue('<:>test</:>','//*');
+extractValue('<:>test</:>','//*')
+test
+select extractValue('<_>test</_>','//*');
+extractValue('<_>test</_>','//*')
+test
+select extractValue('<x.-_:>test</x.-_:>','//*');
+extractValue('<x.-_:>test</x.-_:>','//*')
+test
+set @xml= "<entry><id>pt10</id><pt>10</pt></entry><entry><id>pt50</id><pt>50</pt></entry>";
+select ExtractValue(@xml, "/entry[(pt=10)]/id");
+ExtractValue(@xml, "/entry[(pt=10)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(pt!=10)]/id");
+ExtractValue(@xml, "/entry[(pt!=10)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(pt<10)]/id");
+ExtractValue(@xml, "/entry[(pt<10)]/id")
+
+select ExtractValue(@xml, "/entry[(pt<=10)]/id");
+ExtractValue(@xml, "/entry[(pt<=10)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(pt>10)]/id");
+ExtractValue(@xml, "/entry[(pt>10)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(pt>=10)]/id");
+ExtractValue(@xml, "/entry[(pt>=10)]/id")
+pt10 pt50
+select ExtractValue(@xml, "/entry[(pt=50)]/id");
+ExtractValue(@xml, "/entry[(pt=50)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(pt!=50)]/id");
+ExtractValue(@xml, "/entry[(pt!=50)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(pt<50)]/id");
+ExtractValue(@xml, "/entry[(pt<50)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(pt<=50)]/id");
+ExtractValue(@xml, "/entry[(pt<=50)]/id")
+pt10 pt50
+select ExtractValue(@xml, "/entry[(pt>50)]/id");
+ExtractValue(@xml, "/entry[(pt>50)]/id")
+
+select ExtractValue(@xml, "/entry[(pt>=50)]/id");
+ExtractValue(@xml, "/entry[(pt>=50)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(10=pt)]/id");
+ExtractValue(@xml, "/entry[(10=pt)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(10!=pt)]/id");
+ExtractValue(@xml, "/entry[(10!=pt)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(10>pt)]/id");
+ExtractValue(@xml, "/entry[(10>pt)]/id")
+
+select ExtractValue(@xml, "/entry[(10>=pt)]/id");
+ExtractValue(@xml, "/entry[(10>=pt)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(10<pt)]/id");
+ExtractValue(@xml, "/entry[(10<pt)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(10<=pt)]/id");
+ExtractValue(@xml, "/entry[(10<=pt)]/id")
+pt10 pt50
+select ExtractValue(@xml, "/entry[(50=pt)]/id");
+ExtractValue(@xml, "/entry[(50=pt)]/id")
+pt50
+select ExtractValue(@xml, "/entry[(50!=pt)]/id");
+ExtractValue(@xml, "/entry[(50!=pt)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(50>pt)]/id");
+ExtractValue(@xml, "/entry[(50>pt)]/id")
+pt10
+select ExtractValue(@xml, "/entry[(50>=pt)]/id");
+ExtractValue(@xml, "/entry[(50>=pt)]/id")
+pt10 pt50
+select ExtractValue(@xml, "/entry[(50<pt)]/id");
+ExtractValue(@xml, "/entry[(50<pt)]/id")
+
+select ExtractValue(@xml, "/entry[(50<=pt)]/id");
+ExtractValue(@xml, "/entry[(50<=pt)]/id")
+pt50
+select ExtractValue('<a><b><Text>test</Text></b></a>','/a/b/Text');
+ExtractValue('<a><b><Text>test</Text></b></a>','/a/b/Text')
+test
+select ExtractValue('<a><b><comment>test</comment></b></a>','/a/b/comment');
+ExtractValue('<a><b><comment>test</comment></b></a>','/a/b/comment')
+test
+select ExtractValue('<a><b><node>test</node></b></a>','/a/b/node');
+ExtractValue('<a><b><node>test</node></b></a>','/a/b/node')
+test
+select ExtractValue('<a><b><processing-instruction>test</processing-instruction></b></a>','/a/b/processing-instruction');
+ExtractValue('<a><b><processing-instruction>test</processing-instruction></b></a>','/a/b/processing-instruction')
+test
+select ExtractValue('<a><and>test</and></a>', '/a/and');
+ExtractValue('<a><and>test</and></a>', '/a/and')
+test
+select ExtractValue('<a><or>test</or></a>', '/a/or');
+ExtractValue('<a><or>test</or></a>', '/a/or')
+test
+select ExtractValue('<a><mod>test</mod></a>', '/a/mod');
+ExtractValue('<a><mod>test</mod></a>', '/a/mod')
+test
+select ExtractValue('<a><div>test</div></a>', '/a/div');
+ExtractValue('<a><div>test</div></a>', '/a/div')
+test
+select ExtractValue('<a><and:and>test</and:and></a>', '/a/and:and');
+ExtractValue('<a><and:and>test</and:and></a>', '/a/and:and')
+test
+select ExtractValue('<a><or:or>test</or:or></a>', '/a/or:or');
+ExtractValue('<a><or:or>test</or:or></a>', '/a/or:or')
+test
+select ExtractValue('<a><mod:mod>test</mod:mod></a>', '/a/mod:mod');
+ExtractValue('<a><mod:mod>test</mod:mod></a>', '/a/mod:mod')
+test
+select ExtractValue('<a><div:div>test</div:div></a>', '/a/div:div');
+ExtractValue('<a><div:div>test</div:div></a>', '/a/div:div')
+test
+select ExtractValue('<a><ancestor>test</ancestor></a>', '/a/ancestor');
+ExtractValue('<a><ancestor>test</ancestor></a>', '/a/ancestor')
+test
+select ExtractValue('<a><ancestor-or-self>test</ancestor-or-self></a>', '/a/ancestor-or-self');
+ExtractValue('<a><ancestor-or-self>test</ancestor-or-self></a>', '/a/ancestor-or-self')
+test
+select ExtractValue('<a><attribute>test</attribute></a>', '/a/attribute');
+ExtractValue('<a><attribute>test</attribute></a>', '/a/attribute')
+test
+select ExtractValue('<a><child>test</child></a>', '/a/child');
+ExtractValue('<a><child>test</child></a>', '/a/child')
+test
+select ExtractValue('<a><descendant>test</descendant></a>', '/a/descendant');
+ExtractValue('<a><descendant>test</descendant></a>', '/a/descendant')
+test
+select ExtractValue('<a><descendant-or-self>test</descendant-or-self></a>', '/a/descendant-or-self');
+ExtractValue('<a><descendant-or-self>test</descendant-or-self></a>', '/a/descendant-or-self')
+test
+select ExtractValue('<a><following>test</following></a>', '/a/following');
+ExtractValue('<a><following>test</following></a>', '/a/following')
+test
+select ExtractValue('<a><following-sibling>test</following-sibling></a>', '/a/following-sibling');
+ExtractValue('<a><following-sibling>test</following-sibling></a>', '/a/following-sibling')
+test
+select ExtractValue('<a><namespace>test</namespace></a>', '/a/namespace');
+ExtractValue('<a><namespace>test</namespace></a>', '/a/namespace')
+test
+select ExtractValue('<a><parent>test</parent></a>', '/a/parent');
+ExtractValue('<a><parent>test</parent></a>', '/a/parent')
+test
+select ExtractValue('<a><preceding>test</preceding></a>', '/a/preceding');
+ExtractValue('<a><preceding>test</preceding></a>', '/a/preceding')
+test
+select ExtractValue('<a><preceding-sibling>test</preceding-sibling></a>', '/a/preceding-sibling');
+ExtractValue('<a><preceding-sibling>test</preceding-sibling></a>', '/a/preceding-sibling')
+test
+select ExtractValue('<a><self>test</self></a>', '/a/self');
+ExtractValue('<a><self>test</self></a>', '/a/self')
+test
+set @i=1;
+select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+b1
+set @i=2;
+select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+b2
+set @i=NULL;
+select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+
+CREATE PROCEDURE spxml(xml VARCHAR(128))
+BEGIN
+DECLARE c INT;
+DECLARE i INT DEFAULT 1;
+SET c= ExtractValue(xml,'count(/a/b)');
+SET @i= c;
+WHILE i <= c DO
+BEGIN
+SELECT i, @i, ExtractValue(xml,'/a/b[$i]'), ExtractValue(xml,'/a/b[$@i]');
+SET i= i + 1;
+SET @i= @i - 1;
+END;
+END WHILE;
+END|
+call spxml('<a><b>b1</b><b>b2</b><b>b3</b></a>');
+i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
+1 3 b1 b3
+i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
+2 2 b2 b2
+i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
+3 1 b3 b1
+drop procedure spxml;
+Multiple matches, but no index specification
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b')
+b1 b2
+No matches
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/c');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/c')
+
+Index out of range
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[-1]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[-1]')
+
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[10]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[10]')
+
+With string-to-number conversion
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1"]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1"]')
+b1
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1 and string"]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1 and string"]')
+b1
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '1 and string"]'
+Warning 1292 Truncated incorrect INTEGER value: '1 and string"]'
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string and 1"]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string and 1"]')
+
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'string and 1"]'
+Warning 1292 Truncated incorrect INTEGER value: 'string and 1"]'
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string"]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string"]')
+
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'string"]'
+Warning 1292 Truncated incorrect INTEGER value: 'string"]'
+String-to-number conversion from a user variable
+SET @i='1';
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+b1
+SET @i='1 and string';
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+b1
+SET @i='string and 1';
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+
+SET @i='string';
+SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
+ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
+
+String-to-number conversion with a CHAR SP variable
+CREATE PROCEDURE spxml(xml VARCHAR(128), i CHAR(16))
+BEGIN
+SELECT ExtractValue(xml,'/a/b[$i]');
+END|
+CALL spxml('<a><b>b1</b><b>b2</b></a>', '1');
+ExtractValue(xml,'/a/b[$i]')
+b1
+CALL spxml('<a><b>b1</b><b>b2</b></a>', '1 and string');
+ExtractValue(xml,'/a/b[$i]')
+b1
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '1 and string '
+Warning 1292 Truncated incorrect INTEGER value: '1 and string '
+CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string and 1');
+ExtractValue(xml,'/a/b[$i]')
+
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'string and 1 '
+Warning 1292 Truncated incorrect INTEGER value: 'string and 1 '
+CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string');
+ExtractValue(xml,'/a/b[$i]')
+
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'string '
+Warning 1292 Truncated incorrect INTEGER value: 'string '
+DROP PROCEDURE spxml;
+select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
+ERROR HY000: XPATH syntax error: 'b a b a b a b a b a b a b a b a '
+select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
+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