List:Commits« Previous MessageNext Message »
From:Mattias Jonsson Date:January 10 2012 9:15pm
Subject:bzr push into mysql-trunk branch (mattias.jonsson:3719 to 3720) WL#4443
View as plain text  
 3720 Mattias Jonsson	2012-01-10 [merge]
      WL#4443: Remove scalability problem with many lock's
      and external lock's on partitioned tables with many partitions
      
      Merge of completed worklog with updated mysql-trunk and
      13008220 and 11761652.
      
      Replaced calls to open_and_lock_tables with calls to
      new functions open_query_tables and lock_query_tables
      to be able to prepare use of tables including pruning of
      partitions before locking them.
      
      open_query_tables and lock_query_tables only takes
      thd as argument and store its state in thd->lex
      (Query_tables_list).
      
      Implemented pruning of INSERTs by setting all partitions
      of all inserted rows to be locked before locking.
      
      Added lock pruning to EXCHANGE PARTITION and
      TRUNCATE PARTITION.
      
      Disabled some calls which would have evaluated
      subqueries during prepare.
      
      CREATE VIEW no longer lock the tables except for MDL.
      
      Added pruning in JOIN::prepare to be able to prune locks
      for constant conditions.

    added:
      mysql-test/r/partition_locking.result
      mysql-test/t/partition_locking.test
    modified:
      mysql-test/include/commit.inc
      mysql-test/r/commit_1innodb.result
      mysql-test/r/explain.result
      mysql-test/r/grant_cache_no_prot.result
      mysql-test/r/innodb_explain_non_select_none.result
      mysql-test/r/myisam_explain_non_select_none.result
      mysql-test/r/partition_binlog.result
      mysql-test/r/partition_datatype.result
      mysql-test/r/partition_error.result
      mysql-test/r/partition_explicit_prune.result
      mysql-test/r/partition_pruning.result
      mysql-test/r/partition_truncate.result
      mysql-test/r/type_date.result
      mysql-test/suite/binlog/r/binlog_unsafe.result
      mysql-test/suite/opt_trace/r/bugs_no_prot_none.result
      mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result
      mysql-test/suite/parts/inc/partition-dml-1-9.inc
      mysql-test/suite/parts/r/partition-dml-1-9-innodb.result
      mysql-test/suite/parts/r/partition-dml-1-9-myisam.result
      mysql-test/suite/perfschema/r/stage_mdl_function.result
      mysql-test/t/explain.test
      mysql-test/t/partition_binlog.test
      mysql-test/t/partition_explicit_prune.test
      mysql-test/t/partition_pruning.test
      mysql-test/t/partition_truncate.test
      mysql-test/t/type_date.test
      sql/field_conv.cc
      sql/ha_partition.cc
      sql/ha_partition.h
      sql/handler.cc
      sql/handler.h
      sql/item_cmpfunc.cc
      sql/item_row.cc
      sql/item_strfunc.cc
      sql/log_event.cc
      sql/opt_explain.cc
      sql/opt_range.cc
      sql/opt_range.h
      sql/partition_info.cc
      sql/partition_info.h
      sql/share/errmsg-utf8.txt
      sql/sp_head.cc
      sql/sql_acl.cc
      sql/sql_base.cc
      sql/sql_base.h
      sql/sql_cache.h
      sql/sql_delete.cc
      sql/sql_executor.cc
      sql/sql_insert.cc
      sql/sql_join_buffer.cc
      sql/sql_lex.cc
      sql/sql_lex.h
      sql/sql_load.cc
      sql/sql_optimizer.cc
      sql/sql_parse.cc
      sql/sql_partition.cc
      sql/sql_partition_admin.cc
      sql/sql_prepare.cc
      sql/sql_resolver.cc
      sql/sql_select.cc
      sql/sql_select.h
      sql/sql_union.cc
      sql/sql_update.cc
      sql/sql_view.cc
 3719 Mattias Jonsson	2012-01-10 [merge]
      Bug#11761652: 54166: HA_RND_INIT() RESULT CODE NOT CHECKED
      Bug#11746399: 26040: RETURN VALUES OF HA_INDEX_INIT() AND INDEX_INIT() IGNORED
      
      
      This fix is based on the proposed patch for bug#13008220.
      
      Added checks for ha_rnd_init and ha_index_init return codes.
      
      Also added DBUG_ASSERT's to spot SE API violations.
      
      Changed InnoDB to return a more correct error in index_init.
      
      All this changes are done to enforce correct locking and cursor/handler
      usage by the server in debug mode.
      
      Merge with updated mysql-trunk and updated 13008220.

    modified:
      mysql-test/suite/innodb/r/innodb_corrupt_bit.result
      mysql-test/suite/innodb/t/innodb_corrupt_bit.test
      sql/event_db_repository.cc
      sql/filesort.cc
      sql/ha_partition.cc
      sql/handler.cc
      sql/handler.h
      sql/item_subselect.cc
      sql/log_event.cc
      sql/log_event_old.cc
      sql/opt_range.cc
      sql/opt_sum.cc
      sql/sp.cc
      sql/sql_acl.cc
      sql/sql_executor.cc
      sql/sql_help.cc
      sql/sql_join_buffer.cc
      sql/sql_show.cc
      sql/sql_tmp_table.cc
      sql/sql_update.cc
      sql/tztime.cc
      storage/innobase/handler/ha_innodb.cc

Diff too large for email (10748 lines, the limit is 10000).
No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (mattias.jonsson:3719 to 3720) WL#4443Mattias Jonsson11 Jan