Merge lp:~hartmut-php/maria/5.5-bug30994 into lp:~maria-captains/maria/trunk

Proposed by Hartmut Holzgraefe
Status: Needs review
Proposed branch: lp:~hartmut-php/maria/5.5-bug30994
Merge into: lp:~maria-captains/maria/trunk
Diff against target: 142405 lines (+84766/-34812)
1035 files modified
.bzrignore (+0/-1)
BUILD-CMAKE (+7/-4)
CMakeLists.txt (+14/-9)
Docs/INSTALL-BINARY (+1/-1)
Docs/mysql.info (+4/-3)
INSTALL-SOURCE (+11/-0)
INSTALL-WIN-SOURCE (+2/-1)
KNOWN_BUGS.txt (+27/-27)
README (+4/-4)
VERSION (+1/-1)
client/get_password.c (+0/-4)
client/mysql.cc (+2/-1)
client/mysqlbinlog.cc (+34/-5)
client/mysqldump.c (+85/-19)
client/mysqltest.cc (+45/-15)
cmake/build_configurations/mysql_release.cmake (+13/-2)
cmake/cpack_rpm.cmake (+59/-17)
cmake/install_layout.cmake (+2/-4)
cmake/os/WindowsCache.cmake (+3/-0)
cmake/plugin.cmake (+1/-9)
cmake/readline.cmake (+2/-0)
config.h.cmake (+9/-0)
configure.cmake (+10/-3)
dbug/dbug.c (+0/-3)
dbug/factorial.c (+0/-14)
debian/additions/mariadb.cnf (+3/-3)
debian/additions/my.cnf (+1/-1)
debian/autobake-deb.sh (+8/-1)
debian/dist/Debian/control (+5/-4)
debian/dist/Debian/mariadb-server-5.5.postinst (+1/-1)
debian/dist/Debian/rules (+2/-21)
debian/dist/Ubuntu/control (+5/-4)
debian/dist/Ubuntu/mariadb-server-5.5.postinst (+1/-1)
debian/dist/Ubuntu/rules (+2/-21)
debian/mariadb-client-5.5.files (+1/-0)
extra/resolveip.c (+1/-3)
extra/yassl/taocrypt/src/asn.cpp (+4/-0)
extra/yassl/taocrypt/src/dsa.cpp (+1/-1)
include/atomic/nolock.h (+1/-1)
include/keycache.h (+2/-1)
include/lf.h (+1/-1)
include/m_string.h (+1/-5)
include/my_getopt.h (+2/-2)
include/my_global.h (+0/-28)
include/my_net.h (+1/-1)
include/my_pthread.h (+4/-64)
include/my_sys.h (+5/-0)
include/sql_common.h (+5/-4)
include/violite.h (+3/-3)
libmysql/get_password.c (+0/-4)
libmysql/libmysql.c (+5/-4)
libmysqld/examples/CMakeLists.txt (+2/-2)
man/CMakeLists.txt (+1/-1)
mysql-test/README (+3/-3)
mysql-test/include/icp_tests.inc (+18/-0)
mysql-test/include/index_merge2.inc (+1/-0)
mysql-test/include/mtr_check.sql (+1/-0)
mysql-test/include/mysqlbinlog_have_debug.inc (+34/-0)
mysql-test/include/query_cache_partitions.inc (+126/-0)
mysql-test/lib/mtr_cases.pm (+10/-5)
mysql-test/mysql-test-run.pl (+7/-16)
mysql-test/r/adddate_454.result (+10/-0)
mysql-test/r/auto_increment.result (+22/-0)
mysql-test/r/bug12427262.result (+56/-0)
mysql-test/r/case.result (+4/-0)
mysql-test/r/compare.result (+4/-0)
mysql-test/r/connect.result (+24/-0)
mysql-test/r/create-big.result (+2/-2)
mysql-test/r/ctype_binary.result (+4/-0)
mysql-test/r/ctype_cp1251.result (+4/-0)
mysql-test/r/ctype_latin1.result (+4/-0)
mysql-test/r/ctype_ucs.result (+4/-0)
mysql-test/r/ctype_utf32.result (+6/-0)
mysql-test/r/ctype_utf8.result (+4/-0)
mysql-test/r/datetime_456.result (+8/-0)
mysql-test/r/derived_opt.result (+12/-12)
mysql-test/r/derived_view.result (+4/-6)
mysql-test/r/errors.result (+8/-0)
mysql-test/r/explain.result (+3/-3)
mysql-test/r/features.result (+140/-0)
mysql-test/r/func_group.result (+3/-1)
mysql-test/r/func_group_innodb.result (+40/-13)
mysql-test/r/func_in.result (+23/-0)
mysql-test/r/func_test.result (+41/-0)
mysql-test/r/func_time.result (+2/-0)
mysql-test/r/gis-rt-precise.result (+13/-0)
mysql-test/r/gis-rtree.result (+14/-0)
mysql-test/r/gis.result (+23/-0)
mysql-test/r/group_min_max.result (+6/-6)
mysql-test/r/index_merge_innodb.result (+49/-2)
mysql-test/r/index_merge_myisam.result (+2/-2)
mysql-test/r/innodb_icp.result (+16/-0)
mysql-test/r/join_outer.result (+3/-3)
mysql-test/r/join_outer_jcl6.result (+3/-3)
mysql-test/r/key.result (+1/-1)
mysql-test/r/last_value.result (+73/-0)
mysql-test/r/mdev316.result (+22/-0)
mysql-test/r/mdev375.result (+14/-0)
mysql-test/r/myisam_icp.result (+36/-1)
mysql-test/r/myisam_mrr.result (+2/-2)
mysql-test/r/mysqlbinlog-innodb.result (+2/-2)
mysql-test/r/mysqlbinlog.result (+12/-12)
mysql-test/r/mysqlbinlog2.result (+35/-35)
mysql-test/r/mysqlbinlog_row.result (+1/-1)
mysql-test/r/mysqlbinlog_row_innodb.result (+4/-4)
mysql-test/r/mysqlbinlog_row_myisam.result (+4/-4)
mysql-test/r/mysqlbinlog_row_trans.result (+1/-1)
mysql-test/r/mysqld--help.result (+10/-2)
mysql-test/r/mysqldump.result (+68/-23)
mysql-test/r/mysqltest.result (+1/-0)
mysql-test/r/mysqltest_256.result (+1/-0)
mysql-test/r/negation_elimination.result (+2/-2)
mysql-test/r/order_by.result (+132/-0)
mysql-test/r/partition.result (+26/-0)
mysql-test/r/partition_cache.result (+9/-9)
mysql-test/r/partition_cache_innodb.result (+151/-0)
mysql-test/r/partition_cache_myisam.result (+153/-0)
mysql-test/r/partition_pruning.result (+3/-3)
mysql-test/r/ps.result (+75/-122)
mysql-test/r/read_only.result (+4/-6)
mysql-test/r/read_only_innodb.result (+9/-0)
mysql-test/r/rpl_mysqldump_slave.result (+1/-1)
mysql-test/r/sp.result (+37/-1)
mysql-test/r/subselect.result (+333/-47)
mysql-test/r/subselect2.result (+6/-6)
mysql-test/r/subselect3.result (+1/-1)
mysql-test/r/subselect3_jcl6.result (+1/-1)
mysql-test/r/subselect4.result (+314/-241)
mysql-test/r/subselect_cache.result (+4/-4)
mysql-test/r/subselect_extra_no_semijoin.result (+2/-2)
mysql-test/r/subselect_innodb.result (+17/-2)
mysql-test/r/subselect_mat.result (+22/-22)
mysql-test/r/subselect_mat_cost.result (+1/-1)
mysql-test/r/subselect_mat_cost_bugs.result (+4/-4)
mysql-test/r/subselect_no_mat.result (+337/-52)
mysql-test/r/subselect_no_opts.result (+337/-51)
mysql-test/r/subselect_no_scache.result (+332/-46)
mysql-test/r/subselect_no_semijoin.result (+332/-46)
mysql-test/r/subselect_partial_match.result (+3/-3)
mysql-test/r/subselect_sj.result (+14/-0)
mysql-test/r/subselect_sj_jcl6.result (+14/-0)
mysql-test/r/subselect_sj_mat.result (+9/-9)
mysql-test/r/type_blob.result (+4/-0)
mysql-test/r/type_date.result (+16/-10)
mysql-test/r/type_year.result (+17/-0)
mysql-test/r/union.result (+17/-0)
mysql-test/r/user_var-binlog.result (+1/-1)
mysql-test/r/user_var.result (+7/-0)
mysql-test/r/view.result (+58/-2)
mysql-test/suite/binlog/r/binlog_base64_flag.result (+1/-1)
mysql-test/suite/binlog/r/binlog_drop_if_exists.result (+18/-0)
mysql-test/suite/binlog/r/binlog_grant.result (+4/-0)
mysql-test/suite/binlog/r/binlog_mdev342.result (+30/-0)
mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result (+6/-6)
mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result (+1/-1)
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result (+2/-2)
mysql-test/suite/binlog/t/binlog_drop_if_exists.test (+15/-0)
mysql-test/suite/binlog/t/binlog_grant.test (+19/-0)
mysql-test/suite/binlog/t/binlog_mdev342-master.opt (+1/-0)
mysql-test/suite/binlog/t/binlog_mdev342.test (+66/-0)
mysql-test/suite/engines/funcs/r/an_calendar.result (+6/-0)
mysql-test/suite/engines/funcs/r/datetime_function.result (+8/-0)
mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result (+5/-0)
mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result (+5/-0)
mysql-test/suite/engines/funcs/r/db_use_error.result (+1/-1)
mysql-test/suite/engines/funcs/r/de_calendar_range.result (+10/-2)
mysql-test/suite/engines/funcs/r/in_calendar_2_unique_constraints_duplicate_update.result (+30/-0)
mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_duplicate_update.result (+7/-0)
mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_error.result (+4/-0)
mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_ignore.result (+4/-0)
mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_duplicate_update.result (+7/-0)
mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_error.result (+4/-0)
mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_ignore.result (+6/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_duplicate_update.result (+29/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_error.result (+16/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_ignore.result (+16/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_duplicate_update.result (+29/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_error.result (+16/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_ignore.result (+24/-0)
mysql-test/suite/engines/funcs/r/in_multicolumn_number_pk_constraint_duplicate_update.result (+29/-0)
mysql-test/suite/engines/funcs/r/in_number_boundary_error.result (+6/-6)
mysql-test/suite/engines/funcs/r/in_number_decimal_boundary_error.result (+4/-4)
mysql-test/suite/engines/funcs/r/ld_all_number_string_calendar_types.result (+15224/-14552)
mysql-test/suite/engines/funcs/r/sq_all.result (+0/-12)
mysql-test/suite/engines/funcs/r/sq_error.result (+4/-4)
mysql-test/suite/engines/funcs/r/up_calendar_range.result (+13/-3)
mysql-test/suite/engines/funcs/t/se_join_left.test (+3767/-3137)
mysql-test/suite/engines/funcs/t/se_join_left_outer.test (+3347/-2927)
mysql-test/suite/engines/funcs/t/se_join_natural_left.test (+3347/-2927)
mysql-test/suite/engines/funcs/t/se_join_natural_left_outer.test (+3347/-2927)
mysql-test/suite/engines/iuds/r/delete_time.result (+2/-2)
mysql-test/suite/engines/iuds/r/delete_year.result (+6/-0)
mysql-test/suite/engines/iuds/r/insert_decimal.result (+1/-1)
mysql-test/suite/engines/iuds/r/insert_number.result (+48/-90)
mysql-test/suite/engines/iuds/r/insert_time.result (+55/-24)
mysql-test/suite/engines/iuds/r/insert_year.result (+12/-0)
mysql-test/suite/engines/iuds/r/type_bit_iuds.result (+88/-88)
mysql-test/suite/engines/iuds/r/update_delete_calendar.result (+19/-40)
mysql-test/suite/engines/iuds/r/update_delete_number.result (+10/-0)
mysql-test/suite/engines/iuds/r/update_time.result (+5/-5)
mysql-test/suite/engines/iuds/r/update_year.result (+6/-0)
mysql-test/suite/funcs_1/r/innodb_views.result (+4/-0)
mysql-test/suite/funcs_1/r/is_columns_innodb.result (+6/-0)
mysql-test/suite/funcs_1/r/is_columns_memory.result (+6/-0)
mysql-test/suite/funcs_1/r/is_columns_myisam.result (+6/-0)
mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result (+6/-0)
mysql-test/suite/funcs_1/r/memory_views.result (+4/-0)
mysql-test/suite/funcs_1/r/myisam_views-big.result (+4/-0)
mysql-test/suite/funcs_1/r/storedproc.result (+4/-0)
mysql-test/suite/heap/heap.result (+52/-0)
mysql-test/suite/heap/heap.test (+52/-0)
mysql-test/suite/heap/heap_hash.result (+19/-0)
mysql-test/suite/heap/heap_hash.test (+13/-0)
mysql-test/suite/innodb/r/innodb_bug12902967.result (+6/-0)
mysql-test/suite/innodb/r/innodb_bug14007649.result (+56/-0)
mysql-test/suite/innodb/r/innodb_bug52745.result (+1/-0)
mysql-test/suite/innodb/r/innodb_bug60196.result (+1/-1)
mysql-test/suite/innodb/t/innodb-blob.test (+0/-5)
mysql-test/suite/innodb/t/innodb-index.test (+0/-5)
mysql-test/suite/innodb/t/innodb-lock.test (+0/-5)
mysql-test/suite/innodb/t/innodb_bug12902967.test (+30/-0)
mysql-test/suite/innodb/t/innodb_bug13635833.test (+0/-5)
mysql-test/suite/innodb/t/innodb_bug14007649.test (+63/-0)
mysql-test/suite/maria/icp.result (+17/-1)
mysql-test/suite/maria/lock.result (+3/-0)
mysql-test/suite/maria/lock.test (+8/-0)
mysql-test/suite/maria/maria-gis-rtree-dynamic.result (+4/-0)
mysql-test/suite/maria/maria-gis-rtree-trans.result (+4/-0)
mysql-test/suite/maria/maria-gis-rtree.result (+4/-0)
mysql-test/suite/mtr2/combinations (+5/-0)
mysql-test/suite/percona/disabled.def (+2/-0)
mysql-test/suite/perfschema/disabled.def (+1/-1)
mysql-test/suite/perfschema/r/func_file_io.result (+12/-0)
mysql-test/suite/perfschema/r/query_cache.result (+6/-6)
mysql-test/suite/perfschema/t/func_file_io.test (+4/-0)
mysql-test/suite/perfschema/t/query_cache.test (+2/-2)
mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result (+41/-0)
mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result (+20/-0)
mysql-test/suite/rpl/r/rpl_hrtime.result (+1/-1)
mysql-test/suite/rpl/r/rpl_log_pos.result (+1/-1)
mysql-test/suite/rpl/r/rpl_mdev359.result (+13/-0)
mysql-test/suite/rpl/r/rpl_mdev382.result (+367/-0)
mysql-test/suite/rpl/r/rpl_packet.result (+6/-5)
mysql-test/suite/rpl/r/rpl_parallel_show_binlog_events_purge_logs.result (+13/-0)
mysql-test/suite/rpl/r/rpl_report_port.result (+2/-2)
mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result (+4/-4)
mysql-test/suite/rpl/r/rpl_sp.result (+6/-6)
mysql-test/suite/rpl/r/rpl_start_slave_deadlock_sys_vars.result (+31/-0)
mysql-test/suite/rpl/r/rpl_trigger.result (+5/-5)
mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test (+62/-0)
mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test (+61/-0)
mysql-test/suite/rpl/t/rpl_mdev359.test (+36/-0)
mysql-test/suite/rpl/t/rpl_mdev382.test (+265/-0)
mysql-test/suite/rpl/t/rpl_packet-slave.opt (+1/-1)
mysql-test/suite/rpl/t/rpl_packet.test (+7/-8)
mysql-test/suite/rpl/t/rpl_parallel_show_binlog_events_purge_logs.test (+35/-0)
mysql-test/suite/rpl/t/rpl_report_port.test (+5/-3)
mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test (+57/-0)
mysql-test/suite/rpl/t/rpl_start_stop_slave.test (+10/-0)
mysql-test/suite/rpl/t/rpl_trigger.test (+2/-5)
mysql-test/suite/sphinx/sphinx.result (+5/-2)
mysql-test/suite/sphinx/sphinx.test (+3/-1)
mysql-test/suite/storage_engine/1st.result (+11/-0)
mysql-test/suite/storage_engine/1st.test (+81/-0)
mysql-test/suite/storage_engine/alter_table.inc (+91/-0)
mysql-test/suite/storage_engine/alter_table.result (+147/-0)
mysql-test/suite/storage_engine/alter_table.test (+148/-0)
mysql-test/suite/storage_engine/alter_table_online.result (+35/-0)
mysql-test/suite/storage_engine/alter_table_online.test (+160/-0)
mysql-test/suite/storage_engine/alter_tablespace.result (+19/-0)
mysql-test/suite/storage_engine/alter_tablespace.test (+91/-0)
mysql-test/suite/storage_engine/analyze_table.inc (+43/-0)
mysql-test/suite/storage_engine/analyze_table.result (+29/-0)
mysql-test/suite/storage_engine/analyze_table.test (+14/-0)
mysql-test/suite/storage_engine/autoinc_secondary.result (+40/-0)
mysql-test/suite/storage_engine/autoinc_secondary.test (+73/-0)
mysql-test/suite/storage_engine/autoinc_vars.result (+55/-0)
mysql-test/suite/storage_engine/autoinc_vars.test (+68/-0)
mysql-test/suite/storage_engine/autoincrement.result (+133/-0)
mysql-test/suite/storage_engine/autoincrement.test (+114/-0)
mysql-test/suite/storage_engine/cache_index.result (+69/-0)
mysql-test/suite/storage_engine/cache_index.test (+142/-0)
mysql-test/suite/storage_engine/check_errors.inc (+80/-0)
mysql-test/suite/storage_engine/check_table.inc (+62/-0)
mysql-test/suite/storage_engine/check_table.result (+68/-0)
mysql-test/suite/storage_engine/check_table.test (+14/-0)
mysql-test/suite/storage_engine/checksum_table.inc (+31/-0)
mysql-test/suite/storage_engine/checksum_table.result (+20/-0)
mysql-test/suite/storage_engine/checksum_table.test (+11/-0)
mysql-test/suite/storage_engine/checksum_table_live.inc (+30/-0)
mysql-test/suite/storage_engine/checksum_table_live.result (+20/-0)
mysql-test/suite/storage_engine/checksum_table_live.test (+13/-0)
mysql-test/suite/storage_engine/cleanup_engine.inc (+11/-0)
mysql-test/suite/storage_engine/col_not_null.inc (+92/-0)
mysql-test/suite/storage_engine/col_null.inc (+65/-0)
mysql-test/suite/storage_engine/col_opt_default.result (+20/-0)
mysql-test/suite/storage_engine/col_opt_default.test (+49/-0)
mysql-test/suite/storage_engine/col_opt_not_null.result (+2062/-0)
mysql-test/suite/storage_engine/col_opt_not_null.test (+260/-0)
mysql-test/suite/storage_engine/col_opt_null.result (+1991/-0)
mysql-test/suite/storage_engine/col_opt_null.test (+208/-0)
mysql-test/suite/storage_engine/col_opt_unsigned.result (+697/-0)
mysql-test/suite/storage_engine/col_opt_unsigned.test (+95/-0)
mysql-test/suite/storage_engine/col_opt_zerofill.result (+679/-0)
mysql-test/suite/storage_engine/col_opt_zerofill.test (+88/-0)
mysql-test/suite/storage_engine/create_table.inc (+174/-0)
mysql-test/suite/storage_engine/create_table.result (+45/-0)
mysql-test/suite/storage_engine/create_table.test (+107/-0)
mysql-test/suite/storage_engine/define_engine.inc (+45/-0)
mysql-test/suite/storage_engine/delete.result (+77/-0)
mysql-test/suite/storage_engine/delete.test (+68/-0)
mysql-test/suite/storage_engine/delete_ignore.result (+59/-0)
mysql-test/suite/storage_engine/delete_ignore.test (+44/-0)
mysql-test/suite/storage_engine/delete_low_prio.result (+59/-0)
mysql-test/suite/storage_engine/delete_low_prio.test (+162/-0)
mysql-test/suite/storage_engine/delete_quick.result (+25/-0)
mysql-test/suite/storage_engine/delete_quick.test (+55/-0)
mysql-test/suite/storage_engine/delete_with_keys.result (+38/-0)
mysql-test/suite/storage_engine/delete_with_keys.test (+74/-0)
mysql-test/suite/storage_engine/describe.result (+18/-0)
mysql-test/suite/storage_engine/describe.test (+50/-0)
mysql-test/suite/storage_engine/foreign_keys.result (+71/-0)
mysql-test/suite/storage_engine/foreign_keys.test (+148/-0)
mysql-test/suite/storage_engine/fulltext_search.result (+132/-0)
mysql-test/suite/storage_engine/fulltext_search.test (+187/-0)
mysql-test/suite/storage_engine/handler.result (+77/-0)
mysql-test/suite/storage_engine/handler.test (+81/-0)
mysql-test/suite/storage_engine/have_default_index.inc (+20/-0)
mysql-test/suite/storage_engine/have_engine.inc (+127/-0)
mysql-test/suite/storage_engine/index.inc (+194/-0)
mysql-test/suite/storage_engine/index.result (+67/-0)
mysql-test/suite/storage_engine/index.test (+23/-0)
mysql-test/suite/storage_engine/index_enable_disable.result (+45/-0)
mysql-test/suite/storage_engine/index_enable_disable.test (+88/-0)
mysql-test/suite/storage_engine/index_key_block_size.result (+43/-0)
mysql-test/suite/storage_engine/index_key_block_size.test (+125/-0)
mysql-test/suite/storage_engine/index_primary.result (+53/-0)
mysql-test/suite/storage_engine/index_primary.test (+136/-0)
mysql-test/suite/storage_engine/index_type_btree.result (+67/-0)
mysql-test/suite/storage_engine/index_type_btree.test (+12/-0)
mysql-test/suite/storage_engine/index_type_hash.result (+67/-0)
mysql-test/suite/storage_engine/index_type_hash.test (+12/-0)
mysql-test/suite/storage_engine/insert.result (+149/-0)
mysql-test/suite/storage_engine/insert.test (+78/-0)
mysql-test/suite/storage_engine/insert_delayed.result (+25/-0)
mysql-test/suite/storage_engine/insert_delayed.test (+62/-0)
mysql-test/suite/storage_engine/insert_high_prio.result (+64/-0)
mysql-test/suite/storage_engine/insert_high_prio.test (+143/-0)
mysql-test/suite/storage_engine/insert_low_prio.result (+39/-0)
mysql-test/suite/storage_engine/insert_low_prio.test (+95/-0)
mysql-test/suite/storage_engine/insert_with_keys.result (+148/-0)
mysql-test/suite/storage_engine/insert_with_keys.test (+143/-0)
mysql-test/suite/storage_engine/loaddata.result (+68/-0)
mysql-test/suite/storage_engine/loaddata.test (+88/-0)
mysql-test/suite/storage_engine/lock.result (+111/-0)
mysql-test/suite/storage_engine/lock.test (+244/-0)
mysql-test/suite/storage_engine/lock_concurrent.result (+12/-0)
mysql-test/suite/storage_engine/lock_concurrent.test (+52/-0)
mysql-test/suite/storage_engine/mask_engine.inc (+14/-0)
mysql-test/suite/storage_engine/misc.result (+79/-0)
mysql-test/suite/storage_engine/misc.test (+47/-0)
mysql-test/suite/storage_engine/my.cnf (+7/-0)
mysql-test/suite/storage_engine/obfuscate.inc (+4/-0)
mysql-test/suite/storage_engine/optimize_table.inc (+42/-0)
mysql-test/suite/storage_engine/optimize_table.result (+29/-0)
mysql-test/suite/storage_engine/optimize_table.test (+14/-0)
mysql-test/suite/storage_engine/parts/alter_table.result (+42/-0)
mysql-test/suite/storage_engine/parts/alter_table.test (+107/-0)
mysql-test/suite/storage_engine/parts/analyze_table.result (+47/-0)
mysql-test/suite/storage_engine/parts/analyze_table.test (+61/-0)
mysql-test/suite/storage_engine/parts/check_table.result (+104/-0)
mysql-test/suite/storage_engine/parts/check_table.test (+82/-0)
mysql-test/suite/storage_engine/parts/checksum_table.result (+40/-0)
mysql-test/suite/storage_engine/parts/checksum_table.test (+13/-0)
mysql-test/suite/storage_engine/parts/create_table.result (+91/-0)
mysql-test/suite/storage_engine/parts/create_table.test (+179/-0)
mysql-test/suite/storage_engine/parts/my.cnf (+9/-0)
mysql-test/suite/storage_engine/parts/optimize_table.result (+54/-0)
mysql-test/suite/storage_engine/parts/optimize_table.test (+69/-0)
mysql-test/suite/storage_engine/parts/repair_table.result (+236/-0)
mysql-test/suite/storage_engine/parts/repair_table.test (+78/-0)
mysql-test/suite/storage_engine/parts/truncate_table.result (+68/-0)
mysql-test/suite/storage_engine/parts/truncate_table.test (+111/-0)
mysql-test/suite/storage_engine/repair_table.inc (+155/-0)
mysql-test/suite/storage_engine/repair_table.result (+106/-0)
mysql-test/suite/storage_engine/repair_table.test (+14/-0)
mysql-test/suite/storage_engine/replace.result (+47/-0)
mysql-test/suite/storage_engine/replace.test (+67/-0)
mysql-test/suite/storage_engine/se-innodb.out (+1/-0)
mysql-test/suite/storage_engine/select.result (+390/-0)
mysql-test/suite/storage_engine/select.test (+210/-0)
mysql-test/suite/storage_engine/select_high_prio.result (+45/-0)
mysql-test/suite/storage_engine/select_high_prio.test (+139/-0)
mysql-test/suite/storage_engine/show_engine.result (+11/-0)
mysql-test/suite/storage_engine/show_engine.test (+31/-0)
mysql-test/suite/storage_engine/show_table_status.result (+62/-0)
mysql-test/suite/storage_engine/show_table_status.test (+30/-0)
mysql-test/suite/storage_engine/strict_check_errors.inc (+23/-0)
mysql-test/suite/storage_engine/tbl_opt_ai.result (+14/-0)
mysql-test/suite/storage_engine/tbl_opt_ai.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_avg_row_length.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_avg_row_length.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_checksum.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_checksum.test (+30/-0)
mysql-test/suite/storage_engine/tbl_opt_connection.result (+24/-0)
mysql-test/suite/storage_engine/tbl_opt_connection.test (+52/-0)
mysql-test/suite/storage_engine/tbl_opt_data_index_dir.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_data_index_dir.test (+51/-0)
mysql-test/suite/storage_engine/tbl_opt_delay_key_write.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_delay_key_write.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_insert_method.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_insert_method.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_key_block_size.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_key_block_size.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_max_rows.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_max_rows.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_min_rows.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_min_rows.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_pack_keys.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_pack_keys.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_password.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_password.test (+40/-0)
mysql-test/suite/storage_engine/tbl_opt_row_format.result (+16/-0)
mysql-test/suite/storage_engine/tbl_opt_row_format.test (+35/-0)
mysql-test/suite/storage_engine/tbl_opt_union.result (+14/-0)
mysql-test/suite/storage_engine/tbl_opt_union.test (+41/-0)
mysql-test/suite/storage_engine/tbl_standard_opts.result (+40/-0)
mysql-test/suite/storage_engine/tbl_standard_opts.test (+60/-0)
mysql-test/suite/storage_engine/tbl_temporary.result (+11/-0)
mysql-test/suite/storage_engine/tbl_temporary.test (+32/-0)
mysql-test/suite/storage_engine/truncate_table.result (+41/-0)
mysql-test/suite/storage_engine/truncate_table.test (+81/-0)
mysql-test/suite/storage_engine/trx/cons_snapshot_repeatable_read.result (+18/-0)
mysql-test/suite/storage_engine/trx/cons_snapshot_repeatable_read.test (+9/-0)
mysql-test/suite/storage_engine/trx/cons_snapshot_serializable.result (+18/-0)
mysql-test/suite/storage_engine/trx/cons_snapshot_serializable.test (+9/-0)
mysql-test/suite/storage_engine/trx/consistent_snapshot.inc (+50/-0)
mysql-test/suite/storage_engine/trx/delete.result (+72/-0)
mysql-test/suite/storage_engine/trx/delete.test (+51/-0)
mysql-test/suite/storage_engine/trx/insert.result (+55/-0)
mysql-test/suite/storage_engine/trx/insert.test (+44/-0)
mysql-test/suite/storage_engine/trx/level_read_committed.result (+91/-0)
mysql-test/suite/storage_engine/trx/level_read_committed.test (+10/-0)
mysql-test/suite/storage_engine/trx/level_read_uncommitted.result (+116/-0)
mysql-test/suite/storage_engine/trx/level_read_uncommitted.test (+9/-0)
mysql-test/suite/storage_engine/trx/level_repeatable_read.result (+69/-0)
mysql-test/suite/storage_engine/trx/level_repeatable_read.test (+8/-0)
mysql-test/suite/storage_engine/trx/level_serializable.result (+56/-0)
mysql-test/suite/storage_engine/trx/level_serializable.test (+8/-0)
mysql-test/suite/storage_engine/trx/my.cnf (+7/-0)
mysql-test/suite/storage_engine/trx/select_for_update.result (+35/-0)
mysql-test/suite/storage_engine/trx/select_for_update.test (+87/-0)
mysql-test/suite/storage_engine/trx/select_lock_in_share_mode.result (+37/-0)
mysql-test/suite/storage_engine/trx/select_lock_in_share_mode.test (+82/-0)
mysql-test/suite/storage_engine/trx/support_savepoints.inc (+10/-0)
mysql-test/suite/storage_engine/trx/support_transactions.inc (+10/-0)
mysql-test/suite/storage_engine/trx/support_xa.inc (+12/-0)
mysql-test/suite/storage_engine/trx/transaction_isolation.inc (+99/-0)
mysql-test/suite/storage_engine/trx/update.result (+48/-0)
mysql-test/suite/storage_engine/trx/update.test (+50/-0)
mysql-test/suite/storage_engine/trx/xa.result (+96/-0)
mysql-test/suite/storage_engine/trx/xa.test (+118/-0)
mysql-test/suite/storage_engine/trx/xa_recovery.result (+29/-0)
mysql-test/suite/storage_engine/trx/xa_recovery.test (+71/-0)
mysql-test/suite/storage_engine/type_binary.inc (+52/-0)
mysql-test/suite/storage_engine/type_binary.result (+62/-0)
mysql-test/suite/storage_engine/type_binary.test (+10/-0)
mysql-test/suite/storage_engine/type_binary_indexes.result (+126/-0)
mysql-test/suite/storage_engine/type_binary_indexes.test (+149/-0)
mysql-test/suite/storage_engine/type_bit.inc (+76/-0)
mysql-test/suite/storage_engine/type_bit.result (+47/-0)
mysql-test/suite/storage_engine/type_bit.test (+10/-0)
mysql-test/suite/storage_engine/type_bit_indexes.result (+132/-0)
mysql-test/suite/storage_engine/type_bit_indexes.test (+175/-0)
mysql-test/suite/storage_engine/type_blob.inc (+65/-0)
mysql-test/suite/storage_engine/type_blob.result (+54/-0)
mysql-test/suite/storage_engine/type_blob.test (+10/-0)
mysql-test/suite/storage_engine/type_blob_indexes.result (+152/-0)
mysql-test/suite/storage_engine/type_blob_indexes.test (+188/-0)
mysql-test/suite/storage_engine/type_bool.inc (+81/-0)
mysql-test/suite/storage_engine/type_bool.result (+70/-0)
mysql-test/suite/storage_engine/type_bool.test (+10/-0)
mysql-test/suite/storage_engine/type_char.inc (+59/-0)
mysql-test/suite/storage_engine/type_char.result (+56/-0)
mysql-test/suite/storage_engine/type_char.test (+10/-0)
mysql-test/suite/storage_engine/type_char_indexes.result (+144/-0)
mysql-test/suite/storage_engine/type_char_indexes.test (+186/-0)
mysql-test/suite/storage_engine/type_date_time.inc (+55/-0)
mysql-test/suite/storage_engine/type_date_time.result (+48/-0)
mysql-test/suite/storage_engine/type_date_time.test (+11/-0)
mysql-test/suite/storage_engine/type_date_time_indexes.result (+278/-0)
mysql-test/suite/storage_engine/type_date_time_indexes.test (+366/-0)
mysql-test/suite/storage_engine/type_enum.inc (+69/-0)
mysql-test/suite/storage_engine/type_enum.result (+46/-0)
mysql-test/suite/storage_engine/type_enum.test (+10/-0)
mysql-test/suite/storage_engine/type_enum_indexes.result (+108/-0)
mysql-test/suite/storage_engine/type_enum_indexes.test (+146/-0)
mysql-test/suite/storage_engine/type_fixed.inc (+89/-0)
mysql-test/suite/storage_engine/type_fixed.result (+116/-0)
mysql-test/suite/storage_engine/type_fixed.test (+10/-0)
mysql-test/suite/storage_engine/type_fixed_indexes.result (+148/-0)
mysql-test/suite/storage_engine/type_fixed_indexes.test (+167/-0)
mysql-test/suite/storage_engine/type_float.inc (+111/-0)
mysql-test/suite/storage_engine/type_float.result (+286/-0)
mysql-test/suite/storage_engine/type_float.test (+10/-0)
mysql-test/suite/storage_engine/type_float_indexes.result (+146/-0)
mysql-test/suite/storage_engine/type_float_indexes.test (+203/-0)
mysql-test/suite/storage_engine/type_int.inc (+84/-0)
mysql-test/suite/storage_engine/type_int.result (+209/-0)
mysql-test/suite/storage_engine/type_int.test (+10/-0)
mysql-test/suite/storage_engine/type_int_indexes.result (+133/-0)
mysql-test/suite/storage_engine/type_int_indexes.test (+146/-0)
mysql-test/suite/storage_engine/type_set.inc (+69/-0)
mysql-test/suite/storage_engine/type_set.result (+48/-0)
mysql-test/suite/storage_engine/type_set.test (+10/-0)
mysql-test/suite/storage_engine/type_set_indexes.result (+137/-0)
mysql-test/suite/storage_engine/type_set_indexes.test (+167/-0)
mysql-test/suite/storage_engine/type_spatial.inc (+738/-0)
mysql-test/suite/storage_engine/type_spatial.result (+700/-0)
mysql-test/suite/storage_engine/type_spatial.test (+10/-0)
mysql-test/suite/storage_engine/type_spatial_indexes.result (+1400/-0)
mysql-test/suite/storage_engine/type_spatial_indexes.test (+15/-0)
mysql-test/suite/storage_engine/type_text.inc (+65/-0)
mysql-test/suite/storage_engine/type_text.result (+54/-0)
mysql-test/suite/storage_engine/type_text.test (+10/-0)
mysql-test/suite/storage_engine/type_text_indexes.result (+137/-0)
mysql-test/suite/storage_engine/type_text_indexes.test (+175/-0)
mysql-test/suite/storage_engine/type_varbinary.inc (+101/-0)
mysql-test/suite/storage_engine/type_varbinary.result (+92/-0)
mysql-test/suite/storage_engine/type_varbinary.test (+10/-0)
mysql-test/suite/storage_engine/type_varchar.inc (+100/-0)
mysql-test/suite/storage_engine/type_varchar.result (+127/-0)
mysql-test/suite/storage_engine/type_varchar.test (+10/-0)
mysql-test/suite/storage_engine/unexpected_result.inc (+50/-0)
mysql-test/suite/storage_engine/update.result (+50/-0)
mysql-test/suite/storage_engine/update.test (+43/-0)
mysql-test/suite/storage_engine/update_ignore.result (+54/-0)
mysql-test/suite/storage_engine/update_ignore.test (+43/-0)
mysql-test/suite/storage_engine/update_low_prio.result (+66/-0)
mysql-test/suite/storage_engine/update_low_prio.test (+167/-0)
mysql-test/suite/storage_engine/update_multi.result (+65/-0)
mysql-test/suite/storage_engine/update_multi.test (+44/-0)
mysql-test/suite/storage_engine/update_with_keys.result (+90/-0)
mysql-test/suite/storage_engine/update_with_keys.test (+152/-0)
mysql-test/suite/storage_engine/vcol.result (+69/-0)
mysql-test/suite/storage_engine/vcol.test (+72/-0)
mysql-test/suite/sys_vars/disabled.def (+1/-0)
mysql-test/suite/sys_vars/r/expensive_subquery_limit_basic.result (+52/-0)
mysql-test/suite/sys_vars/r/innodb_merge_sort_block_size_basic.result (+24/-0)
mysql-test/suite/sys_vars/r/slave_max_allowed_packet_basic.result (+147/-0)
mysql-test/suite/sys_vars/t/expensive_subquery_limit_basic.test (+38/-0)
mysql-test/suite/sys_vars/t/innodb_merge_sort_block_size_basic.test (+19/-0)
mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test (+0/-5)
mysql-test/suite/sys_vars/t/slave_max_allowed_packet_basic.test (+177/-0)
mysql-test/suite/vcol/r/vcol_misc.result (+36/-0)
mysql-test/suite/vcol/t/vcol_misc.test (+23/-0)
mysql-test/t/adddate_454.test (+9/-0)
mysql-test/t/auto_increment.test (+16/-0)
mysql-test/t/bug12427262.test (+51/-0)
mysql-test/t/case.test (+11/-0)
mysql-test/t/compare.test (+8/-0)
mysql-test/t/connect.test (+30/-0)
mysql-test/t/create-big.test (+25/-6)
mysql-test/t/ctype_utf32.test (+5/-0)
mysql-test/t/datetime_456.test (+8/-0)
mysql-test/t/errors.test (+9/-0)
mysql-test/t/features.test (+107/-0)
mysql-test/t/func_group_innodb.test (+43/-14)
mysql-test/t/func_in.test (+29/-0)
mysql-test/t/func_test.test (+20/-0)
mysql-test/t/func_time.test (+2/-0)
mysql-test/t/gis.test (+15/-1)
mysql-test/t/index_merge_innodb.test (+48/-0)
mysql-test/t/last_value.test (+43/-0)
mysql-test/t/mdev316.test (+14/-0)
mysql-test/t/mdev375.test (+22/-0)
mysql-test/t/myisam_icp.test (+20/-0)
mysql-test/t/mysql_plugin.test (+2/-2)
mysql-test/t/mysqldump.test (+27/-0)
mysql-test/t/mysqltest.test (+5/-0)
mysql-test/t/mysqltest_256.test (+17/-0)
mysql-test/t/order_by.test (+39/-0)
mysql-test/t/partition.test (+23/-0)
mysql-test/t/partition_cache_innodb.test (+14/-0)
mysql-test/t/partition_cache_myisam.test (+14/-0)
mysql-test/t/ps.test (+70/-93)
mysql-test/t/read_only.test (+5/-9)
mysql-test/t/read_only_innodb.test (+23/-1)
mysql-test/t/select.test (+1/-0)
mysql-test/t/sp.test (+47/-1)
mysql-test/t/subselect.test (+229/-3)
mysql-test/t/subselect4.test (+58/-0)
mysql-test/t/subselect_innodb.test (+12/-0)
mysql-test/t/subselect_sj.test (+17/-0)
mysql-test/t/type_date.test (+10/-0)
mysql-test/t/type_year.test (+8/-0)
mysql-test/t/union.test (+20/-0)
mysql-test/t/user_var.test (+11/-0)
mysql-test/t/view.test (+47/-0)
mysys/charset-def.c (+1/-1)
mysys/default.c (+4/-0)
mysys/lf_alloc-pin.c (+1/-1)
mysys/lf_hash.c (+3/-1)
mysys/mf_iocache2.c (+56/-4)
mysys/mf_keycache.c (+204/-62)
mysys/my_chsize.c (+0/-7)
mysys/my_getopt.c (+17/-0)
mysys/my_lock.c (+1/-1)
mysys/my_pthread.c (+2/-67)
mysys/my_rename.c (+0/-16)
mysys/my_sync.c (+16/-2)
mysys/my_write.c (+5/-0)
mysys/thr_mutex.c (+0/-3)
mysys/waiting_threads.c (+2/-0)
plugin/auth_pam/auth_pam.c (+1/-1)
plugin/semisync/semisync.cc (+1/-1)
plugin/semisync/semisync.h (+1/-1)
plugin/semisync/semisync_master.cc (+5/-2)
plugin/semisync/semisync_master_plugin.cc (+2/-2)
plugin/semisync/semisync_slave_plugin.cc (+1/-1)
scripts/CMakeLists.txt (+2/-1)
scripts/fill_help_tables.sql (+2003/-1943)
scripts/mysql_install_db.sh (+5/-4)
scripts/mysqld_multi.sh (+1/-1)
sql-common/client.c (+19/-4)
sql-common/my_time.c (+80/-17)
sql/create_options.cc (+4/-1)
sql/derror.cc (+2/-2)
sql/event_scheduler.cc (+3/-2)
sql/field.cc (+17/-3)
sql/field.h (+9/-2)
sql/field_conv.cc (+3/-1)
sql/filesort.cc (+7/-5)
sql/ha_ndbcluster_binlog.cc (+17/-8)
sql/ha_partition.cc (+139/-2)
sql/ha_partition.h (+12/-14)
sql/handler.cc (+21/-7)
sql/handler.h (+42/-0)
sql/item.cc (+29/-5)
sql/item.h (+104/-16)
sql/item_cmpfunc.cc (+83/-13)
sql/item_cmpfunc.h (+5/-2)
sql/item_func.cc (+64/-2)
sql/item_func.h (+29/-1)
sql/item_geofunc.cc (+4/-2)
sql/item_row.cc (+1/-0)
sql/item_strfunc.cc (+1/-0)
sql/item_strfunc.h (+25/-1)
sql/item_subselect.cc (+139/-12)
sql/item_subselect.h (+9/-5)
sql/item_sum.cc (+3/-0)
sql/item_timefunc.cc (+17/-20)
sql/item_xmlfunc.cc (+2/-0)
sql/lex.h (+1/-0)
sql/log.cc (+66/-22)
sql/log.h (+12/-5)
sql/log_event.cc (+330/-222)
sql/log_event.h (+58/-24)
sql/log_event_old.cc (+2/-2)
sql/log_event_old.h (+1/-1)
sql/multi_range_read.cc (+1/-1)
sql/mysql_install_db.cc (+3/-3)
sql/mysqld.cc (+56/-27)
sql/mysqld.h (+2/-0)
sql/opt_range.cc (+68/-17)
sql/opt_range.h (+1/-1)
sql/opt_subselect.cc (+61/-12)
sql/opt_sum.cc (+1/-1)
sql/password.c (+1/-0)
sql/protocol.cc (+4/-2)
sql/repl_failsafe.cc (+0/-1)
sql/rpl_record.cc (+1/-1)
sql/rpl_rli.cc (+2/-2)
sql/rpl_rli.h (+35/-0)
sql/rpl_utility.cc (+67/-3)
sql/rpl_utility.h (+19/-1)
sql/share/CMakeLists.txt (+2/-2)
sql/share/errmsg-utf8.txt (+6/-0)
sql/signal_handler.cc (+0/-17)
sql/slave.cc (+16/-8)
sql/sp.cc (+1/-0)
sql/sp_head.cc (+1/-0)
sql/spatial.cc (+2/-2)
sql/spatial.h (+1/-1)
sql/sql_acl.cc (+1/-0)
sql/sql_admin.cc (+1/-0)
sql/sql_base.cc (+58/-32)
sql/sql_cache.cc (+39/-58)
sql/sql_cache.h (+19/-12)
sql/sql_class.cc (+144/-8)
sql/sql_class.h (+23/-15)
sql/sql_cursor.cc (+2/-0)
sql/sql_db.cc (+12/-29)
sql/sql_delete.cc (+8/-2)
sql/sql_insert.cc (+0/-4)
sql/sql_join_cache.cc (+4/-3)
sql/sql_lex.cc (+87/-4)
sql/sql_lex.h (+8/-6)
sql/sql_load.cc (+34/-56)
sql/sql_parse.cc (+9/-2)
sql/sql_partition.cc (+5/-3)
sql/sql_plugin.cc (+1/-1)
sql/sql_plugin.h (+3/-3)
sql/sql_profile.cc (+4/-4)
sql/sql_profile.h (+1/-1)
sql/sql_repl.cc (+9/-5)
sql/sql_select.cc (+223/-121)
sql/sql_select.h (+17/-1)
sql/sql_show.cc (+21/-13)
sql/sql_show.h (+1/-1)
sql/sql_string.cc (+18/-10)
sql/sql_string.h (+1/-0)
sql/sql_table.cc (+187/-44)
sql/sql_time.cc (+36/-43)
sql/sql_time.h (+1/-1)
sql/sql_trigger.cc (+3/-0)
sql/sql_truncate.cc (+23/-18)
sql/sql_union.cc (+2/-0)
sql/sql_update.cc (+2/-2)
sql/sql_yacc.yy (+34/-7)
sql/sys_vars.cc (+76/-38)
sql/sys_vars.h (+3/-1)
sql/table.cc (+52/-9)
sql/table.h (+3/-0)
sql/tztime.cc (+3/-1)
sql/unireg.cc (+14/-9)
sql/unireg.h (+0/-6)
storage/archive/azio.c (+17/-10)
storage/archive/ha_archive.cc (+21/-6)
storage/blackhole/ha_blackhole.cc (+1/-1)
storage/example/mysql-test/mtr/suite.pm (+8/-0)
storage/heap/hp_block.c (+12/-11)
storage/heap/hp_create.c (+17/-6)
storage/heap/hp_hash.c (+9/-0)
storage/innobase/btr/btr0btr.c (+4/-0)
storage/innobase/btr/btr0cur.c (+2/-0)
storage/innobase/buf/buf0buf.c (+7/-4)
storage/innobase/buf/buf0flu.c (+0/-9)
storage/innobase/buf/buf0lru.c (+14/-0)
storage/innobase/buf/buf0rea.c (+47/-1)
storage/innobase/dict/dict0dict.c (+34/-2)
storage/innobase/dict/dict0load.c (+2/-2)
storage/innobase/dict/dict0mem.c (+3/-1)
storage/innobase/fil/fil0fil.c (+3/-1)
storage/innobase/ha/ha0ha.c (+1/-15)
storage/innobase/handler/ha_innodb.cc (+56/-19)
storage/innobase/handler/ha_innodb.h (+1/-0)
storage/innobase/handler/handler0alter.cc (+11/-7)
storage/innobase/include/btr0btr.h (+3/-0)
storage/innobase/include/btr0types.h (+4/-0)
storage/innobase/include/buf0buf.h (+11/-10)
storage/innobase/include/buf0buf.ic (+2/-0)
storage/innobase/include/dict0dict.h (+4/-1)
storage/innobase/include/dict0dict.ic (+2/-0)
storage/innobase/include/log0log.h (+1/-1)
storage/innobase/include/os0file.h (+1/-1)
storage/innobase/include/srv0srv.h (+2/-1)
storage/innobase/include/trx0sys.h (+1/-3)
storage/innobase/log/log0recv.c (+1/-1)
storage/innobase/mem/mem0dbg.c (+3/-1)
storage/innobase/mysql-test/storage_engine/alter_tablespace.opt (+2/-0)
storage/innobase/mysql-test/storage_engine/autoinc_secondary.rdiff (+30/-0)
storage/innobase/mysql-test/storage_engine/cache_index.rdiff (+71/-0)
storage/innobase/mysql-test/storage_engine/checksum_table_live.rdiff (+13/-0)
storage/innobase/mysql-test/storage_engine/define_engine.inc (+45/-0)
storage/innobase/mysql-test/storage_engine/disabled.def (+9/-0)
storage/innobase/mysql-test/storage_engine/fulltext_search.rdiff (+150/-0)
storage/innobase/mysql-test/storage_engine/index_enable_disable.rdiff (+33/-0)
storage/innobase/mysql-test/storage_engine/index_type_hash.rdiff (+60/-0)
storage/innobase/mysql-test/storage_engine/insert_delayed.rdiff (+26/-0)
storage/innobase/mysql-test/storage_engine/lock_concurrent.rdiff (+22/-0)
storage/innobase/mysql-test/storage_engine/optimize_table.rdiff (+37/-0)
storage/innobase/mysql-test/storage_engine/parts/checksum_table.rdiff (+22/-0)
storage/innobase/mysql-test/storage_engine/parts/create_table.rdiff (+20/-0)
storage/innobase/mysql-test/storage_engine/parts/optimize_table.rdiff (+58/-0)
storage/innobase/mysql-test/storage_engine/parts/repair_table.rdiff (+228/-0)
storage/innobase/mysql-test/storage_engine/parts/suite.opt (+4/-0)
storage/innobase/mysql-test/storage_engine/repair_table.rdiff (+129/-0)
storage/innobase/mysql-test/storage_engine/suite.opt (+4/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff (+18/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_insert_method.rdiff (+11/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_key_block_size.opt (+3/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.opt (+3/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff (+10/-0)
storage/innobase/mysql-test/storage_engine/tbl_opt_union.rdiff (+16/-0)
storage/innobase/mysql-test/storage_engine/trx/disabled.def (+2/-0)
storage/innobase/mysql-test/storage_engine/trx/suite.opt (+5/-0)
storage/innobase/mysql-test/storage_engine/type_char_indexes.rdiff (+20/-0)
storage/innobase/mysql-test/storage_engine/type_float_indexes.rdiff (+11/-0)
storage/innobase/mysql-test/storage_engine/type_spatial_indexes.rdiff (+712/-0)
storage/innobase/mysql-test/storage_engine/vcol.rdiff (+82/-0)
storage/innobase/os/os0file.c (+19/-6)
storage/innobase/os/os0thread.c (+4/-2)
storage/innobase/page/page0zip.c (+2/-0)
storage/innobase/row/row0ins.c (+2/-4)
storage/innobase/row/row0vers.c (+0/-11)
storage/innobase/srv/srv0start.c (+12/-4)
storage/innobase/sync/sync0arr.c (+5/-0)
storage/innobase/trx/trx0sys.c (+1/-1)
storage/innobase/ut/ut0dbg.c (+4/-2)
storage/innobase/ut/ut0ut.c (+8/-0)
storage/maria/ha_maria.cc (+23/-1)
storage/maria/ha_maria.h (+1/-6)
storage/maria/ma_blockrec.c (+2/-0)
storage/maria/ma_close.c (+19/-12)
storage/maria/ma_delete.c (+2/-0)
storage/maria/ma_delete_table.c (+4/-8)
storage/maria/ma_ft_nlq_search.c (+2/-0)
storage/maria/ma_info.c (+1/-0)
storage/maria/ma_key_recover.c (+6/-1)
storage/maria/ma_open.c (+4/-0)
storage/maria/ma_pagecache.c (+1/-0)
storage/maria/ma_rt_index.c (+22/-4)
storage/maria/ma_search.c (+4/-0)
storage/maria/ma_write.c (+2/-0)
storage/maria/maria_chk.c (+0/-3)
storage/myisam/ft_boolean_search.c (+14/-2)
storage/myisam/ft_nlq_search.c (+18/-1)
storage/myisam/ha_myisam.cc (+22/-0)
storage/myisam/ha_myisam.h (+1/-6)
storage/myisam/mi_extra.c (+0/-2)
storage/myisam/mi_keycache.c (+2/-0)
storage/myisam/myisamchk.c (+0/-3)
storage/myisam/mysql-test/mtr2/suite.pm (+9/-0)
storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff (+32/-0)
storage/myisam/mysql-test/storage_engine/check_table.rdiff (+20/-0)
storage/myisam/mysql-test/storage_engine/define_engine.inc (+45/-0)
storage/myisam/mysql-test/storage_engine/foreign_keys.rdiff (+145/-0)
storage/myisam/mysql-test/storage_engine/index_type_hash.rdiff (+60/-0)
storage/myisam/mysql-test/storage_engine/show_engine.rdiff (+10/-0)
storage/myisam/mysql-test/storage_engine/tbl_opt_insert_method.rdiff (+11/-0)
storage/myisam/mysql-test/storage_engine/tbl_opt_union.rdiff (+16/-0)
storage/myisam/mysql-test/storage_engine/trx/cons_snapshot_repeatable_read.rdiff (+9/-0)
storage/myisam/mysql-test/storage_engine/trx/cons_snapshot_serializable.rdiff (+9/-0)
storage/myisam/mysql-test/storage_engine/trx/delete.rdiff (+50/-0)
storage/myisam/mysql-test/storage_engine/trx/insert.rdiff (+65/-0)
storage/myisam/mysql-test/storage_engine/trx/level_read_committed.rdiff (+44/-0)
storage/myisam/mysql-test/storage_engine/trx/level_read_uncommitted.rdiff (+7/-0)
storage/myisam/mysql-test/storage_engine/trx/level_repeatable_read.rdiff (+53/-0)
storage/myisam/mysql-test/storage_engine/trx/level_serializable.rdiff (+69/-0)
storage/myisam/mysql-test/storage_engine/trx/select_for_update.rdiff (+50/-0)
storage/myisam/mysql-test/storage_engine/trx/select_lock_in_share_mode.rdiff (+37/-0)
storage/myisam/mysql-test/storage_engine/trx/update.rdiff (+58/-0)
storage/myisam/mysql-test/storage_engine/trx/xa.rdiff (+89/-0)
storage/myisam/mysql-test/storage_engine/trx/xa_recovery.rdiff (+33/-0)
storage/myisam/rt_index.c (+23/-4)
storage/myisammrg/ha_myisammrg.cc (+41/-0)
storage/myisammrg/ha_myisammrg.h (+6/-0)
storage/myisammrg/mysql-test/storage_engine/alter_table.inc (+116/-0)
storage/myisammrg/mysql-test/storage_engine/alter_table.rdiff (+68/-0)
storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff (+27/-0)
storage/myisammrg/mysql-test/storage_engine/analyze_table.rdiff (+22/-0)
storage/myisammrg/mysql-test/storage_engine/autoincrement.rdiff (+34/-0)
storage/myisammrg/mysql-test/storage_engine/cache_index.rdiff (+46/-0)
storage/myisammrg/mysql-test/storage_engine/checksum_table_live.rdiff (+6/-0)
storage/myisammrg/mysql-test/storage_engine/cleanup_engine.inc (+16/-0)
storage/myisammrg/mysql-test/storage_engine/create_table.inc (+208/-0)
storage/myisammrg/mysql-test/storage_engine/create_table.rdiff (+37/-0)
storage/myisammrg/mysql-test/storage_engine/define_engine.inc (+49/-0)
storage/myisammrg/mysql-test/storage_engine/disabled.def (+2/-0)
storage/myisammrg/mysql-test/storage_engine/foreign_keys.rdiff (+138/-0)
storage/myisammrg/mysql-test/storage_engine/fulltext_search.rdiff (+142/-0)
storage/myisammrg/mysql-test/storage_engine/handler.rdiff (+79/-0)
storage/myisammrg/mysql-test/storage_engine/index.rdiff (+6/-0)
storage/myisammrg/mysql-test/storage_engine/index_enable_disable.rdiff (+17/-0)
storage/myisammrg/mysql-test/storage_engine/index_type_btree.rdiff (+6/-0)
storage/myisammrg/mysql-test/storage_engine/index_type_hash.rdiff (+34/-0)
storage/myisammrg/mysql-test/storage_engine/insert_delayed.rdiff (+14/-0)
storage/myisammrg/mysql-test/storage_engine/lock.rdiff (+62/-0)
storage/myisammrg/mysql-test/storage_engine/optimize_table.rdiff (+24/-0)
storage/myisammrg/mysql-test/storage_engine/parts/alter_table.rdiff (+63/-0)
storage/myisammrg/mysql-test/storage_engine/parts/analyze_table.rdiff (+83/-0)
storage/myisammrg/mysql-test/storage_engine/parts/check_table.rdiff (+172/-0)
storage/myisammrg/mysql-test/storage_engine/parts/checksum_table.rdiff (+81/-0)
storage/myisammrg/mysql-test/storage_engine/parts/create_table.rdiff (+156/-0)
storage/myisammrg/mysql-test/storage_engine/parts/optimize_table.rdiff (+91/-0)
storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff (+295/-0)
storage/myisammrg/mysql-test/storage_engine/parts/truncate_table.rdiff (+100/-0)
storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff (+103/-0)
storage/myisammrg/mysql-test/storage_engine/show_engine.rdiff (+2/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_ai.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_avg_row_length.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_checksum.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_connection.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_delay_key_write.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_insert_method.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_key_block_size.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_max_rows.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_min_rows.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_pack_keys.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_password.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_opt_union.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_standard_opts.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/tbl_temporary.rdiff (+4/-0)
storage/myisammrg/mysql-test/storage_engine/truncate_table.rdiff (+35/-0)
storage/myisammrg/mysql-test/storage_engine/trx/cons_snapshot_repeatable_read.rdiff (+9/-0)
storage/myisammrg/mysql-test/storage_engine/trx/cons_snapshot_serializable.rdiff (+9/-0)
storage/myisammrg/mysql-test/storage_engine/trx/delete.rdiff (+34/-0)
storage/myisammrg/mysql-test/storage_engine/trx/insert.rdiff (+32/-0)
storage/myisammrg/mysql-test/storage_engine/trx/level_read_committed.rdiff (+44/-0)
storage/myisammrg/mysql-test/storage_engine/trx/level_read_uncommitted.rdiff (+7/-0)
storage/myisammrg/mysql-test/storage_engine/trx/level_repeatable_read.rdiff (+53/-0)
storage/myisammrg/mysql-test/storage_engine/trx/level_serializable.rdiff (+69/-0)
storage/myisammrg/mysql-test/storage_engine/trx/select_for_update.rdiff (+40/-0)
storage/myisammrg/mysql-test/storage_engine/trx/select_lock_in_share_mode.rdiff (+26/-0)
storage/myisammrg/mysql-test/storage_engine/trx/update.rdiff (+41/-0)
storage/myisammrg/mysql-test/storage_engine/trx/xa.rdiff (+34/-0)
storage/myisammrg/mysql-test/storage_engine/trx/xa_recovery.rdiff (+22/-0)
storage/myisammrg/mysql-test/storage_engine/type_char_indexes.rdiff (+8/-0)
storage/myisammrg/mysql-test/storage_engine/type_float_indexes.rdiff (+4/-0)
storage/myisammrg/mysql-test/storage_engine/type_spatial.rdiff (+706/-0)
storage/myisammrg/mysql-test/storage_engine/type_spatial_indexes.rdiff (+1412/-0)
storage/myisammrg/mysql-test/storage_engine/vcol.rdiff (+79/-0)
storage/oqgraph/CMakeLists.txt (+16/-6)
storage/xtradb/btr/btr0btr.c (+233/-100)
storage/xtradb/btr/btr0cur.c (+185/-83)
storage/xtradb/btr/btr0pcur.c (+67/-28)
storage/xtradb/btr/btr0sea.c (+5/-3)
storage/xtradb/buf/buf0buf.c (+51/-41)
storage/xtradb/buf/buf0flu.c (+2/-26)
storage/xtradb/buf/buf0lru.c (+417/-113)
storage/xtradb/buf/buf0rea.c (+46/-1)
storage/xtradb/dict/dict0boot.c (+165/-56)
storage/xtradb/dict/dict0dict.c (+70/-22)
storage/xtradb/dict/dict0load.c (+22/-24)
storage/xtradb/dict/dict0mem.c (+3/-1)
storage/xtradb/fil/fil0fil.c (+74/-43)
storage/xtradb/fsp/fsp0fsp.c (+240/-177)
storage/xtradb/ha/ha0ha.c (+1/-15)
storage/xtradb/handler/ha_innodb.cc (+338/-96)
storage/xtradb/handler/ha_innodb.h (+8/-6)
storage/xtradb/handler/handler0alter.cc (+28/-11)
storage/xtradb/handler/i_s.cc (+312/-0)
storage/xtradb/handler/i_s.h (+2/-0)
storage/xtradb/ibuf/ibuf0ibuf.c (+84/-46)
storage/xtradb/include/btr0btr.h (+49/-12)
storage/xtradb/include/btr0btr.ic (+1/-1)
storage/xtradb/include/btr0cur.h (+44/-44)
storage/xtradb/include/btr0cur.ic (+25/-4)
storage/xtradb/include/btr0pcur.h (+10/-0)
storage/xtradb/include/btr0types.h (+4/-0)
storage/xtradb/include/buf0buf.h (+49/-10)
storage/xtradb/include/buf0buf.ic (+6/-17)
storage/xtradb/include/buf0lru.h (+5/-6)
storage/xtradb/include/buf0types.h (+9/-0)
storage/xtradb/include/data0data.h (+22/-1)
storage/xtradb/include/data0data.ic (+43/-12)
storage/xtradb/include/db0err.h (+5/-3)
storage/xtradb/include/dict0boot.h (+20/-0)
storage/xtradb/include/dict0dict.h (+7/-12)
storage/xtradb/include/dict0dict.ic (+5/-18)
storage/xtradb/include/dict0mem.h (+6/-4)
storage/xtradb/include/fil0fil.h (+10/-9)
storage/xtradb/include/fsp0fsp.h (+24/-16)
storage/xtradb/include/ha_prototypes.h (+11/-0)
storage/xtradb/include/log0log.h (+4/-4)
storage/xtradb/include/mem0mem.ic (+0/-4)
storage/xtradb/include/mtr0log.ic (+2/-1)
storage/xtradb/include/mtr0mtr.h (+9/-4)
storage/xtradb/include/mtr0mtr.ic (+6/-5)
storage/xtradb/include/os0file.h (+1/-1)
storage/xtradb/include/page0page.h (+36/-9)
storage/xtradb/include/page0page.ic (+34/-4)
storage/xtradb/include/row0mysql.h (+5/-3)
storage/xtradb/include/row0sel.h (+6/-1)
storage/xtradb/include/srv0srv.h (+12/-9)
storage/xtradb/include/sync0rw.h (+18/-0)
storage/xtradb/include/sync0rw.ic (+2/-6)
storage/xtradb/include/sync0sync.h (+6/-4)
storage/xtradb/include/trx0purge.h (+2/-2)
storage/xtradb/include/trx0rec.ic (+4/-3)
storage/xtradb/include/trx0rseg.ic (+8/-1)
storage/xtradb/include/trx0sys.h (+7/-3)
storage/xtradb/include/trx0undo.h (+7/-6)
storage/xtradb/include/univ.i (+12/-23)
storage/xtradb/include/ut0mem.h (+6/-27)
storage/xtradb/include/ut0rnd.ic (+1/-1)
storage/xtradb/lock/lock0lock.c (+91/-54)
storage/xtradb/log/log0log.c (+128/-51)
storage/xtradb/log/log0recv.c (+1/-1)
storage/xtradb/mem/mem0dbg.c (+3/-1)
storage/xtradb/mem/mem0pool.c (+1/-5)
storage/xtradb/mtr/mtr0mtr.c (+3/-3)
storage/xtradb/os/os0file.c (+117/-7)
storage/xtradb/os/os0proc.c (+0/-3)
storage/xtradb/os/os0thread.c (+4/-2)
storage/xtradb/page/page0cur.c (+15/-8)
storage/xtradb/page/page0page.c (+39/-38)
storage/xtradb/page/page0zip.c (+2/-0)
storage/xtradb/pars/pars0pars.c (+1/-1)
storage/xtradb/row/row0ins.c (+84/-12)
storage/xtradb/row/row0merge.c (+209/-108)
storage/xtradb/row/row0mysql.c (+130/-30)
storage/xtradb/row/row0row.c (+15/-10)
storage/xtradb/row/row0sel.c (+22/-15)
storage/xtradb/row/row0umod.c (+2/-1)
storage/xtradb/row/row0upd.c (+53/-14)
storage/xtradb/row/row0vers.c (+0/-11)
storage/xtradb/srv/srv0srv.c (+83/-30)
storage/xtradb/srv/srv0start.c (+22/-6)
storage/xtradb/sync/sync0arr.c (+5/-0)
storage/xtradb/sync/sync0rw.c (+6/-4)
storage/xtradb/sync/sync0sync.c (+11/-5)
storage/xtradb/trx/trx0purge.c (+3/-2)
storage/xtradb/trx/trx0rec.c (+24/-18)
storage/xtradb/trx/trx0sys.c (+30/-32)
storage/xtradb/trx/trx0trx.c (+2/-0)
storage/xtradb/trx/trx0undo.c (+21/-22)
storage/xtradb/ut/ut0dbg.c (+4/-2)
storage/xtradb/ut/ut0mem.c (+1/-81)
storage/xtradb/ut/ut0ut.c (+13/-3)
strings/ctype-ucs2.c (+7/-2)
strings/my_vsnprintf.c (+47/-2)
support-files/CMakeLists.txt (+10/-0)
support-files/compiler_warnings.supp (+1/-0)
support-files/my-huge.cnf.sh (+1/-1)
support-files/mysql.spec.sh (+1/-1)
support-files/rpm/client.cnf (+13/-0)
support-files/rpm/my.cnf (+11/-0)
support-files/rpm/mysql-clients.cnf (+23/-0)
support-files/rpm/server-postin.sh (+4/-12)
support-files/rpm/server-postun.sh (+7/-0)
support-files/rpm/server-prein.sh (+0/-7)
support-files/rpm/server-preun.sh (+4/-4)
support-files/rpm/server.cnf (+28/-0)
tests/mysql_client_fw.c (+1440/-0)
tests/mysql_client_test.c (+56/-1426)
unittest/mysys/ma_dyncol-t.c (+1/-1)
unittest/strings/strings-t.c (+1/-1)
vio/viosocket.c (+1/-1)
vio/viosslfactories.c (+7/-6)
win/packaging/CPackWixConfig.cmake (+2/-1)
win/packaging/ca/CMakeLists.txt (+1/-1)
To merge this branch: bzr merge lp:~hartmut-php/maria/5.5-bug30994
Reviewer Review Type Date Requested Status
Maria-captains Pending
Review via email: mp+124283@code.launchpad.net

Description of the change

Fix for http://bugs.mysql.com/bug.php?id=30994

Two changes:

1) my_load_defaults() sets a global flag when called

2) my_getopt() "unknown option" handler checks for the
   flag being set, changes error message from
   "unknown option" to "option must be the first one"
   if flag is set and option name is one of the special
   my_load_defaults() options like e.g. --no-defaults

TODO: maybe move list of special option names to
      mysys/defaults.c ?

To post a comment you must log in.

Unmerged revisions

3535. By Hartmut Holzgraefe

wrong logic in previous option parsing patch fixed

3534. By Hartmut Holzgraefe

fixing Bug #30994: confusing messages with --no-defaults not being first option

my_load_defaults() now sets a global my_load_defaults_called flag,
my_getopt() checks for the special my_load_defaults() options in its
"unknown option" handler if my_load_defaults_called is set and produces
a more meaningfull error message if a my_load_defaults() option is
used in a later part of the options list

the ..._called flag is needed as otherwise the error message would now
be confusing on binaries that don't use my_load_defaults() at all,
like e.g. perror

3533. By Michael Widenius

Fixed random test failure

3532. By Michael Widenius

Fixed Bug#1002564: Wrong result for a lookup query from a heap table

3531. By Michael Widenius

Fixed compiler warning on Mac

3530. By Michael Widenius

Added new status variables:
feature_dynamic_columns,feature_fulltext,feature_gis,feature_locale,feature_subquery,feature_timezone,feature_trigger,feature_xml
Opened_views, Executed_triggers, Executed_events
Added new process status 'updating status' as part of 'freeing items'

3529. By Michael Widenius

Automatic merge

3528. By Oleksandr "Sanja" Byelkin

Fix of MDEV-511.

As far as we reopen tables so TABLE become invalid we should remove the pointer on cleanup().

3527. By Sergei Golubchik

MDEV-510 assert triggered by ./mtr --ps-protocol rpl_mdev382

The DELETE for emplicitly emptied MEMORY tables should be written directly to binlog.

3526. By Oleksandr "Sanja" Byelkin

merge 5.3->5.5

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2012-05-22 09:04:32 +0000
3+++ .bzrignore 2012-09-13 19:00:35 +0000
4@@ -1097,7 +1097,6 @@
5 Docs/INFO_BIN
6 Docs/INFO_SRC
7 tags
8-sql/.empty
9 Testing
10 info_macros.cmake
11 VERSION.dep
12
13=== modified file 'BUILD-CMAKE'
14--- BUILD-CMAKE 2011-12-15 21:08:42 +0000
15+++ BUILD-CMAKE 2012-09-13 19:00:35 +0000
16@@ -1,6 +1,7 @@
17 Copyright (c) 2009, 2010 Sun Microsystems, Inc.
18+Copyright (c) 2012 Monty Program Ab
19
20-How to Build MySQL server with CMake
21+How to Build MariaDB server with CMake
22
23 WHAT YOU NEED
24 ---------------------------------------------------------------
25@@ -11,7 +12,7 @@
26 Linux distributions:
27 shell> sudo apt-get install cmake
28
29-The above works on do Debian/Ubuntu based distributions.On others, command
30+The above works on Debian/Ubuntu based distributions. On others, the command
31 line needs to be modified to e.g "yum install" on Fedora or "zypper install"
32 on OpenSUSE.
33
34@@ -20,8 +21,9 @@
35
36 Windows and Mac OSX:
37 Download and install the latest distribution from
38-http://www.cmake.org/cmake/resources/software.html.On Windows, download
39-installer exe file and run it. On Mac, download the .dmg image and open it.
40+http://www.cmake.org/cmake/resources/software.html
41+On Windows, download installer exe file and run it. On MacOS, download
42+the .dmg image and open it.
43
44 Other Unixes:
45 Precompiled packages for other Unix flavors (HPUX, AIX) are available from
46@@ -243,3 +245,4 @@
47 situation, which should be a rare occation, you need either to remove the
48 offending entry from CMakeCache.txt (if test was for HAVE_FOO, remove lines
49 containing HAVE_FOO from CMakeCache.txt) or just remove the cache file.
50+
51
52=== modified file 'CMakeLists.txt'
53--- CMakeLists.txt 2012-05-22 09:04:32 +0000
54+++ CMakeLists.txt 2012-09-13 19:00:35 +0000
55@@ -131,6 +131,10 @@
56 ENDIF(WIN32)
57 ENDIF(NOT CPACK_GENERATOR)
58
59+IF(DEB)
60+ SET(INSTALL_LAYOUT "DEB")
61+ENDIF(DEB)
62+
63 INCLUDE(mysql_version)
64 INCLUDE(cpack_rpm)
65 INCLUDE(cpack_source_ignore_files)
66@@ -294,14 +298,16 @@
67 ADD_SUBDIRECTORY(regex)
68 ADD_SUBDIRECTORY(mysys)
69 ADD_SUBDIRECTORY(libmysql)
70-
71+ADD_SUBDIRECTORY(client)
72 ADD_SUBDIRECTORY(extra)
73+ADD_SUBDIRECTORY(libservices)
74+ADD_SUBDIRECTORY(scripts)
75+ADD_SUBDIRECTORY(sql/share)
76+ADD_SUBDIRECTORY(support-files)
77+
78 IF(NOT WITHOUT_SERVER)
79 ADD_SUBDIRECTORY(tests)
80- ADD_SUBDIRECTORY(client)
81 ADD_SUBDIRECTORY(sql)
82- ADD_SUBDIRECTORY(sql/share)
83- ADD_SUBDIRECTORY(libservices)
84 OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
85 IF(WITH_EMBEDDED_SERVER)
86 ADD_SUBDIRECTORY(libmysqld)
87@@ -310,12 +316,11 @@
88
89 ADD_SUBDIRECTORY(mysql-test)
90 ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
91- ADD_SUBDIRECTORY(support-files)
92- ADD_SUBDIRECTORY(scripts)
93 ADD_SUBDIRECTORY(sql-bench)
94- IF(UNIX)
95- ADD_SUBDIRECTORY(man)
96- ENDIF()
97+ENDIF()
98+
99+IF(UNIX)
100+ ADD_SUBDIRECTORY(man)
101 ENDIF()
102
103 INCLUDE(cmake/abi_check.cmake)
104
105=== modified file 'Docs/INSTALL-BINARY'
106--- Docs/INSTALL-BINARY 2010-04-28 13:10:25 +0000
107+++ Docs/INSTALL-BINARY 2012-09-13 19:00:35 +0000
108@@ -31,7 +31,7 @@
109 first.
110
111 If you run into problems and need to file a bug report,
112- please report them to: http://bugs.launchpad.net/maria
113+ please report them to: http://mariadb.org/jira
114
115 See the instructions in Section 1.6, "How to Report Bugs or Problems."
116
117
118=== modified file 'Docs/mysql.info'
119--- Docs/mysql.info 2009-10-23 16:48:54 +0000
120+++ Docs/mysql.info 2012-09-13 19:00:35 +0000
121@@ -1,10 +1,11 @@
122 MariaDB is in most aspects identical to MySQL.
123
124 Differences between MySQL and MariaDB can be found at:
125-http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
126+http://kb.askmonty.org/en/mariadb-versus-mysql-features/
127+http://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/
128
129-The MariaDB references manual can be found at:
130-http://askmonty.org/wiki/index.php/Manual
131+The MariaDB manual can be found at:
132+http://kb.askmonty.org/
133
134 The MySQL Reference Manual is available in various formats on
135 http://dev.mysql.com/doc; if you're interested in the DocBook XML
136
137=== modified file 'INSTALL-SOURCE'
138--- INSTALL-SOURCE 2012-04-10 06:28:13 +0000
139+++ INSTALL-SOURCE 2012-09-13 19:00:35 +0000
140@@ -1,3 +1,14 @@
141+Installing and Upgrading MariaDB
142+
143+This file contains chapter two of the MySQL manual and describes how
144+to obtain and install MySQL. The instructions below are generally
145+applicable to both MySQL and MariaDB, but differ in some particulars
146+(like, for example, the GPG signing key we use is different).
147+
148+Detailed, MariaDB-specific instructions are available at:
149+http://kb.askmonty.org/en/getting-installing-and-upgrading-mariadb/
150+
151+- - - -
152
153 Chapter 2. Installing and Upgrading MySQL
154
155
156=== modified file 'INSTALL-WIN-SOURCE'
157--- INSTALL-WIN-SOURCE 2012-04-10 06:28:13 +0000
158+++ INSTALL-WIN-SOURCE 2012-09-13 19:00:35 +0000
159@@ -1,2 +1,3 @@
160-Up-to-date instructions on MariaDB building on Windows can be found in http://kb.askmonty.org/en/building-mariadb-on-windows.
161+Up-to-date instructions about building MariaDB on Windows can be found
162+at: http://kb.askmonty.org/en/building-mariadb-on-windows
163
164
165=== modified file 'KNOWN_BUGS.txt'
166--- KNOWN_BUGS.txt 2009-09-03 14:05:38 +0000
167+++ KNOWN_BUGS.txt 2012-09-13 19:00:35 +0000
168@@ -1,35 +1,35 @@
169-This file should contain all know fatal bugs in the Mariadb and the
170-Maria storage engine for the last source or binary release. Minor
171-bugs, extensions and feature request and bugs found since this release
172-can be find in the MariaDB bugs database at:
173-https://bugs.launchpad.net/maria and in the MySQL bugs databases at:
174-http://bugs.mysql.com/ (category "Maria storage engine").
175+This file should contain all known fatal bugs in Mariadb and the Aria
176+storage engine for the last source or binary release. Minor bugs,
177+extensions and feature requests, and bugs found since this release can
178+be found in the MariaDB bugs database at: http://mariadb.org/jira and
179+in the MySQL bugs databases at: http://bugs.mysql.com/ (category
180+"Maria storage engine").
181
182-There shouldn't normally be any bugs that affects normal operations in
183-any MariaDB release. Still, there are always exceptions and edge cases
184-and that's what this file is for.
185+There should not normally be any bugs which affect normal operations
186+in any MariaDB release. Still, there are always exceptions and edge
187+cases and that is what this file is for.
188
189 If you have found a bug that is not listed here, please add it to
190-http://bugs.launchpad.net/maria so that we can either fix it for next
191-release or in the worst case add it here for others to know!
192+http://mariadb.org/jira so we can either fix it for next release or in
193+the worst case add it here for others to know!
194+
195
196 IMPORTANT:
197
198-If you have been using the Maria storage engine with
199-MySQL-5.1-Maria-alpha build and upgrading to a newer MariaDB you MUST
200-run maria_chk --recover on all your Maria tables. This is because we
201-made an incompatible change of how transaction id is stored and old
202-transaction id's must be reset!
203+If you have been using the Maria (now Aria) storage engine with the
204+MySQL-5.1-Maria-alpha build and are upgrading to a newer MariaDB you
205+MUST run [m]aria_chk --recover on all your Aria tables. This is because
206+we made an incompatible change with how the transaction id is stored
207+and old transaction id's must be reset!
208
209 cd mysql-data-directory
210-maria_chk --recover */*.MAI
211-
212-As the Maria storage engine is now in beta we will do our best to not
213-introduce any incompatible changes in the data format for the Maria
214-tables; If this would be ever be needed, we will, if possible, support
215-both the old and the new version to make upgrades as easy as possible.
216-
217-Note that for the MariaDB 5.1 release the Maria storage engine is
218-classified as 'beta'; It should work, but use it with caution. Please
219-report all bugs to https://bugs.launchpad.net/maria so that we can fix
220-them!
221+aria_chk --recover */*.MAI
222+
223+Going forward, we will do our best to not introduce any incompatible
224+changes in the data format for Aria tables. If this would be ever be
225+needed, we will, if possible, support both the old and the new version
226+to make upgrades as easy as possible.
227+
228+Note that for the MariaDB 5.1 release the Aria storage engine is
229+classified as 'beta'; It should work, but use it with caution. Please
230+report all bugs to http://mariadb.org/jira so we can fix them!
231
232=== modified file 'README'
233--- README 2012-04-07 13:58:46 +0000
234+++ README 2012-09-13 19:00:35 +0000
235@@ -13,9 +13,9 @@
236 list of active contributors.
237
238 A description of the MariaDB project and a manual can be found at:
239-http://askmonty.org/wiki/index.php/MariaDB
240-http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
241-http://askmonty.org/wiki/index.php/Manual:Contents
242+http://kb.askmonty.org/
243+http://kb.askmonty.org/en/mariadb-versus-mysql-features/
244+http://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/
245
246 As MariaDB is a full replacement of MySQL, the MySQL manual at
247 http://dev.mysql.com/doc is generally applicable.
248@@ -41,7 +41,7 @@
249 IMPORTANT:
250
251 Bug and/or error reports regarding MariaDB should be submitted at
252-https://bugs.launchpad.net/maria
253+http://mariadb.org/jira
254
255 Bugs in the MySQL code can also be submitted at http://bugs.mysql.com
256
257
258=== modified file 'VERSION'
259--- VERSION 2012-05-21 13:30:25 +0000
260+++ VERSION 2012-09-13 19:00:35 +0000
261@@ -1,4 +1,4 @@
262 MYSQL_VERSION_MAJOR=5
263 MYSQL_VERSION_MINOR=5
264-MYSQL_VERSION_PATCH=24
265+MYSQL_VERSION_PATCH=27
266 MYSQL_VERSION_EXTRA=
267
268=== modified file 'client/get_password.c'
269--- client/get_password.c 2008-04-28 16:24:05 +0000
270+++ client/get_password.c 2012-09-13 19:00:35 +0000
271@@ -23,10 +23,6 @@
272 #include <m_string.h>
273 #include <m_ctype.h>
274
275-#if defined(HAVE_BROKEN_GETPASS) && !defined(HAVE_GETPASSPHRASE)
276-#undef HAVE_GETPASS
277-#endif
278-
279 #ifdef HAVE_GETPASS
280 #ifdef HAVE_PWD_H
281 #include <pwd.h>
282
283=== modified file 'client/mysql.cc'
284--- client/mysql.cc 2012-01-13 14:50:02 +0000
285+++ client/mysql.cc 2012-09-13 19:00:35 +0000
286@@ -897,6 +897,7 @@
287 { "LAST_INSERT_ID", 0, 0, 0, ""},
288 { "ISSIMPLE", 0, 0, 0, ""},
289 { "LAST_DAY", 0, 0, 0, ""},
290+ { "LAST_VALUE", 0, 0, 0, ""},
291 { "LCASE", 0, 0, 0, ""},
292 { "LEAST", 0, 0, 0, ""},
293 { "LENGTH", 0, 0, 0, ""},
294@@ -2916,7 +2917,7 @@
295 }
296
297 put_info("\nGeneral information about MariaDB can be found at\n"
298- "http://askmonty.org/wiki/index.php/Manual:Contents\n", INFO_INFO);
299+ "http://mariadb.org\n", INFO_INFO);
300 put_info("List of all MySQL commands:", INFO_INFO);
301 if (!named_cmds)
302 put_info("Note that all text commands must be first on line and end with ';'",INFO_INFO);
303
304=== modified file 'client/mysqlbinlog.cc'
305--- client/mysqlbinlog.cc 2012-03-01 11:41:49 +0000
306+++ client/mysqlbinlog.cc 2012-09-13 19:00:35 +0000
307@@ -1,5 +1,6 @@
308 /*
309- Copyright (c) 2000, 2011, Oracle and/or its affiliates.
310+ Copyright (c) 2000, 2012, Oracle and/or its affiliates.
311+ Copyright (c) 2009, 2012, Monty Program Ab
312
313 This program is free software; you can redistribute it and/or modify
314 it under the terms of the GNU General Public License as published by
315@@ -742,7 +743,7 @@
316 return;
317
318 // In case of rewrite rule print USE statement for db_to
319- fprintf(result_file, "use %s%s\n", db_to, pinfo->delimiter);
320+ my_fprintf(result_file, "use %`s%s\n", db_to, pinfo->delimiter);
321
322 // Copy the *original* db to pinfo to suppress emiting
323 // of USE stmts by log_event print-functions.
324@@ -843,6 +844,7 @@
325 DBUG_ENTER("process_event");
326 print_event_info->short_form= short_form;
327 Exit_status retval= OK_CONTINUE;
328+ IO_CACHE *const head= &print_event_info->head_cache;
329
330 /*
331 Format events are not concerned by --offset and such, we always need to
332@@ -922,6 +924,8 @@
333 print_skip_replication_statement(print_event_info, ev);
334 ev->print(result_file, print_event_info);
335 }
336+ if (head->error == -1)
337+ goto err;
338 break;
339 }
340
341@@ -954,8 +958,9 @@
342 {
343 print_skip_replication_statement(print_event_info, ev);
344 ce->print(result_file, print_event_info, TRUE);
345+ if (head->error == -1)
346+ goto err;
347 }
348-
349 // If this binlog is not 3.23 ; why this test??
350 if (glob_description_event->binlog_version >= 3)
351 {
352@@ -977,6 +982,8 @@
353 output of Append_block_log_event::print is only a comment.
354 */
355 ev->print(result_file, print_event_info);
356+ if (head->error == -1)
357+ goto err;
358 if ((retval= load_processor.process((Append_block_log_event*) ev)) !=
359 OK_CONTINUE)
360 goto end;
361@@ -985,6 +992,8 @@
362 case EXEC_LOAD_EVENT:
363 {
364 ev->print(result_file, print_event_info);
365+ if (head->error == -1)
366+ goto err;
367 Execute_load_log_event *exv= (Execute_load_log_event*)ev;
368 Create_file_log_event *ce= load_processor.grab_event(exv->file_id);
369 /*
370@@ -1002,6 +1011,8 @@
371 ce->print(result_file, print_event_info, TRUE);
372 my_free((void*)ce->fname);
373 delete ce;
374+ if (head->error == -1)
375+ goto err;
376 }
377 else
378 warning("Ignoring Execute_load_log_event as there is no "
379@@ -1014,6 +1025,8 @@
380 print_event_info->common_header_len=
381 glob_description_event->common_header_len;
382 ev->print(result_file, print_event_info);
383+ if (head->error == -1)
384+ goto err;
385 if (!remote_opt)
386 {
387 ev->free_temp_buf(); // free memory allocated in dump_local_log_entries
388@@ -1043,6 +1056,8 @@
389 break;
390 case BEGIN_LOAD_QUERY_EVENT:
391 ev->print(result_file, print_event_info);
392+ if (head->error == -1)
393+ goto err;
394 if ((retval= load_processor.process((Begin_load_query_log_event*) ev)) !=
395 OK_CONTINUE)
396 goto end;
397@@ -1060,6 +1075,12 @@
398 convert_path_to_forward_slashes(fname);
399 print_skip_replication_statement(print_event_info, ev);
400 exlq->print(result_file, print_event_info, fname);
401+ if (head->error == -1)
402+ {
403+ if (fname)
404+ my_free(fname);
405+ goto err;
406+ }
407 }
408 else
409 warning("Ignoring Execute_load_query since there is no "
410@@ -1190,6 +1211,8 @@
411 default:
412 print_skip_replication_statement(print_event_info, ev);
413 ev->print(result_file, print_event_info);
414+ if (head->error == -1)
415+ goto err;
416 }
417 }
418
419@@ -1353,7 +1376,7 @@
420 "Stop reading the binlog at position N. Applies to the last binlog "
421 "passed on the command line.",
422 &stop_position, &stop_position, 0, GET_ULL,
423- REQUIRED_ARG, (ulonglong)(~(my_off_t)0), BIN_LOG_HEADER_SIZE,
424+ REQUIRED_ARG, (longlong)(~(my_off_t)0), BIN_LOG_HEADER_SIZE,
425 (ulonglong)(~(my_off_t)0), 0, 0, 0},
426 {"to-last-log", 't', "Requires -R. Will not stop at the end of the \
427 requested binlog but rather continue printing until the end of the last \
428@@ -2322,7 +2345,13 @@
429 end:
430 if (fd >= 0)
431 my_close(fd, MYF(MY_WME));
432- end_io_cache(file);
433+ /*
434+ Since the end_io_cache() writes to the
435+ file errors may happen.
436+ */
437+ if (end_io_cache(file))
438+ retval= ERROR_STOP;
439+
440 return retval;
441 }
442
443
444=== modified file 'client/mysqldump.c'
445--- client/mysqldump.c 2012-04-07 13:58:46 +0000
446+++ client/mysqldump.c 2012-09-13 19:00:35 +0000
447@@ -86,6 +86,15 @@
448 /* Chars needed to store LONGLONG, excluding trailing '\0'. */
449 #define LONGLONG_LEN 20
450
451+/* general_log or slow_log tables under mysql database */
452+static inline my_bool general_log_or_slow_log_tables(const char *db,
453+ const char *table)
454+{
455+ return (strcmp(db, "mysql") == 0) &&
456+ ((strcmp(table, "general_log") == 0) ||
457+ (strcmp(table, "slow_log") == 0));
458+}
459+
460 static void add_load_option(DYNAMIC_STRING *str, const char *option,
461 const char *option_value);
462 static ulong find_set(TYPELIB *lib, const char *x, uint length,
463@@ -2503,6 +2512,7 @@
464 "TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'";
465 FILE *sql_file= md_result_file;
466 int len;
467+ my_bool is_log_table;
468 MYSQL_RES *result;
469 MYSQL_ROW row;
470 DBUG_ENTER("get_table_structure");
471@@ -2587,9 +2597,12 @@
472 /*
473 Even if the "table" is a view, we do a DROP TABLE here. The
474 view-specific code below fills in the DROP VIEW.
475+ We will skip the DROP TABLE for general_log and slow_log, since
476+ those stmts will fail, in case we apply dump by enabling logging.
477 */
478- fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n",
479- opt_quoted_table);
480+ if (!general_log_or_slow_log_tables(db, table))
481+ fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n",
482+ opt_quoted_table);
483 check_io(sql_file);
484 }
485
486@@ -2597,6 +2610,7 @@
487 if (strcmp(field->name, "View") == 0)
488 {
489 char *scv_buff= NULL;
490+ my_ulonglong n_cols;
491
492 verbose_msg("-- It's a view, create dummy table for view\n");
493
494@@ -2611,8 +2625,8 @@
495 the same name in order to satisfy views that depend on this view.
496 The table will be removed when the actual view is created.
497
498- The properties of each column, aside from the data type, are not
499- preserved in this temporary table, because they are not necessary.
500+ The properties of each column, are not preserved in this temporary
501+ table, because they are not necessary.
502
503 This will not be necessary once we can determine dependencies
504 between views and can simply dump them in the appropriate order.
505@@ -2639,8 +2653,23 @@
506 else
507 my_free(scv_buff);
508
509- if (mysql_num_rows(result))
510+ n_cols= mysql_num_rows(result);
511+ if (0 != n_cols)
512 {
513+
514+ /*
515+ The actual formula is based on the column names and how the .FRM
516+ files are stored and is too volatile to be repeated here.
517+ Thus we simply warn the user if the columns exceed a limit we
518+ know works most of the time.
519+ */
520+ if (n_cols >= 1000)
521+ fprintf(stderr,
522+ "-- Warning: Creating a stand-in table for view %s may"
523+ " fail when replaying the dump file produced because "
524+ "of the number of columns exceeding 1000. Exercise "
525+ "caution when replaying the produced dump file.\n",
526+ table);
527 if (opt_drop)
528 {
529 /*
530@@ -2667,14 +2696,19 @@
531
532 row= mysql_fetch_row(result);
533
534- fprintf(sql_file, " %s %s", quote_name(row[0], name_buff, 0),
535- row[1]);
536+ /*
537+ The actual column type doesn't matter anyway, since the table will
538+ be dropped at run time.
539+ We do tinyint to avoid hitting the row size limit.
540+ */
541+ fprintf(sql_file, " %s tinyint NOT NULL",
542+ quote_name(row[0], name_buff, 0));
543
544 while((row= mysql_fetch_row(result)))
545 {
546 /* col name, col type */
547- fprintf(sql_file, ",\n %s %s",
548- quote_name(row[0], name_buff, 0), row[1]);
549+ fprintf(sql_file, ",\n %s tinyint NOT NULL",
550+ quote_name(row[0], name_buff, 0));
551 }
552
553 /*
554@@ -2701,12 +2735,25 @@
555
556 row= mysql_fetch_row(result);
557
558- fprintf(sql_file, (opt_compatible_mode & 3) ? "%s;\n" :
559- "/*!40101 SET @saved_cs_client = @@character_set_client */;\n"
560- "/*!40101 SET character_set_client = utf8 */;\n"
561- "%s;\n"
562- "/*!40101 SET character_set_client = @saved_cs_client */;\n",
563- row[1]);
564+ is_log_table= general_log_or_slow_log_tables(db, table);
565+ if (is_log_table)
566+ row[1]+= 13; /* strlen("CREATE TABLE ")= 13 */
567+ if (opt_compatible_mode & 3)
568+ {
569+ fprintf(sql_file,
570+ is_log_table ? "CREATE TABLE IF NOT EXISTS %s;\n" : "%s;\n",
571+ row[1]);
572+ }
573+ else
574+ {
575+ fprintf(sql_file,
576+ "/*!40101 SET @saved_cs_client = @@character_set_client */;\n"
577+ "/*!40101 SET character_set_client = utf8 */;\n"
578+ "%s%s;\n"
579+ "/*!40101 SET character_set_client = @saved_cs_client */;\n",
580+ is_log_table ? "CREATE TABLE IF NOT EXISTS " : "",
581+ row[1]);
582+ }
583
584 check_io(sql_file);
585 mysql_free_result(result);
586@@ -4133,6 +4180,7 @@
587 if (dump_all_tables_in_db(row[0]))
588 result=1;
589 }
590+ mysql_free_result(tableres);
591 if (seen_views)
592 {
593 if (mysql_query(mysql, "SHOW DATABASES") ||
594@@ -4155,6 +4203,7 @@
595 if (dump_all_views_in_db(row[0]))
596 result=1;
597 }
598+ mysql_free_result(tableres);
599 }
600 return result;
601 }
602@@ -4283,8 +4332,6 @@
603 check_io(md_result_file);
604 }
605 }
606- if (extended_insert)
607- init_dynamic_string_checked(&extended_row, "", 1024, 1024);
608 return 0;
609 } /* init_dumping */
610
611@@ -4315,6 +4362,22 @@
612 if (opt_xml)
613 print_xml_tag(md_result_file, "", "\n", "database", "name=", database, NullS);
614
615+ if (strcmp(database, "mysql") == 0)
616+ {
617+ char table_type[NAME_LEN];
618+ char ignore_flag;
619+ uint num_fields;
620+ num_fields= get_table_structure((char *) "general_log",
621+ database, table_type, &ignore_flag);
622+ if (num_fields == 0)
623+ verbose_msg("-- Warning: get_table_structure() failed with some internal "
624+ "error for 'general_log' table\n");
625+ num_fields= get_table_structure((char *) "slow_log",
626+ database, table_type, &ignore_flag);
627+ if (num_fields == 0)
628+ verbose_msg("-- Warning: get_table_structure() failed with some internal "
629+ "error for 'slow_log' table\n");
630+ }
631 if (lock_tables)
632 {
633 DYNAMIC_STRING query;
634@@ -4742,7 +4805,7 @@
635
636 static int do_show_slave_status(MYSQL *mysql_con)
637 {
638- MYSQL_RES *slave;
639+ MYSQL_RES *slave= 0;
640 const char *comment_prefix=
641 (opt_slave_data == MYSQL_OPT_SLAVE_DATA_COMMENTED_SQL) ? "-- " : "";
642 if (mysql_query_with_error_report(mysql_con, &slave, "SHOW SLAVE STATUS"))
643@@ -4773,7 +4836,7 @@
644 if (row[1])
645 fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);
646 if (row[3])
647- fprintf(md_result_file, "MASTER_PORT='%s', ", row[3]);
648+ fprintf(md_result_file, "MASTER_PORT=%s, ", row[3]);
649 }
650 fprintf(md_result_file,
651 "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);
652@@ -5545,6 +5608,9 @@
653 if (opt_alltspcs)
654 dump_all_tablespaces();
655
656+ if (extended_insert)
657+ init_dynamic_string_checked(&extended_row, "", 1024, 1024);
658+
659 if (opt_alldbs)
660 {
661 if (!opt_alltspcs && !opt_notspcs)
662
663=== modified file 'client/mysqltest.cc'
664--- client/mysqltest.cc 2012-05-21 18:54:41 +0000
665+++ client/mysqltest.cc 2012-09-13 19:00:35 +0000
666@@ -1,5 +1,5 @@
667-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
668- Copyright (c) 2009-2012 Monty Program Ab.
669+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
670+ Copyright (c) 2009, 2012, Monty Program Ab.
671
672 This program is free software; you can redistribute it and/or modify
673 it under the terms of the GNU General Public License as published by
674@@ -621,6 +621,8 @@
675 free_replace_column();
676 }
677
678+void var_set_int(const char* name, int value);
679+
680
681 class LogFile {
682 FILE* m_file;
683@@ -1275,6 +1277,8 @@
684 {
685 DBUG_ENTER("handle_command_error");
686 DBUG_PRINT("enter", ("error: %d", error));
687+ var_set_int("$sys_errno",sys_errno);
688+ var_set_int("$errno",error);
689 if (error != 0)
690 {
691 int i;
692@@ -1285,7 +1289,7 @@
693 "errno: %d",
694 command->first_word_len, command->query, error, my_errno,
695 sys_errno);
696- return;
697+ DBUG_VOID_RETURN;
698 }
699
700 i= match_expected_error(command, error, NULL);
701@@ -5144,7 +5148,7 @@
702
703 static st_error global_error_names[] =
704 {
705- { "<No error>", -1, "" },
706+ { "<No error>", -1U, "" },
707 #include <mysqld_ername.h>
708 { 0, 0, 0 }
709 };
710@@ -5201,15 +5205,32 @@
711 void do_get_errcodes(struct st_command *command)
712 {
713 struct st_match_err *to= saved_expected_errors.err;
714- char *p= command->first_argument;
715+ DBUG_ENTER("do_get_errcodes");
716+
717+ if (!*command->first_argument)
718+ die("Missing argument(s) to 'error'");
719+
720+ /* TODO: Potentially, there is a possibility of variables
721+ being expanded twice, e.g.
722+
723+ let $errcodes = 1,\$a;
724+ let $a = 1051;
725+ error $errcodes;
726+ DROP TABLE unknown_table;
727+ ...
728+ Got one of the listed errors
729+
730+ But since it requires manual escaping, it does not seem
731+ particularly dangerous or error-prone.
732+ */
733+ DYNAMIC_STRING ds;
734+ init_dynamic_string(&ds, 0, command->query_len + 64, 256);
735+ do_eval(&ds, command->first_argument, command->end, !is_windows);
736+ char *p= ds.str;
737+
738 uint count= 0;
739 char *next;
740
741- DBUG_ENTER("do_get_errcodes");
742-
743- if (!*p)
744- die("Missing argument(s) to 'error'");
745-
746 do
747 {
748 char *end;
749@@ -5319,11 +5340,15 @@
750
751 } while (*p);
752
753- command->last_argument= p;
754+ command->last_argument= command->first_argument;
755+ while (*command->last_argument)
756+ command->last_argument++;
757+
758 to->type= ERR_EMPTY; /* End of data */
759
760 DBUG_PRINT("info", ("Expected errors: %d", count));
761 saved_expected_errors.count= count;
762+ dynstr_free(&ds);
763 DBUG_VOID_RETURN;
764 }
765
766@@ -7685,6 +7710,8 @@
767 */
768 if ((counter==0) && do_read_query_result(cn))
769 {
770+ /* we've failed to collect the result set */
771+ cn->pending= TRUE;
772 handle_error(command, mysql_errno(mysql), mysql_error(mysql),
773 mysql_sqlstate(mysql), ds);
774 goto end;
775@@ -9012,8 +9039,12 @@
776 command->abort_on_error= (command->expected_errors.count == 0 &&
777 abort_on_error);
778
779- /* delimiter needs to be executed so we can continue to parse */
780- ok_to_do= cur_block->ok || command->type == Q_DELIMITER;
781+ /*
782+ some commmands need to be executed or at least parsed unconditionally,
783+ because they change the grammar.
784+ */
785+ ok_to_do= cur_block->ok || command->type == Q_DELIMITER
786+ || command->type == Q_PERL;
787 /*
788 Some commands need to be "done" the first time if they may get
789 re-iterated over in a true context. This can only happen if there's
790@@ -9024,8 +9055,7 @@
791 if (command->type == Q_SOURCE ||
792 command->type == Q_ERROR ||
793 command->type == Q_WRITE_FILE ||
794- command->type == Q_APPEND_FILE ||
795- command->type == Q_PERL)
796+ command->type == Q_APPEND_FILE)
797 {
798 for (struct st_block *stb= cur_block-1; stb >= block_stack; stb--)
799 {
800
801=== modified file 'cmake/build_configurations/mysql_release.cmake'
802--- cmake/build_configurations/mysql_release.cmake 2012-03-27 23:04:46 +0000
803+++ cmake/build_configurations/mysql_release.cmake 2012-09-13 19:00:35 +0000
804@@ -94,8 +94,19 @@
805 ENDIF()
806
807 OPTION(ENABLED_LOCAL_INFILE "" ON)
808-SET(WITH_SSL bundled CACHE STRING "")
809-SET(WITH_ZLIB bundled CACHE STRING "")
810+IF(RPM)
811+ SET(WITH_SSL system CACHE STRING "")
812+ SET(WITH_ZLIB system CACHE STRING "")
813+ELSEIF(DEB)
814+ SET(WITH_SSL system CACHE STRING "")
815+ SET(WITH_ZLIB system CACHE STRING "")
816+ SET(WITH_LIBWRAP ON)
817+ SET(WITH_MAX ON)
818+ SET(HAVE_EMBEDDED_PRIVILEGE_CONTROL ON)
819+ELSE()
820+ SET(WITH_SSL bundled CACHE STRING "")
821+ SET(WITH_ZLIB bundled CACHE STRING "")
822+ENDIF()
823
824 IF(NOT COMPILATION_COMMENT)
825 SET(COMPILATION_COMMENT "MariaDB Server")
826
827=== modified file 'cmake/cpack_rpm.cmake'
828--- cmake/cpack_rpm.cmake 2012-05-22 09:04:32 +0000
829+++ cmake/cpack_rpm.cmake 2012-09-13 19:00:35 +0000
830@@ -20,10 +20,12 @@
831 SET(CPACK_COMPONENT_MANPAGESCLIENT_GROUP "client")
832 SET(CPACK_COMPONENT_README_GROUP "server")
833 SET(CPACK_COMPONENT_SHAREDLIBRARIES_GROUP "shared")
834+SET(CPACK_COMPONENT_COMMON_GROUP "common")
835+SET(CPACK_COMPONENT_COMPAT_GROUP "compat")
836 SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts
837 SupportFiles Development ManPagesDevelopment
838- Test ManPagesTest Readme ManPagesClient
839- Client SharedLibraries)
840+ ManPagesTest Readme ManPagesClient Test
841+ Common Client SharedLibraries)
842
843 SET(CPACK_RPM_PACKAGE_NAME "MariaDB")
844 SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")
845@@ -59,30 +61,70 @@
846 SET(CPACK_RPM_SPEC_MORE_DEFINE "${CPACK_RPM_SPEC_MORE_DEFINE}
847 %define ignore \#
848 ")
849-set(CPACK_RPM_server_USER_FILELIST "%ignore /etc" "%ignore /etc/init.d")
850-
851-SET(CPACK_RPM_client_PACKAGE_OBSOLETES "mysql-client MariaDB-client MySQL-client MySQL-OurDelta-client")
852+
853+SET(CPACK_RPM_PACKAGE_REQUIRES "MariaDB-common")
854+
855+SET(CPACK_RPM_server_USER_FILELIST "%ignore /etc" "%ignore /etc/init.d")
856+SET(CPACK_RPM_common_USER_FILELIST "%config(noreplace) /etc/my.cnf")
857+
858+SET(CPACK_RPM_client_PACKAGE_OBSOLETES "mysql-client MySQL-client MySQL-OurDelta-client")
859 SET(CPACK_RPM_client_PACKAGE_PROVIDES "MariaDB-client MySQL-client mysql-client")
860
861-SET(CPACK_RPM_devel_PACKAGE_OBSOLETES "mysql-devel MariaDB-devel MySQL-devel MySQL-OurDelta-devel")
862+# this is a workaround for CPackRPM.cmake (as of 2.8.8) bug.
863+# If a package group does not specify OBSOLETES/REQUIRES the values of the
864+# previous (alphabetically) group will apply.
865+SET(CPACK_RPM_common_PACKAGE_OBSOLETES "MySQL-common")
866+SET(CPACK_RPM_common_PACKAGE_PROVIDES "MariaDB-common")
867+
868+SET(CPACK_RPM_devel_PACKAGE_OBSOLETES "mysql-devel MySQL-devel MySQL-OurDelta-devel")
869 SET(CPACK_RPM_devel_PACKAGE_PROVIDES "MariaDB-devel MySQL-devel mysql-devel")
870
871-SET(CPACK_RPM_server_PACKAGE_OBSOLETES "MariaDB mysql mysql-server MariaDB-server MySQL-server MySQL-OurDelta-server")
872+SET(CPACK_RPM_server_PACKAGE_OBSOLETES "MariaDB mysql mysql-server MySQL-server MySQL-OurDelta-server")
873 SET(CPACK_RPM_server_PACKAGE_PROVIDES "MariaDB MariaDB-server MySQL-server config(MariaDB-server) msqlormysql mysql mysql-server")
874-SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm-prein.sh)
875-SET(CPACK_RPM_server_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm-preun.sh)
876-SET(CPACK_RPM_server_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm-postin.sh)
877-
878-SET(CPACK_RPM_shared_PACKAGE_OBSOLETES "mysql-shared MySQL-shared-standard MySQL-shared-pro MySQL-shared-pro-cert MySQL-shared-pro-gpl MySQL-shared-pro-gpl-cert MariaDB-shared MySQL-shared MySQL-OurDelta-shared")
879-SET(CPACK_RPM_shared_PACKAGE_PROVIDES "MariaDB-shared MySQL-shared mysql-shared mysql-libs libmysqlclient.so.${SHARED_LIB_MAJOR_VERSION} libmysqlclient.so.${SHARED_LIB_MAJOR_VERSION}(libmysqlclient_${SHARED_LIB_MAJOR_VERSION}) libmysqlclient_r.so.${SHARED_LIB_MAJOR_VERSION} libmysqlclient_r.so.${SHARED_LIB_MAJOR_VERSION}(libmysqlclient_${SHARED_LIB_MAJOR_VERSION})")
880-SET(CPACK_RPM_shared_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm-ldconfig.sh)
881-SET(CPACK_RPM_shared_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm-ldconfig.sh)
882-
883-SET(CPACK_RPM_test_PACKAGE_OBSOLETES "mysql-test MariaDB-test MySQL-test MySQL-OurDelta-test")
884+SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-prein.sh)
885+SET(CPACK_RPM_server_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-preun.sh)
886+SET(CPACK_RPM_server_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-postin.sh)
887+
888+SET(CPACK_RPM_shared_PACKAGE_OBSOLETES "mysql-shared MySQL-shared-standard MySQL-shared-pro MySQL-shared-pro-cert MySQL-shared-pro-gpl MySQL-shared-pro-gpl-cert MySQL-shared MySQL-OurDelta-shared")
889+SET(CPACK_RPM_shared_PACKAGE_PROVIDES "MariaDB-shared MySQL-shared mysql-shared libmysqlclient.so.${SHARED_LIB_MAJOR_VERSION} libmysqlclient.so.${SHARED_LIB_MAJOR_VERSION}(libmysqlclient_${SHARED_LIB_MAJOR_VERSION}) libmysqlclient_r.so.${SHARED_LIB_MAJOR_VERSION} libmysqlclient_r.so.${SHARED_LIB_MAJOR_VERSION}(libmysqlclient_${SHARED_LIB_MAJOR_VERSION})")
890+SET(CPACK_RPM_shared_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/shared-post.sh)
891+SET(CPACK_RPM_shared_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/shared-post.sh)
892+
893+SET(CPACK_RPM_test_PACKAGE_OBSOLETES "mysql-test MySQL-test MySQL-OurDelta-test")
894 SET(CPACK_RPM_test_PACKAGE_PROVIDES "MariaDB-test MySQL-test mysql-test")
895
896 # workaround for lots of perl dependencies added by rpmbuild
897 SET(CPACK_RPM_test_PACKAGE_PROVIDES "${CPACK_RPM_test_PACKAGE_PROVIDES} perl(lib::mtr_gcov.pl) perl(lib::mtr_gprof.pl) perl(lib::mtr_io.pl) perl(lib::mtr_misc.pl) perl(lib::mtr_process.pl) perl(lib::v1/mtr_cases.pl) perl(lib::v1/mtr_gcov.pl) perl(lib::v1/mtr_gprof.pl) perl(lib::v1/mtr_im.pl) perl(lib::v1/mtr_io.pl) perl(lib::v1/mtr_match.pl) perl(lib::v1/mtr_misc.pl) perl(lib::v1/mtr_process.pl) perl(lib::v1/mtr_report.pl) perl(lib::v1/mtr_stress.pl) perl(lib::v1/mtr_timer.pl) perl(lib::v1/mtr_unique.pl) perl(mtr_misc.pl)")
898
899+# If we want to build build MariaDB-shared-compat,
900+# extract compat libraries from MariaDB-shared-5.3 rpm
901+FILE(GLOB compat_rpm RELATIVE ${CMAKE_SOURCE_DIR}
902+ "${CMAKE_SOURCE_DIR}/../MariaDB-shared-5.3.*.rpm")
903+IF (compat_rpm)
904+ MESSAGE("Using ${compat_rpm} to build MariaDB-compat")
905+ INSTALL(CODE "EXECUTE_PROCESS(
906+ COMMAND rpm2cpio ${CMAKE_SOURCE_DIR}/${compat_rpm}
907+ COMMAND cpio --extract --make-directories */libmysqlclient*.so.* -
908+ WORKING_DIRECTORY \$ENV{DESTDIR})
909+ EXECUTE_PROCESS(
910+ COMMAND chmod -R a+rX .
911+ WORKING_DIRECTORY \$ENV{DESTDIR})"
912+ COMPONENT Compat)
913+ SET(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} Compat)
914+
915+ # RHEL6/CentOS6 install Postfix by default, and it requires
916+ # libmysqlclient.so.16 that pulls in mysql-libs-5.1.x
917+ # And the latter conflicts with our rpms.
918+ # Make sure that for these distribuions all our rpms require
919+ # MariaDB-compat, that will replace mysql-libs-5.1
920+ IF(RPM MATCHES "(rhel|centos)6")
921+ SET(CPACK_RPM_common_PACKAGE_REQUIRES "MariaDB-compat")
922+ ENDIF()
923+ENDIF(compat_rpm)
924+
925+SET(CPACK_RPM_compat_PACKAGE_REQUIRES "/bin/sh") # to mask CPACK_RPM_PACKAGE_REQUIRES
926+SET(CPACK_RPM_compat_PACKAGE_PROVIDES "mysql-libs = 5.3.5") # exact version doesn't matter as long as it greater than 5.1
927+SET(CPACK_RPM_compat_PACKAGE_OBSOLETES "mysql-libs < 5.3.5")
928+
929 ENDIF(RPM)
930
931
932=== modified file 'cmake/install_layout.cmake'
933--- cmake/install_layout.cmake 2012-05-22 09:04:32 +0000
934+++ cmake/install_layout.cmake 2012-09-13 19:00:35 +0000
935@@ -77,9 +77,7 @@
936 IF(INSTALL_LAYOUT MATCHES "RPM")
937 SET(default_prefix "/usr")
938 ELSEIF(INSTALL_LAYOUT MATCHES "DEB")
939- SET(default_prefix "/opt/mysql/server-${MYSQL_BASE_VERSION}")
940- # This is required to avoid "cpack -GDEB" default of prefix=/usr
941- SET(CPACK_SET_DESTDIR ON)
942+ SET(default_prefix "/usr")
943 ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")
944 SET(default_prefix "/opt/mysql/mysql")
945 ELSE()
946@@ -191,7 +189,7 @@
947 SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql")
948 SET(INSTALL_PLUGINTESTDIR_DEB ${plugin_tests})
949
950-SET(INSTALL_UNIX_ADDRDIR_DEB "/tmp/mysql.sock")
951+SET(INSTALL_UNIX_ADDRDIR_DEB "/var/run/mysqld/mysqld.sock")
952 #
953 # SVR4 layout
954 #
955
956=== modified file 'cmake/os/WindowsCache.cmake'
957--- cmake/os/WindowsCache.cmake 2012-03-22 14:44:06 +0000
958+++ cmake/os/WindowsCache.cmake 2012-09-13 19:00:35 +0000
959@@ -364,4 +364,7 @@
960 SET(HAVE_SOCKADDR_IN6_SIN6_LEN CACHE INTERNAL "")
961 SET(HAVE_VALGRIND CACHE INTERNAL "")
962 SET(HAVE_EVENT_H CACHE INTERNAL "")
963+SET(HAVE_LINUX_UNISTD_H CACHE INTERNAL "")
964+SET(HAVE_SYS_UTSNAME_H CACHE INTERNAL "")
965+SET(HAVE_PTHREAD_ATTR_GETGUARDSIZE CACHE INTERNAL "")
966 ENDIF()
967
968=== modified file 'cmake/plugin.cmake'
969--- cmake/plugin.cmake 2012-03-16 19:52:17 +0000
970+++ cmake/plugin.cmake 2012-09-13 19:00:35 +0000
971@@ -211,15 +211,7 @@
972 SET(ARG_COMPONENT Server)
973 ENDIF()
974 MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR} COMPONENT ${ARG_COMPONENT})
975- INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug COMPONENT ${ARG_COMPONENT})
976- # Add installed files to list for RPMs
977- FILE(APPEND ${CMAKE_BINARY_DIR}/support-files/plugins.files
978- "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/${ARG_MODULE_OUTPUT_NAME}.so\n"
979- "%attr(755, root, root) %{_prefix}/${INSTALL_PLUGINDIR}/debug/${ARG_MODULE_OUTPUT_NAME}.so\n")
980- # For internal testing in PB2, append collections files
981- IF(DEFINED ENV{PB2WORKDIR})
982- PLUGIN_APPEND_COLLECTIONS(${plugin})
983- ENDIF()
984+ #INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug COMPONENT ${ARG_COMPONENT})
985 ELSE()
986 IF(WITHOUT_${plugin})
987 # Update cache variable
988
989=== modified file 'cmake/readline.cmake'
990--- cmake/readline.cmake 2012-04-11 23:33:43 +0000
991+++ cmake/readline.cmake 2012-09-13 19:00:35 +0000
992@@ -109,6 +109,8 @@
993 ENDIF()
994 ENDIF()
995 ENDIF()
996+ CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
997+ CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
998 ENDMACRO()
999
1000 MACRO (MYSQL_USE_BUNDLED_READLINE)
1001
1002=== modified file 'config.h.cmake'
1003--- config.h.cmake 2012-04-19 02:02:28 +0000
1004+++ config.h.cmake 2012-09-13 19:00:35 +0000
1005@@ -46,6 +46,7 @@
1006 #cmakedefine HAVE_IEEEFP_H 1
1007 #cmakedefine HAVE_INTTYPES_H 1
1008 #cmakedefine HAVE_LIMITS_H 1
1009+#cmakedefine HAVE_LINUX_UNISTD_H 1
1010 #cmakedefine HAVE_LOCALE_H 1
1011 #cmakedefine HAVE_MALLOC_H 1
1012 #cmakedefine HAVE_MEMORY_H 1
1013@@ -83,6 +84,7 @@
1014 #cmakedefine HAVE_SYS_SHM_H 1
1015 #cmakedefine HAVE_SYS_SOCKET_H 1
1016 #cmakedefine HAVE_SYS_SOCKIO_H 1
1017+#cmakedefine HAVE_SYS_UTSNAME_H 1
1018 #cmakedefine HAVE_SYS_STAT_H 1
1019 #cmakedefine HAVE_SYS_STREAM_H 1
1020 #cmakedefine HAVE_SYS_TERMCAP_H 1
1021@@ -130,6 +132,7 @@
1022 #cmakedefine FIONREAD_IN_SYS_FILIO 1
1023
1024 /* Functions we may want to use. */
1025+#cmakedefine HAVE_ACCESS 1
1026 #cmakedefine HAVE_AIOWAIT 1
1027 #cmakedefine HAVE_ALARM 1
1028 #cmakedefine HAVE_ALLOCA 1
1029@@ -150,6 +153,8 @@
1030 #cmakedefine HAVE_FCNTL 1
1031 #cmakedefine HAVE_FCONVERT 1
1032 #cmakedefine HAVE_FDATASYNC 1
1033+#cmakedefine HAVE_DECL_FDATASYNC 1
1034+#cmakedefine HAVE_FEDISABLEEXCEPT 1
1035 #cmakedefine HAVE_FESETROUND 1
1036 #cmakedefine HAVE_FINITE 1
1037 #cmakedefine HAVE_FP_EXCEPT 1
1038@@ -174,6 +179,7 @@
1039 #cmakedefine HAVE_GETWD 1
1040 #cmakedefine HAVE_GMTIME_R 1
1041 #cmakedefine gmtime_r @gmtime_r@
1042+#cmakedefine HAVE_IN_ADDR_T 1
1043 #cmakedefine HAVE_INITGROUPS 1
1044 #cmakedefine HAVE_ISSETUGID 1
1045 #cmakedefine HAVE_GETUID 1
1046@@ -214,6 +220,7 @@
1047 #cmakedefine HAVE_RDTSCLL 1
1048 #cmakedefine HAVE_READ_REAL_TIME 1
1049 #cmakedefine HAVE_PTHREAD_ATTR_CREATE 1
1050+#cmakedefine HAVE_PTHREAD_ATTR_GETGUARDSIZE 1
1051 #cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
1052 #cmakedefine HAVE_PTHREAD_ATTR_SETPRIO 1
1053 #cmakedefine HAVE_PTHREAD_ATTR_SETSCHEDPARAM 1
1054@@ -246,6 +253,7 @@
1055 #cmakedefine HAVE_SETFD 1
1056 #cmakedefine HAVE_SETENV 1
1057 #cmakedefine HAVE_SETLOCALE 1
1058+#cmakedefine HAVE_SETUPTERM 1
1059 #cmakedefine HAVE_SIGADDSET 1
1060 #cmakedefine HAVE_SIGEMPTYSET 1
1061 #cmakedefine HAVE_SIGHOLD 1
1062@@ -283,6 +291,7 @@
1063 #cmakedefine HAVE_TIME 1
1064 #cmakedefine HAVE_TIMES 1
1065 #cmakedefine HAVE_VALLOC 1
1066+#cmakedefine HAVE_VIDATTR 1
1067 #define HAVE_VIO_READ_BUFF 1
1068 #cmakedefine HAVE_VASPRINTF 1
1069 #cmakedefine HAVE_VPRINTF 1
1070
1071=== modified file 'configure.cmake'
1072--- configure.cmake 2012-05-04 15:22:40 +0000
1073+++ configure.cmake 2012-09-13 19:00:35 +0000
1074@@ -56,10 +56,10 @@
1075
1076 # Always enable -Wall for gnu C/C++
1077 IF(CMAKE_COMPILER_IS_GNUCXX)
1078- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-parameter")
1079+ SET(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
1080 ENDIF()
1081 IF(CMAKE_COMPILER_IS_GNUCC)
1082- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
1083+ SET(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
1084 ENDIF()
1085
1086
1087@@ -151,7 +151,7 @@
1088
1089 IF(CMAKE_REQUIRED_LIBRARIES)
1090 LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES)
1091- ENDIF()
1092+ ENDIF()
1093 LINK_LIBRARIES(${CMAKE_THREAD_LIBS_INIT})
1094
1095 OPTION(WITH_LIBWRAP "Compile with tcp wrappers support" OFF)
1096@@ -202,6 +202,7 @@
1097 CHECK_INCLUDE_FILES (ieeefp.h HAVE_IEEEFP_H)
1098 CHECK_INCLUDE_FILES (inttypes.h HAVE_INTTYPES_H)
1099 CHECK_INCLUDE_FILES (langinfo.h HAVE_LANGINFO_H)
1100+CHECK_INCLUDE_FILES (linux/unistd.h HAVE_LINUX_UNISTD_H)
1101 CHECK_INCLUDE_FILES (limits.h HAVE_LIMITS_H)
1102 CHECK_INCLUDE_FILES (locale.h HAVE_LOCALE_H)
1103 CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
1104@@ -261,6 +262,7 @@
1105 CHECK_INCLUDE_FILES (wchar.h HAVE_WCHAR_H)
1106 CHECK_INCLUDE_FILES (wctype.h HAVE_WCTYPE_H)
1107 CHECK_INCLUDE_FILES (sys/sockio.h HAVE_SYS_SOCKIO_H)
1108+CHECK_INCLUDE_FILES (sys/utsname.h HAVE_SYS_UTSNAME_H)
1109
1110 IF(BFD_H_EXISTS)
1111 IF(NOT_FOR_DISTRIBUTION)
1112@@ -326,6 +328,7 @@
1113 #
1114 # Tests for functions
1115 #
1116+CHECK_FUNCTION_EXISTS (access HAVE_ACCESS)
1117 #CHECK_FUNCTION_EXISTS (aiowait HAVE_AIOWAIT)
1118 CHECK_FUNCTION_EXISTS (aio_read HAVE_AIO_READ)
1119 CHECK_FUNCTION_EXISTS (alarm HAVE_ALARM)
1120@@ -554,6 +557,10 @@
1121 SET(mode_t int)
1122 ENDIF()
1123
1124+IF(HAVE_NETINET_IN_H)
1125+ SET(CMAKE_EXTRA_INCLUDE_FILES netinet/in.h)
1126+ MY_CHECK_TYPE_SIZE(in_addr_t IN_ADDR_T)
1127+ENDIF(HAVE_NETINET_IN_H)
1128
1129 IF(HAVE_STDINT_H)
1130 SET(CMAKE_EXTRA_INCLUDE_FILES stdint.h)
1131
1132=== modified file 'dbug/dbug.c'
1133--- dbug/dbug.c 2012-03-24 20:51:10 +0000
1134+++ dbug/dbug.c 2012-09-13 19:00:35 +0000
1135@@ -284,9 +284,6 @@
1136 /* Test to see if file is writable */
1137 #if defined(HAVE_ACCESS)
1138 static BOOLEAN Writable(const char *pathname);
1139- /* Change file owner and group */
1140-static void ChangeOwner(CODE_STATE *cs, char *pathname);
1141- /* Allocate memory for runtime support */
1142 #endif
1143
1144 static void DoPrefix(CODE_STATE *cs, uint line);
1145
1146=== modified file 'dbug/factorial.c'
1147--- dbug/factorial.c 2008-03-28 18:20:21 +0000
1148+++ dbug/factorial.c 2012-09-13 19:00:35 +0000
1149@@ -1,14 +1,3 @@
1150-#ifdef DBUG_OFF /* We are testing dbug */
1151-
1152-int factorial(register int value) {
1153- if(value > 1) {
1154- value *= factorial(value-1);
1155- }
1156- return value;
1157-}
1158-
1159-#else
1160-
1161 #include <my_global.h>
1162
1163 int factorial (
1164@@ -22,6 +11,3 @@
1165 DBUG_PRINT ("result", ("result is %d", value));
1166 DBUG_RETURN (value);
1167 }
1168-
1169-#endif
1170-
1171
1172=== modified file 'debian/additions/mariadb.cnf'
1173--- debian/additions/mariadb.cnf 2012-01-27 11:14:41 +0000
1174+++ debian/additions/mariadb.cnf 2012-09-13 19:00:35 +0000
1175@@ -3,7 +3,7 @@
1176
1177 [client]
1178 # Default is Latin1, if you need UTF-8 set this (also in server section)
1179-#default-character-set = utf8
1180+#default-character-set = utf8
1181
1182 [mysqld]
1183 #
1184@@ -11,7 +11,7 @@
1185 #
1186 # Default is Latin1, if you need UTF-8 set all this (also in client section)
1187 #
1188-#default-character-set = utf8
1189-#default-collation = utf8_general_ci
1190+#character-set-server = utf8
1191+#collation-server = utf8_general_ci
1192 #character_set_server = utf8
1193 #collation_server = utf8_general_ci
1194
1195=== modified file 'debian/additions/my.cnf'
1196--- debian/additions/my.cnf 2012-01-27 11:14:41 +0000
1197+++ debian/additions/my.cnf 2012-09-13 19:00:35 +0000
1198@@ -65,7 +65,7 @@
1199 myisam_recover = BACKUP
1200 key_buffer_size = 128M
1201 #open-files-limit = 2000
1202-table_cache = 400
1203+table_open_cache = 400
1204 myisam_sort_buffer_size = 512M
1205 concurrent_insert = 2
1206 read_buffer_size = 2M
1207
1208=== modified file 'debian/autobake-deb.sh'
1209--- debian/autobake-deb.sh 2012-01-24 09:47:57 +0000
1210+++ debian/autobake-deb.sh 2012-09-13 19:00:35 +0000
1211@@ -37,6 +37,11 @@
1212 *) LIBREADLINE_DEV=libreadline-gplv2-dev ;;
1213 esac
1214
1215+case "${CODENAME}" in
1216+ etch|lenny|hardy|intrepid|jaunty|karmic) CMAKE_DEP='' ;;
1217+ *) CMAKE_DEP='cmake (>= 2.7), ' ;;
1218+esac
1219+
1220 # Clean up build file symlinks that are distro-specific. First remove all, then set
1221 # new links.
1222 DISTRODIRS="$(ls ./debian/dist)"
1223@@ -53,7 +58,9 @@
1224 DISTROFILES="$(ls ./debian/dist/${DISTRO})"
1225 for distrofile in ${DISTROFILES}; do
1226 rm -f "./debian/${distrofile}"
1227- sed -e "s/\\\${LIBREADLINE_DEV}/${LIBREADLINE_DEV}/g" < "./debian/dist/${DISTRO}/${distrofile}" > "./debian/${distrofile}"
1228+ sed -e "s/\\\${LIBREADLINE_DEV}/${LIBREADLINE_DEV}/g" \
1229+ -e "s/\\\${CMAKE_DEP}/${CMAKE_DEP}/g" \
1230+ < "./debian/dist/${DISTRO}/${distrofile}" > "./debian/${distrofile}"
1231 chmod --reference="./debian/dist/${DISTRO}/${distrofile}" "./debian/${distrofile}"
1232 done;
1233
1234
1235=== modified file 'debian/dist/Debian/control'
1236--- debian/dist/Debian/control 2012-01-26 11:55:12 +0000
1237+++ debian/dist/Debian/control 2012-09-13 19:00:35 +0000
1238@@ -4,7 +4,7 @@
1239 Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
1240 XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
1241 Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
1242-Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libevent-dev, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper
1243+Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libevent-dev, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper, ${CMAKE_DEP}libaio-dev
1244 Standards-Version: 3.8.3
1245 Homepage: http://mariadb.org/
1246 Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/5.5/files
1247@@ -124,8 +124,9 @@
1248 mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
1249 Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
1250 mariadb-client (<< ${source:Version}),
1251- mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
1252+ mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5
1253 Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
1254+ mysql-client-5.5,
1255 mariadb-client (<< ${source:Version}),
1256 mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
1257 Description: MariaDB database client binaries
1258@@ -185,10 +186,10 @@
1259 Depends: mariadb-client-5.5 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-5.5 (>= ${binary:Version})
1260 Provides: mariadb-server, mysql-server, virtual-mysql-server
1261 Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
1262- mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
1263+ mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,
1264 mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
1265 Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
1266- mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
1267+ mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,
1268 mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
1269 libmariadbclient16 (<< 5.3.4),
1270 libmariadbclient-dev (<< 5.5.0)
1271
1272=== modified file 'debian/dist/Debian/mariadb-server-5.5.postinst'
1273--- debian/dist/Debian/mariadb-server-5.5.postinst 2012-01-31 07:57:59 +0000
1274+++ debian/dist/Debian/mariadb-server-5.5.postinst 2012-09-13 19:00:35 +0000
1275@@ -21,7 +21,7 @@
1276 fi
1277 }
1278
1279-MYSQL_BOOTSTRAP="/usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables --loose-innodb=OFF --loose-pbxt=OFF --default-storage-engine=myisam"
1280+MYSQL_BOOTSTRAP="/usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables --loose-innodb=OFF --default-storage-engine=myisam"
1281
1282 test_mysql_access() {
1283 mysql --no-defaults -u root -h localhost </dev/null >/dev/null 2>&1
1284
1285=== modified file 'debian/dist/Debian/rules'
1286--- debian/dist/Debian/rules 2012-04-03 06:00:57 +0000
1287+++ debian/dist/Debian/rules 2012-09-13 19:00:35 +0000
1288@@ -70,30 +70,11 @@
1289 CXX=$${MYSQL_BUILD_CXX:-g++} \
1290 CXXFLAGS=$${MYSQL_BUILD_CXXFLAGS:-"-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized"} \
1291 cmake .. \
1292- -DCMAKE_INSTALL_PREFIX=/usr \
1293- -DINSTALL_SBINDIR=sbin \
1294- -DMYSQL_DATADIR=/var/lib/mysql \
1295- -DINSTALL_INCLUDEDIR=include/mysql \
1296- -DINSTALL_INFODIR=share/info \
1297- -DINSTALL_MANDIR=share/man \
1298- \
1299 -DMYSQL_SERVER_SUFFIX="-$(DEBVERSION)" \
1300+ -DBUILD_CONFIG=mysql_release \
1301 -DCOMPILATION_COMMENT="mariadb.org binary distribution" \
1302 -DSYSTEM_TYPE="debian-linux-gnu" \
1303- -DINSTALL_LAYOUT=DEB \
1304- \
1305- -DENABLED_LOCAL_INFILE=1 \
1306- -DWITH_FAST_MUTEXES=1 \
1307- \
1308- -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
1309- \
1310- -DEXTRA_CHARSETS=all \
1311- -DWITH_LIBWRAP=1 \
1312- -DWITH_SSL=system \
1313- -DWITH_ZLIB=system \
1314- -DWITH_EMBEDDED_SERVER=1 \
1315- -DHAVE_EMBEDDED_PRIVILEGE_CONTROL=ON \
1316- -DWITH_MAX=1'
1317+ -DDEB=debian'
1318
1319 touch $@
1320
1321
1322=== modified file 'debian/dist/Ubuntu/control'
1323--- debian/dist/Ubuntu/control 2012-01-26 11:55:12 +0000
1324+++ debian/dist/Ubuntu/control 2012-09-13 19:00:35 +0000
1325@@ -4,7 +4,7 @@
1326 Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
1327 XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
1328 Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
1329-Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libevent-dev, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper
1330+Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libevent-dev, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper, ${CMAKE_DEP}libaio-dev
1331 Standards-Version: 3.8.2
1332 Homepage: http://mariadb.org/
1333 Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/5.5/files
1334@@ -124,8 +124,9 @@
1335 mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
1336 Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
1337 mariadb-client (<< ${source:Version}),
1338- mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
1339+ mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5
1340 Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
1341+ mysql-client-5.5,
1342 mariadb-client (<< ${source:Version}),
1343 mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
1344 Description: MariaDB database client binaries
1345@@ -179,10 +180,10 @@
1346 Depends: mariadb-client-5.5 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-5.5 (>= ${binary:Version})
1347 Provides: mariadb-server, mysql-server, virtual-mysql-server
1348 Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
1349- mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
1350+ mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,
1351 mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
1352 Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
1353- mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
1354+ mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,
1355 mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
1356 libmariadbclient16 (<< 5.3.4),
1357 libmariadbclient-dev (<< 5.5.0)
1358
1359=== modified file 'debian/dist/Ubuntu/mariadb-server-5.5.postinst'
1360--- debian/dist/Ubuntu/mariadb-server-5.5.postinst 2012-01-31 07:57:59 +0000
1361+++ debian/dist/Ubuntu/mariadb-server-5.5.postinst 2012-09-13 19:00:35 +0000
1362@@ -21,7 +21,7 @@
1363 fi
1364 }
1365
1366-MYSQL_BOOTSTRAP="/usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables --loose-innodb=OFF --loose-pbxt=OFF --default-storage-engine=myisam"
1367+MYSQL_BOOTSTRAP="/usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables --loose-innodb=OFF --default-storage-engine=myisam"
1368
1369 test_mysql_access() {
1370 mysql --no-defaults -u root -h localhost </dev/null >/dev/null 2>&1
1371
1372=== modified file 'debian/dist/Ubuntu/rules'
1373--- debian/dist/Ubuntu/rules 2012-04-03 06:00:57 +0000
1374+++ debian/dist/Ubuntu/rules 2012-09-13 19:00:35 +0000
1375@@ -70,30 +70,11 @@
1376 CXX=$${MYSQL_BUILD_CXX:-g++} \
1377 CXXFLAGS=$${MYSQL_BUILD_CXXFLAGS:-"-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized"} \
1378 cmake .. \
1379- -DCMAKE_INSTALL_PREFIX=/usr \
1380- -DINSTALL_SBINDIR=sbin \
1381- -DMYSQL_DATADIR=/var/lib/mysql \
1382- -DINSTALL_INCLUDEDIR=include/mysql \
1383- -DINSTALL_INFODIR=share/info \
1384- -DINSTALL_MANDIR=share/man \
1385- \
1386 -DMYSQL_SERVER_SUFFIX="-$(DEBVERSION)" \
1387+ -DBUILD_CONFIG=mysql_release \
1388 -DCOMPILATION_COMMENT="mariadb.org binary distribution" \
1389 -DSYSTEM_TYPE="debian-linux-gnu" \
1390- -DINSTALL_LAYOUT=DEB \
1391- \
1392- -DENABLED_LOCAL_INFILE=1 \
1393- -DWITH_FAST_MUTEXES=1 \
1394- \
1395- -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
1396- \
1397- -DEXTRA_CHARSETS=all \
1398- -DWITH_LIBWRAP=1 \
1399- -DWITH_SSL=system \
1400- -DWITH_ZLIB=system \
1401- -DWITH_EMBEDDED_SERVER=1 \
1402- -DHAVE_EMBEDDED_PRIVILEGE_CONTROL=ON \
1403- -DWITH_MAX=1'
1404+ -DDEB=ubuntu'
1405
1406 touch $@
1407
1408
1409=== modified file 'debian/mariadb-client-5.5.files'
1410--- debian/mariadb-client-5.5.files 2012-01-23 11:20:16 +0000
1411+++ debian/mariadb-client-5.5.files 2012-09-13 19:00:35 +0000
1412@@ -11,6 +11,7 @@
1413 usr/bin/mysqlreport
1414 usr/bin/mysqlshow
1415 usr/bin/mysqlslap
1416+usr/bin/mytop
1417 usr/bin/mysql_waitpid
1418 usr/share/lintian/overrides/mariadb-client-5.5
1419 usr/share/man/man1/innotop.1
1420
1421=== modified file 'extra/resolveip.c'
1422--- extra/resolveip.c 2012-01-13 14:50:02 +0000
1423+++ extra/resolveip.c 2012-09-13 19:00:35 +0000
1424@@ -25,9 +25,7 @@
1425 #ifndef WIN32
1426 # include <sys/types.h>
1427 # include <sys/socket.h>
1428-# ifndef HAVE_BROKEN_NETINET_INCLUDES
1429-# include <netinet/in.h>
1430-# endif
1431+# include <netinet/in.h>
1432 # include <arpa/inet.h>
1433 # include <netdb.h>
1434 #endif
1435
1436=== modified file 'extra/yassl/taocrypt/src/asn.cpp'
1437--- extra/yassl/taocrypt/src/asn.cpp 2012-04-07 13:58:46 +0000
1438+++ extra/yassl/taocrypt/src/asn.cpp 2012-09-13 19:00:35 +0000
1439@@ -758,6 +758,10 @@
1440
1441 while (source_.get_index() < length) {
1442 GetSet();
1443+ if (source_.GetError().What() == SET_E) {
1444+ source_.SetError(NO_ERROR_E); // extensions may only have sequence
1445+ source_.prev();
1446+ }
1447 GetSequence();
1448
1449 byte b = source_.next();
1450
1451=== modified file 'extra/yassl/taocrypt/src/dsa.cpp'
1452--- extra/yassl/taocrypt/src/dsa.cpp 2012-02-10 14:33:27 +0000
1453+++ extra/yassl/taocrypt/src/dsa.cpp 2012-09-13 19:00:35 +0000
1454@@ -184,7 +184,7 @@
1455 s_ = (kInv * (H + x*r_)) % q;
1456
1457 if (!(!!r_ && !!s_))
1458- return -1;
1459+ return (word32) -1;
1460
1461 int rSz = r_.ByteCount();
1462
1463
1464=== modified file 'include/atomic/nolock.h'
1465--- include/atomic/nolock.h 2011-06-30 15:46:53 +0000
1466+++ include/atomic/nolock.h 2012-09-13 19:00:35 +0000
1467@@ -36,7 +36,7 @@
1468 choose the Solaris implementation on Solaris (mainly for SunStudio
1469 compilers).
1470 */
1471-# if defined(_MSV_VER)
1472+# if defined(_MSC_VER)
1473 # include "generic-msvc.h"
1474 # elif __GNUC__
1475 # if defined(HAVE_SOLARIS_ATOMIC)
1476
1477=== modified file 'include/keycache.h'
1478--- include/keycache.h 2012-01-13 14:50:02 +0000
1479+++ include/keycache.h 2012-09-13 19:00:35 +0000
1480@@ -148,9 +148,10 @@
1481 ulonglong param_partitions; /* number of the key cache partitions */
1482 my_bool key_cache_inited; /* <=> key cache has been created */
1483 my_bool can_be_used; /* usage of cache for read/write is allowed */
1484- my_bool in_init; /* Set to 1 in MySQL during init/resize */
1485+ my_bool in_init; /* set to 1 in MySQL during init/resize */
1486 uint partitions; /* actual number of partitions */
1487 size_t key_cache_mem_size; /* specified size of the cache memory */
1488+ pthread_mutex_t op_lock; /* to serialize operations like 'resize' */
1489 } KEY_CACHE;
1490
1491
1492
1493=== modified file 'include/lf.h'
1494--- include/lf.h 2011-11-03 18:17:05 +0000
1495+++ include/lf.h 2012-09-13 19:00:35 +0000
1496@@ -95,7 +95,7 @@
1497 */
1498
1499 #define LF_PINBOX_PINS 4
1500-#define LF_PURGATORY_SIZE 10
1501+#define LF_PURGATORY_SIZE 100
1502
1503 typedef void lf_pinbox_free_func(void *, void *, void*);
1504
1505
1506=== modified file 'include/m_string.h'
1507--- include/m_string.h 2012-04-07 13:58:46 +0000
1508+++ include/m_string.h 2012-09-13 19:00:35 +0000
1509@@ -62,13 +62,9 @@
1510
1511 # define bmove_align(A,B,C) memcpy((A),(B),(C))
1512
1513-#if !defined(HAVE_BCMP)
1514 # define bcmp(A,B,C) memcmp((A),(B),(C))
1515-#endif
1516
1517-#if !defined(bzero) && (!defined(HAVE_BZERO) || !HAVE_DECL_BZERO || defined(_AIX))
1518-/* See autoconf doku: "HAVE_DECL_symbol" will be defined after configure, to 0 or 1 */
1519-/* AIX has bzero() as a function, but the declaration prototype is strangely hidden */
1520+#if !defined(bzero)
1521 # define bzero(A,B) memset((A),0,(B))
1522 #endif
1523
1524
1525=== modified file 'include/my_getopt.h'
1526--- include/my_getopt.h 2012-01-13 14:50:02 +0000
1527+++ include/my_getopt.h 2012-09-13 19:00:35 +0000
1528@@ -1,5 +1,5 @@
1529 /*
1530- Copyright (c) 2002, 2011, Oracle and/or its affiliates.
1531+ Copyright (c) 2002, 2012, Oracle and/or its affiliates.
1532
1533 This program is free software; you can redistribute it and/or modify
1534 it under the terms of the GNU General Public License as published by
1535@@ -79,7 +79,7 @@
1536 enum get_opt_arg_type arg_type; /**< e.g. REQUIRED_ARG or OPT_ARG */
1537 longlong def_value; /**< Default value */
1538 longlong min_value; /**< Min allowed value (for numbers) */
1539- longlong max_value; /**< Max allowed value (for numbers) */
1540+ ulonglong max_value; /**< Max allowed value (for numbers) */
1541 longlong sub_size; /**< Unused */
1542 long block_size; /**< Value should be a mult. of this (for numbers) */
1543 void *app_type; /**< To be used by an application */
1544
1545=== modified file 'include/my_global.h'
1546--- include/my_global.h 2012-05-11 07:18:00 +0000
1547+++ include/my_global.h 2012-09-13 19:00:35 +0000
1548@@ -229,11 +229,6 @@
1549 #include <sys/types.h>
1550 #endif
1551
1552-#ifdef HAVE_THREADS_WITHOUT_SOCKETS
1553-/* MIT pthreads does not work with unix sockets */
1554-#undef HAVE_SYS_UN_H
1555-#endif
1556-
1557 #define __EXTENSIONS__ 1 /* We want some extension */
1558 #ifndef __STDC_EXT__
1559 #define __STDC_EXT__ 1 /* To get large file support on hpux */
1560@@ -306,18 +301,6 @@
1561 C_MODE_END
1562 #endif /* _AIX */
1563
1564-#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
1565-#undef HAVE_SNPRINTF
1566-#endif
1567-#ifdef HAVE_BROKEN_PREAD
1568-/*
1569- pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without
1570- installing the kernel patch PHKL_20349 or greater
1571-*/
1572-#undef HAVE_PREAD
1573-#undef HAVE_PWRITE
1574-#endif
1575-
1576 #ifdef UNDEF_HAVE_INITGROUPS /* For AIX 4.3 */
1577 #undef HAVE_INITGROUPS
1578 #endif
1579@@ -823,18 +806,7 @@
1580 #endif
1581
1582 #ifdef HAVE_ISINF
1583-/* Check if C compiler is affected by GCC bug #39228 */
1584-#if !defined(__cplusplus) && defined(HAVE_BROKEN_ISINF)
1585-/* Force store/reload of the argument to/from a 64-bit double */
1586-static inline double my_isinf(double x)
1587-{
1588- volatile double t= x;
1589- return isinf(t);
1590-}
1591-#else
1592-/* System-provided isinf() is available and safe to use */
1593 #define my_isinf(X) isinf(X)
1594-#endif
1595 #else /* !HAVE_ISINF */
1596 #define my_isinf(X) (!finite(X) && !isnan(X))
1597 #endif
1598
1599=== modified file 'include/my_net.h'
1600--- include/my_net.h 2011-03-29 12:43:49 +0000
1601+++ include/my_net.h 2012-09-13 19:00:35 +0000
1602@@ -43,7 +43,7 @@
1603 #include <sys/ioctl.h>
1604 #endif
1605
1606-#if !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES)
1607+#if !defined(__WIN__)
1608 #include <netinet/in_systm.h>
1609 #include <netinet/in.h>
1610 #include <netinet/ip.h>
1611
1612=== modified file 'include/my_pthread.h'
1613--- include/my_pthread.h 2011-10-21 21:07:13 +0000
1614+++ include/my_pthread.h 2012-09-13 19:00:35 +0000
1615@@ -200,28 +200,13 @@
1616 int sigwait(sigset_t *set, int *sig);
1617 #endif
1618
1619-#ifndef HAVE_NONPOSIX_SIGWAIT
1620 #define my_sigwait(A,B) sigwait((A),(B))
1621-#else
1622-int my_sigwait(const sigset_t *set,int *sig);
1623-#endif
1624-
1625-#ifdef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
1626-#ifndef SAFE_MUTEX
1627-#define pthread_mutex_init(a,b) my_pthread_mutex_noposix_init((a),(b))
1628-extern int my_pthread_mutex_noposix_init(pthread_mutex_t *mp,
1629- const pthread_mutexattr_t *attr);
1630-#endif /* SAFE_MUTEX */
1631-#define pthread_cond_init(a,b) my_pthread_cond_noposix_init((a),(b))
1632-extern int my_pthread_cond_noposix_init(pthread_cond_t *mp,
1633- const pthread_condattr_t *attr);
1634-#endif /* HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */
1635
1636 #if defined(HAVE_SIGTHREADMASK) && !defined(HAVE_PTHREAD_SIGMASK)
1637 #define pthread_sigmask(A,B,C) sigthreadmask((A),(B),(C))
1638 #endif
1639
1640-#if !defined(HAVE_SIGWAIT) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
1641+#if !defined(HAVE_SIGWAIT) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(_AIX)
1642 int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */
1643 #endif
1644
1645@@ -247,24 +232,12 @@
1646 #define my_sigset(A,B) signal((A),(B))
1647 #endif
1648
1649-#if !defined(HAVE_PTHREAD_ATTR_SETSCOPE) || defined(HAVE_DEC_3_2_THREADS)
1650+#if !defined(HAVE_PTHREAD_ATTR_SETSCOPE)
1651 #define pthread_attr_setscope(A,B)
1652 #undef HAVE_GETHOSTBYADDR_R /* No definition */
1653 #endif
1654
1655-#if defined(HAVE_BROKEN_PTHREAD_COND_TIMEDWAIT) && !defined(SAFE_MUTEX)
1656-extern int my_pthread_cond_timedwait(pthread_cond_t *cond,
1657- pthread_mutex_t *mutex,
1658- struct timespec *abstime);
1659-#define pthread_cond_timedwait(A,B,C) my_pthread_cond_timedwait((A),(B),(C))
1660-#endif
1661-
1662-#if !defined( HAVE_NONPOSIX_PTHREAD_GETSPECIFIC)
1663 #define my_pthread_getspecific(A,B) ((A) pthread_getspecific(B))
1664-#else
1665-#define my_pthread_getspecific(A,B) ((A) my_pthread_getspecific_imp(B))
1666-void *my_pthread_getspecific_imp(pthread_key_t key);
1667-#endif
1668
1669 #ifndef HAVE_LOCALTIME_R
1670 struct tm *localtime_r(const time_t *clock, struct tm *res);
1671@@ -285,34 +258,7 @@
1672 #define pthread_key_delete(A) pthread_dummy(0)
1673 #endif
1674
1675-#ifdef HAVE_CTHREADS_WRAPPER /* For MacOSX */
1676-#define pthread_cond_destroy(A) pthread_dummy(0)
1677-#define pthread_mutex_destroy(A) pthread_dummy(0)
1678-#define pthread_attr_delete(A) pthread_dummy(0)
1679-#define pthread_condattr_delete(A) pthread_dummy(0)
1680-#define pthread_attr_setstacksize(A,B) pthread_dummy(0)
1681-#define pthread_equal(A,B) ((A) == (B))
1682-#define pthread_cond_timedwait(a,b,c) pthread_cond_wait((a),(b))
1683-#define pthread_attr_init(A) pthread_attr_create(A)
1684-#define pthread_attr_destroy(A) pthread_attr_delete(A)
1685-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
1686-#define pthread_create(A,B,C,D) pthread_create((A),*(B),(C),(D))
1687-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
1688-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
1689-#undef pthread_detach_this_thread
1690-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
1691-#endif
1692-
1693-#ifdef HAVE_DARWIN5_THREADS
1694-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
1695-#define pthread_kill(A,B) pthread_dummy((A) ? 0 : ESRCH)
1696-#define pthread_condattr_init(A) pthread_dummy(0)
1697-#define pthread_condattr_destroy(A) pthread_dummy(0)
1698-#undef pthread_detach_this_thread
1699-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
1700-#endif
1701-
1702-#if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER)
1703+#if defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)
1704 /* This is set on AIX_3_2 and Siemens unix (and DEC OSF/1 3.2 too) */
1705 #define pthread_key_create(A,B) \
1706 pthread_keycreate(A,(B) ?\
1707@@ -352,7 +298,7 @@
1708 int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
1709 #endif
1710
1711-#if !defined(HAVE_PTHREAD_YIELD_ONE_ARG) && !defined(HAVE_PTHREAD_YIELD_ZERO_ARG)
1712+#if !defined(HAVE_PTHREAD_YIELD_ZERO_ARG)
1713 /* no pthread_yield() available */
1714 #ifdef HAVE_SCHED_YIELD
1715 #define pthread_yield() sched_yield()
1716@@ -541,12 +487,6 @@
1717
1718 /* READ-WRITE thread locking */
1719
1720-#ifdef HAVE_BROKEN_RWLOCK /* For OpenUnix */
1721-#undef HAVE_PTHREAD_RWLOCK_RDLOCK
1722-#undef HAVE_RWLOCK_INIT
1723-#undef HAVE_RWLOCK_T
1724-#endif
1725-
1726 #if defined(USE_MUTEX_INSTEAD_OF_RW_LOCKS)
1727 /* use these defs for simple mutex locking */
1728 #define rw_lock_t pthread_mutex_t
1729
1730=== modified file 'include/my_sys.h'
1731--- include/my_sys.h 2012-03-28 17:26:00 +0000
1732+++ include/my_sys.h 2012-09-13 19:00:35 +0000
1733@@ -84,6 +84,7 @@
1734 #define MY_THREADSAFE 2048 /* my_seek(): lock fd mutex */
1735 #define MY_SYNC 4096 /* my_copy(): sync dst file */
1736 #define MY_SYNC_DIR 32768 /* my_create/delete/rename: sync directory */
1737+#define MY_SYNC_FILESIZE 65536 /* my_sync(): safe sync when file is extended */
1738
1739 #define MY_CHECK_ERROR 1 /* Params to my_end; Check open-close */
1740 #define MY_GIVE_INFO 2 /* Give time info about process*/
1741@@ -250,6 +251,7 @@
1742 extern const char *my_defaults_extra_file;
1743 extern const char *my_defaults_group_suffix;
1744 extern const char *my_defaults_file;
1745+extern my_bool my_load_defaults_called;
1746
1747 extern my_bool timed_mutexes;
1748
1749@@ -627,6 +629,7 @@
1750 extern FILE *my_freopen(const char *path, const char *mode, FILE *stream);
1751 extern int my_fclose(FILE *fd,myf MyFlags);
1752 extern int my_vfprintf(FILE *stream, const char* format, va_list args);
1753+extern int my_fprintf(FILE *stream, const char* format, ...);
1754 extern File my_fileno(FILE *fd);
1755 extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
1756 extern int my_chmod(const char *name, mode_t mode, myf my_flags);
1757@@ -751,6 +754,8 @@
1758 extern void my_b_seek(IO_CACHE *info,my_off_t pos);
1759 extern size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length);
1760 extern my_off_t my_b_filelength(IO_CACHE *info);
1761+extern size_t my_b_write_backtick_quote(IO_CACHE *info, const char *str,
1762+ size_t len);
1763 extern size_t my_b_printf(IO_CACHE *info, const char* fmt, ...);
1764 extern size_t my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);
1765 extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
1766
1767=== modified file 'include/sql_common.h'
1768--- include/sql_common.h 2012-02-21 21:15:44 +0000
1769+++ include/sql_common.h 2012-09-13 19:00:35 +0000
1770@@ -1,7 +1,7 @@
1771 #ifndef SQL_COMMON_INCLUDED
1772 #define SQL_COMMON_INCLUDED
1773-/* Copyright (c) 2003, 2010, Oracle and/or its affiliates.
1774- Copyright (c) 2010, 2011, Monty Program Ab
1775+/* Copyright (c) 2003, 2012, Oracle and/or its affiliates.
1776+ Copyright (c) 2010, 2012, Monty Program Ab
1777
1778 This program is free software; you can redistribute it and/or modify
1779 it under the terms of the GNU General Public License as published by
1780@@ -80,8 +80,9 @@
1781 0, arg, length, 1, stmt)
1782
1783 extern CHARSET_INFO *default_client_charset_info;
1784-MYSQL_FIELD *unpack_fields(MYSQL_DATA *data,MEM_ROOT *alloc,uint fields,
1785- my_bool default_value, uint server_capabilities);
1786+MYSQL_FIELD *unpack_fields(MYSQL *mysql, MYSQL_DATA *data,MEM_ROOT *alloc,
1787+ uint fields, my_bool default_value,
1788+ uint server_capabilities);
1789 void free_rows(MYSQL_DATA *cur);
1790 void free_old_query(MYSQL *mysql);
1791 void end_server(MYSQL *mysql);
1792
1793=== modified file 'include/violite.h'
1794--- include/violite.h 2012-05-21 18:54:41 +0000
1795+++ include/violite.h 2012-09-13 19:00:35 +0000
1796@@ -1,4 +1,4 @@
1797-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
1798+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1799
1800 This program is free software; you can redistribute it and/or modify
1801 it under the terms of the GNU General Public License as published by
1802@@ -10,8 +10,8 @@
1803 GNU General Public License for more details.
1804
1805 You should have received a copy of the GNU General Public License
1806- along with this program; if not, write to the Free Software
1807- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
1808+ along with this program; if not, write to the Free Software Foundation, Inc.,
1809+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
1810
1811 /*
1812 * Vio Lite.
1813
1814=== modified file 'libmysql/get_password.c'
1815--- libmysql/get_password.c 2012-02-15 17:08:08 +0000
1816+++ libmysql/get_password.c 2012-09-13 19:00:35 +0000
1817@@ -26,10 +26,6 @@
1818 #include <m_string.h>
1819 #include <m_ctype.h>
1820
1821-#if defined(HAVE_BROKEN_GETPASS) && !defined(HAVE_GETPASSPHRASE)
1822-#undef HAVE_GETPASS
1823-#endif
1824-
1825 #ifdef HAVE_GETPASS
1826 #ifdef HAVE_PWD_H
1827 #include <pwd.h>
1828
1829=== modified file 'libmysql/libmysql.c'
1830--- libmysql/libmysql.c 2012-01-13 14:50:02 +0000
1831+++ libmysql/libmysql.c 2012-09-13 19:00:35 +0000
1832@@ -1,4 +1,5 @@
1833-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates
1834+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates
1835+ Copyright (c) 2009, 2012, Monty Program Ab
1836
1837 This program is free software; you can redistribute it and/or modify
1838 it under the terms of the GNU General Public License as published by
1839@@ -811,7 +812,7 @@
1840 return NULL;
1841
1842 mysql->field_count= (uint) query->rows;
1843- return unpack_fields(query,&mysql->field_alloc,
1844+ return unpack_fields(mysql, query,&mysql->field_alloc,
1845 mysql->field_count, 1, mysql->server_capabilities);
1846 }
1847
1848@@ -871,7 +872,7 @@
1849 if (!(fields = (*mysql->methods->read_rows)(mysql,(MYSQL_FIELD*) 0,
1850 protocol_41(mysql) ? 7 : 5)))
1851 DBUG_RETURN(NULL);
1852- if (!(mysql->fields=unpack_fields(fields,&mysql->field_alloc,field_count,0,
1853+ if (!(mysql->fields=unpack_fields(mysql, fields,&mysql->field_alloc,field_count,0,
1854 mysql->server_capabilities)))
1855 DBUG_RETURN(0);
1856 mysql->status=MYSQL_STATUS_GET_RESULT;
1857@@ -1456,7 +1457,7 @@
1858
1859 if (!(fields_data= (*mysql->methods->read_rows)(mysql,(MYSQL_FIELD*)0,7)))
1860 DBUG_RETURN(1);
1861- if (!(stmt->fields= unpack_fields(fields_data,&stmt->mem_root,
1862+ if (!(stmt->fields= unpack_fields(mysql, fields_data,&stmt->mem_root,
1863 field_count,0,
1864 mysql->server_capabilities)))
1865 DBUG_RETURN(1);
1866
1867=== modified file 'libmysqld/examples/CMakeLists.txt'
1868--- libmysqld/examples/CMakeLists.txt 2012-05-22 09:04:32 +0000
1869+++ libmysqld/examples/CMakeLists.txt 2012-09-13 19:00:35 +0000
1870@@ -15,9 +15,9 @@
1871
1872 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
1873 ${CMAKE_SOURCE_DIR}/libmysqld/include
1874- ${CMAKE_SOURCE_DIR}/regex
1875+ ${CMAKE_SOURCE_DIR}/regex
1876 ${CMAKE_SOURCE_DIR}/sql
1877- ${MY_READLINE_INCLUDE_DIR}
1878+ ${MY_READLINE_INCLUDE_DIR}
1879 )
1880
1881
1882
1883=== modified file 'man/CMakeLists.txt'
1884--- man/CMakeLists.txt 2012-05-22 09:04:32 +0000
1885+++ man/CMakeLists.txt 2012-09-13 19:00:35 +0000
1886@@ -21,7 +21,7 @@
1887 mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1
1888 mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1
1889 mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1
1890- resolveip.1)
1891+ resolveip.1 mysqlbug.1)
1892 SET(MAN8_SERVER mysqld.8 mysqlmanager.8)
1893 SET(MAN1_CLIENT msql2mysql.1 mysql.1 mysql_find_rows.1 mysql_waitpid.1
1894 mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1
1895
1896=== modified file 'mysql-test/README'
1897--- mysql-test/README 2011-02-24 00:36:32 +0000
1898+++ mysql-test/README 2012-09-13 19:00:35 +0000
1899@@ -69,10 +69,10 @@
1900
1901 If you want to submit your test case you can send it
1902 to maria-developers@lists.launchpad.com or attach it to a bug report on
1903-https://bugs.launchpad.net/maria/.
1904+http://mariadb.org/jira/.
1905
1906 If the test case is really big or if it contains 'not public' data,
1907 then put your .test file and .result file(s) into a tar.gz archive,
1908 add a README that explains the problem, ftp the archive to
1909-ftp://ftp.askmonty.org/private and send a mail to
1910-https://bugs.launchpad.net/maria/ about it.
1911+ftp://ftp.askmonty.org/private and submit a report to
1912+http://mariadb.org/jira about it.
1913
1914=== modified file 'mysql-test/include/icp_tests.inc'
1915--- mysql-test/include/icp_tests.inc 2012-02-22 08:38:28 +0000
1916+++ mysql-test/include/icp_tests.inc 2012-09-13 19:00:35 +0000
1917@@ -874,3 +874,21 @@
1918
1919 DROP TABLE t1;
1920
1921+#
1922+# MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len
1923+#
1924+create table t1 (a int,b char(5),primary key (a), key (b(1)));
1925+insert into t1 values ('a','b');
1926+select 1 from t1 where a and b >= 'aa';
1927+drop table t1;
1928+
1929+--echo #
1930+--echo # Bug#58015 "Assert in row_sel_field_store_in_mysql_format
1931+--echo # when running innodb_mrr_icp test"
1932+--echo #
1933+
1934+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
1935+insert into t1 values ('',1);
1936+select 1 from t1 where b <= 1 and a <> '';
1937+drop table t1;
1938+
1939
1940=== modified file 'mysql-test/include/index_merge2.inc'
1941--- mysql-test/include/index_merge2.inc 2012-01-16 19:16:35 +0000
1942+++ mysql-test/include/index_merge2.inc 2012-09-13 19:00:35 +0000
1943@@ -343,6 +343,7 @@
1944 update t1 set key2=key1,key3=key1;
1945
1946 # to test the bug, the following must use "sort_union":
1947+--replace_column 9 REF
1948 explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
1949 select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
1950 drop table t1;
1951
1952=== modified file 'mysql-test/include/mtr_check.sql'
1953--- mysql-test/include/mtr_check.sql 2012-04-07 13:58:46 +0000
1954+++ mysql-test/include/mtr_check.sql 2012-09-13 19:00:35 +0000
1955@@ -30,6 +30,7 @@
1956 WHERE variable_name NOT IN ('timestamp', 'innodb_file_format_max')
1957 AND variable_name not like "Last_IO_Err*"
1958 AND variable_name != 'INNODB_IBUF_MAX_SIZE'
1959+ AND variable_name != 'INNODB_USE_NATIVE_AIO'
1960 ORDER BY variable_name;
1961
1962 -- Dump all databases, there should be none
1963
1964=== added file 'mysql-test/include/mysqlbinlog_have_debug.inc'
1965--- mysql-test/include/mysqlbinlog_have_debug.inc 1970-01-01 00:00:00 +0000
1966+++ mysql-test/include/mysqlbinlog_have_debug.inc 2012-09-13 19:00:35 +0000
1967@@ -0,0 +1,34 @@
1968+#############################################
1969+# checks if mysqlbinlog is debug compiled
1970+# this "cannot" be done simply by using
1971+# have_debug.inc
1972+#############################################
1973+
1974+--disable_query_log
1975+--let $temp_out_help_file=$MYSQL_TMP_DIR/mysqlbinlog_help.tmp
1976+--exec $MYSQL_BINLOG --help>$temp_out_help_file
1977+let log_tmp=$temp_out_help_file;
1978+--let $temp_inc=$MYSQL_TMP_DIR/temp.inc
1979+let inc_tmp=$temp_inc;
1980+
1981+--perl
1982+use strict;
1983+my $tmp_file= $ENV{'log_tmp'} or die "log_tmp not set";
1984+open(FILE, "$tmp_file") or die("Unable to open $tmp_file: $!\n");
1985+my $count = () = grep(/Output debug log/g,<FILE>);
1986+close FILE;
1987+
1988+my $temp_inc= $ENV{'inc_tmp'} or die "temp_inc not set";
1989+open(FILE_INC,">", "$temp_inc") or die("can't open file \"$temp_inc\": $!");
1990+print FILE_INC '--let $is_debug= '.$count;
1991+close FILE_INC;
1992+EOF
1993+--source $temp_inc
1994+
1995+if (!$is_debug)
1996+{
1997+ --skip mysqlbinlog needs to be debug compiled
1998+}
1999+--remove_file $temp_out_help_file
2000+--remove_file $temp_inc
2001+--enable_query_log
2002
2003=== added file 'mysql-test/include/query_cache_partitions.inc'
2004--- mysql-test/include/query_cache_partitions.inc 1970-01-01 00:00:00 +0000
2005+++ mysql-test/include/query_cache_partitions.inc 2012-09-13 19:00:35 +0000
2006@@ -0,0 +1,126 @@
2007+# include/query_cache_partitions.inc
2008+#
2009+# The variables
2010+# $engine_type -- storage engine to be tested
2011+# have to be set before sourcing this script.
2012+
2013+eval SET SESSION STORAGE_ENGINE = $engine_type;
2014+
2015+# Initialise
2016+--disable_warnings
2017+drop table if exists t1;
2018+--enable_warnings
2019+
2020+set @save_query_cache_size = @@global.query_cache_size;
2021+
2022+--echo # Test that partitions works with query cache
2023+
2024+flush query cache;
2025+
2026+SET GLOBAL query_cache_size=1024*1024*512;
2027+ CREATE TABLE `t1` (
2028+ `id` int(11) NOT NULL ,
2029+ `created_at` datetime NOT NULL,
2030+ `cool` tinyint default 0
2031+ );
2032+
2033+ ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
2034+ PARTITION month_2010_4 VALUES LESS THAN (734258),
2035+ PARTITION month_2010_5 VALUES LESS THAN (734289),
2036+ PARTITION month_max VALUES LESS THAN MAXVALUE
2037+ );
2038+
2039+show create table t1;
2040+
2041+INSERT INTO t1 VALUES (1, now(), 0);
2042+
2043+flush status;
2044+show status like "Qcache_queries_in_cache";
2045+show status like "Qcache_hits";
2046+
2047+
2048+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2049+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2050+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2051+
2052+show status like "Qcache_queries_in_cache";
2053+show status like "Qcache_hits";
2054+
2055+drop table t1;
2056+
2057+--echo # Test that sub-partitions works with query cache
2058+
2059+flush query cache;
2060+
2061+SET GLOBAL query_cache_size=1024*1024*512;
2062+ CREATE TABLE `t1` (
2063+ `id` int(11) NOT NULL ,
2064+ `created_at` datetime NOT NULL,
2065+ `cool` tinyint default 0
2066+ )
2067+ PARTITION BY RANGE (TO_DAYS(created_at))
2068+ subpartition by hash(cool) subpartitions 3 (
2069+ PARTITION month_2010_4 VALUES LESS THAN (734258),
2070+ PARTITION month_2010_5 VALUES LESS THAN (734289),
2071+ PARTITION month_max VALUES LESS THAN MAXVALUE
2072+ );
2073+
2074+show create table t1;
2075+
2076+INSERT INTO t1 VALUES (1, now(), 0);
2077+
2078+flush status;
2079+show status like "Qcache_queries_in_cache";
2080+show status like "Qcache_hits";
2081+
2082+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2083+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2084+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2085+
2086+show status like "Qcache_queries_in_cache";
2087+show status like "Qcache_hits";
2088+
2089+drop table t1;
2090+
2091+--echo #
2092+--echo # MySQL bug#53775 Query on partitioned table returns cached result
2093+--echo # from previous transaction
2094+--echo #
2095+
2096+flush query cache;
2097+flush status;
2098+
2099+SET GLOBAL query_cache_size=1024*1024*512;
2100+ CREATE TABLE `t1` (
2101+ `id` int(11) NOT NULL ,
2102+ `created_at` datetime NOT NULL,
2103+ `cool` tinyint default 0
2104+ );
2105+
2106+ ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
2107+ PARTITION month_2010_4 VALUES LESS THAN (734258),
2108+ PARTITION month_2010_5 VALUES LESS THAN (734289),
2109+ PARTITION month_max VALUES LESS THAN MAXVALUE
2110+ );
2111+
2112+INSERT INTO t1 VALUES (1, now(), 0);
2113+
2114+show status like "Qcache_queries_in_cache";
2115+show status like "Qcache_hits";
2116+
2117+BEGIN;
2118+UPDATE `t1` SET `cool` = 1 WHERE `id` = 1;
2119+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2120+ROLLBACK;
2121+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2122+BEGIN;
2123+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2124+ROLLBACK;
2125+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
2126+
2127+show status like "Qcache_queries_in_cache";
2128+show status like "Qcache_hits";
2129+
2130+drop table t1;
2131+
2132+set @@global.query_cache_size = @save_query_cache_size;
2133
2134=== modified file 'mysql-test/lib/mtr_cases.pm'
2135--- mysql-test/lib/mtr_cases.pm 2012-04-21 00:57:28 +0000
2136+++ mysql-test/lib/mtr_cases.pm 2012-09-13 19:00:35 +0000
2137@@ -472,11 +472,13 @@
2138 else
2139 {
2140 my @combs;
2141- @combs = combinations_from_file($parent, "$suitedir/combinations")
2142- unless $suite->{skip};
2143+ my $from = "$suitedir/combinations";
2144+ @combs = combinations_from_file($parent, $from) unless $suite->{skip};
2145 $suite->{combinations} = [ @combs ];
2146 # in overlays it's a union of parent's and overlay's files.
2147- unshift @{$suite->{combinations}}, @{$parent->{combinations}} if $parent;
2148+ unshift @{$suite->{combinations}},
2149+ grep { not $skip_combinations{"$from => $_->{name}"} }
2150+ @{$parent->{combinations}} if $parent;
2151 }
2152
2153 # suite.opt
2154@@ -1039,8 +1041,11 @@
2155 $suite = load_suite_for_file($comb_file) if $prefix[0] eq '';
2156 my @comb;
2157 unless ($suite->{skip}) {
2158- @comb = combinations_from_file($over, "$prefix[0]$comb_file");
2159- push @comb, combinations_from_file(undef, "$prefix[1]$comb_file") if $over;
2160+ my $from = "$prefix[0]$comb_file";
2161+ @comb = combinations_from_file($over, $from);
2162+ push @comb,
2163+ grep { not $skip_combinations{"$from => $_->{name}"} }
2164+ combinations_from_file(undef, "$prefix[1]$comb_file") if $over;
2165 }
2166 push @combinations, [ @comb ];
2167
2168
2169=== modified file 'mysql-test/mysql-test-run.pl'
2170--- mysql-test/mysql-test-run.pl 2012-05-15 17:35:57 +0000
2171+++ mysql-test/mysql-test-run.pl 2012-09-13 19:00:35 +0000
2172@@ -1147,7 +1147,6 @@
2173 'start-from=s' => \&collect_option,
2174 'big-test+' => \$opt_big_test,
2175 'combination=s' => \@opt_combinations,
2176- 'skip-combinations' => \&collect_option,
2177 'experimental=s' => \@opt_experimentals,
2178 # skip-im is deprecated and silently ignored
2179 'skip-im' => \&ignore_option,
2180@@ -1518,7 +1517,7 @@
2181
2182 # We make the path absolute, as the server will do a chdir() before usage
2183 unless ( $opt_vardir =~ m,^/, or
2184- (IS_WINDOWS and $opt_vardir =~ m,^[a-z]:/,i) )
2185+ (IS_WINDOWS and $opt_vardir =~ m,^[a-z]:[/\\],i) )
2186 {
2187 # Make absolute path, relative test dir
2188 $opt_vardir= "$glob_mysql_test_dir/$opt_vardir";
2189@@ -2717,6 +2716,7 @@
2190 # hm, what paths work for debs and for rpms ?
2191 for (<$bindir/lib64/mysql/plugin/*.so>,
2192 <$bindir/lib/mysql/plugin/*.so>,
2193+ <$bindir/lib/plugin/*.so>, # bintar
2194 <$bindir/lib/plugin/*.dll>)
2195 {
2196 my $pname=basename($_);
2197@@ -3463,12 +3463,6 @@
2198 mtr_add_arg($args, "--lc-messages-dir=%s", $install_lang);
2199 mtr_add_arg($args, "--character-sets-dir=%s", $install_chsdir);
2200
2201- # On some old linux kernels, aio on tmpfs is not supported
2202- # Remove this if/when Bug #58421 fixes this in the server
2203- if ($^O eq "linux" && $opt_mem) {
2204- mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
2205- }
2206-
2207 # InnoDB arguments that affect file location and sizes may
2208 # need to be given to the bootstrap process as well as the
2209 # server process.
2210@@ -4742,6 +4736,10 @@
2211 qr|Access denied for user|,
2212 qr|Aborted connection|,
2213 qr|table.*is full|,
2214+ qr|Linux Native AIO|, # warning that aio does not work on /dev/shm
2215+ qr|Error: io_setup\(\) failed|,
2216+ qr|Warning: io_setup\(\) failed|,
2217+ qr|Warning: io_setup\(\) attempt|,
2218 );
2219
2220 my $matched_lines= [];
2221@@ -5245,13 +5243,6 @@
2222 mtr_add_arg($args, "--user=root");
2223 }
2224
2225- # On some old linux kernels, aio on tmpfs is not supported
2226- # Remove this if/when Bug #58421 fixes this in the server
2227- if ($^O eq "linux" && $opt_mem)
2228- {
2229- mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
2230- }
2231-
2232 if (!using_extern() and !$opt_user_args)
2233 {
2234 # Turn on logging to file
2235@@ -5292,6 +5283,7 @@
2236 }
2237 elsif ($plugin = mtr_match_prefix($arg, "--plugin-load="))
2238 {
2239+ next if $plugin =~ /=$/;
2240 push @plugins, $plugin unless $seen{$plugin};
2241 $seen{$plugin} = 1;
2242 }
2243@@ -6268,7 +6260,6 @@
2244 all generated configs
2245 combination=<opt> Use at least twice to run tests with specified
2246 options to mysqld
2247- skip-combinations Ignore combination file (or options)
2248
2249 Options to control directories to use
2250 tmpdir=DIR The directory where temporary files are stored
2251
2252=== added file 'mysql-test/r/adddate_454.result'
2253--- mysql-test/r/adddate_454.result 1970-01-01 00:00:00 +0000
2254+++ mysql-test/r/adddate_454.result 2012-09-13 19:00:35 +0000
2255@@ -0,0 +1,10 @@
2256+create table t1 (d date);
2257+insert into t1 values ('2012-00-00');
2258+select * from t1;
2259+d
2260+2012-00-00
2261+update t1 set d = adddate(d, interval 1 day);
2262+select * from t1;
2263+d
2264+NULL
2265+drop table t1;
2266
2267=== modified file 'mysql-test/r/auto_increment.result'
2268--- mysql-test/r/auto_increment.result 2011-03-08 17:39:25 +0000
2269+++ mysql-test/r/auto_increment.result 2012-09-13 19:00:35 +0000
2270@@ -516,3 +516,25 @@
2271 1
2272 18446744073709551614
2273 DROP TABLE t1;
2274+CREATE TABLE t1 (pk BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY (pk));
2275+insert into t1 values((1<<63)+1);
2276+insert into t1 values(null);
2277+select last_insert_id();
2278+last_insert_id()
2279+9223372036854775810
2280+select * from t1;
2281+pk
2282+9223372036854775809
2283+9223372036854775810
2284+drop table t1;
2285+CREATE TABLE t1 (pk BIGINT AUTO_INCREMENT, PRIMARY KEY (pk));
2286+insert into t1 values(-5);
2287+insert into t1 values(null);
2288+select last_insert_id();
2289+last_insert_id()
2290+1
2291+select * from t1;
2292+pk
2293+-5
2294+1
2295+drop table t1;
2296
2297=== added file 'mysql-test/r/bug12427262.result'
2298--- mysql-test/r/bug12427262.result 1970-01-01 00:00:00 +0000
2299+++ mysql-test/r/bug12427262.result 2012-09-13 19:00:35 +0000
2300@@ -0,0 +1,56 @@
2301+#
2302+# Bug#12427262 : 60961: SHOW TABLES VERY SLOW WHEN NOT IN SYSTEM DISK CACHE.
2303+#
2304+create database show_table_lw_db;
2305+use show_table_lw_db;
2306+create table t1 (c1 int);
2307+create table t2 (c1 int);
2308+create table t3 (c1 int);
2309+create table t4 (c1 int);
2310+create table t5 (c1 int);
2311+create table t6 (c1 int);
2312+create table t7 (c1 int);
2313+create table t8 (c1 int);
2314+create table t9 (c1 int);
2315+create table t10 (c1 int);
2316+select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME
2317+like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM'
2318+into @count_read_before;
2319+show tables;
2320+Tables_in_show_table_lw_db
2321+t1
2322+t10
2323+t2
2324+t3
2325+t4
2326+t5
2327+t6
2328+t7
2329+t8
2330+t9
2331+select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME
2332+like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM'
2333+into @count_read_after;
2334+select @count_read_after-@count_read_before;
2335+@count_read_after-@count_read_before
2336+0.000000000000000000000000000000
2337+show full tables;
2338+Tables_in_show_table_lw_db Table_type
2339+t1 BASE TABLE
2340+t10 BASE TABLE
2341+t2 BASE TABLE
2342+t3 BASE TABLE
2343+t4 BASE TABLE
2344+t5 BASE TABLE
2345+t6 BASE TABLE
2346+t7 BASE TABLE
2347+t8 BASE TABLE
2348+t9 BASE TABLE
2349+select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME
2350+like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM'
2351+into @count_read_after;
2352+select @count_read_after-@count_read_before;
2353+@count_read_after-@count_read_before
2354+10.000000000000000000000000000000
2355+drop table t1;
2356+drop database show_table_lw_db;
2357
2358=== modified file 'mysql-test/r/case.result'
2359--- mysql-test/r/case.result 2011-11-22 17:04:38 +0000
2360+++ mysql-test/r/case.result 2012-09-13 19:00:35 +0000
2361@@ -220,6 +220,10 @@
2362 3 11120436154190595086
2363 drop table t1, t2;
2364 End of 5.0 tests
2365+CREATE TABLE t1(a YEAR);
2366+SELECT 1 FROM t1 WHERE a=1 AND CASE 1 WHEN a THEN 1 ELSE 1 END;
2367+1
2368+DROP TABLE t1;
2369 create table t1 (f1 time);
2370 insert t1 values ('00:00:00'),('00:01:00');
2371 select case t1.f1 when '00:00:00' then 1 end from t1;
2372
2373=== modified file 'mysql-test/r/compare.result'
2374--- mysql-test/r/compare.result 2011-11-22 17:04:38 +0000
2375+++ mysql-test/r/compare.result 2012-09-13 19:00:35 +0000
2376@@ -96,3 +96,7 @@
2377 a
2378 DROP TABLE t1;
2379 End of 5.0 tests
2380+CREATE TABLE t1(a INT ZEROFILL);
2381+SELECT 1 FROM t1 WHERE t1.a IN (1, t1.a) AND t1.a=2;
2382+1
2383+DROP TABLE t1;
2384
2385=== modified file 'mysql-test/r/connect.result'
2386--- mysql-test/r/connect.result 2011-10-19 19:45:18 +0000
2387+++ mysql-test/r/connect.result 2012-09-13 19:00:35 +0000
2388@@ -257,3 +257,27 @@
2389 ERROR 28000: Access denied for user 'mysqltest_nouser'@'localhost' (using password: NO)
2390 DROP USER mysqltest_up1@'%';
2391 DROP USER mysqltest_up2@'%';
2392+#
2393+# BUG#1010351: New "via" keyword in 5.2+ can't be used as identifier anymore
2394+#
2395+create table t1 (via int);
2396+alter table t1 add key(via);
2397+drop table t1;
2398+create table t1 (col1 int);
2399+alter table t1 add via int not null;
2400+drop table t1;
2401+drop procedure if exists p1;
2402+create procedure p1(x int)
2403+foo: loop
2404+if x = 0 then
2405+leave foo;
2406+end if;
2407+select 'test';
2408+set x = x-1;
2409+end loop foo|
2410+call p1(2);
2411+test
2412+test
2413+test
2414+test
2415+drop procedure p1;
2416
2417=== modified file 'mysql-test/r/create-big.result'
2418--- mysql-test/r/create-big.result 2011-11-21 11:37:08 +0000
2419+++ mysql-test/r/create-big.result 2012-09-13 19:00:35 +0000
2420@@ -53,8 +53,8 @@
2421 create table t1 select 1 as i;;
2422 set debug_sync='now WAIT_FOR parked';
2423 alter table t3 rename to t1;
2424+set debug_sync='now SIGNAL go';
2425 ERROR 42S01: Table 't1' already exists
2426-set debug_sync='now SIGNAL go';
2427 show create table t1;
2428 Table Create Table
2429 t1 CREATE TABLE `t1` (
2430@@ -65,8 +65,8 @@
2431 create table t1 select 1 as i;;
2432 set debug_sync='now WAIT_FOR parked';
2433 alter table t3 rename to t1, add k int;
2434+set debug_sync='now SIGNAL go';
2435 ERROR 42S01: Table 't1' already exists
2436-set debug_sync='now SIGNAL go';
2437 show create table t1;
2438 Table Create Table
2439 t1 CREATE TABLE `t1` (
2440
2441=== modified file 'mysql-test/r/ctype_binary.result'
2442--- mysql-test/r/ctype_binary.result 2012-03-09 07:06:59 +0000
2443+++ mysql-test/r/ctype_binary.result 2012-09-13 19:00:35 +0000
2444@@ -2039,6 +2039,8 @@
2445 30303030303030303030303030303031303030302E31 00000000000000010000.1
2446 drop table t1;
2447 create table t1 (a year(2));
2448+Warnings:
2449+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2450 insert into t1 values (1);
2451 select hex(concat(a)) from t1;
2452 hex(concat(a))
2453@@ -2352,6 +2354,8 @@
2454 drop table t1;
2455 drop view v1;
2456 create table t1 (a year(2));
2457+Warnings:
2458+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2459 insert into t1 values (1);
2460 create view v1(a) as select concat(a) from t1;
2461 show columns from v1;
2462
2463=== modified file 'mysql-test/r/ctype_cp1251.result'
2464--- mysql-test/r/ctype_cp1251.result 2012-03-09 07:06:59 +0000
2465+++ mysql-test/r/ctype_cp1251.result 2012-09-13 19:00:35 +0000
2466@@ -2431,6 +2431,8 @@
2467 30303030303030303030303030303031303030302E31 00000000000000010000.1
2468 drop table t1;
2469 create table t1 (a year(2));
2470+Warnings:
2471+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2472 insert into t1 values (1);
2473 select hex(concat(a)) from t1;
2474 hex(concat(a))
2475@@ -2744,6 +2746,8 @@
2476 drop table t1;
2477 drop view v1;
2478 create table t1 (a year(2));
2479+Warnings:
2480+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2481 insert into t1 values (1);
2482 create view v1(a) as select concat(a) from t1;
2483 show columns from v1;
2484
2485=== modified file 'mysql-test/r/ctype_latin1.result'
2486--- mysql-test/r/ctype_latin1.result 2012-03-09 07:06:59 +0000
2487+++ mysql-test/r/ctype_latin1.result 2012-09-13 19:00:35 +0000
2488@@ -2458,6 +2458,8 @@
2489 30303030303030303030303030303031303030302E31 00000000000000010000.1
2490 drop table t1;
2491 create table t1 (a year(2));
2492+Warnings:
2493+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2494 insert into t1 values (1);
2495 select hex(concat(a)) from t1;
2496 hex(concat(a))
2497@@ -2771,6 +2773,8 @@
2498 drop table t1;
2499 drop view v1;
2500 create table t1 (a year(2));
2501+Warnings:
2502+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2503 insert into t1 values (1);
2504 create view v1(a) as select concat(a) from t1;
2505 show columns from v1;
2506
2507=== modified file 'mysql-test/r/ctype_ucs.result'
2508--- mysql-test/r/ctype_ucs.result 2012-04-10 06:28:13 +0000
2509+++ mysql-test/r/ctype_ucs.result 2012-09-13 19:00:35 +0000
2510@@ -3341,6 +3341,8 @@
2511 00300030003000300030003000300030003000300030003000300030003000310030003000300030002E0031 00000000000000010000.1
2512 drop table t1;
2513 create table t1 (a year(2));
2514+Warnings:
2515+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2516 insert into t1 values (1);
2517 select hex(concat(a)) from t1;
2518 hex(concat(a))
2519@@ -3654,6 +3656,8 @@
2520 drop table t1;
2521 drop view v1;
2522 create table t1 (a year(2));
2523+Warnings:
2524+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2525 insert into t1 values (1);
2526 create view v1(a) as select concat(a) from t1;
2527 show columns from v1;
2528
2529=== modified file 'mysql-test/r/ctype_utf32.result'
2530--- mysql-test/r/ctype_utf32.result 2012-02-29 20:55:04 +0000
2531+++ mysql-test/r/ctype_utf32.result 2012-09-13 19:00:35 +0000
2532@@ -1182,5 +1182,11 @@
2533 Warnings:
2534 Warning 1260 Row 1 was cut by GROUP_CONCAT()
2535 #
2536+# incorrect charset for val_str_ascii
2537+#
2538+SELECT '2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second;
2539+'2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second
2540+2010-10-10 10:10:10
2541+#
2542 # End of 5.5 tests
2543 #
2544
2545=== modified file 'mysql-test/r/ctype_utf8.result'
2546--- mysql-test/r/ctype_utf8.result 2012-04-07 13:58:46 +0000
2547+++ mysql-test/r/ctype_utf8.result 2012-09-13 19:00:35 +0000
2548@@ -4197,6 +4197,8 @@
2549 30303030303030303030303030303031303030302E31 00000000000000010000.1
2550 drop table t1;
2551 create table t1 (a year(2));
2552+Warnings:
2553+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2554 insert into t1 values (1);
2555 select hex(concat(a)) from t1;
2556 hex(concat(a))
2557@@ -4510,6 +4512,8 @@
2558 drop table t1;
2559 drop view v1;
2560 create table t1 (a year(2));
2561+Warnings:
2562+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2563 insert into t1 values (1);
2564 create view v1(a) as select concat(a) from t1;
2565 show columns from v1;
2566
2567=== added file 'mysql-test/r/datetime_456.result'
2568--- mysql-test/r/datetime_456.result 1970-01-01 00:00:00 +0000
2569+++ mysql-test/r/datetime_456.result 2012-09-13 19:00:35 +0000
2570@@ -0,0 +1,8 @@
2571+create table t1 (d datetime);
2572+insert t1 values (addtime('9999-12-31 23:59:59', '00:00:01')),
2573+(from_days(3652499));
2574+select * from t1;
2575+d
2576+NULL
2577+NULL
2578+drop table t1;
2579
2580=== modified file 'mysql-test/r/derived_opt.result'
2581--- mysql-test/r/derived_opt.result 2012-02-14 14:52:56 +0000
2582+++ mysql-test/r/derived_opt.result 2012-09-13 19:00:35 +0000
2583@@ -161,24 +161,24 @@
2584 execute stmt1 ;
2585 id select_type table type possible_keys key key_len ref rows Extra
2586 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2587-5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2588-4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2589-3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2590-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2591+5 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2592+4 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2593+3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2594+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2595 execute stmt1 ;
2596 id select_type table type possible_keys key key_len ref rows Extra
2597 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2598-5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2599-4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2600-3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2601-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2602+5 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2603+4 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2604+3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2605+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2606 explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.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 t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25;
2607 id select_type table type possible_keys key key_len ref rows Extra
2608 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2609-5 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2610-4 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2611-3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2612-2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2613+5 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2614+4 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2615+3 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2616+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2617 deallocate prepare stmt1;
2618 drop tables t1,t2;
2619 set @@optimizer_switch=@save_optimizer_switch;
2620
2621=== modified file 'mysql-test/r/derived_view.result'
2622--- mysql-test/r/derived_view.result 2012-05-21 18:54:41 +0000
2623+++ mysql-test/r/derived_view.result 2012-09-13 19:00:35 +0000
2624@@ -1682,12 +1682,11 @@
2625 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
2626 1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join)
2627 Warnings:
2628-Note 1003 select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and `test`.`t2`.`b`)
2629+Note 1003 select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (`test`.`t2`.`b` <> 0))
2630 SELECT t.b, t.c, t1.a
2631 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2632 WHERE t.b AND t.c = t1.a;
2633 b c a
2634-8 c c
2635 EXPLAIN EXTENDED
2636 SELECT t.b, t.c, t1.a
2637 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2638@@ -1702,7 +1701,6 @@
2639 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2640 WHERE t.b <> 0 AND t.c = t1.a;
2641 b c a
2642-8 c c
2643 INSERT INTO t3 VALUES (100), (200);
2644 EXPLAIN EXTENDED
2645 SELECT t.b, t.c, t1.a
2646@@ -1713,12 +1711,12 @@
2647 1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join)
2648 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where
2649 Warnings:
2650-Note 1003 select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`b` = `test`.`t2`.`a`)) where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and `test`.`t2`.`b`)
2651+Note 1003 select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` left join `test`.`t3` on((`test`.`t3`.`b` = `test`.`t2`.`a`)) where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (`test`.`t2`.`b` <> 0))
2652 SELECT t.b, t.c, t1.a
2653 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2654 WHERE t.b AND t.c = t1.a;
2655 b c a
2656-8 c c
2657+NULL NULL c
2658 EXPLAIN EXTENDED
2659 SELECT t.b, t.c, t1.a
2660 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2661@@ -1733,7 +1731,7 @@
2662 FROM t1, (SELECT t2.b, t2.c FROM t3 RIGHT JOIN t2 ON t2.a = t3.b) AS t
2663 WHERE t.b <> 0 AND t.c = t1.a;
2664 b c a
2665-8 c c
2666+NULL NULL c
2667 SET optimizer_switch=@save_optimizer_switch;
2668 DROP TABLE t1,t2,t3;
2669 #
2670
2671=== modified file 'mysql-test/r/errors.result'
2672--- mysql-test/r/errors.result 2012-05-21 18:54:41 +0000
2673+++ mysql-test/r/errors.result 2012-09-13 19:00:35 +0000
2674@@ -160,3 +160,11 @@
2675 INSERT INTO t2(a,b) VALUES (1,0) ON DUPLICATE KEY UPDATE
2676 b=(SELECT VALUES(a)+2 FROM t1);
2677 DROP TABLE t1, t2;
2678+#
2679+# MDEV-492: incorrect error check before sending OK in mysql_update
2680+#
2681+CREATE TABLE t1 (a CHAR(3), b BLOB);
2682+UPDATE t1 SET a = 'new'
2683+WHERE COLUMN_CREATE( 1, 'v', 1, 'w' ) IS NULL;
2684+ERROR 22007: Illegal value used as argument of dynamic column function
2685+drop table t1;
2686
2687=== modified file 'mysql-test/r/explain.result'
2688--- mysql-test/r/explain.result 2012-01-13 14:50:02 +0000
2689+++ mysql-test/r/explain.result 2012-09-13 19:00:35 +0000
2690@@ -225,10 +225,10 @@
2691 EXPLAIN EXTENDED SELECT (SELECT 1 FROM t2 WHERE d = c) FROM t1;
2692 id select_type table type possible_keys key key_len ref rows filtered Extra
2693 1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
2694-2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
2695+2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
2696 Warnings:
2697 Note 1276 Field or reference 'test.t1.c' of SELECT #2 was resolved in SELECT #1
2698-Note 1003 select <expr_cache><NULL>((select 1 from `test`.`t2` where (`test`.`t2`.`d` = NULL))) AS `(SELECT 1 FROM t2 WHERE d = c)` from dual
2699+Note 1003 select (select 1 from `test`.`t2` where (`test`.`t2`.`d` = NULL)) AS `(SELECT 1 FROM t2 WHERE d = c)` from dual
2700 DROP TABLE t1, t2;
2701 #
2702 # Bug#30302: Tables that were optimized away are printed in the
2703@@ -260,7 +260,7 @@
2704 EXPLAIN SELECT 1 FROM t1 WHERE a = (SELECT 1 FROM t1 t JOIN t2 WHERE b <= 1 AND t.a);
2705 id select_type table type possible_keys key key_len ref rows Extra
2706 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2707-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2708+2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table
2709 DROP TABLE t1, t2;
2710 #
2711 # Bug #48573: difference of index selection between rpm binary and
2712
2713=== added file 'mysql-test/r/features.result'
2714--- mysql-test/r/features.result 1970-01-01 00:00:00 +0000
2715+++ mysql-test/r/features.result 2012-09-13 19:00:35 +0000
2716@@ -0,0 +1,140 @@
2717+drop table if exists t1;
2718+show status like "feature%";
2719+Variable_name Value
2720+Feature_dynamic_columns 0
2721+Feature_fulltext 0
2722+Feature_gis 0
2723+Feature_locale 0
2724+Feature_subquery 0
2725+Feature_timezone 0
2726+Feature_trigger 0
2727+Feature_xml 0
2728+#
2729+# Feature GIS
2730+#
2731+CREATE TABLE t1 (g POINT);
2732+SHOW FIELDS FROM t1;
2733+Field Type Null Key Default Extra
2734+g point YES NULL
2735+INSERT INTO t1 VALUES
2736+(PointFromText('POINT(10 10)')),
2737+(PointFromText('POINT(20 10)')),
2738+(PointFromText('POINT(20 20)')),
2739+(PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
2740+drop table t1;
2741+show status like "feature_gis";
2742+Variable_name Value
2743+Feature_gis 3
2744+#
2745+# Feature dynamic columns
2746+#
2747+set @a= COLUMN_CREATE(1, 1212 AS int);
2748+set @b= column_add(@a, 2, 1212 as integer);
2749+select column_get(@b, 2 as integer);
2750+column_get(@b, 2 as integer)
2751+1212
2752+show status like "feature_dynamic_columns";
2753+Variable_name Value
2754+Feature_dynamic_columns 2
2755+#
2756+# Feature fulltext
2757+#
2758+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) engine=myisam;
2759+INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
2760+('Full-text indexes', 'are called collections'),
2761+('Only MyISAM tables','support collections'),
2762+('Function MATCH ... AGAINST()','is used to do a search'),
2763+('Full-text search in MySQL', 'implements vector space model');
2764+select * from t1 where MATCH(a,b) AGAINST ("collections");
2765+a b
2766+Only MyISAM tables support collections
2767+Full-text indexes are called collections
2768+select * from t1 where MATCH(a,b) AGAINST ("indexes");
2769+a b
2770+Full-text indexes are called collections
2771+drop table t1;
2772+show status like "feature_fulltext";
2773+Variable_name Value
2774+Feature_fulltext 2
2775+#
2776+# Feature locale
2777+#
2778+SET lc_messages=sr_RS;
2779+SET lc_messages=en_US;
2780+show status like "feature_locale";
2781+Variable_name Value
2782+Feature_locale 2
2783+#
2784+# Feature subquery
2785+#
2786+select (select 2);
2787+(select 2)
2788+2
2789+SELECT (SELECT 1) UNION SELECT (SELECT 2);
2790+(SELECT 1)
2791+1
2792+2
2793+create table t1 (a int);
2794+insert into t1 values (2);
2795+select (select a from t1 where t1.a=t2.a), a from t1 as t2;
2796+(select a from t1 where t1.a=t2.a) a
2797+2 2
2798+drop table t1;
2799+show status like "feature_subquery";
2800+Variable_name Value
2801+Feature_subquery 4
2802+#
2803+# Feature timezone
2804+#
2805+SELECT FROM_UNIXTIME(unix_timestamp()) > "1970-01-01";
2806+FROM_UNIXTIME(unix_timestamp()) > "1970-01-01"
2807+1
2808+set time_zone="+03:00";
2809+SELECT FROM_UNIXTIME(unix_timestamp()) > "1970-01-01";
2810+FROM_UNIXTIME(unix_timestamp()) > "1970-01-01"
2811+1
2812+set time_zone= @@global.time_zone;
2813+show status like "feature_timezone";
2814+Variable_name Value
2815+Feature_timezone 1
2816+#
2817+# Feature triggers
2818+#
2819+create table t1 (i int);
2820+# let us test some very simple trigger
2821+create trigger trg before insert on t1 for each row set @a:=1;
2822+set @a:=0;
2823+select @a;
2824+@a
2825+0
2826+insert into t1 values (1),(2);
2827+select @a;
2828+@a
2829+1
2830+SHOW TRIGGERS IN test like 't1';
2831+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
2832+trg INSERT t1 set @a:=1 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
2833+drop trigger trg;
2834+drop table t1;
2835+show status like "%trigger%";
2836+Variable_name Value
2837+Com_create_trigger 1
2838+Com_drop_trigger 1
2839+Com_show_create_trigger 0
2840+Com_show_triggers 1
2841+Executed_triggers 2
2842+Feature_trigger 2
2843+#
2844+# Feature xml
2845+#
2846+SET @xml='<a aa1="aa1" aa2="aa2">a1<b ba1="ba1">b1<c>c1</c>b2</b>a2</a>';
2847+SELECT extractValue(@xml,'/a');
2848+extractValue(@xml,'/a')
2849+a1 a2
2850+select updatexml('<div><div><span>1</span><span>2</span></div></div>',
2851+'/','<tr><td>1</td><td>2</td></tr>') as upd1;
2852+upd1
2853+<tr><td>1</td><td>2</td></tr>
2854+show status like "feature_xml";
2855+Variable_name Value
2856+Feature_xml 2
2857
2858=== modified file 'mysql-test/r/func_group.result'
2859--- mysql-test/r/func_group.result 2012-03-17 08:26:58 +0000
2860+++ mysql-test/r/func_group.result 2012-09-13 19:00:35 +0000
2861@@ -1527,6 +1527,8 @@
2862 # Bug#43668: Wrong comparison and MIN/MAX for YEAR(2)
2863 #
2864 create table t1 (f1 year(2), f2 year(4), f3 date, f4 datetime);
2865+Warnings:
2866+Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
2867 insert into t1 values
2868 (98,1998,19980101,"1998-01-01 00:00:00"),
2869 (00,2000,20000101,"2000-01-01 00:00:01"),
2870@@ -1838,7 +1840,7 @@
2871 1 PRIMARY t1 range a a 4 NULL 4 100.00 Using where; Using index
2872 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used
2873 Warnings:
2874-Note 1003 select max(`test`.`t1`.`a`) AS `MAX(a)` from `test`.`t1` where (<expr_cache><<cache>(1),<cache>(2)>(<in_optimizer>(<cache>((1,2)),<exists>(select 3,4 having (((1 = 3) or isnull(3)) and ((2 = 4) or isnull(4)) and <is_not_null_test>(3) and <is_not_null_test>(4))))) and (`test`.`t1`.`a` < 10))
2875+Note 1003 select max(`test`.`t1`.`a`) AS `MAX(a)` from `test`.`t1` where (<cache>(<in_optimizer>((1,2),<exists>(select 3,4 having (((1 = 3) or isnull(3)) and ((2 = 4) or isnull(4)) and <is_not_null_test>(3) and <is_not_null_test>(4))))) and (`test`.`t1`.`a` < 10))
2876 SELECT MAX(a) FROM t1 WHERE (1,2) IN (SELECT 3,4) AND a<10;
2877 MAX(a)
2878 NULL
2879
2880=== modified file 'mysql-test/r/func_group_innodb.result'
2881--- mysql-test/r/func_group_innodb.result 2012-05-21 18:54:41 +0000
2882+++ mysql-test/r/func_group_innodb.result 2012-09-13 19:00:35 +0000
2883@@ -146,19 +146,6 @@
2884 0 NULL NULL
2885 drop table t1m, t1i, t2m, t2i;
2886 #
2887-# Bug#13723054 CRASH WITH MIN/MAX AFTER QUICK_GROUP_MIN_MAX_SELECT::NEXT_MIN
2888-#
2889-CREATE TABLE t1(a BLOB, b VARCHAR(255) CHARSET LATIN1, c INT,
2890-KEY(b, c, a(765))) ENGINE=INNODB;
2891-INSERT INTO t1(a, b, c) VALUES ('', 'a', 0), ('', 'a', null), ('', 'a', 0);
2892-SELECT MIN(c) FROM t1 GROUP BY b;
2893-MIN(c)
2894-0
2895-EXPLAIN SELECT MIN(c) FROM t1 GROUP BY b;
2896-id select_type table type possible_keys key key_len ref rows Extra
2897-1 SIMPLE t1 range NULL b 263 NULL 4 Using index for group-by
2898-DROP TABLE t1;
2899-#
2900 # Bug #57954: BIT_AND function returns incorrect results when
2901 # semijoin=on
2902 CREATE TABLE c (
2903@@ -204,4 +191,44 @@
2904 BIT_XOR(t1.b)
2905 0
2906 DROP TABLE t1, t2;
2907+#
2908+# Bug#12713907: STRANGE OPTIMIZE & WRONG RESULT UNDER ORDER BY
2909+# COUNT(*) LIMIT.
2910+#
2911+CREATE TABLE t1 (
2912+id BIGINT(20) ,
2913+member_id_to INT(11) ,
2914+r_date DATE ,
2915+PRIMARY KEY (id,r_date),
2916+KEY r_date_idx (r_date),
2917+KEY t1_idx01 (member_id_to)
2918+) ENGINE=InnoDB;
2919+INSERT INTO t1 VALUES
2920+(107924526,518491,'2011-05-01'),
2921+(107924527,518491,'2011-05-01'),
2922+(107924534,518491,'2011-06-21'),
2923+(107924535,518491,'2011-06-21'),
2924+(107924542,1601319,'2011-06-21'),
2925+(107924543,1601319,'2011-06-21'),
2926+(107924544,1601319,'2011-06-21'),
2927+(107924545,1601319,'2011-06-21');
2928+SELECT member_id_to, COUNT(*) FROM t1 WHERE r_date =
2929+'2011-06-21' GROUP BY member_id_to ORDER BY 2 LIMIT 1;
2930+member_id_to COUNT(*)
2931+518491 2
2932+DROP TABLE t1;
2933+# End of test BUG#12713907
2934+#
2935+# Bug#13723054 CRASH WITH MIN/MAX AFTER QUICK_GROUP_MIN_MAX_SELECT::NEXT_MIN
2936+#
2937+CREATE TABLE t1(a BLOB, b VARCHAR(255) CHARSET LATIN1, c INT,
2938+KEY(b, c, a(765))) ENGINE=INNODB;
2939+INSERT INTO t1(a, b, c) VALUES ('', 'a', 0), ('', 'a', null), ('', 'a', 0);
2940+SELECT MIN(c) FROM t1 GROUP BY b;
2941+MIN(c)
2942+0
2943+EXPLAIN SELECT MIN(c) FROM t1 GROUP BY b;
2944+id select_type table type possible_keys key key_len ref rows Extra
2945+1 SIMPLE t1 range NULL b 263 NULL 4 Using index for group-by
2946+DROP TABLE t1;
2947 End of 5.5 tests
2948
2949=== modified file 'mysql-test/r/func_in.result'
2950--- mysql-test/r/func_in.result 2012-05-21 18:54:41 +0000
2951+++ mysql-test/r/func_in.result 2012-09-13 19:00:35 +0000
2952@@ -789,3 +789,26 @@
2953 # End of test BUG#13012483
2954 #
2955 End of 5.1 tests
2956+create table t1 (a bigint, b int);
2957+insert t1 values (1,1),(2,2),(3,3);
2958+select * from t1 where a in ('2.1');
2959+a b
2960+select * from t1 where b in ('2.1');
2961+a b
2962+select * from t1 where a='2.1';
2963+a b
2964+select * from t1 where b='2.1';
2965+a b
2966+select * from t1 where IF(1,a,a)='2.1';
2967+a b
2968+drop table t1;
2969+#
2970+# LP bug#992380 Crash when creating PS for a query with
2971+# subquery in WHERE (see also mysql bug#13012483)
2972+#
2973+CREATE TABLE t1 (a INT);
2974+PREPARE s FROM "SELECT 1 FROM t1 WHERE 1 < ALL (SELECT @:= (1 IN (SELECT 1 FROM t1)) FROM t1)";
2975+EXECUTE s;
2976+1
2977+DROP TABLE t1;
2978+# End of 5.3 tests
2979
2980=== modified file 'mysql-test/r/func_test.result'
2981--- mysql-test/r/func_test.result 2011-10-19 19:45:18 +0000
2982+++ mysql-test/r/func_test.result 2012-09-13 19:00:35 +0000
2983@@ -279,3 +279,44 @@
2984 SELECT GREATEST(1.5E+2,1.3E+2,NULL) FROM DUAL;
2985 GREATEST(1.5E+2,1.3E+2,NULL)
2986 NULL
2987+create table t1 (a int);
2988+insert into t1 values (1), (100), (0), (NULL);
2989+select not a from t1;
2990+not a
2991+0
2992+0
2993+1
2994+NULL
2995+explain extended select not a from t1;
2996+id select_type table type possible_keys key key_len ref rows filtered Extra
2997+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00
2998+Warnings:
2999+Note 1003 select (`test`.`t1`.`a` = 0) AS `not a` from `test`.`t1`
3000+select * from t1 where not a;
3001+a
3002+0
3003+explain extended select * from t1 where not a;
3004+id select_type table type possible_keys key key_len ref rows filtered Extra
3005+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where
3006+Warnings:
3007+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` = 0)
3008+select not (a+0) from t1;
3009+not (a+0)
3010+0
3011+0
3012+1
3013+NULL
3014+explain extended select not (a+0) from t1;
3015+id select_type table type possible_keys key key_len ref rows filtered Extra
3016+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00
3017+Warnings:
3018+Note 1003 select (not((`test`.`t1`.`a` + 0))) AS `not (a+0)` from `test`.`t1`
3019+select * from t1 where not (a+0);
3020+a
3021+0
3022+explain extended select * from t1 where not (a+0);
3023+id select_type table type possible_keys key key_len ref rows filtered Extra
3024+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where
3025+Warnings:
3026+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (not((`test`.`t1`.`a` + 0)))
3027+drop table t1;
3028
3029=== modified file 'mysql-test/r/func_time.result'
3030--- mysql-test/r/func_time.result 2012-05-04 05:16:38 +0000
3031+++ mysql-test/r/func_time.result 2012-09-13 19:00:35 +0000
3032@@ -1922,3 +1922,5 @@
3033 select microsecond('12:00:00.123456'), microsecond('2009-12-31 23:59:59.000010');
3034 microsecond('12:00:00.123456') microsecond('2009-12-31 23:59:59.000010')
3035 123456 10
3036+select now(258);
3037+ERROR 42000: Too big precision 258 specified for 'now'. Maximum is 6.
3038
3039=== modified file 'mysql-test/r/gis-rt-precise.result'
3040--- mysql-test/r/gis-rt-precise.result 2011-06-14 06:20:48 +0000
3041+++ mysql-test/r/gis-rt-precise.result 2012-09-13 19:00:35 +0000
3042@@ -20,7 +20,17 @@
3043 1 SIMPLE t1 range g g 34 NULL 8 Using where
3044 SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
3045 fid AsText(g)
3046+1 LINESTRING(150 150,150 150)
3047+3 LINESTRING(148 148,152 152)
3048+4 LINESTRING(147 147,153 153)
3049+5 LINESTRING(146 146,154 154)
3050+6 LINESTRING(145 145,155 155)
3051+7 LINESTRING(144 144,156 156)
3052+8 LINESTRING(143 143,157 157)
3053+9 LINESTRING(142 142,158 158)
3054+10 LINESTRING(141 141,159 159)
3055 11 LINESTRING(140 140,160 160)
3056+2 LINESTRING(149 149,151 151)
3057 DROP TABLE t1;
3058 CREATE TABLE t1 (
3059 fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
3060@@ -45,5 +55,8 @@
3061 SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g,
3062 GeomFromText('Polygon((40 40,60 40,60 60,40 40))'));
3063 fid AsText(g)
3064+46 LINESTRING(51 41,60 50)
3065+56 LINESTRING(41 41,50 50)
3066+45 LINESTRING(51 51,60 60)
3067 DROP TABLE t1;
3068 End of 5.5 tests.
3069
3070=== modified file 'mysql-test/r/gis-rtree.result'
3071--- mysql-test/r/gis-rtree.result 2012-01-13 14:50:02 +0000
3072+++ mysql-test/r/gis-rtree.result 2012-09-13 19:00:35 +0000
3073@@ -170,7 +170,17 @@
3074 1 SIMPLE t1 range g g 34 NULL 8 Using where
3075 SELECT fid, AsText(g) FROM t1 WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
3076 fid AsText(g)
3077+1 LINESTRING(150 150,150 150)
3078+3 LINESTRING(148 148,152 152)
3079+4 LINESTRING(147 147,153 153)
3080+5 LINESTRING(146 146,154 154)
3081+6 LINESTRING(145 145,155 155)
3082+7 LINESTRING(144 144,156 156)
3083+8 LINESTRING(143 143,157 157)
3084+9 LINESTRING(142 142,158 158)
3085+10 LINESTRING(141 141,159 159)
3086 11 LINESTRING(140 140,160 160)
3087+2 LINESTRING(149 149,151 151)
3088 DROP TABLE t1;
3089 CREATE TABLE t2 (
3090 fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
3091@@ -295,6 +305,10 @@
3092 SELECT fid, AsText(g) FROM t2 WHERE Within(g,
3093 GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'));
3094 fid AsText(g)
3095+46 LINESTRING(51 41,60 50)
3096+56 LINESTRING(41 41,50 50)
3097+45 LINESTRING(51 51,60 60)
3098+55 LINESTRING(41 51,50 60)
3099 DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10))));
3100 SELECT count(*) FROM t2;
3101 count(*)
3102
3103=== modified file 'mysql-test/r/gis.result'
3104--- mysql-test/r/gis.result 2012-05-21 18:54:41 +0000
3105+++ mysql-test/r/gis.result 2012-09-13 19:00:35 +0000
3106@@ -1428,6 +1428,29 @@
3107 count(*)
3108 1
3109 DROP DATABASE gis_ogs;
3110+#
3111+# BUG #1043845 st_distance() results are incorrect depending on variable order
3112+#
3113+select st_distance(geomfromtext('LINESTRING(-95.9673005697771 36.13509598461,
3114+ -95.9673057475387 36.1344478941074,
3115+ -95.9673063519371 36.134484524621,
3116+ -95.9673049102515 36.1343976584193)'),
3117+geomfromtext('point(-95.96269500000000000000 36.14181833333330000000)')) ;
3118+st_distance(geomfromtext('LINESTRING(-95.9673005697771 36.13509598461,
3119+ -95.9673057475387 36.1344478941074,
3120+ -95.9673063519371 36.134484524621,
3121+
3122+0.008148695928146028
3123+select st_distance(geomfromtext('point(-95.96269500000000000000 36.14181833333330000000)'),
3124+geomfromtext('LINESTRING(-95.9673005697771 36.13509598461,
3125+ -95.9673057475387 36.1344478941074,
3126+ -95.9673063519371 36.134484524621,
3127+ -95.9673049102515 36.1343976584193) ')) ;
3128+st_distance(geomfromtext('point(-95.96269500000000000000 36.14181833333330000000)'),
3129+geomfromtext('LINESTRING(-95.9673005697771 36.13509598461,
3130+ -95.9673057475387 36.1344478941074,
3131+ -95.9673063519371 36.
3132+0.008148695928146028
3133 USE test;
3134 #
3135 # BUG#12414917 - ISCLOSED() CRASHES ON 64-BIT BUILDS
3136
3137=== modified file 'mysql-test/r/group_min_max.result'
3138--- mysql-test/r/group_min_max.result 2012-03-01 22:22:22 +0000
3139+++ mysql-test/r/group_min_max.result 2012-09-13 19:00:35 +0000
3140@@ -2398,11 +2398,11 @@
3141 (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
3142 id select_type table type possible_keys key key_len ref rows Extra
3143 1 PRIMARY t1_outer index NULL a 10 NULL 15 Using index
3144-2 SUBQUERY t1 index NULL a 10 NULL 1 Using index
3145+2 SUBQUERY t1 index NULL a 10 NULL 15 Using index
3146 EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
3147 (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
3148 id select_type table type possible_keys key key_len ref rows Extra
3149-1 PRIMARY t1_outer index NULL a 10 NULL 15 Using index
3150+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
3151 2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
3152 EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
3153 a IN (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
3154@@ -2419,7 +2419,7 @@
3155 ON t1_outer1.a = (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2)
3156 AND t1_outer1.b = t1_outer2.b;
3157 id select_type table type possible_keys key key_len ref rows Extra
3158-1 PRIMARY t1_outer1 ref a a 5 const 2 Using where; Using index
3159+1 PRIMARY t1_outer1 ref a a 5 const 1 Using where; Using index
3160 1 PRIMARY t1_outer2 index NULL a 10 NULL 15 Using where; Using index; Using join buffer (flat, BNL join)
3161 2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
3162 EXPLAIN SELECT (SELECT (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) x
3163@@ -2756,7 +2756,7 @@
3164 EXPLAIN
3165 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3166 id select_type table type possible_keys key key_len ref rows Extra
3167-x x x x x x x x x Using where; Using index
3168+x x x x x x x x x Impossible WHERE noticed after reading const tables
3169 x x x x x x x x x Using where; Using index
3170 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3171 MIN( a )
3172@@ -2828,7 +2828,7 @@
3173 EXPLAIN
3174 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3175 id select_type table type possible_keys key key_len ref rows Extra
3176-x x x x x x x x x Using where; Using index
3177+x x x x x x x x x Impossible WHERE noticed after reading const tables
3178 x x x x x x x x x Using where; Using index
3179 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3180 MIN( a )
3181@@ -2907,7 +2907,7 @@
3182 EXPLAIN
3183 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3184 id select_type table type possible_keys key key_len ref rows Extra
3185-x x x x x x x x x Using where; Using index
3186+x x x x x x x x x Impossible WHERE noticed after reading const tables
3187 x x x x x x x x x Using where; Using index
3188 SELECT MIN( a ) FROM t1 WHERE a = (SELECT a FROM t1 WHERE a < 0);
3189 MIN( a )
3190
3191=== modified file 'mysql-test/r/index_merge_innodb.result'
3192--- mysql-test/r/index_merge_innodb.result 2012-02-21 19:51:56 +0000
3193+++ mysql-test/r/index_merge_innodb.result 2012-09-13 19:00:35 +0000
3194@@ -313,7 +313,7 @@
3195 update t1 set key2=key1,key3=key1;
3196 explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
3197 id select_type table type possible_keys key key_len ref rows Extra
3198-1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL 9 Using sort_union(i3,i2); Using where
3199+1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL REF Using sort_union(i3,i2); Using where
3200 select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
3201 key1 key2 key3
3202 31 31 31
3203@@ -654,7 +654,7 @@
3204 WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
3205 id select_type table type possible_keys key key_len ref rows Extra
3206 1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1 Using index
3207-2 DEPENDENT SUBQUERY t2 index_merge f2,f3 f3,f2 2,5 NULL 1 Using intersect(f3,f2); Using where; Using index
3208+2 SUBQUERY t2 index_merge f2,f3 f3,f2 2,5 NULL 1 Using intersect(f3,f2); Using where; Using index
3209 DROP TABLE t1,t2;
3210 #
3211 # BUG#56862/640419: Wrong result with sort_union index merge when one
3212@@ -745,4 +745,51 @@
3213 id select_type table type possible_keys key key_len ref rows Extra
3214 1 SIMPLE t1 ref i,v i 5 const 2 Using where
3215 DROP TABLE t1;
3216+#
3217+# BUG#1006164: Multi-table DELETE that uses innodb + index_merge/intersect may fail to delete rows
3218+#
3219+create table t0(a int);
3220+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
3221+create table t1 (
3222+pk int auto_increment,
3223+zone_id int,
3224+modified tinyint,
3225+primary key(pk),
3226+key (zone_id),
3227+key (modified)
3228+) engine=innodb;
3229+insert into t1 (zone_id, modified) select 0,0 from t0 A, t0 B, t0 C, t0 D;
3230+update t1 set zone_id=487, modified=9 where pk=7259;
3231+update t1 set zone_id=487, modified=9 where pk=7260;
3232+update t1 set zone_id=830, modified=9 where pk=8434;
3233+update t1 set zone_id=830, modified=9 where pk=8435;
3234+update t1 set zone_id=830, modified=9 where pk=8436;
3235+update t1 set zone_id=830, modified=9 where pk=8437;
3236+select * from t1 where t1.zone_id=830 AND modified=9;
3237+pk zone_id modified
3238+8434 830 9
3239+8435 830 9
3240+8436 830 9
3241+8437 830 9
3242+begin;
3243+DELETE t1 FROM t1 WHERE t1.zone_id=830 AND modified=9;
3244+commit;
3245+select * from t1 where t1.zone_id=830 AND modified=9;
3246+pk zone_id modified
3247+drop table t0, t1;
3248+#
3249+# MDEV-376: Wrong result (missing rows) with index_merge+index_merge_intersection, join
3250+#
3251+CREATE TABLE t1 (
3252+a INT, b CHAR(1), c CHAR(1), KEY(a), KEY(b)
3253+) ENGINE=InnoDB;
3254+INSERT INTO t1 VALUES (8,'v','v'),(8,'m','m'),(9,'d','d');
3255+SELECT ta.* FROM t1 AS ta, t1 AS tb
3256+WHERE ( tb.b != ta.b OR tb.a = ta.a )
3257+AND ( tb.b = ta.c OR tb.b = ta.b );
3258+a b c
3259+8 v v
3260+8 m m
3261+9 d d
3262+DROP TABLE t1;
3263 set optimizer_switch= @optimizer_switch_save;
3264
3265=== modified file 'mysql-test/r/index_merge_myisam.result'
3266--- mysql-test/r/index_merge_myisam.result 2012-02-15 17:08:08 +0000
3267+++ mysql-test/r/index_merge_myisam.result 2012-09-13 19:00:35 +0000
3268@@ -1146,7 +1146,7 @@
3269 update t1 set key2=key1,key3=key1;
3270 explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
3271 id select_type table type possible_keys key key_len ref rows Extra
3272-1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL 11 Using sort_union(i3,i2); Using where
3273+1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL REF Using sort_union(i3,i2); Using where
3274 select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
3275 key1 key2 key3
3276 31 31 31
3277@@ -1487,7 +1487,7 @@
3278 WHERE (SELECT COUNT(*) FROM t2 WHERE t2.f3 = 'h' AND t2.f2 = t1.f1) = 0 AND t1.f1 = 2;
3279 id select_type table type possible_keys key key_len ref rows Extra
3280 1 PRIMARY t1 system PRIMARY NULL NULL NULL 1
3281-2 DEPENDENT SUBQUERY t2 ref f2,f3 f2 5 const 1 Using where
3282+2 SUBQUERY t2 ref f2,f3 f2 5 const 1 Using where
3283 DROP TABLE t1,t2;
3284 create table t0 (a int);
3285 insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
3286
3287=== modified file 'mysql-test/r/innodb_icp.result'
3288--- mysql-test/r/innodb_icp.result 2012-04-17 18:25:03 +0000
3289+++ mysql-test/r/innodb_icp.result 2012-09-13 19:00:35 +0000
3290@@ -835,6 +835,22 @@
3291 Handler_icp_attempts 2
3292 Handler_icp_match 1
3293 DROP TABLE t1;
3294+create table t1 (a int,b char(5),primary key (a), key (b(1)));
3295+insert into t1 values ('a','b');
3296+Warnings:
3297+Warning 1366 Incorrect integer value: 'a' for column 'a' at row 1
3298+select 1 from t1 where a and b >= 'aa';
3299+1
3300+drop table t1;
3301+#
3302+# Bug#58015 "Assert in row_sel_field_store_in_mysql_format
3303+# when running innodb_mrr_icp test"
3304+#
3305+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
3306+insert into t1 values ('',1);
3307+select 1 from t1 where b <= 1 and a <> '';
3308+1
3309+drop table t1;
3310 #
3311 # BUG#920132: Assert trx->n_active_thrs == 1 failed at que0que.c line 1050
3312 #
3313
3314=== modified file 'mysql-test/r/join_outer.result'
3315--- mysql-test/r/join_outer.result 2012-05-21 18:54:41 +0000
3316+++ mysql-test/r/join_outer.result 2012-09-13 19:00:35 +0000
3317@@ -1895,10 +1895,10 @@
3318 SELECT t2.a FROM t1 LEFT JOIN t2 ON (6) IN (SELECT a FROM t3);
3319 id select_type table type possible_keys key key_len ref rows filtered Extra
3320 1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
3321-1 PRIMARY t2 ALL NULL NULL NULL NULL 1 100.00 Using where
3322-2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
3323+1 PRIMARY t2 system NULL NULL NULL NULL 1 100.00
3324+2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
3325 Warnings:
3326-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where 1
3327+Note 1003 select NULL AS `a` from `test`.`t2` where 1
3328 DROP TABLE t1,t2,t3;
3329 #
3330 # LP bug #817384 Wrong result with outer join + subquery in ON
3331
3332=== modified file 'mysql-test/r/join_outer_jcl6.result'
3333--- mysql-test/r/join_outer_jcl6.result 2012-05-21 18:54:41 +0000
3334+++ mysql-test/r/join_outer_jcl6.result 2012-09-13 19:00:35 +0000
3335@@ -1906,10 +1906,10 @@
3336 SELECT t2.a FROM t1 LEFT JOIN t2 ON (6) IN (SELECT a FROM t3);
3337 id select_type table type possible_keys key key_len ref rows filtered Extra
3338 1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
3339-1 PRIMARY t2 ALL NULL NULL NULL NULL 1 100.00 Using where
3340-2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
3341+1 PRIMARY t2 system NULL NULL NULL NULL 1 100.00
3342+2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
3343 Warnings:
3344-Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where 1
3345+Note 1003 select NULL AS `a` from `test`.`t2` where 1
3346 DROP TABLE t1,t2,t3;
3347 #
3348 # LP bug #817384 Wrong result with outer join + subquery in ON
3349
3350=== modified file 'mysql-test/r/key.result'
3351--- mysql-test/r/key.result 2011-10-19 19:45:18 +0000
3352+++ mysql-test/r/key.result 2012-09-13 19:00:35 +0000
3353@@ -598,7 +598,7 @@
3354 EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
3355 (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
3356 id select_type table type possible_keys key key_len ref rows Extra
3357-1 PRIMARY t1_outer index NULL a 10 NULL 15 Using index
3358+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
3359 2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
3360 SELECT 1 as RES FROM t1 AS t1_outer WHERE
3361 (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
3362
3363=== added file 'mysql-test/r/last_value.result'
3364--- mysql-test/r/last_value.result 1970-01-01 00:00:00 +0000
3365+++ mysql-test/r/last_value.result 2012-09-13 19:00:35 +0000
3366@@ -0,0 +1,73 @@
3367+drop table if exists t1;
3368+drop database if exists mysqltest;
3369+CREATE TABLE t1 (a INT, b INT, c INT, d INT);
3370+INSERT INTO t1 VALUES (1,3,0,NULL),(2,2,0,NULL),(3,4,0,NULL),(4,2,0,NULL);
3371+SELECT * FROM t1;
3372+a b c d
3373+1 3 0 NULL
3374+2 2 0 NULL
3375+3 4 0 NULL
3376+4 2 0 NULL
3377+UPDATE t1 SET c=LAST_VALUE(@last_a:=a,@last_b:=b,@last_c:=c,1), d=4211 WHERE c=0 ORDER BY b DESC LIMIT 1;
3378+SELECT @last_a, @last_b, @last_c;
3379+@last_a @last_b @last_c
3380+3 4 0
3381+SELECT * FROM t1;
3382+a b c d
3383+1 3 0 NULL
3384+2 2 0 NULL
3385+3 4 1 4211
3386+4 2 0 NULL
3387+DROP TABLE t1;
3388+SELECT LAST_VALUE(@last_a:=1,@last_b:=1);
3389+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3390+def LAST_VALUE(@last_a:=1,@last_b:=1) 8 1 1 N 32897 0 63
3391+LAST_VALUE(@last_a:=1,@last_b:=1)
3392+1
3393+select @last_b;
3394+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3395+def @last_b 8 20 1 Y 32896 0 63
3396+@last_b
3397+1
3398+SELECT LAST_VALUE(@last_a:=1,@last_b:=1.0);
3399+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3400+def LAST_VALUE(@last_a:=1,@last_b:=1.0) 246 4 3 N 32897 1 63
3401+LAST_VALUE(@last_a:=1,@last_b:=1.0)
3402+1.0
3403+select @last_b;
3404+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3405+def @last_b 246 83 3 Y 32896 30 63
3406+@last_b
3407+1.0
3408+SELECT LAST_VALUE(@last_a:=1,@last_b:="hello");
3409+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3410+def LAST_VALUE(@last_a:=1,@last_b:="hello") 253 5 5 N 1 31 8
3411+LAST_VALUE(@last_a:=1,@last_b:="hello")
3412+hello
3413+select @last_b;
3414+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3415+def @last_b 250 16777215 5 Y 0 31 8
3416+@last_b
3417+hello
3418+SELECT date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03"));
3419+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3420+def date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03")) 10 10 10 Y 128 0 63
3421+date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03"))
3422+2001-02-03
3423+select @last_b;
3424+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3425+def @last_b 250 16777215 10 Y 0 31 8
3426+@last_b
3427+2001-02-03
3428+SELECT LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL);
3429+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3430+def LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL) 6 0 0 Y 32896 0 63
3431+LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL)
3432+NULL
3433+select @last_b;
3434+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
3435+def @last_b 250 16777215 10 Y 0 31 8
3436+@last_b
3437+2001-02-03
3438+SELECT LAST_VALUE();
3439+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
3440
3441=== added file 'mysql-test/r/mdev316.result'
3442--- mysql-test/r/mdev316.result 1970-01-01 00:00:00 +0000
3443+++ mysql-test/r/mdev316.result 2012-09-13 19:00:35 +0000
3444@@ -0,0 +1,22 @@
3445+set names swe7;
3446+select '' in ('',convert(0,time));
3447+'' in ('',convert(0,time))
3448+1
3449+select case '' when '' then 1 when convert(0,time) then 2 end;
3450+case '' when '' then 1 when convert(0,time) then 2 end
3451+1
3452+select convert(0x0030 using ucs2) div 1, concat(convert(0x0030 using ucs2)) div 1;
3453+convert(0x0030 using ucs2) div 1 concat(convert(0x0030 using ucs2)) div 1
3454+0 0
3455+select cast(convert(0x0030 using ucs2) as double), cast(concat(convert(0x0030 using ucs2)) as double);
3456+cast(convert(0x0030 using ucs2) as double) cast(concat(convert(0x0030 using ucs2)) as double)
3457+0 0
3458+select cast(convert(0x0030 using ucs2) as decimal(5.2)), cast(concat(convert(0x0030 using ucs2)) as decimal(5.2));
3459+cast(convert(0x0030 using ucs2) as decimal(5.2)) cast(concat(convert(0x0030 using ucs2)) as decimal(5.2))
3460+0 0
3461+select cast(convert(_ucs2 0x0030 using latin1) as date), cast(concat(convert(_ucs2 0x0030 using latin1)) as date);
3462+cast(convert(_ucs2 0x0030 using latin1) as date) cast(concat(convert(_ucs2 0x0030 using latin1)) as date)
3463+NULL NULL
3464+Warnings:
3465+Warning 1292 Incorrect datetime value: '0'
3466+Warning 1292 Incorrect datetime value: '0'
3467
3468=== added file 'mysql-test/r/mdev375.result'
3469--- mysql-test/r/mdev375.result 1970-01-01 00:00:00 +0000
3470+++ mysql-test/r/mdev375.result 2012-09-13 19:00:35 +0000
3471@@ -0,0 +1,14 @@
3472+SET GLOBAL log_warnings=4;
3473+SET GLOBAL max_connections=2;
3474+SELECT 1;
3475+1
3476+1
3477+SELECT 2;
3478+2
3479+2
3480+ERROR HY000: Too many connections
3481+SELECT 0;
3482+0
3483+0
3484+SET GLOBAL log_warnings=default;
3485+SET GLOBAL max_connections=default;
3486
3487=== modified file 'mysql-test/r/myisam_icp.result'
3488--- mysql-test/r/myisam_icp.result 2012-04-17 18:25:03 +0000
3489+++ mysql-test/r/myisam_icp.result 2012-09-13 19:00:35 +0000
3490@@ -165,7 +165,7 @@
3491 ORDER BY ts DESC
3492 LIMIT 2;
3493 id select_type table type possible_keys key key_len ref rows Extra
3494-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using index condition
3495+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using where
3496
3497 DROP TABLE t1;
3498 #
3499@@ -839,6 +839,22 @@
3500 Handler_icp_attempts 2
3501 Handler_icp_match 1
3502 DROP TABLE t1;
3503+create table t1 (a int,b char(5),primary key (a), key (b(1)));
3504+insert into t1 values ('a','b');
3505+Warnings:
3506+Warning 1366 Incorrect integer value: 'a' for column 'a' at row 1
3507+select 1 from t1 where a and b >= 'aa';
3508+1
3509+drop table t1;
3510+#
3511+# Bug#58015 "Assert in row_sel_field_store_in_mysql_format
3512+# when running innodb_mrr_icp test"
3513+#
3514+create table t1 (a char(2) charset utf8,b double, primary key (a(1)),key (b));
3515+insert into t1 values ('',1);
3516+select 1 from t1 where b <= 1 and a <> '';
3517+1
3518+drop table t1;
3519 drop table if exists t0, t1, t1i, t1m;
3520 #
3521 # BUG#826935 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed
3522@@ -914,4 +930,23 @@
3523 Warning 1292 Truncated incorrect DOUBLE value: 'c'
3524 SET optimizer_switch=@save_optimizer_switch;
3525 DROP TABLE t1,t2,t3,t4;
3526+#
3527+# BUG#1000051: Query with simple join and ORDER BY takes thousands times longer when run with ICP
3528+#
3529+create table t0 (a int);
3530+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
3531+create table t1 (a int, col int, filler char(100), key(a, col));
3532+insert into t1 select A.a + 10*B.a, 1234, 'filler' from t0 A, t0 B, t0 C;
3533+set @tmp_10000051= @@optimizer_switch;
3534+set optimizer_switch='mrr=off';
3535+# Must not use ICP:
3536+explain select * from t1 where a between 5 and 8 order by a desc, col desc;
3537+id select_type table type possible_keys key key_len ref rows Extra
3538+1 SIMPLE t1 range a a 5 NULL 39 Using where
3539+set optimizer_switch= @tmp_10000051;
3540+# Must not use ICP:
3541+explain select * from t1 where a=3 and col > 500 order by a desc, col desc;
3542+id select_type table type possible_keys key key_len ref rows Extra
3543+1 SIMPLE t1 range a a 10 NULL 10 Using where
3544+drop table t0, t1;
3545 set optimizer_switch=@myisam_icp_tmp;
3546
3547=== modified file 'mysql-test/r/myisam_mrr.result'
3548--- mysql-test/r/myisam_mrr.result 2012-02-25 15:13:24 +0000
3549+++ mysql-test/r/myisam_mrr.result 2012-09-13 19:00:35 +0000
3550@@ -349,10 +349,10 @@
3551 GROUP BY t2.pk
3552 );
3553 id select_type table type possible_keys key key_len ref rows filtered Extra
3554-1 PRIMARY t1 system NULL NULL NULL NULL 1 100.00
3555+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
3556 2 SUBQUERY t2 ref int_key int_key 5 const 1 100.00 Using index condition
3557 Warnings:
3558-Note 1003 select min(1) AS `MIN(t1.pk)` from dual where exists(select `test`.`t2`.`pk` from `test`.`t2` where isnull(`test`.`t2`.`int_key`))
3559+Note 1003 select min(`test`.`t1`.`pk`) AS `MIN(t1.pk)` from `test`.`t1` where 0
3560 DROP TABLE t1, t2;
3561 #
3562 # BUG#42048 Discrepancy between MyISAM and Maria's ICP implementation
3563
3564=== modified file 'mysql-test/r/mysqlbinlog-innodb.result'
3565--- mysql-test/r/mysqlbinlog-innodb.result 2011-10-19 19:45:18 +0000
3566+++ mysql-test/r/mysqlbinlog-innodb.result 2012-09-13 19:00:35 +0000
3567@@ -34,7 +34,7 @@
3568 SET @@session.collation_database=DEFAULT/*!*/;
3569 BEGIN
3570 /*!*/;
3571-use test/*!*/;
3572+use `test`/*!*/;
3573 SET TIMESTAMP=1000000000/*!*/;
3574 INSERT INTO t1 VALUES (1)
3575 /*!*/;
3576@@ -65,7 +65,7 @@
3577 SET @@session.collation_database=DEFAULT/*!*/;
3578 BEGIN
3579 /*!*/;
3580-use foo/*!*/;
3581+use `foo`/*!*/;
3582 SET TIMESTAMP=1000000000/*!*/;
3583 INSERT INTO t1 VALUES (1)
3584 /*!*/;
3585
3586=== modified file 'mysql-test/r/mysqlbinlog.result'
3587--- mysql-test/r/mysqlbinlog.result 2011-10-19 19:45:18 +0000
3588+++ mysql-test/r/mysqlbinlog.result 2012-09-13 19:00:35 +0000
3589@@ -18,7 +18,7 @@
3590 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3591 DELIMITER /*!*/;
3592 ROLLBACK/*!*/;
3593-use test/*!*/;
3594+use `test`/*!*/;
3595 SET TIMESTAMP=1000000000/*!*/;
3596 SET @@session.pseudo_thread_id=999999999/*!*/;
3597 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3598@@ -111,7 +111,7 @@
3599 SET @@session.collation_database=DEFAULT/*!*/;
3600 BEGIN
3601 /*!*/;
3602-use test/*!*/;
3603+use `test`/*!*/;
3604 SET TIMESTAMP=1000000000/*!*/;
3605 LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
3606 /*!*/;
3607@@ -202,7 +202,7 @@
3608 SET @@session.collation_database=DEFAULT/*!*/;
3609 BEGIN
3610 /*!*/;
3611-use test/*!*/;
3612+use `test`/*!*/;
3613 SET TIMESTAMP=1000000000/*!*/;
3614 insert into t1 values ("Alas")
3615 /*!*/;
3616@@ -219,7 +219,7 @@
3617 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3618 DELIMITER /*!*/;
3619 ROLLBACK/*!*/;
3620-use test/*!*/;
3621+use `test`/*!*/;
3622 SET TIMESTAMP=1000000000/*!*/;
3623 SET @@session.pseudo_thread_id=999999999/*!*/;
3624 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3625@@ -312,7 +312,7 @@
3626 SET @@session.collation_database=DEFAULT/*!*/;
3627 BEGIN
3628 /*!*/;
3629-use test/*!*/;
3630+use `test`/*!*/;
3631 SET TIMESTAMP=1000000000/*!*/;
3632 LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
3633 /*!*/;
3634@@ -403,7 +403,7 @@
3635 SET @@session.collation_database=DEFAULT/*!*/;
3636 BEGIN
3637 /*!*/;
3638-use test/*!*/;
3639+use `test`/*!*/;
3640 SET TIMESTAMP=1000000000/*!*/;
3641 insert into t1 values ("Alas")
3642 /*!*/;
3643@@ -427,7 +427,7 @@
3644 SET @@session.collation_database=DEFAULT/*!*/;
3645 BEGIN
3646 /*!*/;
3647-use test/*!*/;
3648+use `test`/*!*/;
3649 SET TIMESTAMP=1108844555/*!*/;
3650 insert t1 values (1)
3651 /*!*/;
3652@@ -445,7 +445,7 @@
3653 SET @@session.collation_database=DEFAULT/*!*/;
3654 BEGIN
3655 /*!*/;
3656-use test/*!*/;
3657+use `test`/*!*/;
3658 SET TIMESTAMP=1108844555/*!*/;
3659 insert t1 values (1)
3660 /*!*/;
3661@@ -498,7 +498,7 @@
3662 /*!40019 SET @@session.max_insert_delayed_threads=0*/;
3663 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3664 DELIMITER /*!*/;
3665-use test/*!*/;
3666+use `test`/*!*/;
3667 SET TIMESTAMP=1000000000/*!*/;
3668 SET @@session.pseudo_thread_id=999999999/*!*/;
3669 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3670@@ -548,7 +548,7 @@
3671 /*!40019 SET @@session.max_insert_delayed_threads=0*/;
3672 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3673 DELIMITER /*!*/;
3674-use test/*!*/;
3675+use `test`/*!*/;
3676 SET TIMESTAMP=1000000000/*!*/;
3677 SET @@session.pseudo_thread_id=999999999/*!*/;
3678 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3679@@ -725,7 +725,7 @@
3680 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3681 DELIMITER /*!*/;
3682 ROLLBACK/*!*/;
3683-use test/*!*/;
3684+use `test`/*!*/;
3685 SET TIMESTAMP=1253783037/*!*/;
3686 SET @@session.pseudo_thread_id=999999999/*!*/;
3687 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3688@@ -825,7 +825,7 @@
3689 SET TIMESTAMP=1266652094/*!*/;
3690 SavePoint mixed_cases
3691 /*!*/;
3692-use db1/*!*/;
3693+use `db1`/*!*/;
3694 SET TIMESTAMP=1266652094/*!*/;
3695 INSERT INTO db1.t2 VALUES("in savepoint mixed_cases")
3696 /*!*/;
3697
3698=== modified file 'mysql-test/r/mysqlbinlog2.result'
3699--- mysql-test/r/mysqlbinlog2.result 2010-01-07 15:39:11 +0000
3700+++ mysql-test/r/mysqlbinlog2.result 2012-09-13 19:00:35 +0000
3701@@ -19,7 +19,7 @@
3702 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3703 DELIMITER /*!*/;
3704 ROLLBACK/*!*/;
3705-use test/*!*/;
3706+use `test`/*!*/;
3707 SET TIMESTAMP=1579609942/*!*/;
3708 SET @@session.pseudo_thread_id=999999999/*!*/;
3709 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3710@@ -103,7 +103,7 @@
3711 BEGIN
3712 /*!*/;
3713 SET INSERT_ID=1/*!*/;
3714-use test/*!*/;
3715+use `test`/*!*/;
3716 SET TIMESTAMP=1579609942/*!*/;
3717 insert into t1 values(null, "a")
3718 /*!*/;
3719@@ -172,7 +172,7 @@
3720 BEGIN
3721 /*!*/;
3722 SET INSERT_ID=3/*!*/;
3723-use test/*!*/;
3724+use `test`/*!*/;
3725 SET TIMESTAMP=1579609944/*!*/;
3726 insert into t1 values(null, "c")
3727 /*!*/;
3728@@ -209,7 +209,7 @@
3729 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3730 DELIMITER /*!*/;
3731 ROLLBACK/*!*/;
3732-use test/*!*/;
3733+use `test`/*!*/;
3734 SET TIMESTAMP=1579609942/*!*/;
3735 SET @@session.pseudo_thread_id=999999999/*!*/;
3736 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3737@@ -263,7 +263,7 @@
3738 BEGIN
3739 /*!*/;
3740 SET INSERT_ID=3/*!*/;
3741-use test/*!*/;
3742+use `test`/*!*/;
3743 SET TIMESTAMP=1579609944/*!*/;
3744 insert into t1 values(null, "c")
3745 /*!*/;
3746@@ -289,7 +289,7 @@
3747 BEGIN
3748 /*!*/;
3749 SET INSERT_ID=3/*!*/;
3750-use test/*!*/;
3751+use `test`/*!*/;
3752 SET TIMESTAMP=1579609944/*!*/;
3753 insert into t1 values(null, "c")
3754 /*!*/;
3755@@ -326,7 +326,7 @@
3756 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3757 DELIMITER /*!*/;
3758 ROLLBACK/*!*/;
3759-use test/*!*/;
3760+use `test`/*!*/;
3761 SET TIMESTAMP=1579609942/*!*/;
3762 SET @@session.pseudo_thread_id=999999999/*!*/;
3763 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3764@@ -369,7 +369,7 @@
3765 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3766 DELIMITER /*!*/;
3767 ROLLBACK/*!*/;
3768-use test/*!*/;
3769+use `test`/*!*/;
3770 SET TIMESTAMP=1579609942/*!*/;
3771 SET @@session.pseudo_thread_id=999999999/*!*/;
3772 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3773@@ -445,7 +445,7 @@
3774 BEGIN
3775 /*!*/;
3776 SET INSERT_ID=6/*!*/;
3777-use test/*!*/;
3778+use `test`/*!*/;
3779 SET TIMESTAMP=1579609943/*!*/;
3780 insert into t1 values(null, "f")
3781 /*!*/;
3782@@ -474,7 +474,7 @@
3783 BEGIN
3784 /*!*/;
3785 SET INSERT_ID=1/*!*/;
3786-use test/*!*/;
3787+use `test`/*!*/;
3788 SET TIMESTAMP=1579609942/*!*/;
3789 insert into t1 values(null, "a")
3790 /*!*/;
3791@@ -535,7 +535,7 @@
3792 BEGIN
3793 /*!*/;
3794 SET INSERT_ID=6/*!*/;
3795-use test/*!*/;
3796+use `test`/*!*/;
3797 SET TIMESTAMP=1579609943/*!*/;
3798 insert into t1 values(null, "f")
3799 /*!*/;
3800@@ -564,7 +564,7 @@
3801 BEGIN
3802 /*!*/;
3803 SET INSERT_ID=3/*!*/;
3804-use test/*!*/;
3805+use `test`/*!*/;
3806 SET TIMESTAMP=1579609944/*!*/;
3807 insert into t1 values(null, "c")
3808 /*!*/;
3809@@ -605,7 +605,7 @@
3810 BEGIN
3811 /*!*/;
3812 SET INSERT_ID=6/*!*/;
3813-use test/*!*/;
3814+use `test`/*!*/;
3815 SET TIMESTAMP=1579609943/*!*/;
3816 insert into t1 values(null, "f")
3817 /*!*/;
3818@@ -622,7 +622,7 @@
3819 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3820 DELIMITER /*!*/;
3821 ROLLBACK/*!*/;
3822-use test/*!*/;
3823+use `test`/*!*/;
3824 SET TIMESTAMP=1579609942/*!*/;
3825 SET @@session.pseudo_thread_id=999999999/*!*/;
3826 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3827@@ -720,7 +720,7 @@
3828 BEGIN
3829 /*!*/;
3830 SET INSERT_ID=3/*!*/;
3831-use test/*!*/;
3832+use `test`/*!*/;
3833 SET TIMESTAMP=1579609944/*!*/;
3834 insert into t1 values(null, "c")
3835 /*!*/;
3836@@ -761,7 +761,7 @@
3837 BEGIN
3838 /*!*/;
3839 SET INSERT_ID=6/*!*/;
3840-use test/*!*/;
3841+use `test`/*!*/;
3842 SET TIMESTAMP=1579609943/*!*/;
3843 insert into t1 values(null, "f")
3844 /*!*/;
3845@@ -778,7 +778,7 @@
3846 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3847 DELIMITER /*!*/;
3848 ROLLBACK/*!*/;
3849-use test/*!*/;
3850+use `test`/*!*/;
3851 SET TIMESTAMP=1579609942/*!*/;
3852 SET @@session.pseudo_thread_id=999999999/*!*/;
3853 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3854@@ -820,7 +820,7 @@
3855 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3856 DELIMITER /*!*/;
3857 ROLLBACK/*!*/;
3858-use test/*!*/;
3859+use `test`/*!*/;
3860 SET TIMESTAMP=1579609942/*!*/;
3861 SET @@session.pseudo_thread_id=999999999/*!*/;
3862 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3863@@ -904,7 +904,7 @@
3864 BEGIN
3865 /*!*/;
3866 SET INSERT_ID=1/*!*/;
3867-use test/*!*/;
3868+use `test`/*!*/;
3869 SET TIMESTAMP=1579609942/*!*/;
3870 insert into t1 values(null, "a")
3871 /*!*/;
3872@@ -972,7 +972,7 @@
3873 BEGIN
3874 /*!*/;
3875 SET INSERT_ID=3/*!*/;
3876-use test/*!*/;
3877+use `test`/*!*/;
3878 SET TIMESTAMP=1579609944/*!*/;
3879 insert into t1 values(null, "c")
3880 /*!*/;
3881@@ -1009,7 +1009,7 @@
3882 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3883 DELIMITER /*!*/;
3884 ROLLBACK/*!*/;
3885-use test/*!*/;
3886+use `test`/*!*/;
3887 SET TIMESTAMP=1579609942/*!*/;
3888 SET @@session.pseudo_thread_id=999999999/*!*/;
3889 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3890@@ -1062,7 +1062,7 @@
3891 BEGIN
3892 /*!*/;
3893 SET INSERT_ID=3/*!*/;
3894-use test/*!*/;
3895+use `test`/*!*/;
3896 SET TIMESTAMP=1579609944/*!*/;
3897 insert into t1 values(null, "c")
3898 /*!*/;
3899@@ -1088,7 +1088,7 @@
3900 BEGIN
3901 /*!*/;
3902 SET INSERT_ID=3/*!*/;
3903-use test/*!*/;
3904+use `test`/*!*/;
3905 SET TIMESTAMP=1579609944/*!*/;
3906 insert into t1 values(null, "c")
3907 /*!*/;
3908@@ -1125,7 +1125,7 @@
3909 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3910 DELIMITER /*!*/;
3911 ROLLBACK/*!*/;
3912-use test/*!*/;
3913+use `test`/*!*/;
3914 SET TIMESTAMP=1579609942/*!*/;
3915 SET @@session.pseudo_thread_id=999999999/*!*/;
3916 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3917@@ -1167,7 +1167,7 @@
3918 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3919 DELIMITER /*!*/;
3920 ROLLBACK/*!*/;
3921-use test/*!*/;
3922+use `test`/*!*/;
3923 SET TIMESTAMP=1579609942/*!*/;
3924 SET @@session.pseudo_thread_id=999999999/*!*/;
3925 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3926@@ -1243,7 +1243,7 @@
3927 BEGIN
3928 /*!*/;
3929 SET INSERT_ID=6/*!*/;
3930-use test/*!*/;
3931+use `test`/*!*/;
3932 SET TIMESTAMP=1579609943/*!*/;
3933 insert into t1 values(null, "f")
3934 /*!*/;
3935@@ -1272,7 +1272,7 @@
3936 BEGIN
3937 /*!*/;
3938 SET INSERT_ID=1/*!*/;
3939-use test/*!*/;
3940+use `test`/*!*/;
3941 SET TIMESTAMP=1579609942/*!*/;
3942 insert into t1 values(null, "a")
3943 /*!*/;
3944@@ -1333,7 +1333,7 @@
3945 BEGIN
3946 /*!*/;
3947 SET INSERT_ID=6/*!*/;
3948-use test/*!*/;
3949+use `test`/*!*/;
3950 SET TIMESTAMP=1579609943/*!*/;
3951 insert into t1 values(null, "f")
3952 /*!*/;
3953@@ -1361,7 +1361,7 @@
3954 BEGIN
3955 /*!*/;
3956 SET INSERT_ID=3/*!*/;
3957-use test/*!*/;
3958+use `test`/*!*/;
3959 SET TIMESTAMP=1579609944/*!*/;
3960 insert into t1 values(null, "c")
3961 /*!*/;
3962@@ -1402,7 +1402,7 @@
3963 BEGIN
3964 /*!*/;
3965 SET INSERT_ID=6/*!*/;
3966-use test/*!*/;
3967+use `test`/*!*/;
3968 SET TIMESTAMP=1579609943/*!*/;
3969 insert into t1 values(null, "f")
3970 /*!*/;
3971@@ -1419,7 +1419,7 @@
3972 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
3973 DELIMITER /*!*/;
3974 ROLLBACK/*!*/;
3975-use test/*!*/;
3976+use `test`/*!*/;
3977 SET TIMESTAMP=1579609942/*!*/;
3978 SET @@session.pseudo_thread_id=999999999/*!*/;
3979 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
3980@@ -1516,7 +1516,7 @@
3981 BEGIN
3982 /*!*/;
3983 SET INSERT_ID=3/*!*/;
3984-use test/*!*/;
3985+use `test`/*!*/;
3986 SET TIMESTAMP=1579609944/*!*/;
3987 insert into t1 values(null, "c")
3988 /*!*/;
3989@@ -1557,7 +1557,7 @@
3990 BEGIN
3991 /*!*/;
3992 SET INSERT_ID=6/*!*/;
3993-use test/*!*/;
3994+use `test`/*!*/;
3995 SET TIMESTAMP=1579609943/*!*/;
3996 insert into t1 values(null, "f")
3997 /*!*/;
3998@@ -1574,7 +1574,7 @@
3999 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
4000 DELIMITER /*!*/;
4001 ROLLBACK/*!*/;
4002-use test/*!*/;
4003+use `test`/*!*/;
4004 SET TIMESTAMP=1579609942/*!*/;
4005 SET @@session.pseudo_thread_id=999999999/*!*/;
4006 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4007@@ -1616,7 +1616,7 @@
4008 /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
4009 DELIMITER /*!*/;
4010 ROLLBACK/*!*/;
4011-use test/*!*/;
4012+use `test`/*!*/;
4013 SET TIMESTAMP=1579609942/*!*/;
4014 SET @@session.pseudo_thread_id=999999999/*!*/;
4015 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4016
4017=== modified file 'mysql-test/r/mysqlbinlog_row.result'
4018--- mysql-test/r/mysqlbinlog_row.result 2010-08-23 22:31:12 +0000
4019+++ mysql-test/r/mysqlbinlog_row.result 2012-09-13 19:00:35 +0000
4020@@ -336,7 +336,7 @@
4021 ROLLBACK/*!*/;
4022 # at #
4023 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4024-use test/*!*/;
4025+use `test`/*!*/;
4026 SET TIMESTAMP=1000000000/*!*/;
4027 SET @@session.pseudo_thread_id=#/*!*/;
4028 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4029
4030=== modified file 'mysql-test/r/mysqlbinlog_row_innodb.result'
4031--- mysql-test/r/mysqlbinlog_row_innodb.result 2010-03-24 15:03:44 +0000
4032+++ mysql-test/r/mysqlbinlog_row_innodb.result 2012-09-13 19:00:35 +0000
4033@@ -2253,7 +2253,7 @@
4034 ROLLBACK/*!*/;
4035 # at #
4036 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4037-use test/*!*/;
4038+use `test`/*!*/;
4039 SET TIMESTAMP=1000000000/*!*/;
4040 SET @@session.pseudo_thread_id=#/*!*/;
4041 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4042@@ -3876,7 +3876,7 @@
4043 ROLLBACK/*!*/;
4044 # at #
4045 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4046-use test/*!*/;
4047+use `test`/*!*/;
4048 SET TIMESTAMP=1000000000/*!*/;
4049 SET @@session.pseudo_thread_id=#/*!*/;
4050 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4051@@ -4243,7 +4243,7 @@
4052 ROLLBACK/*!*/;
4053 # at #
4054 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4055-use test/*!*/;
4056+use `test`/*!*/;
4057 SET TIMESTAMP=1000000000/*!*/;
4058 SET @@session.pseudo_thread_id=#/*!*/;
4059 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4060@@ -4804,7 +4804,7 @@
4061 ROLLBACK/*!*/;
4062 # at #
4063 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4064-use test/*!*/;
4065+use `test`/*!*/;
4066 SET TIMESTAMP=1000000000/*!*/;
4067 SET @@session.pseudo_thread_id=#/*!*/;
4068 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4069
4070=== modified file 'mysql-test/r/mysqlbinlog_row_myisam.result'
4071--- mysql-test/r/mysqlbinlog_row_myisam.result 2010-03-12 12:42:30 +0000
4072+++ mysql-test/r/mysqlbinlog_row_myisam.result 2012-09-13 19:00:35 +0000
4073@@ -2253,7 +2253,7 @@
4074 ROLLBACK/*!*/;
4075 # at #
4076 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4077-use test/*!*/;
4078+use `test`/*!*/;
4079 SET TIMESTAMP=1000000000/*!*/;
4080 SET @@session.pseudo_thread_id=#/*!*/;
4081 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4082@@ -3898,7 +3898,7 @@
4083 ROLLBACK/*!*/;
4084 # at #
4085 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4086-use test/*!*/;
4087+use `test`/*!*/;
4088 SET TIMESTAMP=1000000000/*!*/;
4089 SET @@session.pseudo_thread_id=#/*!*/;
4090 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4091@@ -4271,7 +4271,7 @@
4092 ROLLBACK/*!*/;
4093 # at #
4094 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4095-use test/*!*/;
4096+use `test`/*!*/;
4097 SET TIMESTAMP=1000000000/*!*/;
4098 SET @@session.pseudo_thread_id=#/*!*/;
4099 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4100@@ -4842,7 +4842,7 @@
4101 ROLLBACK/*!*/;
4102 # at #
4103 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4104-use test/*!*/;
4105+use `test`/*!*/;
4106 SET TIMESTAMP=1000000000/*!*/;
4107 SET @@session.pseudo_thread_id=#/*!*/;
4108 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4109
4110=== modified file 'mysql-test/r/mysqlbinlog_row_trans.result'
4111--- mysql-test/r/mysqlbinlog_row_trans.result 2010-01-07 15:39:11 +0000
4112+++ mysql-test/r/mysqlbinlog_row_trans.result 2012-09-13 19:00:35 +0000
4113@@ -132,7 +132,7 @@
4114 ROLLBACK/*!*/;
4115 # at #
4116 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
4117-use test/*!*/;
4118+use `test`/*!*/;
4119 SET TIMESTAMP=1000000000/*!*/;
4120 SET @@session.pseudo_thread_id=#/*!*/;
4121 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
4122
4123=== modified file 'mysql-test/r/mysqld--help.result'
4124--- mysql-test/r/mysqld--help.result 2012-05-21 13:30:25 +0000
4125+++ mysql-test/r/mysqld--help.result 2012-09-13 19:00:35 +0000
4126@@ -159,6 +159,10 @@
4127 Enable the event scheduler. Possible values are ON, OFF,
4128 and DISABLED (keep the event scheduler completely
4129 deactivated, it cannot be activated run-time)
4130+ --expensive-subquery-limit=#
4131+ The maximum number of rows a subquery may examine in
4132+ order to be executed during optimization and used for
4133+ constant optimization
4134 --expire-logs-days=#
4135 If non-zero, binary logs will be purged after
4136 expire_logs_days days; possible purges happen at startup
4137@@ -693,7 +697,7 @@
4138 partial matching
4139 --rpl-recovery-rank=#
4140 Unused, will be removed
4141- --safe-mode Skip some optimize stages (for testing).
4142+ --safe-mode Skip some optimize stages (for testing). Deprecated.
4143 --safe-user-create Don't allow new user creation by the user who has no
4144 write privileges to the mysql.user table.
4145 --secure-auth Disallow authentication for accounts that have old
4146@@ -733,6 +737,9 @@
4147 --slave-load-tmpdir=name
4148 The location where the slave should put its temporary
4149 files when replicating a LOAD DATA INFILE command
4150+ --slave-max-allowed-packet=#
4151+ The maximum packet length to sent successfully from the
4152+ master to slave.
4153 --slave-net-timeout=#
4154 Number of seconds to wait for more data from a
4155 master/slave connection before aborting the read
4156@@ -885,6 +892,7 @@
4157 div-precision-increment 4
4158 engine-condition-pushdown FALSE
4159 event-scheduler OFF
4160+expensive-subquery-limit 100
4161 expire-logs-days 0
4162 external-locking FALSE
4163 extra-max-connections 1
4164@@ -915,7 +923,6 @@
4165 key-cache-block-size 1024
4166 key-cache-division-limit 100
4167 key-cache-segments 0
4168-language MYSQL_SHAREDIR/
4169 large-pages FALSE
4170 lc-messages en_US
4171 lc-messages-dir MYSQL_SHAREDIR/
4172@@ -1052,6 +1059,7 @@
4173 skip-slave-start FALSE
4174 slave-compressed-protocol FALSE
4175 slave-exec-mode STRICT
4176+slave-max-allowed-packet 1073741824
4177 slave-net-timeout 3600
4178 slave-skip-errors (No default value)
4179 slave-sql-verify-checksum TRUE
4180
4181=== modified file 'mysql-test/r/mysqldump.result'
4182--- mysql-test/r/mysqldump.result 2012-04-07 13:58:46 +0000
4183+++ mysql-test/r/mysqldump.result 2012-09-13 19:00:35 +0000
4184@@ -2073,7 +2073,7 @@
4185 SET @saved_cs_client = @@character_set_client;
4186 SET character_set_client = utf8;
4187 /*!50001 CREATE TABLE `v2` (
4188- `a` varchar(30)
4189+ `a` tinyint NOT NULL
4190 ) ENGINE=MyISAM */;
4191 SET character_set_client = @saved_cs_client;
4192 /*!50001 DROP TABLE IF EXISTS `v2`*/;
4193@@ -2167,7 +2167,7 @@
4194 SET @saved_cs_client = @@character_set_client;
4195 SET character_set_client = utf8;
4196 /*!50001 CREATE TABLE `v1` (
4197- `a` int(11)
4198+ `a` tinyint NOT NULL
4199 ) ENGINE=MyISAM */;
4200 SET character_set_client = @saved_cs_client;
4201 /*!50001 DROP TABLE IF EXISTS `v1`*/;
4202@@ -2241,7 +2241,7 @@
4203 SET @saved_cs_client = @@character_set_client;
4204 SET character_set_client = utf8;
4205 /*!50001 CREATE TABLE `v2` (
4206- `a` varchar(30)
4207+ `a` tinyint NOT NULL
4208 ) ENGINE=MyISAM */;
4209 SET character_set_client = @saved_cs_client;
4210 /*!50001 DROP TABLE IF EXISTS `v2`*/;
4211@@ -2355,9 +2355,9 @@
4212 SET @saved_cs_client = @@character_set_client;
4213 SET character_set_client = utf8;
4214 /*!50001 CREATE TABLE `v1` (
4215- `a` int(11),
4216- `b` int(11),
4217- `c` varchar(30)
4218+ `a` tinyint NOT NULL,
4219+ `b` tinyint NOT NULL,
4220+ `c` tinyint NOT NULL
4221 ) ENGINE=MyISAM */;
4222 SET character_set_client = @saved_cs_client;
4223 DROP TABLE IF EXISTS `v2`;
4224@@ -2365,7 +2365,7 @@
4225 SET @saved_cs_client = @@character_set_client;
4226 SET character_set_client = utf8;
4227 /*!50001 CREATE TABLE `v2` (
4228- `a` int(11)
4229+ `a` tinyint NOT NULL
4230 ) ENGINE=MyISAM */;
4231 SET character_set_client = @saved_cs_client;
4232 DROP TABLE IF EXISTS `v3`;
4233@@ -2373,9 +2373,9 @@
4234 SET @saved_cs_client = @@character_set_client;
4235 SET character_set_client = utf8;
4236 /*!50001 CREATE TABLE `v3` (
4237- `a` int(11),
4238- `b` int(11),
4239- `c` varchar(30)
4240+ `a` tinyint NOT NULL,
4241+ `b` tinyint NOT NULL,
4242+ `c` tinyint NOT NULL
4243 ) ENGINE=MyISAM */;
4244 SET character_set_client = @saved_cs_client;
4245 /*!50001 DROP TABLE IF EXISTS `v1`*/;
4246@@ -3112,9 +3112,9 @@
4247 SET @saved_cs_client = @@character_set_client;
4248 SET character_set_client = utf8;
4249 /*!50001 CREATE TABLE `v0` (
4250- `a` int(11),
4251- `b` varchar(32),
4252- `c` varchar(32)
4253+ `a` tinyint NOT NULL,
4254+ `b` tinyint NOT NULL,
4255+ `c` tinyint NOT NULL
4256 ) ENGINE=MyISAM */;
4257 SET character_set_client = @saved_cs_client;
4258 DROP TABLE IF EXISTS `v1`;
4259@@ -3122,9 +3122,9 @@
4260 SET @saved_cs_client = @@character_set_client;
4261 SET character_set_client = utf8;
4262 /*!50001 CREATE TABLE `v1` (
4263- `a` int(11),
4264- `b` varchar(32),
4265- `c` varchar(32)
4266+ `a` tinyint NOT NULL,
4267+ `b` tinyint NOT NULL,
4268+ `c` tinyint NOT NULL
4269 ) ENGINE=MyISAM */;
4270 SET character_set_client = @saved_cs_client;
4271 DROP TABLE IF EXISTS `v2`;
4272@@ -3132,9 +3132,9 @@
4273 SET @saved_cs_client = @@character_set_client;
4274 SET character_set_client = utf8;
4275 /*!50001 CREATE TABLE `v2` (
4276- `a` int(11),
4277- `b` varchar(32),
4278- `c` varchar(32)
4279+ `a` tinyint NOT NULL,
4280+ `b` tinyint NOT NULL,
4281+ `c` tinyint NOT NULL
4282 ) ENGINE=MyISAM */;
4283 SET character_set_client = @saved_cs_client;
4284
4285@@ -3514,7 +3514,7 @@
4286 SET @saved_cs_client = @@character_set_client;
4287 SET character_set_client = utf8;
4288 /*!50001 CREATE TABLE `v1` (
4289- `id` int(11)
4290+ `id` tinyint NOT NULL
4291 ) ENGINE=MyISAM */;
4292 SET character_set_client = @saved_cs_client;
4293
4294@@ -3574,7 +3574,7 @@
4295 SET @saved_cs_client = @@character_set_client;
4296 SET character_set_client = utf8;
4297 /*!50001 CREATE TABLE `nasishnasifu` (
4298- `id` bigint(20) unsigned
4299+ `id` tinyint NOT NULL
4300 ) ENGINE=MyISAM */;
4301 SET character_set_client = @saved_cs_client;
4302
4303@@ -3967,7 +3967,7 @@
4304 SET @saved_cs_client = @@character_set_client;
4305 SET character_set_client = utf8;
4306 /*!50001 CREATE TABLE `v2` (
4307- `c` int(11)
4308+ `c` tinyint NOT NULL
4309 ) ENGINE=MyISAM */;
4310 SET character_set_client = @saved_cs_client;
4311 /*!50001 DROP TABLE IF EXISTS `v2`*/;
4312@@ -4384,7 +4384,7 @@
4313 SET @saved_cs_client = @@character_set_client;
4314 SET character_set_client = utf8;
4315 /*!50001 CREATE TABLE `v1` (
4316- `id` int(11)
4317+ `id` tinyint NOT NULL
4318 ) ENGINE=MyISAM */;
4319 SET character_set_client = @saved_cs_client;
4320
4321@@ -5222,3 +5222,48 @@
4322 # Delete all existing binary logs.
4323 #
4324 RESET MASTER;
4325+#
4326+# Bug#45740 MYSQLDUMP DOESN'T DUMP GENERAL_LOG AND SLOW_QUERY CAUSES RESTORE PROBLEM
4327+#
4328+SET @old_log_output_state= @@global.log_output;
4329+SET @old_general_log_state= @@global.general_log;
4330+SET @old_slow_query_log_state= @@global.slow_query_log;
4331+call mtr.add_suppression("Failed to write to mysql.general_log");
4332+SET @@global.log_output="TABLE";
4333+SET @@global.general_log='OFF';
4334+SET @@global.slow_query_log='OFF';
4335+DROP DATABASE mysql;
4336+Warnings:
4337+Error 1146 Table 'mysql.proc' doesn't exist
4338+Error 1146 Table 'mysql.event' doesn't exist
4339+SHOW CREATE TABLE mysql.general_log;
4340+Table Create Table
4341+general_log CREATE TABLE `general_log` (
4342+ `event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
4343+ `user_host` mediumtext NOT NULL,
4344+ `thread_id` int(11) NOT NULL,
4345+ `server_id` int(10) unsigned NOT NULL,
4346+ `command_type` varchar(64) NOT NULL,
4347+ `argument` mediumtext NOT NULL
4348+) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
4349+SHOW CREATE TABLE mysql.slow_log;
4350+Table Create Table
4351+slow_log CREATE TABLE `slow_log` (
4352+ `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
4353+ `user_host` mediumtext NOT NULL,
4354+ `query_time` time(6) NOT NULL,
4355+ `lock_time` time(6) NOT NULL,
4356+ `rows_sent` int(11) NOT NULL,
4357+ `rows_examined` int(11) NOT NULL,
4358+ `db` varchar(512) NOT NULL,
4359+ `last_insert_id` int(11) NOT NULL,
4360+ `insert_id` int(11) NOT NULL,
4361+ `server_id` int(10) unsigned NOT NULL,
4362+ `sql_text` mediumtext NOT NULL
4363+) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
4364+SET @@global.log_output= @old_log_output_state;
4365+SET @@global.slow_query_log= @old_slow_query_log_state;
4366+SET @@global.general_log= @old_general_log_state;
4367+#
4368+# End of 5.1 tests
4369+#
4370
4371=== modified file 'mysql-test/r/mysqltest.result'
4372--- mysql-test/r/mysqltest.result 2012-02-23 06:50:11 +0000
4373+++ mysql-test/r/mysqltest.result 2012-09-13 19:00:35 +0000
4374@@ -690,6 +690,7 @@
4375 insert into t1 values ("Abcd");
4376 Got one of the listed errors
4377 garbage;
4378+SELECT * FROM non_existing_table;
4379 drop table t2;
4380 create table t1 ( f1 char(10));
4381 insert into t1 values ("Abcd");
4382
4383=== added file 'mysql-test/r/mysqltest_256.result'
4384--- mysql-test/r/mysqltest_256.result 1970-01-01 00:00:00 +0000
4385+++ mysql-test/r/mysqltest_256.result 2012-09-13 19:00:35 +0000
4386@@ -0,0 +1,1 @@
4387+# Done
4388
4389=== modified file 'mysql-test/r/negation_elimination.result'
4390--- mysql-test/r/negation_elimination.result 2011-07-21 12:50:25 +0000
4391+++ mysql-test/r/negation_elimination.result 2012-09-13 19:00:35 +0000
4392@@ -321,7 +321,7 @@
4393 a
4394 explain select * from t1 where not(NULL and a);
4395 id select_type table type possible_keys key key_len ref rows Extra
4396-1 SIMPLE t1 index NULL a 5 NULL 21 Using where; Using index
4397+1 SIMPLE t1 ref a a 5 const 1 Using index
4398 select * from t1 where not(NULL and a);
4399 a
4400 0
4401@@ -502,5 +502,5 @@
4402 id select_type table type possible_keys key key_len ref rows filtered Extra
4403 1 SIMPLE t1 range a a 5 NULL 4 100.00 Using where; Using index
4404 Warnings:
4405-Note 1003 select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a` <> 0) AS `not(not(a))`,((`test`.`t1`.`a` > 2) or `test`.`t1`.`a`) AS `not(a <= 2 and not(a))`,(`test`.`t1`.`a` like '1') AS `not(a not like "1")`,(`test`.`t1`.`a` in (1,2)) AS `not (a not in (1,2))`,(`test`.`t1`.`a` = 2) AS `not(a != 2)` from `test`.`t1` where (`test`.`t1`.`a` <> 0) having (`test`.`t1`.`a` <> 0)
4406+Note 1003 select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a` <> 0) AS `not(not(a))`,((`test`.`t1`.`a` > 2) or (`test`.`t1`.`a` <> 0)) AS `not(a <= 2 and not(a))`,(`test`.`t1`.`a` like '1') AS `not(a not like "1")`,(`test`.`t1`.`a` in (1,2)) AS `not (a not in (1,2))`,(`test`.`t1`.`a` = 2) AS `not(a != 2)` from `test`.`t1` where (`test`.`t1`.`a` <> 0) having (`test`.`t1`.`a` <> 0)
4407 drop table t1;
4408
4409=== modified file 'mysql-test/r/order_by.result'
4410--- mysql-test/r/order_by.result 2012-02-15 17:08:08 +0000
4411+++ mysql-test/r/order_by.result 2012-09-13 19:00:35 +0000
4412@@ -1813,3 +1813,135 @@
4413 Note 1003 select `test`.`t2`.`b` AS `b` from `test`.`t1` join `test`.`t2` where (`test`.`t2`.`a` = `test`.`t1`.`b`) group by `test`.`t2`.`b` order by `test`.`t1`.`b`
4414 drop table t1,t2;
4415 End of 5.2 tests
4416+#
4417+# Bug mdev-449: ORDER BY with small sort_buffer_size
4418+#
4419+CREATE TABLE t1(f0 int auto_increment primary key, f1 int, f2 varchar(200));
4420+INSERT INTO t1(f1, f2) VALUES
4421+(0,"0"),(1,"1"),(2,"2"),(3,"3"),(4,"4"),(5,"5"),
4422+(6,"6"),(7,"7"),(8,"8"),(9,"9"),(10,"10"),
4423+(11,"11"),(12,"12"),(13,"13"),(14,"14"),(15,"15"),
4424+(16,"16"),(17,"17"),(18,"18"),(19,"19"),(20,"20"),
4425+(21,"21"),(22,"22"),(23,"23"),(24,"24"),(25,"25"),
4426+(26,"26"),(27,"27"),(28,"28"),(29,"29"),(30,"30"),
4427+(31,"31"),(32,"32"),(33,"33"),(34,"34"),(35,"35"),
4428+(36,"36"),(37,"37"),(38,"38"),(39,"39"),(40,"40"),
4429+(41,"41"),(42,"42"),(43,"43"),(44,"44"),(45,"45"),
4430+(46,"46"),(47,"47"),(48,"48"),(49,"49"),(50,"50"),
4431+(51,"51"),(52,"52"),(53,"53"),(54,"54"),(55,"55"),
4432+(56,"56"),(57,"57"),(58,"58"),(59,"59"),(60,"60"),
4433+(61,"61"),(62,"62"),(63,"63"),(64,"64"),(65,"65"),
4434+(66,"66"),(67,"67"),(68,"68"),(69,"69"),(70,"70"),
4435+(71,"71"),(72,"72"),(73,"73"),(74,"74"),(75,"75"),
4436+(76,"76"),(77,"77"),(78,"78"),(79,"79"),(80,"80"),
4437+(81,"81"),(82,"82"),(83,"83"),(84,"84"),(85,"85"),
4438+(86,"86"),(87,"87"),(88,"88"),(89,"89"),(90,"90"),
4439+(91,"91"),(92,"92"),(93,"93"),(94,"94"),(95,"95"),
4440+(96,"96"),(97,"97"),(98,"98"),(99,"99");
4441+set @save_sort_buffer_size= @@sort_buffer_size;
4442+set sort_buffer_size= 2000;
4443+SELECT * FROM t1 ORDER BY f1 DESC, f0;
4444+f0 f1 f2
4445+100 99 99
4446+99 98 98
4447+98 97 97
4448+97 96 96
4449+96 95 95
4450+95 94 94
4451+94 93 93
4452+93 92 92
4453+92 91 91
4454+91 90 90
4455+90 89 89
4456+89 88 88
4457+88 87 87
4458+87 86 86
4459+86 85 85
4460+85 84 84
4461+84 83 83
4462+83 82 82
4463+82 81 81
4464+81 80 80
4465+80 79 79
4466+79 78 78
4467+78 77 77
4468+77 76 76
4469+76 75 75
4470+75 74 74
4471+74 73 73
4472+73 72 72
4473+72 71 71
4474+71 70 70
4475+70 69 69
4476+69 68 68
4477+68 67 67
4478+67 66 66
4479+66 65 65
4480+65 64 64
4481+64 63 63
4482+63 62 62
4483+62 61 61
4484+61 60 60
4485+60 59 59
4486+59 58 58
4487+58 57 57
4488+57 56 56
4489+56 55 55
4490+55 54 54
4491+54 53 53
4492+53 52 52
4493+52 51 51
4494+51 50 50
4495+50 49 49
4496+49 48 48
4497+48 47 47
4498+47 46 46
4499+46 45 45
4500+45 44 44
4501+44 43 43
4502+43 42 42
4503+42 41 41
4504+41 40 40
4505+40 39 39
4506+39 38 38
4507+38 37 37
4508+37 36 36
4509+36 35 35
4510+35 34 34
4511+34 33 33
4512+33 32 32
4513+32 31 31
4514+31 30 30
4515+30 29 29
4516+29 28 28
4517+28 27 27
4518+27 26 26
4519+26 25 25
4520+25 24 24
4521+24 23 23
4522+23 22 22
4523+22 21 21
4524+21 20 20
4525+20 19 19
4526+19 18 18
4527+18 17 17
4528+17 16 16
4529+16 15 15
4530+15 14 14
4531+14 13 13
4532+13 12 12
4533+12 11 11
4534+11 10 10
4535+10 9 9
4536+9 8 8
4537+8 7 7
4538+7 6 6
4539+6 5 5
4540+5 4 4
4541+4 3 3
4542+3 2 2
4543+2 1 1
4544+1 0 0
4545+set sort_buffer_size= @save_sort_buffer_size;
4546+DROP TABLE t1;
4547+End of 5.3 tests
4548
4549=== modified file 'mysql-test/r/partition.result'
4550--- mysql-test/r/partition.result 2012-04-07 13:58:46 +0000
4551+++ mysql-test/r/partition.result 2012-09-13 19:00:35 +0000
4552@@ -2461,3 +2461,29 @@
4553 1
4554 1
4555 drop table t1;
4556+#
4557+# LP BUG#1001117 Crash on a simple select that uses a temptable view
4558+# MySQL Bug #12330344 Crash and/or valgrind errors in free_io_cache with join, view,
4559+# partitioned table
4560+#
4561+CREATE TABLE t1(a INT PRIMARY KEY) PARTITION BY LINEAR KEY (a);
4562+CREATE ALGORITHM=TEMPTABLE VIEW vtmp AS
4563+SELECT 1 FROM t1 AS t1_0 JOIN t1 ON t1_0.a LIKE (SELECT 1 FROM t1);
4564+SELECT * FROM vtmp;
4565+1
4566+DROP VIEW vtmp;
4567+DROP TABLE t1;
4568+#
4569+# MDEV-365 "Got assertion when doing alter table on a partition"
4570+#
4571+CREATE TABLE t1 ( i INT ) ENGINE=Aria PARTITION BY HASH(i) PARTITIONS 2;
4572+INSERT INTO t1 VALUES (1),(2),(2),(3),(4);
4573+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
4574+SELECT * from t1 order by i;
4575+i
4576+1
4577+2
4578+2
4579+3
4580+4
4581+DROP TABLE t1;
4582
4583=== modified file 'mysql-test/r/partition_cache.result'
4584--- mysql-test/r/partition_cache.result 2012-02-29 20:18:50 +0000
4585+++ mysql-test/r/partition_cache.result 2012-09-13 19:00:35 +0000
4586@@ -27,7 +27,7 @@
4587 3
4588 show status like "Qcache_queries_in_cache";
4589 Variable_name Value
4590-Qcache_queries_in_cache 0
4591+Qcache_queries_in_cache 1
4592 drop table t1;
4593 commit;
4594 create table t1 (a int not null) PARTITION BY KEY (a) PARTITIONS 3;
4595@@ -50,7 +50,7 @@
4596 2
4597 show status like "Qcache_queries_in_cache";
4598 Variable_name Value
4599-Qcache_queries_in_cache 0
4600+Qcache_queries_in_cache 3
4601 show status like "Qcache_hits";
4602 Variable_name Value
4603 Qcache_hits 0
4604@@ -69,7 +69,7 @@
4605 2
4606 show status like "Qcache_queries_in_cache";
4607 Variable_name Value
4608-Qcache_queries_in_cache 0
4609+Qcache_queries_in_cache 6
4610 show status like "Qcache_hits";
4611 Variable_name Value
4612 Qcache_hits 0
4613@@ -93,14 +93,14 @@
4614 2
4615 show status like "Qcache_queries_in_cache";
4616 Variable_name Value
4617-Qcache_queries_in_cache 0
4618+Qcache_queries_in_cache 2
4619 show status like "Qcache_hits";
4620 Variable_name Value
4621-Qcache_hits 0
4622+Qcache_hits 1
4623 commit;
4624 show status like "Qcache_queries_in_cache";
4625 Variable_name Value
4626-Qcache_queries_in_cache 0
4627+Qcache_queries_in_cache 2
4628 drop table t3,t2,t1;
4629 CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) PARTITION BY HASH (id) PARTITIONS 3;
4630 select count(*) from t1;
4631@@ -164,7 +164,7 @@
4632 2
4633 show status like "Qcache_queries_in_cache";
4634 Variable_name Value
4635-Qcache_queries_in_cache 0
4636+Qcache_queries_in_cache 1
4637 connection connection1
4638 SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
4639 count(*)
4640@@ -197,9 +197,9 @@
4641 2
4642 show status like "Qcache_queries_in_cache";
4643 Variable_name Value
4644-Qcache_queries_in_cache 0
4645+Qcache_queries_in_cache 1
4646 show status like "Qcache_hits";
4647 Variable_name Value
4648-Qcache_hits 0
4649+Qcache_hits 1
4650 set @@global.query_cache_size = @save_query_cache_size;
4651 drop table t2;
4652
4653=== added file 'mysql-test/r/partition_cache_innodb.result'
4654--- mysql-test/r/partition_cache_innodb.result 1970-01-01 00:00:00 +0000
4655+++ mysql-test/r/partition_cache_innodb.result 2012-09-13 19:00:35 +0000
4656@@ -0,0 +1,151 @@
4657+SET SESSION STORAGE_ENGINE = innodb;
4658+drop table if exists t1;
4659+set @save_query_cache_size = @@global.query_cache_size;
4660+# Test that partitions works with query cache
4661+flush query cache;
4662+SET GLOBAL query_cache_size=1024*1024*512;
4663+CREATE TABLE `t1` (
4664+`id` int(11) NOT NULL ,
4665+`created_at` datetime NOT NULL,
4666+`cool` tinyint default 0
4667+);
4668+ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
4669+PARTITION month_2010_4 VALUES LESS THAN (734258),
4670+PARTITION month_2010_5 VALUES LESS THAN (734289),
4671+PARTITION month_max VALUES LESS THAN MAXVALUE
4672+);
4673+show create table t1;
4674+Table Create Table
4675+t1 CREATE TABLE `t1` (
4676+ `id` int(11) NOT NULL,
4677+ `created_at` datetime NOT NULL,
4678+ `cool` tinyint(4) DEFAULT '0'
4679+) ENGINE=InnoDB DEFAULT CHARSET=latin1
4680+/*!50100 PARTITION BY RANGE (TO_DAYS(created_at))
4681+(PARTITION month_2010_4 VALUES LESS THAN (734258) ENGINE = InnoDB,
4682+ PARTITION month_2010_5 VALUES LESS THAN (734289) ENGINE = InnoDB,
4683+ PARTITION month_max VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
4684+INSERT INTO t1 VALUES (1, now(), 0);
4685+flush status;
4686+show status like "Qcache_queries_in_cache";
4687+Variable_name Value
4688+Qcache_queries_in_cache 0
4689+show status like "Qcache_hits";
4690+Variable_name Value
4691+Qcache_hits 0
4692+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4693+cool
4694+0
4695+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4696+cool
4697+0
4698+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4699+cool
4700+0
4701+show status like "Qcache_queries_in_cache";
4702+Variable_name Value
4703+Qcache_queries_in_cache 1
4704+show status like "Qcache_hits";
4705+Variable_name Value
4706+Qcache_hits 2
4707+drop table t1;
4708+# Test that sub-partitions works with query cache
4709+flush query cache;
4710+SET GLOBAL query_cache_size=1024*1024*512;
4711+CREATE TABLE `t1` (
4712+`id` int(11) NOT NULL ,
4713+`created_at` datetime NOT NULL,
4714+`cool` tinyint default 0
4715+)
4716+PARTITION BY RANGE (TO_DAYS(created_at))
4717+subpartition by hash(cool) subpartitions 3 (
4718+PARTITION month_2010_4 VALUES LESS THAN (734258),
4719+PARTITION month_2010_5 VALUES LESS THAN (734289),
4720+PARTITION month_max VALUES LESS THAN MAXVALUE
4721+);
4722+show create table t1;
4723+Table Create Table
4724+t1 CREATE TABLE `t1` (
4725+ `id` int(11) NOT NULL,
4726+ `created_at` datetime NOT NULL,
4727+ `cool` tinyint(4) DEFAULT '0'
4728+) ENGINE=InnoDB DEFAULT CHARSET=latin1
4729+/*!50100 PARTITION BY RANGE (TO_DAYS(created_at))
4730+SUBPARTITION BY HASH (cool)
4731+SUBPARTITIONS 3
4732+(PARTITION month_2010_4 VALUES LESS THAN (734258) ENGINE = InnoDB,
4733+ PARTITION month_2010_5 VALUES LESS THAN (734289) ENGINE = InnoDB,
4734+ PARTITION month_max VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
4735+INSERT INTO t1 VALUES (1, now(), 0);
4736+flush status;
4737+show status like "Qcache_queries_in_cache";
4738+Variable_name Value
4739+Qcache_queries_in_cache 0
4740+show status like "Qcache_hits";
4741+Variable_name Value
4742+Qcache_hits 0
4743+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4744+cool
4745+0
4746+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4747+cool
4748+0
4749+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4750+cool
4751+0
4752+show status like "Qcache_queries_in_cache";
4753+Variable_name Value
4754+Qcache_queries_in_cache 1
4755+show status like "Qcache_hits";
4756+Variable_name Value
4757+Qcache_hits 2
4758+drop table t1;
4759+#
4760+# MySQL bug#53775 Query on partitioned table returns cached result
4761+# from previous transaction
4762+#
4763+flush query cache;
4764+flush status;
4765+SET GLOBAL query_cache_size=1024*1024*512;
4766+CREATE TABLE `t1` (
4767+`id` int(11) NOT NULL ,
4768+`created_at` datetime NOT NULL,
4769+`cool` tinyint default 0
4770+);
4771+ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
4772+PARTITION month_2010_4 VALUES LESS THAN (734258),
4773+PARTITION month_2010_5 VALUES LESS THAN (734289),
4774+PARTITION month_max VALUES LESS THAN MAXVALUE
4775+);
4776+INSERT INTO t1 VALUES (1, now(), 0);
4777+show status like "Qcache_queries_in_cache";
4778+Variable_name Value
4779+Qcache_queries_in_cache 0
4780+show status like "Qcache_hits";
4781+Variable_name Value
4782+Qcache_hits 0
4783+BEGIN;
4784+UPDATE `t1` SET `cool` = 1 WHERE `id` = 1;
4785+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4786+cool
4787+1
4788+ROLLBACK;
4789+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4790+cool
4791+0
4792+BEGIN;
4793+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4794+cool
4795+0
4796+ROLLBACK;
4797+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4798+cool
4799+0
4800+show status like "Qcache_queries_in_cache";
4801+Variable_name Value
4802+Qcache_queries_in_cache 2
4803+show status like "Qcache_hits";
4804+Variable_name Value
4805+Qcache_hits 1
4806+drop table t1;
4807+set @@global.query_cache_size = @save_query_cache_size;
4808
4809=== added file 'mysql-test/r/partition_cache_myisam.result'
4810--- mysql-test/r/partition_cache_myisam.result 1970-01-01 00:00:00 +0000
4811+++ mysql-test/r/partition_cache_myisam.result 2012-09-13 19:00:35 +0000
4812@@ -0,0 +1,153 @@
4813+SET SESSION STORAGE_ENGINE = myisam;
4814+drop table if exists t1;
4815+set @save_query_cache_size = @@global.query_cache_size;
4816+# Test that partitions works with query cache
4817+flush query cache;
4818+SET GLOBAL query_cache_size=1024*1024*512;
4819+CREATE TABLE `t1` (
4820+`id` int(11) NOT NULL ,
4821+`created_at` datetime NOT NULL,
4822+`cool` tinyint default 0
4823+);
4824+ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
4825+PARTITION month_2010_4 VALUES LESS THAN (734258),
4826+PARTITION month_2010_5 VALUES LESS THAN (734289),
4827+PARTITION month_max VALUES LESS THAN MAXVALUE
4828+);
4829+show create table t1;
4830+Table Create Table
4831+t1 CREATE TABLE `t1` (
4832+ `id` int(11) NOT NULL,
4833+ `created_at` datetime NOT NULL,
4834+ `cool` tinyint(4) DEFAULT '0'
4835+) ENGINE=MyISAM DEFAULT CHARSET=latin1
4836+/*!50100 PARTITION BY RANGE (TO_DAYS(created_at))
4837+(PARTITION month_2010_4 VALUES LESS THAN (734258) ENGINE = MyISAM,
4838+ PARTITION month_2010_5 VALUES LESS THAN (734289) ENGINE = MyISAM,
4839+ PARTITION month_max VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
4840+INSERT INTO t1 VALUES (1, now(), 0);
4841+flush status;
4842+show status like "Qcache_queries_in_cache";
4843+Variable_name Value
4844+Qcache_queries_in_cache 0
4845+show status like "Qcache_hits";
4846+Variable_name Value
4847+Qcache_hits 0
4848+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4849+cool
4850+0
4851+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4852+cool
4853+0
4854+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4855+cool
4856+0
4857+show status like "Qcache_queries_in_cache";
4858+Variable_name Value
4859+Qcache_queries_in_cache 1
4860+show status like "Qcache_hits";
4861+Variable_name Value
4862+Qcache_hits 2
4863+drop table t1;
4864+# Test that sub-partitions works with query cache
4865+flush query cache;
4866+SET GLOBAL query_cache_size=1024*1024*512;
4867+CREATE TABLE `t1` (
4868+`id` int(11) NOT NULL ,
4869+`created_at` datetime NOT NULL,
4870+`cool` tinyint default 0
4871+)
4872+PARTITION BY RANGE (TO_DAYS(created_at))
4873+subpartition by hash(cool) subpartitions 3 (
4874+PARTITION month_2010_4 VALUES LESS THAN (734258),
4875+PARTITION month_2010_5 VALUES LESS THAN (734289),
4876+PARTITION month_max VALUES LESS THAN MAXVALUE
4877+);
4878+show create table t1;
4879+Table Create Table
4880+t1 CREATE TABLE `t1` (
4881+ `id` int(11) NOT NULL,
4882+ `created_at` datetime NOT NULL,
4883+ `cool` tinyint(4) DEFAULT '0'
4884+) ENGINE=MyISAM DEFAULT CHARSET=latin1
4885+/*!50100 PARTITION BY RANGE (TO_DAYS(created_at))
4886+SUBPARTITION BY HASH (cool)
4887+SUBPARTITIONS 3
4888+(PARTITION month_2010_4 VALUES LESS THAN (734258) ENGINE = MyISAM,
4889+ PARTITION month_2010_5 VALUES LESS THAN (734289) ENGINE = MyISAM,
4890+ PARTITION month_max VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
4891+INSERT INTO t1 VALUES (1, now(), 0);
4892+flush status;
4893+show status like "Qcache_queries_in_cache";
4894+Variable_name Value
4895+Qcache_queries_in_cache 0
4896+show status like "Qcache_hits";
4897+Variable_name Value
4898+Qcache_hits 0
4899+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4900+cool
4901+0
4902+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4903+cool
4904+0
4905+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4906+cool
4907+0
4908+show status like "Qcache_queries_in_cache";
4909+Variable_name Value
4910+Qcache_queries_in_cache 1
4911+show status like "Qcache_hits";
4912+Variable_name Value
4913+Qcache_hits 2
4914+drop table t1;
4915+#
4916+# MySQL bug#53775 Query on partitioned table returns cached result
4917+# from previous transaction
4918+#
4919+flush query cache;
4920+flush status;
4921+SET GLOBAL query_cache_size=1024*1024*512;
4922+CREATE TABLE `t1` (
4923+`id` int(11) NOT NULL ,
4924+`created_at` datetime NOT NULL,
4925+`cool` tinyint default 0
4926+);
4927+ALTER TABLE t1 PARTITION BY RANGE (TO_DAYS(created_at)) (
4928+PARTITION month_2010_4 VALUES LESS THAN (734258),
4929+PARTITION month_2010_5 VALUES LESS THAN (734289),
4930+PARTITION month_max VALUES LESS THAN MAXVALUE
4931+);
4932+INSERT INTO t1 VALUES (1, now(), 0);
4933+show status like "Qcache_queries_in_cache";
4934+Variable_name Value
4935+Qcache_queries_in_cache 0
4936+show status like "Qcache_hits";
4937+Variable_name Value
4938+Qcache_hits 0
4939+BEGIN;
4940+UPDATE `t1` SET `cool` = 1 WHERE `id` = 1;
4941+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4942+cool
4943+1
4944+ROLLBACK;
4945+Warnings:
4946+Warning 1196 Some non-transactional changed tables couldn't be rolled back
4947+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4948+cool
4949+1
4950+BEGIN;
4951+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4952+cool
4953+1
4954+ROLLBACK;
4955+SELECT cool FROM `t1` WHERE (`t1`.id = 1) LIMIT 1;
4956+cool
4957+1
4958+show status like "Qcache_queries_in_cache";
4959+Variable_name Value
4960+Qcache_queries_in_cache 2
4961+show status like "Qcache_hits";
4962+Variable_name Value
4963+Qcache_hits 2
4964+drop table t1;
4965+set @@global.query_cache_size = @save_query_cache_size;
4966
4967=== modified file 'mysql-test/r/partition_pruning.result'
4968--- mysql-test/r/partition_pruning.result 2012-04-10 06:28:13 +0000
4969+++ mysql-test/r/partition_pruning.result 2012-09-13 19:00:35 +0000
4970@@ -787,7 +787,7 @@
4971 1 SIMPLE t1 pNULL,p2001-01-01 index a a 4 NULL 4 Using where; Using index
4972 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
4973 id select_type table partitions type possible_keys key key_len ref rows Extra
4974-1 SIMPLE t1 pNULL ref a a 4 const 1 Using where; Using index
4975+1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
4976 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
4977 id select_type table partitions type possible_keys key key_len ref rows Extra
4978 1 SIMPLE t1 pNULL,p0001-01-01,p1001-01-01,p2001-01-01 range a a 4 NULL 4 Using where; Using index
4979@@ -1116,7 +1116,7 @@
4980 1 SIMPLE t1 p2001-01-01,pNULL index a a 4 NULL 4 Using where; Using index
4981 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
4982 id select_type table partitions type possible_keys key key_len ref rows Extra
4983-1 SIMPLE t1 pNULL ref a a 4 const 1 Using where; Using index
4984+1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
4985 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
4986 id select_type table partitions type possible_keys key key_len ref rows Extra
4987 1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
4988@@ -1445,7 +1445,7 @@
4989 1 SIMPLE t1 p2001-01-01,pNULL index a a 4 NULL 4 Using where; Using index
4990 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
4991 id select_type table partitions type possible_keys key key_len ref rows Extra
4992-1 SIMPLE t1 pNULL ref a a 4 const 1 Using where; Using index
4993+1 SIMPLE t1 pNULL ref a a 4 const 1 Using index
4994 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
4995 id select_type table partitions type possible_keys key key_len ref rows Extra
4996 1 SIMPLE t1 p0001-01-01,pNULL,p0000-01-02,p1001-01-01 range a a 4 NULL 4 Using where; Using index
4997
4998=== modified file 'mysql-test/r/ps.result'
4999--- mysql-test/r/ps.result 2012-05-21 18:54:41 +0000
5000+++ mysql-test/r/ps.result 2012-09-13 19:00:35 +0000
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches