3767 kevin.lewis@stripped 2012-05-02
Full 5980 patch.
added:
mysql-test/include/shutdown_mysqld.inc
mysql-test/include/start_mysqld.inc
mysql-test/r/partition_innodb_tablespace.result
mysql-test/suite/innodb/r/innodb-tablespace.result
mysql-test/suite/innodb/t/innodb-tablespace.test
mysql-test/suite/parts/r/partition_reorganize_innodb.result
mysql-test/suite/parts/r/partition_reorganize_myisam.result
mysql-test/suite/parts/t/partition_reorganize_innodb.test
mysql-test/suite/parts/t/partition_reorganize_myisam.test
mysql-test/t/partition_innodb_tablespace.test
modified:
include/my_base.h
mysql-test/r/mysqlshow.result
mysql-test/suite/innodb/r/innodb-restart.result
mysql-test/suite/innodb/r/innodb-system-table-view.result
mysql-test/suite/innodb/r/innodb_16k.result
mysql-test/suite/innodb/r/innodb_4k.result
mysql-test/suite/innodb/r/innodb_8k.result
mysql-test/suite/innodb/t/innodb-restart.test
mysql-test/suite/innodb/t/innodb-system-table-view.test
mysql-test/suite/innodb/t/innodb_16k.test
mysql-test/suite/innodb/t/innodb_4k.test
mysql-test/suite/innodb/t/innodb_8k.test
mysql-test/suite/parts/r/partition_basic_symlink_innodb.result
mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
mysys/my_handler_errors.h
sql/ha_partition.cc
sql/ha_partition.h
sql/handler.cc
sql/share/errmsg-utf8.txt
sql/sql_partition.cc
sql/sql_partition.h
sql/sql_table.cc
storage/innobase/dict/dict0boot.cc
storage/innobase/dict/dict0crea.cc
storage/innobase/dict/dict0dict.cc
storage/innobase/dict/dict0load.cc
storage/innobase/fil/fil0fil.cc
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/handler/i_s.h
storage/innobase/include/db0err.h
storage/innobase/include/dict0boot.h
storage/innobase/include/dict0crea.h
storage/innobase/include/dict0dict.h
storage/innobase/include/dict0dict.ic
storage/innobase/include/dict0load.h
storage/innobase/include/dict0mem.h
storage/innobase/include/fil0fil.h
storage/innobase/include/os0file.h
storage/innobase/include/read0read.h
storage/innobase/include/row0merge.h
storage/innobase/include/trx0trx.h
storage/innobase/lock/lock0lock.cc
storage/innobase/os/os0file.cc
storage/innobase/row/row0merge.cc
storage/innobase/row/row0mysql.cc
storage/innobase/srv/srv0start.cc
storage/innobase/sync/sync0sync.cc
storage/innobase/ut/ut0ut.cc
3766 Vasil Dimov 2012-05-02
Remove duplicate definition of OS_SYNC_TIME_EXCEEDED and fix
typo in the macro os_event_wait_time().
modified:
storage/innobase/include/os0sync.h
3765 Tatjana Azundris Nuernberg 2012-05-02 [merge]
auto-merge
added:
unittest/gunit/my_error-t.cc
modified:
include/my_sys.h
mysys/my_error.c
sql/log.h
unittest/gunit/CMakeLists.txt
3764 Marko Mäkelä 2012-05-02
Non-functional changes.
dict_mem_table_create(): Remove bogus comment about clustered tables,
which were never implemented in InnoDB.
create_table_def(): Remove unnecessary type casts.
modified:
storage/innobase/dict/dict0mem.cc
storage/innobase/handler/ha_innodb.cc
storage/innobase/include/dict0mem.h
3763 Rohit Kalhans 2012-05-02 [merge]
WL#5597: Using batch operations when there is no index in RBR
CONTEXT
-------
With RBR, if a table has no indexes, the slave does a full table scan for each
row changed (i.e. updated or deleted). This can be extremely time consuming
when there is a high number of rows to be updated.
SOLUTION
---------
When there is a table without a PK or an INDEX, create a temporary in-memory
index (e.g. in-memory hash table) and store the rows to be update in it. Then for
each row in the table, check if the row exists in the hash table. If there is a
match, do the operation, i.e. update or delete.
removed:
mysql-test/suite/rpl/r/rpl_row_find_row_debug.result
mysql-test/suite/rpl/t/rpl_row_find_row_debug.test
added:
mysql-test/extra/rpl_tests/rpl_row_idempotency.test
mysql-test/include/rpl_hash_scan_assertion.inc
mysql-test/suite/rpl/r/rpl_row_hash_scan.result
mysql-test/suite/rpl/r/rpl_row_hash_scan_sanity.result
mysql-test/suite/rpl/t/rpl_row_hash_scan.test
mysql-test/suite/rpl/t/rpl_row_hash_scan_sanity.test
mysql-test/suite/sys_vars/r/slave_rows_search_algorithms_basic.result
mysql-test/suite/sys_vars/t/slave_rows_search_algorithms_basic.test
modified:
mysql-test/collections/default.daily
mysql-test/extra/rpl_tests/rpl_record_compare.test
mysql-test/r/mysqld--help-notwin.result
mysql-test/r/mysqld--help-win.result
mysql-test/suite/rpl/r/rpl_bug26395.result
mysql-test/suite/rpl/r/rpl_parallel_start_stop.result
mysql-test/suite/rpl/r/rpl_relayrotate.result
mysql-test/suite/rpl/r/rpl_row_idempotency.result
mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
mysql-test/suite/rpl/t/rpl_bug26395.test
mysql-test/suite/rpl/t/rpl_parallel_start_stop.test
mysql-test/suite/rpl/t/rpl_relayrotate.test
mysql-test/suite/rpl/t/rpl_row_idempotency.test
sql/handler.h
sql/log_event.cc
sql/log_event.h
sql/mysqld.cc
sql/mysqld.h
sql/rpl_utility.cc
sql/rpl_utility.h
sql/sql_class.h
sql/sys_vars.cc
storage/blackhole/ha_blackhole.h
3762 Norvald H. Ryeng 2012-05-02
Bug#13330886 TOO MANY ROWS WITH ALL|ANY
Post push fix. Changed test result for test explain_json_validate.
modified:
mysql-test/suite/explain_json_validate/r/explain_json_validate.result
3761 Tor Didriksen 2012-05-02
Followup patch for Bug#13945257 NEW COMPILATION ERRORS/WARNINGS WITH XCODE 4.3.2
Do not allocate anything on the heap in Fake_TABLE,
since TABLE::~TABLE() is not virtual.
modified:
unittest/gunit/fake_table.h
3760 Norvald H. Ryeng 2012-05-02
Bug#13330886 TOO MANY ROWS WITH ALL|ANY
Queries with subquery predicates containing ALL may return incorrect
results due to a faulty query transformation. E.g.:
SELECT * FROM t1 WHERE b > ALL (SELECT a FROM t2);
is rewritten
SELECT * FROM t1 WHERE b > (SELECT MAX(a) FROM t2);
This transformation in Item_in_subselect::single_value_transformer()
is correct only when t2.a doesn't contain NULL values. If the subquery
result contains at least one non-NULL value, MAX(a) returns the
largest non-NULL value, and this value is compared with b. However,
(b > ALL(result that contains at least one NULL)) should return UNKNOWN
unless there is a value in the subquery result that is greater than b,
in which case the condition should return FALSE.
Fix: Disable this transformation for ALL subquery predicates that may
return NULL.
This patch also enables the transformation for queries that are not
top-level if both the left-hand and right-hand expressions are
non-nullable.
@ mysql-test/include/subquery.inc
Add test case for bug #13330886.
@ mysql-test/r/explain.result
Changes to EXPLAIN EXTENDED for queries using ALL.
@ mysql-test/r/explain_json_all.result
Changes to EXPLAIN for queries using ALL.
@ mysql-test/r/explain_json_none.result
Changes to EXPLAIN for queries using ALL.
@ mysql-test/r/subquery_all.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_all_bka.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_all_bka_nixbnl.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_nomat_nosj.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_nomat_nosj_bka.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_none.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_none_bka.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ mysql-test/r/subquery_none_bka_nixbnl.result
Add test case for bug #13330886. Changes to EXPLAIN EXTENDED for
queries using ALL.
@ sql/item_subselect.cc
Disable MIN/MAX transformation for ALL if the subquery may return
NULL.
modified:
mysql-test/include/subquery.inc
mysql-test/r/explain.result
mysql-test/r/explain_json_all.result
mysql-test/r/explain_json_none.result
mysql-test/r/subquery_all.result
mysql-test/r/subquery_all_bka.result
mysql-test/r/subquery_all_bka_nixbnl.result
mysql-test/r/subquery_nomat_nosj.result
mysql-test/r/subquery_nomat_nosj_bka.result
mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
mysql-test/r/subquery_none.result
mysql-test/r/subquery_none_bka.result
mysql-test/r/subquery_none_bka_nixbnl.result
sql/item_subselect.cc
3759 Andrei Elkin 2012-04-30
Bug#14018843 - FAULTY LOGICS IN MTS_DEBUG_CONCURRENT_ACCESS HANDLING
Introduced to verify MTS concurrent behavior `mts_debug_concurrent_access'
debug flag was unnecessaliry checked by IO thread which leads to a hang like.
http://pb2.no.oracle.com/web.py?template=mysql_show_test_failure&search=yes&push_id=3396783&test_id=3400389&test_run=rpl_binlog-debug-big&test_suite=rpl&test_case=rpl_mts_debug
Fixed with excluding other than MTS worker threads
from checking the debug flag.
One-liner fixes suppressing a warning in rpl_filter_tables_not_exist is piggybacked.
@ mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
results got updated.
@ mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
a necessary unsafe suppression on the master side is added.
modified:
mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
sql/rpl_info_table.cc
Diff too large for email (20870 lines, the limit is 10000).
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk branch (kevin.lewis:3759 to 3767) | kevin.lewis | 3 May |