summaryrefslogtreecommitdiff
path: root/sql
Commit message (Collapse)AuthorAgeFilesLines
* BUG#23171 (Illegal slave restart group position):unknown2006-11-108-186/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second patch to fix skipping code. Moving relay and binary log position changing code from do_apply_event [old exec_event()] into do_update_pos() and doing other changes necessary to support that. Fixing a bug that can cause deadlock if rotating binary log when committing a changes to a transactional table that is not inside a transaction and cause a rotate log. sql/log.cc: Changing condition in binlog_commit() to skip calling binlog_end_trans() twice to match condition in binlog_end_trans(). sql/log_event.cc: Name change: apply_event_impl() -> do_apply_event() Name change: advance_coord_impl() -> do_update_pos() do_apply_event() now uses pointer to constant RELAY_LOG_INFO to prevent inadvertandly changing the position in the code. Doing this would make the skipping code loose track of where it is. All position changing code shall now be in do_update_pos(). Factoring out relay and binary log position updating code from do_apply_event() [previously exec_event()] into do_update_pos(). Using a safe approach to make it work: will refine the refactoring when the skipping code is implemented. Adding const casts where needed. Changing signature to use pointers to constant objects where needed. sql/rpl_rli.cc: Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO. Debriding code. sql/rpl_rli.h: Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO. Debriding code. sql/rpl_utility.cc: Using pointer to const RELAY_LOG_INFO to make it work with other code. sql/rpl_utility.h: Using pointer to const RELAY_LOG_INFO to make it work with other code. sql/slave.cc: Using pointer to const RELAY_LOG_INFO to make it work with other code. Adding const cast where necessary. sql/slave.h: Using pointer to const RELAY_LOG_INFO to make it work with other code.
* Merge romeo.(none):/home/bkroot/mysql-5.1-new-rplunknown2006-11-043-179/+316
|\ | | | | | | | | | | | | | | | | | | into romeo.(none):/home/bk/b23171-mysql-5.1-new-rpl sql/log.cc: Auto merged sql/log_event.cc: Auto merged
| * BUG#23171 (Illegal slave restart group position):unknown2006-11-013-179/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First patch preparing for restructuring the event execution and event skipping. This patch renames the existing (virtual) function exec_event() to be a primitive for implementing the real patch. Also, the virtual function advance_coord_impl() is added to advance the binary/relay log coordinates, and two non-virtual functions exec_event() [sic] and skip_event() is added that will contain the business logic for executing and skipping events respectively. sql/log.cc: Renaming exec_event() sql/log_event.cc: Renaming exec_event() sql/log_event.h: Renaming exec_event() to apply_event_impl() Addng new non-virtual exec_event() that will contain business logic for event execution. Adding new non-virtual skip_event() that will contain business logic for skipping an event. Adding new virtual advance_coord_impl() as primitive to advance binary/relay log coordinates according to the event's needs.
* | Post-merge fixes.unknown2006-11-032-80/+4
| | | | | | | | | | | | | | sql/log_event.cc: Fixing comment sql/rpl_rli.cc: Removing code that was moved to other file.
* | Merge romeo.(none):/home/bkroot/mysql-5.1-new-rplunknown2006-11-034-52/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into romeo.(none):/home/bk/b18581-mysql-5.1-new-rpl sql/log_event.cc: Auto merged sql/rpl_rli.h: Auto merged sql/sql_class.cc: Auto merged
| * | BUG#18581 (Creation of system tables recorded in binlog causing slave failure):unknown2006-11-015-131/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not replicating the mysql database *at all* any more. All changes to mysql tables are replicated by replicating the statements that do the changes. mysql-test/r/rpl_do_grant.result: Result change mysql-test/t/rpl_do_grant.test: Deleting grants on both master and server since the mysql database is not replicated any more. sql/handler.cc: Removing code that selectively checks what tables in the mysql database to ignore. The entire mysql database is not replicated any more. sql/log_event.cc: Disabling code to reload grants and access when certain tables are touched. sql/rpl_rli.h: Removing unused code. sql/slave.cc: Removing unused code. sql/sql_class.cc: Mysql queries (i.e., queries that affects tables in the mysql database) are now replicated by statement instead of replicating the tables in the mysql database.
* | Merge mysql.com:/usr/home/bar/mysql-5.1.b22823unknown2006-11-031-8/+8
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-rpl
| * | Bug#22823 gt and lt operators appear to be reversed in ExtractValue() commandunknown2006-10-231-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: "greater than" and "less than" XPath operators appeared to have been implemented in reverse. Fix: swap arguments to eq_func() and eq_func_reverse() to provide correct operation result. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Pass argumemtns to eq_func() and eq_func_reverse() in correct order: nodeset argument first, then scalar argument. Also, fixing eq_func_reverse() to do correct conversion, e.g: "scalar > nodeset" into "nodeset < scalar" instead of wrong "nodeset <= scalar" "scalar >= nodeset" into "nodeset <= scalar" instead of wrong "nodeset < scalar".
* | | Merge mysql.com:/usr/home/bar/mysql-5.0-rplunknown2006-11-031-2/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-rpl BitKeeper/etc/collapsed: auto-union include/m_ctype.h: Auto merged mysql-test/r/ctype_utf8.result: Auto merged sql/field.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_string.cc: Auto merged storage/myisam/mi_open.c: Auto merged strings/ctype-bin.c: Auto merged strings/ctype-mb.c: Auto merged strings/ctype-simple.c: Auto merged strings/ctype-ucs2.c: Auto merged strings/ctype-utf8.c: Auto merged mysql-test/t/rpl_ignore_table.test: After merge fix. sql/slave.cc: After merge fix
| * \ \ Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2006-11-011-1/+17
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.0.b22877 BitKeeper/etc/collapsed: auto-union sql/sql_parse.cc: Auto merged
| | * | | Bug#22877 replication character sets get out ofunknown2006-11-011-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sync using replicate-wild-ignore-table Problem: changes in character set variables before an action on an replication-ignored table makes slave to forget new variable values. Fix: initialize one_shot variables only when 4.1 -> 5.x replication is running. mysql-test/r/rpl_ignore_table.result: Adding test case mysql-test/t/rpl_ignore_table-slave.opt: Don't replicate tables with names starting with "tmptbl" mysql-test/t/rpl_ignore_table.test: Adding test case sql/sql_parse.cc: Reset one_shot variables only if we do 4.1->5.x replication. In other cases we cannot do that: resetting thd->variables out of sync with st_relay_log_info::cached_charset, which makes st_relay_log_info::cached_charset_compare() not to notice character set related variables changes afterwards.
| * | | | Bug#20404: SHOW CREATE TABLE fails with Turkish Iunknown2006-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: SHOW CREATE TABLE printed garbage in table name for tables having TURKISH I (i.e. LATIN CAPITABLE LETTER I WITH DOT ABOVE) when lower-case-table-name=1. Reason: In some cases during lower/upper conversion in utf8, the result string can be shorter the original string (including the above letter). Old implementation of caseup_str() and casedn_str() didn't handle the result length properly, assuming that length cannot change. This fix changes the result type of cs->cset->casedn_str() and cs->cset->caseup_str() from VOID to UINT, to return the result length, as well as put '\0' terminator on a proper place. Also, my_caseup_str_utf8() and my_casedn_str_utf8() were rewritten not to use strlen() for performance purposes. It was done with help of adding of new functions - my_utf8_uni_no_range() and my_uni_utf8_no_range() - for null terminated strings. include/m_ctype.h: Changeing return type from void to int for caseup_str() and casedn_str() mysql-test/r/lowercase_table.result: Adding test case mysql-test/t/lowercase_table.test: Adding test case sql/sql_parse.cc: Set table->table.length to result of my_casedn_str(). strings/ctype-bin.c: Changeing return type from void to int for caseup_str() and casedn_str() strings/ctype-mb.c: Changeing return type from void to int for caseup_str() and casedn_str() strings/ctype-simple.c: Changeing return type from void to int for caseup_str() and casedn_str() strings/ctype-ucs2.c: Changeing return type from void to int for caseup_str() and casedn_str() strings/ctype-utf8.c: Changeing return type from void to int for caseup_str() and casedn_str(). Optimization, to get rid of strlen(): Adding my_utf8_uni_no_range() and my_uni_utf8_no_range() - for null terninated strings.
| * | | | Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2006-10-303-136/+381
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.0.b18908 BitKeeper/etc/collapsed: auto-union mysql-test/r/ctype_utf8.result: Auto merged sql/field.cc: Auto merged sql/sql_string.cc: Auto merged
| * \ \ \ \ Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rplunknown2006-10-251-6/+15
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge myisam/mi_open.c: Auto merged sql/slave.cc: Auto merged
| * | | | | Merge bk-internal:/home/bk/mysql-5.0unknown2006-10-2016-130/+458
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt mysql-test/r/myisam.result: Auto merged sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged
| * | | | | | Bug#21476 - Lost Database Connection During Queryunknown2006-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport from 5.1. Raised STACK_MIN_SIZE for Debian GNU/Linux Sid, Linux kernel 2.6.16, gcc version 3.3.6 (Debian 1:3.3.6-13), libc6-dbg 2.3.6.ds1-4, Pentium4 (x86), BUILD/compile-pentium-debug-max Raised about 100 Bytes above the required minimum.
| * | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-5.0unknown2006-10-191-6/+18
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-5.0-merge sql/sql_select.cc: Auto merged
| | * \ \ \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-5.0-enginesunknown2006-10-161-6/+18
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-5.0-bug12240 sql/sql_select.cc: Auto merged
* | | \ \ \ \ \ \ Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rplunknown2006-11-034-136/+393
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-rpl
| * | | | | | | | | After merge fix for BUG#18908 ERROR 1406 (22001): Data too long for column ↵unknown2006-11-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :: using utf8 strings/ctype-utf8.c: Fix for compilation warning - forgot to add a new structure member in one of the previous changes.
| * | | | | | | | | Merge mysql.com:/usr/home/bar/mysql-5.0.b18908unknown2006-11-013-136/+381
| |\ \ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-rpl BitKeeper/etc/collapsed: auto-union mysql-test/r/ctype_recoding.result: Auto merged mysql-test/r/ctype_utf8.result: Auto merged mysql-test/r/fulltext.result: Auto merged mysql-test/r/strict_autoinc_1myisam.result: Auto merged mysql-test/r/strict_autoinc_2innodb.result: Auto merged mysql-test/r/strict_autoinc_3heap.result: Auto merged mysql-test/r/strict_autoinc_4bdb.result: Auto merged mysql-test/r/strict_autoinc_5ndb.result: Auto merged sql/sql_string.cc: Auto merged sql/sql_string.h: Auto merged sql/field.cc: SCCS merged
| | * | | | | | | | Bug#18908: ERROR 1406 (22001): Data too long for column :: using utf8unknown2006-10-303-136/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Too confusing error message when cannot convert between string and column character sets on INSERT and UPDATE. Fix: producing a better error message, instead of "Data too long" in such cases Additional changes: Adding "DROP TABLE IF EXISTS" into several tests to be safe against failures in previous tests. mysql-test/include/strict_autoinc.inc: Adding DROP TABLE to be safe against previous tests failure. mysql-test/r/ctype_recoding.result: Fixing test results mysql-test/r/ctype_utf8.result: Fixing test results mysql-test/r/fulltext.result: Fixing test results mysql-test/r/strict_autoinc_1myisam.result: Adding DROP TABLE to be safe against previous tests failure. mysql-test/r/strict_autoinc_2innodb.result: Adding DROP TABLE to be safe against previous tests failure. mysql-test/r/strict_autoinc_3heap.result: Adding DROP TABLE to be safe against previous tests failure. mysql-test/r/strict_autoinc_4bdb.result: Adding DROP TABLE to be safe against previous tests failure. mysql-test/r/strict_autoinc_5ndb.result: Adding DROP TABLE to be safe against previous tests failure. sql/field.cc: - producing better error messages than "DATA TRUNCATED" or "DATA TOO LONG" (in strict mode) in case of "not well formed source" and "cannot convert to field character set" - Performance improvements: copying directly to the target, instead of using an intermediate String. - Moving duplicate code into report_data_too_long() function. sql/sql_string.cc: Adding a new function to convert strings between character sets, but not more than "nchar" characters - a helper function for Field_string::store(), Field_varstring::store() and Field_blob::store(). sql/sql_string.h: Adding new function prototype.
* | | | | | | | | | Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rplunknown2006-11-022-6/+6
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql_cab.:C:/source/c++/mysql-5.1-BUG_23735
| * | | | | | | | | | Changes to the code are necessary to compile on Windows. Typecasts are ↵unknown2006-11-012-6/+6
| | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | needed in several DBUG_DUMP statements. CAB 01 Nov 2006 sql/log_event.cc: The changes are so that the code will compile on Windows. Typecasts are needed on the DBUG_DUMP statements to cast a byte * to a char *. sql/sql_class.cc: The changes are necessary to get the code to compile on Windows. The DBUG_DUMP statements need a typecast.
* | | | | | | | | | Refactoring: Moved master info functionality into rpl_mi.cc to unknown2006-10-317-448/+506
| |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make code easier to maintain. sql/CMakeLists.txt: New file sql/Makefile.am: New file sql/rpl_rli.h: Changed master_info into a class sql/slave.cc: Moved master info functionality into rpl_mi.cc sql/slave.h: Moved master info functionality into rpl_mi.cc sql/rpl_mi.cc: Moved master info functionality into rpl_mi.cc sql/rpl_mi.h: Moved master info functionality into rpl_mi.cc
* | | | | | | | | Added new fileunknown2006-10-311-0/+1
| | | | | | | | |
* | | | | | | | | Refactoring: Moved rli code to new file rpl_rli.cc. The idea being that rli unknown2006-10-316-1161/+1207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | should be a separate module (i.e. a class) to make it easier to maintain the code, e.g. by having checks within the rli checking sanity of data and making member variables private. This will also ease implementation of multi-source and, at least in my fantasies :), make it possible in some future to have separate replication servers. sql/Makefile.am: Added file rpl_rli.cc sql/repl_failsafe.cc: Move function sql/rpl_rli.h: moved functions sql/slave.cc: Moved rli code into rpl_rli.cc sql/sql_repl.cc: Changed function to be member function sql/rpl_rli.cc: Code for rli
* | | | | | | | | Merge dsl-hkigw8-feaef900-46.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0-mergeunknown2006-10-301-1/+3
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dsl-hkigw8-feaef900-46.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50 mysql-test/r/rpl_deadlock_innodb.result: results changed mysql-test/extra/rpl_tests/rpl_deadlock.test: taking a fix for testing timed-out behaviour. sql/slave.cc: just comments are fixed due to changes in behavior of timed-out msta.
| * | | | | | | | Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2006-10-111-7/+16
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dsl-hkigw8-feb9fb00-191.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
| | * | | | | | | | BUG#20697 slave fails to rollback replicated transaction hang over ↵unknown2006-10-111-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innodb_lock_wait_timeou Transaction on the slave sql thread got blocked against a slave's mysqld local ta's lock. Since the default, slave-transaction-retries=10, there was replaying of the replicated ta. That failed because of a new started from 5.0.13 policy not to rollback a timed-out transaction. Effectively the first round of a timed-out ta becomes committed by the replaying's first "BEGIN". It was decided to backport already existed method working in 5.1 implemented in bug #16228 for handling symmetrical deadlock problem. That patch introduced end_trans execution whenever a replicated ta deadlocks or timed-out. Note, that this solution can be practically suboptimal - in the light of the changed behavior due to timeout we still could replay only the last statement - only with a high rate of timeouting replicated transactions. mysql-test/r/rpl_deadlock.result: results changed mysql-test/t/rpl_deadlock.test: Refining the timeout part of the test to display that the timed-out transaction is rolled back prior its replaying by slave sql. Non-zero select's count would mean the first round work became persistent - wrong. sql/slave.cc: applying bug#16228 fix, approbated for deadlock use case in 5.1, almost verbatim. Another alternative to replay only the offending statement requires significant efforts, incl design work.
| * | | | | | | | | Merge mysql.com:/home/bkroot/mysql-5.0-rplunknown2006-10-102-112/+101
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/bk/MERGE/mysql-5.0-merge
* | | | | | | | | | Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rplunknown2006-10-253-29/+32
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge mysql-test/r/view.result: Auto merged mysql-test/t/view.test: Auto merged sql/sql_show.cc: Auto merged storage/myisam/mi_open.c: Auto merged
| * \ \ \ \ \ \ \ \ \ Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rplunknown2006-10-231-0/+3
| |\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dsl-hkigw8-febefb00-148.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug22027_create_select_exists sql/sql_show.cc: Auto merged mysql-test/r/binlog_row_mix_innodb_myisam.result: SCCS merged
| | * | | | | | | | | bug#22027: CREATE TABLE IF NOT EXISTS SELECT logged improperly with rbr binlog,unknown2006-09-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and #22762: create talbe if not exists like a-temp-table binlogged w/o "if not exists" These are rbr bugs. store_create_info, which generates the create statement e.g for binlogging, did not account a lex option HA_LEX_CREATE_IF_NOT_EXISTS. The fix makes the generated query to include the parent's statement option if that was supplied. mysql-test/extra/binlog_tests/binlog.test: test cases for #22027, #22762 mysql-test/r/binlog_row_binlog.result: results changed mysql-test/r/binlog_row_mix_innodb_myisam.result: results changed because of the test's query has "if not exists" mysql-test/r/binlog_stm_binlog.result: results changed sql/sql_show.cc: store_create_info inserts "if not exists" into output when an input query contains the qualifier.
| * | | | | | | | | | Bug#21370: View renaming lacks tablename_to_filename encodingunknown2006-10-162-29/+29
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: renaming of FRM file and ARC files didn't use file name encoding, so RENAME TABLE for views failed for views having "tricky" characters in their names. Fix: adding build_table_filename() in missing places. mysql-test/r/view.result: Adding test case mysql-test/t/view.test: Adding test case sql/parse_file.cc: Adding build_table_filename() sql/sql_view.cc: Adding build_table_filename()
* | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.1unknown2006-10-2016-132/+457
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt mysql-test/r/myisam.result: Auto merged sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged
| * | | | | | | | | | sql_rename.cc, sql_table.cc, type_decimal.result, mix2_myisam.result:unknown2006-10-202-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge fixes mysql-test/r/mix2_myisam.result: merge fixes mysql-test/r/type_decimal.result: merge fixes sql/sql_rename.cc: merge fixes sql/sql_table.cc: merge fixes
| * | | | | | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-optunknown2006-10-1915-130/+451
| |\ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt BitKeeper/deleted/.del-bdb.result: Auto merged mysql-test/r/func_gconcat.result: Auto merged mysql-test/r/group_min_max.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/merge.result: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/olap.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/r/type_decimal.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/func_gconcat.test: Auto merged mysql-test/t/group_min_max.test: Auto merged mysql-test/t/select.test: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_select.h: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged include/my_base.h: SCCS merged mysql-test/include/mix1.inc: SCCS merged mysql-test/r/group_by.result: SCCS merged mysql-test/r/innodb_mysql.result: SCCS merged mysql-test/t/group_by.test: SCCS merged sql/sql_select.cc: SCCS merged
| | * | | | | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-optunknown2006-10-191-1/+6
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt sql/sql_select.cc: Auto merged mysql-test/r/olap.result: SCCS merged
| | | * \ \ \ \ \ \ \ \ Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1unknown2006-10-192-3/+15
| | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt sql/sql_select.cc: Auto merged
| | | | * \ \ \ \ \ \ \ \ Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-optunknown2006-10-161-2/+9
| | | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
| | | | * | | | | | | | | | Fixed bug#20825: rollup puts non-equal values togetherunknown2006-09-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for bug 7894 replaces a field(s) in a non-aggregate function with a item reference if such a field was specified in the GROUP BY clause in order to get a correct result. When ROLLUP is involved this lead to a wrong result due to value of a such field is got through a copy function and copying happens after the function evaluation. Such replacement isn't needed if grouping is also done by such a function. The change_group_ref() function now isn't called for a function present in the group list. mysql-test/t/olap.test: Added the test case for the bug#20825: rollup puts non-equal values together mysql-test/r/olap.result: Added the test case for the bug#20825: rollup puts non-equal values together sql/sql_select.cc: Fixed bug#20825: rollup puts non-equal values together The change_group_ref() function now isn't called for a function present in the group list.
| | * | | | | | | | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0unknown2006-10-1916-129/+452
| | |\ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt mysql-test/r/merge.result: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/r/view.result: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged
| | | * | | | | | | | | | | Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-optunknown2006-10-181-1/+1
| | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into sunlight.local:/local_work/14959-bug-5.0-opt-mysql
| | | | * | | | | | | | | | | sql_rename.cc:unknown2006-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup of fix for bug#14959. sql/sql_rename.cc: Cleanup of fix for bug#14959.
| | | * | | | | | | | | | | | Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-optunknown2006-10-175-35/+144
| | | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/mysql-5.0-opt sql/sql_select.cc: Auto merged
| | | | * \ \ \ \ \ \ \ \ \ \ \ Merge rurik.mysql.com:/home/igor/mysql-5.0-optunknown2006-10-175-35/+144
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug19579 mysql-test/t/select.test: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/select.result: SCCS merged
| | | | | * | | | | | | | | | | | Fixed bug #19579: at range analysis optimizer did not take into unknown2006-10-165-35/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | account predicates that become sargable after reading const tables. In some cases this resulted in choosing non-optimal execution plans. Now info of such potentially saragable predicates is saved in an array and after reading const tables we check whether this predicates has become saragable. mysql-test/r/select.result: Added a test case for bug #19579. mysql-test/t/select.test: Added a test case for bug #19579. sql/item_cmpfunc.cc: Fixed bug #19579: at range analysis optimizer did not take into account predicates that become sargable after reading const tables. Added a counter of between predicates. sql/sql_base.cc: Fixed bug #19579: at range analysis optimizer did not take into account predicates that become sargable after reading const tables. Added a counter of between predicates. sql/sql_lex.cc: Fixed bug #19579: at range analysis optimizer did not take into account predicates that become sargable after reading const tables. Added a counter of between predicates. sql/sql_lex.h: Fixed bug #19579: at range analysis optimizer did not take into account predicates that become sargable after reading const tables. Added a counter of between predicates. sql/sql_select.cc: Fixed bug #19579: at range analysis optimizer did not take into account predicates that become sargable after reading const tables. Now info of such potentially saragable predicates is saved in an array and after reading const tables we check whether this predicates has become saragable.
| | | * | | | | | | | | | | | | | rename of the new members introduced in the fix for bug 21798unknown2006-10-172-12/+12
| | | |/ / / / / / / / / / / / /
| | | * | | | | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.0-optunknown2006-10-176-12/+52
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge sql/mysql_priv.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged mysql-test/r/subselect.result: merge fixes for bug 21798 mysql-test/t/subselect.test: merge fixes for bug 21798