List:Commits« Previous MessageNext Message »
From:Evgeny Potemkin Date:July 29 2011 9:35am
Subject:bzr push into mysql-trunk branch (evgeny.potemkin:3015 to 3016)
View as plain text  
 3016 Evgeny Potemkin	2011-07-29 [merge]
      Auto-merged: mysql-trunk => wl5274.
     @ sql/item_subselect.cc
        Bug#12795555: Missing rows with ANY subquery.
        Now Item_maxmin_subselect::was_values is assigned to FALSE.
        Item_maxmin_subselect::any_value now executes subquery if it wasn't executed yet
        prior to returning a value.

    added:
      mysql-test/suite/perfschema/include/stage_cleanup.inc
      mysql-test/suite/perfschema/include/stage_setup.inc
      mysql-test/suite/perfschema/r/stage_mdl_function.result
      mysql-test/suite/perfschema/r/stage_mdl_global.result
      mysql-test/suite/perfschema/r/stage_mdl_procedure.result
      mysql-test/suite/perfschema/r/stage_mdl_table.result
      mysql-test/suite/perfschema/t/stage_mdl_function.test
      mysql-test/suite/perfschema/t/stage_mdl_global.test
      mysql-test/suite/perfschema/t/stage_mdl_procedure.test
      mysql-test/suite/perfschema/t/stage_mdl_table.test
    renamed:
      mysql-test/suite/sys_vars/r/default_temp_storage_engine_basic.result => mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result
      mysql-test/suite/sys_vars/t/default_temp_storage_engine_basic.test => mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test
    modified:
      client/mysql.cc
      client/mysql_upgrade.c
      client/mysqladmin.cc
      client/mysqlcheck.c
      client/mysqldump.c
      client/mysqlimport.c
      client/mysqlshow.c
      client/mysqltest.cc
      client/readline.cc
      cmake/create_initial_db.cmake.in
      config.h.cmake
      configure.cmake
      dbug/dbug_analyze.c
      dbug/my_main.c
      dbug/tests.c
      include/my_sys.h
      libmysqld/emb_qcache.cc
      libmysqld/lib_sql.cc
      mysql-test/collections/default.weekly
      mysql-test/include/mix1.inc
      mysql-test/lib/mtr_cases.pm
      mysql-test/mysql-test-run.pl
      mysql-test/r/func_str.result
      mysql-test/r/func_time.result
      mysql-test/r/information_schema-big.result
      mysql-test/r/merge.result
      mysql-test/r/mysql_binary_mode.result
      mysql-test/r/mysqld--help-notwin.result
      mysql-test/r/mysqld--help-win.result
      mysql-test/r/parser.result
      mysql-test/r/signal.result
      mysql-test/r/signal_demo3.result
      mysql-test/r/sp-big.result
      mysql-test/r/sp-bugs.result
      mysql-test/r/sp-code.result
      mysql-test/r/sp-error.result
      mysql-test/r/sp.result
      mysql-test/r/sp_trans.result
      mysql-test/r/strict.result
      mysql-test/r/view.result
      mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam-master.opt
      mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam-master.opt
      mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
      mysql-test/suite/funcs_1/r/memory_storedproc_02.result
      mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
      mysql-test/suite/funcs_1/r/storedproc.result
      mysql-test/suite/innodb/r/innodb_bug54044.result
      mysql-test/suite/innodb/r/innodb_mysql.result
      mysql-test/suite/innodb/t/innodb_bug54044.test
      mysql-test/suite/perfschema/r/ortho_iter.result
      mysql-test/suite/perfschema/r/privilege_table_io.result
      mysql-test/suite/perfschema/r/query_cache.result
      mysql-test/suite/perfschema/r/start_server_innodb.result
      mysql-test/suite/perfschema/r/start_server_no_cond_class.result
      mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
      mysql-test/suite/perfschema/r/start_server_no_file_class.result
      mysql-test/suite/perfschema/r/start_server_no_file_inst.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
      mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
      mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
      mysql-test/suite/perfschema/r/start_server_no_stages_history.result
      mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
      mysql-test/suite/perfschema/r/start_server_no_statement_class.result
      mysql-test/suite/perfschema/r/start_server_no_statements_history.result
      mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
      mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
      mysql-test/suite/perfschema/r/start_server_no_table_inst.result
      mysql-test/suite/perfschema/r/start_server_no_thread_class.result
      mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
      mysql-test/suite/perfschema/r/start_server_off.result
      mysql-test/suite/perfschema/r/start_server_on.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_off.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/r/table_lock_aggregate_global_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
      mysql-test/suite/rpl/r/rpl_row_sp005.result
      mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
      mysql-test/suite/sys_vars/r/all_vars.result
      mysql-test/suite/sys_vars/r/innodb_buffer_pool_filename_basic.result
      mysql-test/suite/sys_vars/t/innodb_buffer_pool_filename_basic.test
      mysql-test/t/bootstrap-master.opt
      mysql-test/t/bootstrap.test
      mysql-test/t/ctype_utf8mb4-master.opt
      mysql-test/t/func_str.test
      mysql-test/t/func_time.test
      mysql-test/t/merge.test
      mysql-test/t/mysql_binary_mode.test
      mysql-test/t/parser.test
      mysql-test/t/sp-error.test
      mysys/my_init.c
      mysys/my_static.c
      mysys/mysys_priv.h
      mysys/thr_lock.c
      plugin/semisync/semisync_master.cc
      plugin/semisync/semisync_master.h
      plugin/semisync/semisync_master_plugin.cc
      sql/CMakeLists.txt
      sql/binlog.cc
      sql/debug_sync.cc
      sql/event_data_objects.cc
      sql/event_db_repository.cc
      sql/event_parse_data.cc
      sql/event_queue.cc
      sql/event_queue.h
      sql/event_scheduler.cc
      sql/event_scheduler.h
      sql/events.cc
      sql/events.h
      sql/field.cc
      sql/field.h
      sql/field_conv.cc
      sql/gen_lex_hash.cc
      sql/ha_ndbcluster.cc
      sql/ha_ndbcluster_binlog.cc
      sql/ha_ndbcluster_cond.cc
      sql/handler.cc
      sql/item.cc
      sql/item_cmpfunc.cc
      sql/item_func.cc
      sql/item_geofunc.cc
      sql/item_strfunc.cc
      sql/item_subselect.cc
      sql/item_sum.cc
      sql/item_timefunc.cc
      sql/item_xmlfunc.cc
      sql/log.cc
      sql/log_event.cc
      sql/mdl.cc
      sql/mdl.h
      sql/my_decimal.cc
      sql/mysqld.cc
      sql/mysqld.h
      sql/opt_explain.cc
      sql/opt_range.cc
      sql/partition_info.cc
      sql/protocol.cc
      sql/replication.h
      sql/rpl_master.cc
      sql/rpl_record.cc
      sql/rpl_reporting.cc
      sql/rpl_rli.cc
      sql/rpl_slave.cc
      sql/set_var.cc
      sql/sp.cc
      sql/sp_head.cc
      sql/sp_rcontext.cc
      sql/sp_rcontext.h
      sql/sql_acl.cc
      sql/sql_admin.cc
      sql/sql_alloc_error_handler.cc
      sql/sql_alter.cc
      sql/sql_audit.h
      sql/sql_base.cc
      sql/sql_base.h
      sql/sql_cache.cc
      sql/sql_class.cc
      sql/sql_class.h
      sql/sql_db.cc
      sql/sql_error.cc
      sql/sql_error.h
      sql/sql_handler.cc
      sql/sql_insert.cc
      sql/sql_lex.cc
      sql/sql_load.cc
      sql/sql_locale.cc
      sql/sql_parse.cc
      sql/sql_partition.cc
      sql/sql_plugin.cc
      sql/sql_prepare.cc
      sql/sql_prepare.h
      sql/sql_priv.h
      sql/sql_select.cc
      sql/sql_servers.cc
      sql/sql_show.cc
      sql/sql_signal.cc
      sql/sql_signal.h
      sql/sql_table.cc
      sql/sql_table.h
      sql/sql_tablespace.cc
      sql/sql_time.cc
      sql/sql_time.h
      sql/sql_trigger.cc
      sql/sql_update.cc
      sql/sql_view.cc
      sql/sql_yacc.yy
      sql/sys_vars.cc
      sql/table.cc
      sql/unireg.cc
      storage/innobase/fil/fil0fil.c
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/handler/handler0alter.cc
      storage/innobase/handler/i_s.cc
      storage/innobase/include/srv0srv.h
      storage/innobase/include/sync0sync.h
      storage/innobase/include/trx0sys.h
      storage/innobase/include/trx0sys.ic
      storage/innobase/include/trx0trx.h
      storage/innobase/include/trx0trx.ic
      storage/innobase/lock/lock0lock.c
      storage/innobase/read/read0read.c
      storage/innobase/row/row0ins.c
      storage/innobase/row/row0row.c
      storage/innobase/row/row0vers.c
      storage/innobase/srv/srv0srv.c
      storage/innobase/sync/sync0sync.c
      storage/innobase/trx/trx0i_s.c
      storage/innobase/trx/trx0purge.c
      storage/innobase/trx/trx0roll.c
      storage/innobase/trx/trx0rseg.c
      storage/innobase/trx/trx0sys.c
      storage/innobase/trx/trx0trx.c
      storage/innobase/trx/trx0undo.c
      storage/myisammrg/ha_myisammrg.cc
      storage/myisammrg/myrg_open.c
      storage/perfschema/pfs_server.h
      support-files/mysql.spec.sh
      unittest/gunit/CMakeLists.txt
      unittest/gunit/opt_trace-t.cc
      unittest/gunit/test_mdl_context_owner.h
      unittest/gunit/test_utils.cc
      unittest/gunit/test_utils.h
      mysql-test/suite/sys_vars/r/default_tmp_storage_engine_basic.result
      mysql-test/suite/sys_vars/t/default_tmp_storage_engine_basic.test
 3015 Evgeny Potemkin	2011-07-28
      Bug#12799731 - CRASH IN END_READ_RECORD.
      By default when creating a tmp table the heap table is created. When there
      is too much data the heap table is replaced with myisam and data
      is flushed on disk. The problem is that the storage engine handler is cached 
      in join_tab. Thus for materialized derived tables the handler is cached when
      the result tmp table is being heap, but cleanup is called when heap is freed
      and tmp table is substituted with myisam. Trying to free already freed
      handler caused crash.
      The solution is to not cache storage engine handler as it always could be
      easily obtained from table handler which is appropriately updated.
      As materialized derived tables result now could have a key, a QUICK_... access
      could be used for it. Since some QUICK_... descendants cache storage engine
      handler they need to be updated also.
      The QUICK_SELECT_I class now allow descendants to set storage engine handler
      with virtual function called set_handler. 
      QUICK_GROUP_MIN_MAX_SELECT now doesn't cache storage engine handler and uses
      stored one in table instead.
     @ mysql-test/r/derived.result
        Added a test case for the bug#12799731.
     @ mysql-test/t/derived.test
        Added a test case for the bug#12799731.
     @ sql/opt_range.cc
        Bug#12799731 - CRASH IN END_READ_RECORD.
        QUICK_GROUP_MIN_MAX_SELECT now doesn't cache storage engine handler and uses
        table handler to obtain it instead.
     @ sql/opt_range.h
        Bug#12799731 - CRASH IN END_READ_RECORD.
        The QUICK_SELECT_I class is extended to store storage engine handler for its
        descendants and now allows updating it through a setter function
        set_handler.
        QUICK_GROUP_MIN_MAX_SELECT now doesn't cache storage engine handler.
     @ sql/records.cc
        Bug#12799731 - CRASH IN END_READ_RECORD.
        Use storage engine handler stored in table instead of cached one in READ_RECORD.
     @ sql/records.h
        Bug#12799731 - CRASH IN END_READ_RECORD.
        Do not cache storage engine handler in READ_RECORD structure.
     @ sql/sql_select.cc
        Bug#12799731 - CRASH IN END_READ_RECORD.
        Use storage engine handler stored in table instead of cached one in READ_RECORD.
        Update quick select when tmp table's storage engine handler is changed .
     @ sql/sql_show.cc
        Bug#12799731 - CRASH IN END_READ_RECORD.
        Do not cache storage engine handler in READ_RECORD structure.

    modified:
      mysql-test/r/derived.result
      mysql-test/t/derived.test
      sql/opt_range.cc
      sql/opt_range.h
      sql/records.cc
      sql/records.h
      sql/sql_select.cc
      sql/sql_show.cc

Diff too large for email (16172 lines, the limit is 10000).
No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (evgeny.potemkin:3015 to 3016) Evgeny Potemkin3 Aug