From: Tor Didriksen Date: April 28 2011 12:03pm Subject: bzr push into mysql-trunk branch (tor.didriksen:3363 to 3366) List-Archive: http://lists.mysql.com/commits/136292 Message-Id: <20110428120341.75EE037FD@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3366 Tor Didriksen 2011-04-28 [merge] NULL merge trunk => opt-backporting 3365 Tor Didriksen 2011-04-28 Update result files after merging new tests from trunk modified: mysql-test/r/func_in_all.result mysql-test/r/subquery_all_jcl6.result mysql-test/r/subquery_nomat_nosj_jcl6.result mysql-test/r/subquery_none_jcl6.result 3364 Tor Didriksen 2011-04-28 [merge] Automerge trunk => opt-backporting removed: mysql-test/suite/bugs/ mysql-test/suite/bugs/combinations mysql-test/suite/bugs/data/ mysql-test/suite/bugs/data/rpl_bug12691.dat mysql-test/suite/bugs/r/ mysql-test/suite/bugs/r/bug57108.result mysql-test/suite/bugs/r/rpl_bug12691.result mysql-test/suite/bugs/r/rpl_bug31582.result mysql-test/suite/bugs/r/rpl_bug31583.result mysql-test/suite/bugs/r/rpl_bug33029.result mysql-test/suite/bugs/r/rpl_bug38205.result mysql-test/suite/bugs/t/ mysql-test/suite/bugs/t/bug57108-master.opt mysql-test/suite/bugs/t/bug57108.test mysql-test/suite/bugs/t/rpl_bug12691.test mysql-test/suite/bugs/t/rpl_bug31582.test mysql-test/suite/bugs/t/rpl_bug31583.test mysql-test/suite/bugs/t/rpl_bug33029.test mysql-test/suite/bugs/t/rpl_bug38205.test mysql-test/suite/sys_vars/r/max_long_data_size_basic.result mysql-test/suite/sys_vars/t/max_long_data_size_basic.test added: mysql-test/suite/innodb/r/innodb_bug11933790.result mysql-test/suite/innodb/r/innodb_bug59410.result mysql-test/suite/innodb/r/innodb_bug59641.result mysql-test/suite/innodb/t/innodb_bug11933790.test mysql-test/suite/innodb/t/innodb_bug59410.test mysql-test/suite/innodb/t/innodb_bug59641.test sql/item_inetfunc.cc sql/item_inetfunc.h storage/innobase/include/srv0conc.h storage/innobase/srv/srv0conc.c unittest/gunit/sql_plist-t.cc renamed: mysql-test/suite/bugs/r/rpl_bug23533.result => mysql-test/suite/binlog/r/binlog_bug23533.result mysql-test/suite/bugs/r/rpl_bug36391.result => mysql-test/suite/binlog/r/binlog_bug36391.result mysql-test/suite/bugs/r/rpl_bug37426.result => mysql-test/suite/rpl/r/rpl_bug37426.result mysql-test/suite/bugs/t/rpl_bug23533.test => mysql-test/suite/binlog/t/binlog_bug23533.test mysql-test/suite/bugs/t/rpl_bug36391-master.opt => mysql-test/suite/binlog/t/binlog_bug36391-master.opt mysql-test/suite/bugs/t/rpl_bug36391.test => mysql-test/suite/binlog/t/binlog_bug36391.test mysql-test/suite/bugs/t/rpl_bug37426.test => mysql-test/suite/rpl/t/rpl_bug37426.test modified: .bzrignore client/client_priv.h client/mysqlslap.c client/mysqltest.cc cmake/maintainer.cmake cmake/os/Windows.cmake cmake/os/WindowsCache.cmake cmd-line-utils/libedit/vi.c config.h.cmake configure.cmake include/m_ctype.h include/my_global.h include/my_net.h include/mysql/psi/mysql_file.h include/mysql/psi/mysql_stage.h include/mysql/psi/mysql_statement.h include/mysql/psi/mysql_table.h include/mysql/psi/mysql_thread.h include/mysql/psi/psi.h include/mysql/psi/psi_abi_v2.h.pp include/violite.h libmysql/libmysql.c libmysqld/libmysqld.c mysql-test/collections/default.experimental mysql-test/collections/default.weekly mysql-test/extra/rpl_tests/rpl_extra_col_master.test mysql-test/extra/rpl_tests/rpl_extra_col_slave.test mysql-test/include/ctype_numconv.inc mysql-test/include/func_in.inc mysql-test/include/join_cache.inc mysql-test/include/mix1.inc mysql-test/include/mtr_warnings.sql mysql-test/include/order_by.inc mysql-test/include/subquery.inc mysql-test/lib/My/Find.pm mysql-test/lib/mtr_gcov.pl mysql-test/lib/mtr_misc.pl mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ucs.result mysql-test/r/ctype_utf8.result mysql-test/r/func_analyse.result mysql-test/r/func_group.result mysql-test/r/func_in_icp.result mysql-test/r/func_in_icp_mrr.result mysql-test/r/func_in_mrr.result mysql-test/r/func_in_mrr_cost.result mysql-test/r/func_in_none.result mysql-test/r/func_math.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/having.result mysql-test/r/join_cache_jcl1.result mysql-test/r/join_cache_jcl2.result mysql-test/r/join_cache_jcl3.result mysql-test/r/join_cache_jcl4.result mysql-test/r/join_cache_jcl5.result mysql-test/r/join_cache_jcl6.result mysql-test/r/join_cache_jcl7.result mysql-test/r/join_cache_jcl8.result mysql-test/r/loaddata.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/mysqlslap.result mysql-test/r/order_by_all.result mysql-test/r/order_by_icp_mrr.result mysql-test/r/order_by_none.result mysql-test/r/show_check.result mysql-test/r/sp-destruct.result mysql-test/r/subquery_all.result mysql-test/r/subquery_nomat_nosj.result mysql-test/r/subquery_none.result mysql-test/r/type_timestamp.result mysql-test/r/variables.result mysql-test/r/view.result mysql-test/r/warnings.result mysql-test/r/xa.result mysql-test/suite/innodb/r/innodb_bug60196.result mysql-test/suite/innodb/r/innodb_monitor.result mysql-test/suite/innodb/t/innodb_bug60196.test mysql-test/suite/parts/inc/partition_check_drop.inc mysql-test/suite/parts/inc/partition_layout_check1.inc mysql-test/suite/parts/inc/partition_layout_check2.inc mysql-test/suite/perfschema/r/misc.result mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result mysql-test/suite/perfschema/t/misc.test mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result mysql-test/suite/sys_vars/r/all_vars.result mysql-test/t/alter_table.test mysql-test/t/func_analyse.test mysql-test/t/func_group.test mysql-test/t/func_math.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/having.test mysql-test/t/loaddata.test mysql-test/t/mysqlbinlog_raw_mode.test mysql-test/t/mysqlslap.test mysql-test/t/show_check.test mysql-test/t/sp-destruct.test mysql-test/t/type_timestamp.test mysql-test/t/variables.test mysql-test/t/view.test mysql-test/t/warnings.test mysql-test/t/xa.test mysys/charset.c mysys/default.c mysys/my_init.c mysys/my_thr_init.c mysys/mysys_priv.h plugin/semisync/semisync_master_plugin.cc sql-common/client.c sql-common/my_time.c sql/CMakeLists.txt sql/debug_sync.cc sql/events.cc sql/field.cc sql/ha_ndbcluster.cc sql/ha_partition.cc sql/ha_partition.h sql/handler.cc sql/handler.h sql/hostname.cc sql/item.cc sql/item.h sql/item_cmpfunc.cc sql/item_create.cc sql/item_func.cc sql/item_func.h sql/item_strfunc.cc sql/item_strfunc.h sql/item_sum.cc sql/item_timefunc.cc sql/mdl.cc sql/mdl.h sql/mysqld.cc sql/mysqld.h sql/opt_range.cc sql/opt_sum.cc sql/rpl_info_factory.h sql/rpl_master.cc sql/rpl_slave.cc sql/sp.cc sql/sp.h sql/sp_cache.cc sql/sp_head.cc sql/sql_acl.cc sql/sql_admin.cc sql/sql_audit.cc sql/sql_base.cc sql/sql_base.h sql/sql_class.cc sql/sql_class.h sql/sql_connect.cc sql/sql_db.cc sql/sql_error.cc sql/sql_error.h sql/sql_join_cache.cc sql/sql_load.cc sql/sql_parse.cc sql/sql_plist.h sql/sql_plugin.cc sql/sql_prepare.cc sql/sql_select.cc sql/sql_select.h sql/sql_servers.cc sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_udf.cc sql/sql_update.cc sql/structs.h sql/sys_vars.cc sql/table.cc sql/transaction.cc sql/tztime.cc storage/archive/ha_archive.cc storage/blackhole/ha_blackhole.cc storage/csv/ha_tina.cc storage/example/ha_example.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/heap/ha_heap.h storage/heap/hp_static.c storage/innobase/CMakeLists.txt storage/innobase/btr/btr0btr.c storage/innobase/btr/btr0cur.c storage/innobase/buf/buf0buf.c storage/innobase/buf/buf0flu.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0boot.c storage/innobase/dict/dict0crea.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0load.c storage/innobase/dict/dict0mem.c storage/innobase/dict/dict0stats.c storage/innobase/fil/fil0fil.c storage/innobase/fsp/fsp0fsp.c storage/innobase/ha/ha0ha.c storage/innobase/ha/hash0hash.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/handler/handler0alter.cc storage/innobase/handler/i_s.cc storage/innobase/ibuf/ibuf0ibuf.c storage/innobase/include/buf0buf.h storage/innobase/include/buf0buf.ic storage/innobase/include/buf0flu.h storage/innobase/include/buf0lru.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0dict.ic storage/innobase/include/dict0mem.h storage/innobase/include/dict0mem.ic storage/innobase/include/dict0priv.ic storage/innobase/include/fsp0fsp.h storage/innobase/include/fsp0fsp.ic storage/innobase/include/ha_prototypes.h storage/innobase/include/hash0hash.h storage/innobase/include/log0log.h storage/innobase/include/log0log.ic storage/innobase/include/log0recv.h storage/innobase/include/os0file.h storage/innobase/include/os0sync.h storage/innobase/include/os0thread.h storage/innobase/include/page0types.h storage/innobase/include/page0zip.ic storage/innobase/include/srv0mon.h storage/innobase/include/srv0srv.h storage/innobase/include/sync0arr.h storage/innobase/include/sync0arr.ic storage/innobase/include/sync0rw.h storage/innobase/include/sync0rw.ic storage/innobase/include/sync0sync.h storage/innobase/include/trx0purge.h storage/innobase/include/trx0sys.h storage/innobase/include/trx0sys.ic storage/innobase/include/trx0trx.h storage/innobase/include/trx0undo.h storage/innobase/include/univ.i storage/innobase/include/ut0bh.ic storage/innobase/include/ut0dbg.h storage/innobase/include/ut0ut.h storage/innobase/include/ut0vec.h storage/innobase/include/ut0vec.ic storage/innobase/lock/lock0lock.c storage/innobase/lock/lock0wait.c storage/innobase/log/log0log.c storage/innobase/log/log0recv.c storage/innobase/mem/mem0dbg.c storage/innobase/mtr/mtr0log.c storage/innobase/os/os0file.c storage/innobase/os/os0sync.c storage/innobase/os/os0thread.c storage/innobase/page/page0zip.c storage/innobase/que/que0que.c storage/innobase/row/row0merge.c storage/innobase/row/row0mysql.c storage/innobase/row/row0purge.c storage/innobase/row/row0row.c storage/innobase/row/row0sel.c storage/innobase/row/row0uins.c storage/innobase/row/row0umod.c storage/innobase/row/row0upd.c storage/innobase/srv/srv0mon.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/sync/sync0arr.c storage/innobase/sync/sync0rw.c storage/innobase/sync/sync0sync.c storage/innobase/trx/trx0purge.c storage/innobase/trx/trx0roll.c storage/innobase/trx/trx0sys.c storage/innobase/trx/trx0trx.c storage/innobase/trx/trx0undo.c storage/innobase/ut/ut0bh.c storage/innobase/ut/ut0dbg.c storage/innobase/ut/ut0ut.c storage/myisam/ha_myisam.cc storage/myisam/ha_myisam.h storage/myisam/mi_static.c storage/myisam/myisamdef.h storage/myisammrg/ha_myisammrg.cc storage/myisammrg/ha_myisammrg.h storage/myisammrg/myrg_static.c unittest/gunit/CMakeLists.txt vio/vio_priv.h vio/viosocket.c mysql-test/suite/binlog/r/binlog_bug23533.result mysql-test/suite/binlog/r/binlog_bug36391.result mysql-test/suite/rpl/r/rpl_bug37426.result mysql-test/suite/binlog/t/binlog_bug23533.test mysql-test/suite/binlog/t/binlog_bug36391.test mysql-test/suite/rpl/t/rpl_bug37426.test 3363 Roy Lyseng 2011-04-14 Bug#11822517: Refactor call interface of choose_plan() Part 2 - Change meaning of greedy_search() argument 'remaining_tables'. The purpose of this patch is to make the interface of greedy_search() and related functions simpler. It is also a preparatory step for a simpler test for dependencies when doing semi-join materialization together with outer join (WL#5561). The meaning of the argument remaining_tables to greedy_search() is changed: Before this patch, it meant all tables not yet added to the current join plan, regardless of whether the tables were to be optimized or not. After the patch, it means all tables remaining to be added, but not including tables that will not be optimized. The difference is important when making a plan for a materialized semi-join nest. Before, remaining_tables included also the tables belonging to the query, but not part of the semi-join nest being optimized. This makes for simpler implementation of best_extension_by_limited_search() and easier maintenance. However, best_access_path() requires that information about all tables not yet added to the plan be available. We implement this by adding a member variable excluded_tables in the Optimize_table_order class, which contains the set of all tables in the query block that are not to be optimized in the current operation. Notice that excluded_tables is passed to best_access_path() only where it can be non-empty. sql/sql_select.cc New member variable excluded_tables is added to Optimize_table_order. In choose_table_order(), join_tables is calculated as the set of tables to be optimized. In best_extension_by_limited_search(), use of allowed_tables is eliminated, and logic has been slightly simplified. modified: sql/sql_select.cc Diff too large for email (25208 lines, the limit is 10000). No bundle (reason: useless for push emails).