From: Tor Didriksen Date: October 13 2011 11:06am Subject: bzr push into mysql-trunk branch (tor.didriksen:3458 to 3461) List-Archive: http://lists.mysql.com/commits/141423 Message-Id: <201110131106.p9DB6Hxx029730@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3461 Tor Didriksen 2011-10-13 [merge] NULL merge trunk => opt-backporting 3460 Tor Didriksen 2011-10-13 new test results after merge modified: mysql-test/r/innodb_icp_all.result mysql-test/r/myisam_icp_all.result 3459 Tor Didriksen 2011-10-13 [merge] Merge trunk => opt-backporting removed: mysql-test/collections/default.release added: mysql-test/collections/default.release.in mysql-test/std_data/bug11747887-bin.000002 mysql-test/std_data/bug48633.ARM mysql-test/std_data/bug48633.ARZ mysql-test/std_data/bug48633.frm mysql-test/suite/innodb/t/innodb_bug47167-master.opt mysql-test/suite/innodb/t/innodb_file_format-master.opt mysql-test/suite/rpl/r/binlog-hexdump.result mysql-test/suite/rpl/r/rpl_general_log.result mysql-test/suite/rpl/t/binlog-hexdump.test mysql-test/suite/rpl/t/rpl_general_log.test mysql-test/suite/sys_vars/r/innodb_analyze_is_persistent_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result mysql-test/suite/sys_vars/t/innodb_analyze_is_persistent_basic.test mysql-test/suite/sys_vars/t/innodb_file_format_max_basic-master.opt mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test modified: .bzrignore VERSION include/my_pthread.h libmysqld/lib_sql.cc mysql-test/CMakeLists.txt mysql-test/collections/README mysql-test/collections/default.experimental mysql-test/include/explain_non_select.inc mysql-test/include/icp_tests.inc mysql-test/include/mrr_tests.inc mysql-test/include/mtr_check.sql mysql-test/lib/My/CoreDump.pm mysql-test/mysql-test-run.pl mysql-test/r/archive.result mysql-test/r/ctype_utf16.result mysql-test/r/ctype_utf32.result mysql-test/r/ctype_utf8.result mysql-test/r/derived.result mysql-test/r/error_simulation.result mysql-test/r/index_merge_myisam.result mysql-test/r/innodb_explain_non_select_all.result mysql-test/r/innodb_explain_non_select_none.result mysql-test/r/innodb_icp.result mysql-test/r/innodb_icp_none.result mysql-test/r/innodb_mrr.result mysql-test/r/innodb_mrr_all.result mysql-test/r/innodb_mrr_cost.result mysql-test/r/innodb_mrr_cost_all.result mysql-test/r/innodb_mrr_cost_icp.result mysql-test/r/innodb_mrr_icp.result mysql-test/r/innodb_mrr_none.result mysql-test/r/join_cache_bka.result mysql-test/r/join_cache_bka_nixbnl.result mysql-test/r/join_cache_bkaunique.result mysql-test/r/join_cache_nojb.result mysql-test/r/join_nested_bka.result mysql-test/r/join_nested_bka_nixbnl.result mysql-test/r/join_outer_bka.result mysql-test/r/join_outer_bka_nixbnl.result mysql-test/r/myisam_explain_non_select_all.result mysql-test/r/myisam_explain_non_select_none.result mysql-test/r/myisam_icp.result mysql-test/r/myisam_icp_none.result mysql-test/r/myisam_mrr.result mysql-test/r/myisam_mrr_all.result mysql-test/r/myisam_mrr_cost.result mysql-test/r/myisam_mrr_cost_all.result mysql-test/r/myisam_mrr_cost_icp.result mysql-test/r/myisam_mrr_icp.result mysql-test/r/myisam_mrr_none.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/optimizer_switch.result mysql-test/r/partition_innodb.result mysql-test/r/partition_innodb_plugin.result mysql-test/r/partition_myisam.result mysql-test/r/select_all_bka.result mysql-test/r/select_all_bka_nixbnl.result mysql-test/r/select_icp_mrr_bka.result mysql-test/r/select_icp_mrr_bka_nixbnl.result mysql-test/r/select_none_bka.result mysql-test/r/select_none_bka_nixbnl.result mysql-test/r/subquery_all_bka.result mysql-test/r/subquery_all_bka_nixbnl.result mysql-test/r/subquery_nomat_nosj_bka.result mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result mysql-test/r/subquery_none_bka.result mysql-test/r/subquery_none_bka_nixbnl.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_innodb_all_bka.result mysql-test/r/subquery_sj_innodb_all_bka_nixbnl.result mysql-test/r/subquery_sj_innodb_all_bkaunique.result mysql-test/r/subquery_sj_innodb_none_bka.result mysql-test/r/subquery_sj_innodb_none_bka_nixbnl.result mysql-test/r/subquery_sj_innodb_none_bkaunique.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result mysql-test/suite/engines/funcs/r/de_calendar_range.result mysql-test/suite/engines/funcs/r/in_calendar_2_unique_constraints_duplicate_update.result mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_duplicate_update.result mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_error.result mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_ignore.result mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_duplicate_update.result mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_error.result mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_ignore.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_duplicate_update.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_error.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_ignore.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_duplicate_update.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_error.result mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_ignore.result mysql-test/suite/engines/funcs/r/in_multicolumn_number_pk_constraint_duplicate_update.result mysql-test/suite/engines/funcs/r/up_calendar_range.result mysql-test/suite/engines/funcs/t/de_calendar_range.test mysql-test/suite/engines/funcs/t/in_calendar_2_unique_constraints_duplicate_update.test mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_duplicate_update.test mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_error.test mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_ignore.test mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_duplicate_update.test mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_error.test mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_ignore.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_duplicate_update.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_error.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_ignore.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_duplicate_update.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_error.test mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_ignore.test mysql-test/suite/engines/funcs/t/in_multicolumn_number_pk_constraint_duplicate_update.test mysql-test/suite/engines/funcs/t/up_calendar_range.test mysql-test/suite/innodb/r/innodb_bug52745.result mysql-test/suite/innodb/r/innodb_bug53591.result mysql-test/suite/innodb/r/innodb_file_format.result mysql-test/suite/innodb/r/innodb_index_large_prefix.result mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result mysql-test/suite/innodb/t/innodb-autoinc-44030.test mysql-test/suite/innodb/t/innodb-autoinc.test mysql-test/suite/innodb/t/innodb-create-options.test mysql-test/suite/innodb/t/innodb-index.test mysql-test/suite/innodb/t/innodb-zip.test mysql-test/suite/innodb/t/innodb_bug36172.test mysql-test/suite/innodb/t/innodb_bug52745.test mysql-test/suite/innodb/t/innodb_bug53591.test mysql-test/suite/innodb/t/innodb_bug56680.test mysql-test/suite/innodb/t/innodb_file_format.test mysql-test/suite/innodb/t/innodb_index_large_prefix.test mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test mysql-test/suite/opt_trace/include/subquery.inc mysql-test/suite/opt_trace/r/bugs_no_prot_all.result mysql-test/suite/opt_trace/r/bugs_no_prot_none.result mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result mysql-test/suite/opt_trace/r/filesort_pq.result mysql-test/suite/opt_trace/r/general2_no_prot.result mysql-test/suite/opt_trace/r/general2_ps_prot.result mysql-test/suite/opt_trace/r/general_no_prot_all.result mysql-test/suite/opt_trace/r/general_no_prot_none.result mysql-test/suite/opt_trace/r/general_ps_prot_all.result mysql-test/suite/opt_trace/r/general_ps_prot_none.result mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/range_ps_prot.result mysql-test/suite/opt_trace/r/subquery_no_prot.result mysql-test/suite/opt_trace/r/subquery_ps_prot.result mysql-test/suite/rpl/r/rpl_parallel_ddl.result mysql-test/suite/rpl/t/rpl_parallel_ddl.test mysql-test/suite/rpl/t/rpl_parallel_switch_sequential.test mysql-test/suite/sys_vars/r/all_vars.result mysql-test/suite/sys_vars/r/optimizer_switch_basic.result mysql-test/t/archive.test mysql-test/t/ctype_utf16.test mysql-test/t/ctype_utf32.test mysql-test/t/ctype_utf8.test mysql-test/t/derived.test mysql-test/t/error_simulation.test mysql-test/t/file_contents.test mysql-test/t/join_cache_bka.test mysql-test/t/join_cache_bka_nixbnl.test mysql-test/t/join_cache_bkaunique.test mysql-test/t/join_cache_nojb.test mysql-test/t/join_nested_bka.test mysql-test/t/join_nested_bka_nixbnl.test mysql-test/t/join_outer_bka.test mysql-test/t/join_outer_bka_nixbnl.test mysql-test/t/partition_innodb.test mysql-test/t/partition_innodb_plugin.test mysql-test/t/partition_myisam.test mysql-test/t/select_all_bka.test mysql-test/t/select_all_bka_nixbnl.test mysql-test/t/select_icp_mrr_bka.test mysql-test/t/select_icp_mrr_bka_nixbnl.test mysql-test/t/select_none_bka.test mysql-test/t/select_none_bka_nixbnl.test mysql-test/t/subquery_all_bka.test mysql-test/t/subquery_all_bka_nixbnl.test mysql-test/t/subquery_nomat_nosj_bka.test mysql-test/t/subquery_nomat_nosj_bka_nixbnl.test mysql-test/t/subquery_none_bka.test mysql-test/t/subquery_none_bka_nixbnl.test mysql-test/t/subquery_sj_all_bka.test mysql-test/t/subquery_sj_all_bka_nixbnl.test mysql-test/t/subquery_sj_all_bkaunique.test mysql-test/t/subquery_sj_dupsweed_bka.test mysql-test/t/subquery_sj_dupsweed_bka_nixbnl.test mysql-test/t/subquery_sj_dupsweed_bkaunique.test mysql-test/t/subquery_sj_firstmatch.test mysql-test/t/subquery_sj_firstmatch_bka.test mysql-test/t/subquery_sj_firstmatch_bka_nixbnl.test mysql-test/t/subquery_sj_firstmatch_bkaunique.test mysql-test/t/subquery_sj_innodb_all_bka.test mysql-test/t/subquery_sj_innodb_all_bka_nixbnl.test mysql-test/t/subquery_sj_innodb_all_bkaunique.test mysql-test/t/subquery_sj_innodb_none_bka.test mysql-test/t/subquery_sj_innodb_none_bka_nixbnl.test mysql-test/t/subquery_sj_innodb_none_bkaunique.test mysql-test/t/subquery_sj_loosescan_bka.test mysql-test/t/subquery_sj_loosescan_bka_nixbnl.test mysql-test/t/subquery_sj_loosescan_bkaunique.test mysql-test/t/subquery_sj_mat_bka.test mysql-test/t/subquery_sj_mat_bka_nixbnl.test mysql-test/t/subquery_sj_mat_bkaunique.test mysql-test/t/subquery_sj_none_bka.test mysql-test/t/subquery_sj_none_bka_nixbnl.test mysql-test/t/subquery_sj_none_bkaunique.test mysql-test/valgrind.supp scripts/mysql_install_db.pl.in scripts/mysql_install_db.sh scripts/mysqld_safe.sh sql/event_scheduler.cc sql/ha_partition.cc sql/ha_partition.h sql/item.h sql/item_subselect.cc sql/item_subselect.h sql/item_sum.cc sql/item_sum.h sql/log_event.cc sql/mysqld.cc sql/opt_explain.cc sql/opt_trace.cc sql/opt_trace.h sql/opt_trace2server.cc sql/rpl_info_file.cc sql/rpl_rli_pdb.cc sql/rpl_slave.cc sql/share/errmsg-utf8.txt sql/sp_head.cc sql/sql_class.cc sql/sql_insert.cc sql/sql_list.h sql/sql_parse.cc sql/sql_select.cc sql/sql_show.cc sql/sql_table.cc sql/sys_vars.cc sql/table.cc sql/udf_example.c storage/archive/azio.c storage/archive/ha_archive.cc storage/archive/ha_archive.h storage/innobase/btr/btr0cur.c storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0buf.c storage/innobase/buf/buf0lru.c storage/innobase/ha/ha0ha.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/i_s.cc storage/innobase/ibuf/ibuf0ibuf.c storage/innobase/include/btr0sea.h storage/innobase/include/btr0types.h storage/innobase/include/buf0buf.h storage/innobase/include/ha0ha.h storage/innobase/include/ha0ha.ic storage/innobase/include/row0upd.ic storage/innobase/include/sync0rw.h storage/innobase/include/sync0rw.ic storage/innobase/include/sync0sync.h storage/innobase/include/ut0crc32.h storage/innobase/os/os0file.c storage/innobase/page/page0page.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0start.c storage/innobase/sync/sync0rw.c storage/innobase/sync/sync0sync.c storage/innobase/ut/ut0crc32.c storage/myisam/ha_myisam.cc storage/perfschema/table_ews_by_thread_by_event_name.cc storage/perfschema/table_socket_summary_by_event_name.cc storage/perfschema/table_socket_summary_by_instance.cc storage/perfschema/table_socket_summary_by_instance.h support-files/mysql.spec.sh tests/mysql_client_test.c unittest/gunit/opt_trace-t.cc unittest/gunit/sql_list-t.cc 3458 Roy Lyseng 2011-10-07 Bug#12711441: crash in item_ident::fix_after_pullout on subquery... The problem occurs during semi-join transformation of a query involving the following query blocks (select_lex objects): +-------+ | Outer | +-------+ | +--------+ +------>| Middle | +--------+ | +--------+ +------>| Inner | +--------+ The Middle query block is part of an IN predicate and is merged into the Outer query block. The Inner query block is part of a >= SOME quantified comparison predicate which cannot be transformed. When attempting to apply the function fix_after_pullout() on a field of type Item_direct_view_ref which is also an outer reference, the program crashes. The field is referenced in the Inner query block and it originates from a view that is referenced in the Middle query block. The reason for the crash is that the Item_direct_view_ref object representing the view field v1.col_varchar_key is created with wrong name resolution context information. It is created with a context representing the Middle query block, but an equivalent table field would have been created with a context representing the Inner query block. dependent_from is then set to the same query block as the name resolution context points to, which is an illegal situation that Item_ident::fix_after_pullout() is not trained to handle. The solution seems to be to add proper name resolution context information to the Item_direct_view_ref constructor. Notice that the inner ref object of Item_direct_view_ref object references the query block where the view is referenced in the FROM clause, hence looking in the inner object will fail to get a proper name resolution context for the view field. mysql-test/include/subquery_sj.inc Added test case for bug#12711441 mysql-test/r/subquery_sj_all.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_loosescan.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_mat_nosj.result mysql-test/r/subquery_sj_none.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result Added test case results for bug#12711441 sql/item.cc Added an invariant check to Item_ident::fix_after_pullout. Added Name_resolution_context argument to Item_ref constructor. Deleted redundant Item_ident and Item_ref constructors. sql/item.h Added Name_resolution_context arguments to constructors for Item_ident, Item_ref, Item_direct_ref and Item_direct_view_ref Deleted redundant Item_ident, Item_ref, Item_direct_ref and Item_direct_view_ref constructors. sql/table.cc Added Name_resolution_context argument when constructing Item_direct_view_ref objects. sql/table.h Deleted function declaration after declaring function static. modified: mysql-test/include/subquery_sj.inc mysql-test/r/subquery_sj_all.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_loosescan.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_mat_nosj.result mysql-test/r/subquery_sj_none.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result sql/item.cc sql/item.h sql/table.cc sql/table.h Diff too large for email (28827 lines, the limit is 10000). No bundle (reason: useless for push emails).