- 12 Nov, 2007 1 commit
-
-
unknown authored
Corrections to get_str_len_and_pointer(). sql/log_event.cc: Adding missing return at end of get_str_len_and_pointer() and correcting computation of missing bytes.
-
- 09 Nov, 2007 3 commits
-
-
unknown authored
into capulet.net:/home/mats/devel/b31793-mysql-5.0-rpl sql/log_event.cc: Auto merged
-
unknown authored
into capulet.net:/home/bk/mysql-5.0-rpl
-
unknown authored
When running mysqlbinlog on a 64-bit machine with a corrupt relay log, it causes mysqlbinlog to crash. In this case, the crash is caused because a request for 18446744073709534806U bytes is issued, which apparantly can be served on a 64-bit machine (speculatively, I assume) but this causes the memcpy() issued later to copy the data to segfault. The request for the number of bytes is caused by a computation of data_len - server_vars_len where server_vars_len is corrupt in such a sense that it is > data_len. This causes a wrap-around, with the the data_len given above. This patch adds a check that if server_vars_len is greater than data_len before the substraction, and aborts reading the event in that case marking the event as invalid. It also adds checks to see that reading the server variables does not go outside the bounds of the available space, giving a limited amount of integrity check. mysql-test/r/mysqlbinlog.result: Result change. mysql-test/t/mysqlbinlog.test: Adding test that it fails gracefully for a corrupt relay log. sql/log_event.cc: Adding check that status var length does not cause wrap-around when performing subtraction. Extending get_str_len_and_pointer() to check that the string can actually be read without reading outside bounds. Adding checks when reading server variables from the Query- log_event so that the variable can really be read. Abort reading and mark the event as invalid otherwise. mysql-test/std_data/corrupt-relay-bin.000624: BitKeeper file /home/mats/devel/b31793-mysql-5.0-rpl/mysql-test/std_data/corrupt-relay-bin.000624
-
- 06 Nov, 2007 7 commits
-
-
unknown authored
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
-
unknown authored
refining non-deterministic tests. The new Bug@32148 is in the way. Adjuting the tests to be somehow useful. mysql-test/r/binlog_killed.result: results changed mysql-test/t/binlog_killed.test: refining the tests as killing is inherently non-deterministic; leaving todos.
-
unknown authored
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
-
unknown authored
fixing tests mysql-test/r/binlog_killed_simulate.result: the new tests' result
-
unknown authored
removing extra tests (on 5.1 that's been already done) BitKeeper/deleted/.del-binlog_killed_bug27571-master.opt: Delete: mysql-test/t/binlog_killed_bug27571-master.opt BitKeeper/deleted/.del-binlog_killed_bug27571.test: Delete: mysql-test/t/binlog_killed_bug27571.test
-
unknown authored
commit is specific for 5.0 to eliminated non-deterministic tests. Those tests run only in 5.1 env where there is a necessary devices such as processlist table of info_schema. mysql-test/r/binlog_killed.result: results changed mysql-test/t/binlog_killed.test: removing non-deterministic part of the test mysql-test/t/binlog_killed_simulate.test: adding the guard same as for 5.1 version
-
unknown authored
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags sql/sql_insert.cc: Auto merged sql/sql_update.cc: Auto merged
-
- 05 Nov, 2007 2 commits
-
-
unknown authored
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
-
unknown authored
Since bug@20166, which replaced the binlog file name generating to base on pidfile_name instead of the previous glob_hostname, the binlog file name suddenly started to be stored solely in the absolute path format, including a case when --log-bin option meant a relative path. What's more serious, the path for binlog file can lead unrequestedly to pid-file directory so that after any proper fix for this bug there might be similar to the bug report consequences for one who upgrades from post-fix-bug@20166-pre-fix-bug@28597 to post-fix-bug@28597. Fixed with preserving`pidfile_name' (intr.by bug@20166) but stripping off its directory part. This restores the original logics of storing the names in compatible with --log-bin option format and with the requirement for --log-bin ralative path to corresond to the data directory. Side effects for this fix: effective fixing bug@27070, refining its test; ensuring no overrun for buff can happen anymore (Bug#31836 insufficient space reserved for the suffix of relay log file name); bug#31837 --remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql missed in rpl_temporary.test; fixes Bug@28603 Invalid log-bin default location; mysql-test/t/rpl_dual_pos_advance.test: After correcting the logics of log file name composing workaround for Bug #27070 server logs are created unrequested and in wrong directory is removed. mysql-test/t/rpl_temporary.test: remaining temp file of the test removed sql/log.cc: stripping off the directory part of `pidfile_name' for binlog name generating (which fixes two more bugs on wrong binlog file location); ensuring no overrun for buff can happen anymore (Bug #31836 insufficient space reserved for the suffix of relay log file name);
-
- 31 Oct, 2007 1 commit
-
-
unknown authored
into capulet.net:/home/bk/mysql-5.0-rpl
-
- 30 Oct, 2007 2 commits
-
-
unknown authored
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
-
unknown authored
into mysql.com:/home/bar/mysql-work/mysql-5.0-rpl-merge mysql-test/r/ctype_utf8.result: Auto merged mysql-test/r/func_regexp.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged mysql-test/t/func_regexp.test: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_update.cc: Auto merged mysql-test/r/ctype_ucs.result: After merge fix mysql-test/t/ctype_ucs.test: After merge fix
-
- 29 Oct, 2007 1 commit
-
-
unknown authored
Query_log_event::error_code A query can perform completely having the local var error of mysql_$query zero, where $query in insert, update, delete, load, and be binlogged with error_code e.g KILLED_QUERY while there is no reason do to so. That can happen because Query_log_event consults thd->killed flag to evaluate error_code. Fixed with implementing a scheme suggested and partly implemented at time of bug@22725 work-on. error_status is cached immediatly after the control leaves the main rows-loop and that instance always corresponds to `error' the local of mysql_$query functions. The cached value is passed to Query_log_event constructor, not the default thd->killed which can be changed in between of the caching and the constructing. mysql-test/r/binlog_killed.result: results changed mysql-test/t/binlog_killed.test: Demonstrating that effective killing during rows-loop execution leads to the speficied actions: binlogging with the error for a query modified a not-transactional table or rolling back effects for transactional table; fixing possible non-determinism with ID when query_log_enabled; leave commented out tests for multi-update,delete due to another bug; removing an obsolete tests template; changing system rm to --remove_file. sql/log_event.cc: adding killed status arg sql/log_event.h: added killed status arg sql/sql_delete.cc: deploying the update part patch for delete, multi-delete sql/sql_insert.cc: deploying the update-part patch for insert..select sql/sql_load.cc: deploying the update-part patch for load data. simulation added. sql/sql_update.cc: Impementing the fix as described in the comments left by bug@22725. Also simulation of killing after the loop that would affect binlogging in the old code. mysql-test/t/binlog_killed_bug27571-master.opt: post rows-loop killing simulation's options mysql-test/t/binlog_killed_bug27571.test: Checking that if killing happens inbetween of the end of rows loop and recording into binlog that will not lead to recording any error incl the killed error. mysql-test/t/binlog_killed_simulate-master.opt: simulation options mysql-test/t/binlog_killed_simulate.test: tests for a query (update is choosen) being killed after the row-loop; load data killed within the loop - effective killed error in the event is gained.
-
- 26 Oct, 2007 2 commits
-
-
unknown authored
into kindahl-laptop.dnsalias.net:/home/bk/b12691-mysql-5.0-rpl sql/slave.cc: Auto merged
-
unknown authored
Adding code to keep skipping events while inside a transaction. Execution will start just after the transaction has been skipped. sql/slave.cc: Adding code to set the thd->options flag for the slave SQL thread even when BEGIN, ROLLBACK, COMMIT, and XID events are being skipped. Adding code to not decrease the slave skip counter from 1 to 0 if we are inside a transaction. This will keep the counter at 1, and keep skipping events, until a transaction terminator is read. At that point, the slave skip counter will be decreased to 0, and events will be read and executed instead of read and skipped. mysql-test/r/rpl_slave_skip.result: New BitKeeper file ``mysql-test/r/rpl_slave_skip.result'' mysql-test/t/rpl_slave_skip-slave.opt: New BitKeeper file ``mysql-test/t/rpl_slave_skip-slave.opt'' mysql-test/t/rpl_slave_skip.test: New BitKeeper file ``mysql-test/t/rpl_slave_skip.test''
-
- 24 Oct, 2007 3 commits
-
-
unknown authored
into mysql.com:/home/bar/mysql-work/mysql-5.0.b31081
-
unknown authored
Additional fix for valgrind warning
-
unknown authored
into mysql.com:/home/bar/mysql-work/mysql-5.0-rpl-mr client/mysql.cc: Auto merged mysql-test/r/ctype_euckr.result: Auto merged mysql-test/r/ctype_uca.result: Auto merged sql/mysqld.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_parse.cc: Auto merged strings/ctype-euc_kr.c: Auto merged
-
- 23 Oct, 2007 15 commits
-
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt client/mysqldump.c: Auto merged include/config-win.h: Auto merged libmysql/libmysql.c: Auto merged myisam/sort.c: Auto merged mysql-test/r/func_sapdb.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/variables.test: Auto merged sql/field.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/item_func.cc: Auto merged sql/item_sum.cc: Auto merged sql/item_timefunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged tests/mysql_client_test.c: Auto merged mysql-test/r/type_datetime.result: manual merge mysql-test/r/type_decimal.result: manual merge mysql-test/t/type_datetime.test: manual merge mysql-test/t/type_decimal.test: manual merge sql/item.cc: manual merge
-
unknown authored
into mysql.com:/home/hf/work/30638/my50-30638
-
ssh://bk-internal.mysql.com//home/bk/mysql-5.0-optunknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
unknown authored
sql/ha_heap.cc: type conversion fix sql/opt_range.cc: type conversion fix
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/30638/my50-30638
-
unknown authored
sql/opt_range.cc: type conversion fixed
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/30638/my50-30638
-
unknown authored
myisam/mi_write.c: type conversion fixed myisam/sort.c: type conversion fixed sql/ha_federated.cc: type conversion fixed sql/ha_heap.cc: type conversion fixed sql/ha_innodb.cc: type conversion fixed sql/ha_myisam.cc: type conversion fixed sql/opt_range.cc: type conversion fixed sql/sql_map.cc: type conversion fixed sql/sql_select.cc: type conversion fixed sql/sql_update.cc: type conversion fixed
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/4.1-opt
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt sql/field.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
- 22 Oct, 2007 3 commits
-
-
unknown authored
When doing indexed search the server constructs a key image for faster comparison to the stored keys. While doing that it must not perform (and stop if they fail) the additional date checks that can be turned on by the SQL mode because there already may be values in the table that don't comply with the error checks. Fixed by ignoring these SQL mode bits while making the key image. mysql-test/r/type_date.result: Bug #28687: test case mysql-test/t/type_date.test: Bug #28687: test case sql/item.cc: Bug #28687: no invalid date warnings
-
unknown authored
an error, asserts server In case of a fatal error during filesort in find_all_keys() the error was returned without the necessary handler uninitialization. Fixed by changing the code so that handler uninitialization is performed before returning the error. mysql-test/r/delete.result: Added a test case for bug #31742. mysql-test/t/delete.test: Added a test case for bug #31742. sql/filesort.cc: In case of a fatal error in find_all_keys() do not return before doing the necessary handler uninitialization steps.
-
unknown authored
into mysql.com:/home/hf/work/30638/my50-30638
-