- 18 Jul, 2011 1 commit
-
-
Tor Didriksen authored
Turns out the DBUG_ASSERT added by fix for Bug#11792200 was overly pessimistic: 'stop0' is used in the main loop of do_div_mod, but we only dereference 'buf0' for div operations, not for mod. mysql-test/r/func_math.result: New test case. mysql-test/t/func_math.test: New test case. strings/decimal.c: Move DBUG_ASSERT down to where we actually dereference the loop pointer.
-
- 15 Jul, 2011 4 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Original changeset: revision-id: alexander.nozdrin@oracle.com-20101221122349-6h8ammcro70a4pac parent: sven.sandberg@oracle.com-20101221121948-hnivuulyohzch1v4 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-trunk-bugfixing timestamp: Tue 2010-12-21 15:23:49 +0300 message: A patch for Bug#59060 (Valgrind warning in Protocol_text::store()). We should not assume to have zero-terminated strings.
-
Luis Soares authored
-
Luis Soares authored
HA_ERR was returning 0 (null string) when no error happened (error=0). Since HA_ERR is used in DBUG_PRINT, regardless there was an error or not, the server could crash in solaris debug builds. We fix this by: - deploying an assertion that ensures that the function is not called when no error has happened; - making sure that HA_ERR is only called when an error happened; - making HA_ERR return "No Error", instead of 0, for non-debug builds if it is called when no error happened. This will make HA_ERR return values to work with DBUG_PRINT on solaris debug builds.
-
- 14 Jul, 2011 3 commits
-
-
Luis Soares authored
Manual merge from mysql-5.1 into mysql-5.5.
-
Luis Soares authored
The server crashes if it processes table map events that are corrupted, especially if they map different tables to the same identifier. This could happen, for instance, due to BUG 56226. We fix this by checking whether the table map has already been mapped before actually applying the event. If it has been mapped with different settings an error is raised and the slave SQL thread stops. If it has been mapped with same settings the event is skipped. If the table is set to be ignored by the filtering rules, there is no change in behavior: the event is skipped and ids are not checked. mysql-test/suite/rpl/t/rpl_row_corruption.test: Added a simple test case that checks both cases: - multiple table maps with the same identifier - multiple table maps with the same identifier, but only one is processed (the others are filtered out)
-
Anitha Gopi authored
-
- 13 Jul, 2011 1 commit
-
-
MySQL Release Engineering authored
-
- 12 Jul, 2011 3 commits
-
-
Luis Soares authored
Automerged from mysql-5.1 into mysql-5.5 (empty cset).
-
Luis Soares authored
Manually merged from mysql-5.0 into mysql-5.1. conflicts ========= include/Makefile.am
-
Luis Soares authored
Follow-up patch that adds the newly added header file to Makefile.am noinst_HEADERS.
-
- 11 Jul, 2011 3 commits
-
-
Luis Soares authored
Manually merged from mysql-5.1: - fixed mysqlbinlog copyright year: 2001 --> 2000 - fixed address in license header conflicts ========= - client/mysqlbinlog.cc - include/welcome_copyright_notice.h
-
Luis Soares authored
Manually merged mysql-5.0 into mysql-5.1. conflicts ========= client/mysqlibinlog.cc
-
Luis Soares authored
CLIENT TOOLS The fix is to backport part of revision: - alexander.nozdrin@oracle.com-20101006150613-ls60rb2tq5dpyb5c from mysql-5.5. In detail, we add the oracle welcome notice header file proposed in the original patch and include/use it in client/mysqlbinlog.cc, replacing the existing and obsolete notice.
-
- 08 Jul, 2011 1 commit
-
-
unknown authored
Bug#12637786 was fixed with rb:692 by marko. But that fix has a remaining bug. It added this assert; ut_ad(ind_field->prefix_len); before a section of code that assumes there is a prefix_len. The patch replaced code that explicitly avoided this with a check for prefix_len. It turns out that the purge thread can get to that assert without a prefix_len because it does not use a row_ext_t* . When UNIV_DEBUG is not defined, the affect of this is that the purge thread sets the dfield->len to zero and then cannot find the entry in the index to purge. So secondary index entries remain unpurged. This patch does not do the assert. Instead, it uses 'if (ind_field->prefix_len) {...}' around the section of code that assumes a prefix_len. This is the way the patch I provided to Marko did it. The test case is simply modified to do a sleep(10) in order to give the purge thread a chance to run. Without the code change to row0row.c, this modified testcase will assert if InnoDB was compiled with UNIV_DEBUG. I tried to sleep(5), but it did not always assert.
-
- 07 Jul, 2011 6 commits
-
-
unknown authored
bug. It added this assert; ut_ad(ind_field->prefix_len); before a section of code that assumes there is a prefix_len. The patch replaced code that explicitly avoided this with a check for prefix_len. It turns out that the purge thread can get to that assert without a prefix_len because it does not use a row_ext_t* . When UNIV_DEBUG is not defined, the affect of this is that the purge thread sets the dfield->len to zero and then cannot find the entry in the index to purge. So secondary index entries remain unpurged. This patch does not do the assert. Instead, it uses 'if (ind_field->prefix_len) {...}' around the section of code that assumes a prefix_len. This is the way the patch I provided to Marko did it. The test case is simply modified to do a sleep(10) in order to give the purge thread a chance to run. Without the code change to row0row.c, this modified testcase will assert if InnoDB was compiled with UNIV_DEBUG. I tried to sleep(5), but it did not always assert.
-
Joerg Bruehe authored
-
Joerg Bruehe authored
Let the creation of the "test" database happen only during a new installation, not in an RPM upgrade.
-
Davi Arnaut authored
GCC 4.6 has new -Wunused-but-set-variable flag, which is enabled by -Wall, that causes GCC to emit a warning whenever a local variable is assigned to, but otherwise unused (aside from its declaration). Since the maintainer mode uses -Wall and -Werror, source code which triggers these warnings will be rejected. That is, these warnings become hard errors. The solution is to fix the code which triggers these specific warnings. In most of the cases, this is a welcome cleanup as code which triggers this warning is probably dead anyway. dbug/dbug.c: Unused but set. libmysqld/lib_sql.cc: Length is not necessary as the converted error message is always null-terminated. sql/item_func.cc: Make get_var_with_binlog private to this compilation unit. If a error was raised, do not attempt to evaluate the user variable as the statement execution will be interrupted anyway. sql/mysqld.cc: Use a void expression to silence the warning. Avoids the use of macros that would make the code more unreadable than it already is. sql/protocol.cc: Length is not necessary as the converted error message is always null-terminated. Remove unnecessary casts and assignment. sql/sql_class.h: Function is only used in a single compilation unit. sql/sql_load.cc: Only use the variable outside of EMBEDDED_LIBRARY. storage/innobase/btr/btr0cur.c: Do not retrieve field, only the record length is being used. storage/perfschema/pfs.cc: Use a void expression to silence the warning. tests/mysql_client_test.c: Unused but set. unittest/mysys/lf-t.c: Unused but set.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 06 Jul, 2011 1 commit
-
-
Sunanda Menon authored
-
- 05 Jul, 2011 2 commits
-
-
unknown authored
-
Karen Langford authored
-
- 04 Jul, 2011 1 commit
-
-
Jon Olav Hauglid authored
-
- 03 Jul, 2011 2 commits
-
-
Kent Boortz authored
-
Kent Boortz authored
-
- 01 Jul, 2011 2 commits
-
-
Karen Langford authored
-
Karen Langford authored
-
- 30 Jun, 2011 3 commits
-
-
Kent Boortz authored
-
Kent Boortz authored
-
Kent Boortz authored
-
- 29 Jun, 2011 1 commit
-
-
Vasil Dimov authored
Update copyright comment in innochecksum.
-
- 21 Jun, 2011 1 commit
-
-
Alexander Nozdrin authored
OLD VALUE OF INPUT PARAMETER. The user-visible problem was that CASE-control-flow function (not CASE-statement) misbehaved in stored routines under some circumstances. The problem resulted in a crash or wrong data returned. The error happened when expressions in CASE-function were not of the same character set. A CASE-function should return values of the same character set for all branches. Internally, that means a new Item-instance for the CONVERT(... USING <some charset>)-function is added to the item tree when needed. The problem was that such changes were not properly recorded using THD::change_item_tree(), thus dangling pointers remain in the item tree after THD::rollback_item_tree_changes(), which lead to undefined behavior (i.e. crash / wrong data) for subsequent executions of the stored routine. This bug was introduced by a patch for Bug 11753363 (44793 - CHARACTER SETS: CASE CLAUSE, UCS2 OR UTF32, FAILURE). The fixed function is Item_func_case::fix_length_and_dec(). New CONVERT-items are added in agg_item_set_converter(), which calls THD::change_item_tree(). The problem was that an intermediate array was passed to agg_item_set_converter(). Thus, THD::change_item_tree() there was called on intermediate objects. Note: those intermediate objects are allocated on THD's memory root, so it's Ok to put them into "changed item lists". The fix is to track changes on the correct objects.
-
- 13 Jun, 2011 1 commit
-
-
Georgi Kodinov authored
COPYRIGHT NOTICE Fixed copyright headers of updated files.
-
- 10 Jun, 2011 2 commits
-
-
Karen Langford authored
-
Tor Didriksen authored
sql/my_decimal.h: Implement proper swap() function.
-
- 08 Jun, 2011 1 commit
-
-
Georgi Kodinov authored
-
- 07 Jun, 2011 1 commit
-
-
Georgi Kodinov authored
This is the 5.1 version of the fix. Need to free the memory allocated by the option parsing code for empty strings when resetting the pointer to NULL. No test case needed, as the existing ones already cover this path.
-