- 21 Dec, 2010 2 commits
-
-
Marko Mäkelä authored
This bug fix requires that Bug #58912 be fixed as well (bzr revision id marko.makela@oracle.com-20101221093919-mcmmgd4zpse9567d). Otherwise, another double BLOB free could occur when InnoDB would try to perform an update-in-place as delete-and-insert-by-update-in-place. row_upd_clust_rec_by_insert(): Do not disown the externally stored columns from the old record (btr_cur_mark_extern_inherited_fields()) until after checking the foreign key constraints and successfully inserting the updated record. If a lock wait timeout occurs between the delete-marking of the old record and the insertion of the updated record, mark the columns inherited before retrying the insert. Distinguish the state UPD_NODE_INSERT_BLOB from UPD_NODE_INSERT_CLUSTERED. btr_cur_del_mark_set_clust_rec(): Replace the cursor with block,rec,index,offsets so that the offsets need not be recalculated. Assert that rec is on a clustered index leaf page. btr_cur_disown_inherited_fields(): Renamed from btr_cur_mark_extern_inherited_fields(). Use upd_get_field_by_field_no(). Assert that there are externally stored columns. Assert that a mini-transaction is passed. Remove the return status. (The only caller, row_upd_clust_rec_by_insert(), will have determined that some fields have changed ownership.) btr_cur_mark_dtuple_inherited_extern(): Rename to row_upd_clust_rec_by_insert_inherit_func() and declare as static. Add the debug parameters rec, offsets. When rec is given, assert that the off-page columns match those in the inesrt tuple and that the off-page columns are owned by the record. Assert that the non-updated off-page columns in the insert tuple are owned, and mark them inherited. row_upd_clust_rec_by_insert_inherit(): A wrapper macro for row_upd_clust_rec_by_insert_inherit_func(). row_undo_mod_upd_exist_sec(): Adjust a comment about row_upd_clust_rec_by_insert(). rb:508 approved by Jimmy Yang
-
Marko Mäkelä authored
row_upd_changes_ord_field_binary(): Do not return TRUE if the update vector changes a column that is covered by a prefix index, but does not change the column prefix. Add the row_ext_t parameter for determining whether the prefixes of externally stored columns match. dfield_datas_are_binary_equal(): Add the parameter len, for comparing column prefixes when len > 0. innodb.test: Add a test case where the patch of Bug #55284 failed without this fix. rb:537 approved by Jimmy Yang
-
- 14 Dec, 2010 1 commit
-
-
Vasil Dimov authored
Submitted by: Stewart Smith (via internals@lists.mysql.com)
-
- 12 Dec, 2010 1 commit
-
-
Vasil Dimov authored
-
- 09 Dec, 2010 1 commit
-
-
Jimmy Yang authored
rb://532 approved by Sunny Bains
-
- 07 Dec, 2010 1 commit
-
-
Davi Arnaut authored
Do not use the same maintainer mode flags for both GCC and ICC. The -Wall option for ICC enables more warnings than its GCC counterpart.
-
- 10 Dec, 2010 1 commit
-
-
Dmitry Shulga authored
DROP/CREATE SCHEMA, CREATE TABLE, REPAIR. The cause of assert was concurrent execution of DROP DATABASE and REPAIR TABLE where first statement deleted table's file .TMD at the same time as REPAIR TABLE tried to read file details from the old file that was just removed. Additionally was fixed trouble when DROP TABLE try delete all files belong to table being dropped at the same time when REPAIR TABLE statement has just deleted .TMD file. No regression test added because this would require adding a sync point to mysys/my_redel.c. Since this bug is not present in 5.5+, adding test coverage was considered unnecessary. The patch has been verified using RQG testing.
-
- 09 Dec, 2010 5 commits
-
-
Bjorn Munch authored
-
Bjorn Munch authored
mysqltest checks if the stmt is one that should be run in ps mode, but regexp doesn't match if preceeded by /* */ comment. Fix: match function will jump over /*..*/ if found at start
-
Bjorn Munch authored
Backported use of setenv() from 5.5 This will remove the leak on systems that have setenv() I have not fixed the string.c leak, it's a local variable that the cleanup function cannot access.
-
Bjorn Munch authored
Fixed some errors Added note about 'no' prefix to options See also follow-up comment to bug report
-
Ramil Kalimullin authored
my_seek() and my_tell() functions now honour MY_WME flag.
-
- 07 Dec, 2010 1 commit
-
-
Luis Soares authored
Automerging bzr bundle from bug report into latest mysql-5.1-bugteam.
-
- 05 Dec, 2010 1 commit
-
-
Vasil Dimov authored
-
- 02 Dec, 2010 3 commits
-
-
Mats Kindahl authored
-
Mats Kindahl authored
Fixing test case that fails on Windows because .dll is used.
-
Tor Didriksen authored
-
- 01 Dec, 2010 5 commits
-
-
Mats Kindahl authored
-
Mats Kindahl authored
When installing plugins, there is a missing check for slash (/) in the path on Windows. Note that on Windows, both / and \ can be used to separate directories. This patch fixes the issue by: - Adding a FN_DIRSEP symbol for all platforms consisting of a string of legal directory separators. - Adding a charset-aware version of strcspn(). - Adding a check_valid_path() function that uses my_strcspn() to check if any FN_DIRSEP character is in the supplied string. - Using the check_valid_path() function in sql_plugin.cc and sql_udf.cc (which means replacing the existing test there).
-
Bjorn Munch authored
I am not fixing the test failure Adds printing of my_errno when commands fail, could hopefully help
-
Marko Mäkelä authored
This bogus assertion was introduced in the fix of Bug #57802: Empty ASSERTION parameter passed to the HASH_SEARCH macro.
-
Nirbhay Choubey authored
Fixing the testcase to use the database name as connected_db instead of 'test' database.
-
- 30 Nov, 2010 2 commits
-
-
Davi Arnaut authored
integral type. Use intptr which is designed to hold pointer values and pass it to off_t.
-
kevin.lewis@oracle.com authored
Code cleanup after changes for Bug 56628. The general approach for InnoDB is to make a reference to each enum value whenever it is used in a switch statement. In addition, no default case should be used for switch statements on enum types. This assures that if there is ever any change in the enum values, the switch will need to change to reflect it since a compiler warning will occur. In this case, the enum row_type is declared in handler.h and could be changed for another storage engine. If so, a warning will occur in the InnoDB build. Other changes; * This patch uses 2 macros to help consolidate warning messages that need to occur twice in the single switch for row_format. * Using row_format as the variable name to distinguish it from the enum type. * Function declaration format correction.
-
- 29 Nov, 2010 1 commit
-
-
Vasil Dimov authored
-
- 28 Nov, 2010 1 commit
-
-
When using BINLOG statement to execute rows log events, session variables foreign_key_checks and unique_checks are changed temporarily. As each rows log event has their own special session environment and its own foreign_key_checks and unique_checks can be different from current session which executing the BINLOG statement. But these variables are not restored correctly after BINLOG statement. This problem will cause that the following statements fail or generate unexpected data. In this patch, code is added to backup and restore these two variables. So BINLOG statement will not affect current session's variables again.
-
- 27 Nov, 2010 2 commits
-
-
Luis Soares authored
win x86 debug_max The windows MTR run exhibited a different test execution ordering (due to the fact that in these platforms MTR is invoked with --parallel > 1). This uncovered a bug in the aforementioned test case, which is triggered by the following conditions: 1. server is not restarted between two different tests; 2. the test before binlog.binlog_row_failure_mixing_engines issues flush logs; 3. binlog.binlog_row_failure_mixing_engines uses binlog positions to limit the output of show_binlog_events; 4. binlog.binlog_row_failure_mixing_engines does not state which binlog file to use, thence it uses a wrong binlog file with the correct position. There are two possible fixes: 1. make sure that the test start from a clean slate - binlog wise; 2. in addition to the position, also state the binary log file before sourcing show_binlog_events.inc . We go for fix #1, ie, deploy a RESET MASTER before the test is actually started.
-
Bjorn Munch authored
-
- 26 Nov, 2010 1 commit
-
-
Davi Arnaut authored
The problem is that the logic which checks if a pointer is valid relies on a poor heuristic based on the start and end addresses of the data segment and heap. Apart from miscalculating the heap bounds, this approach also suffers from the fact that memory can come from places other than the heap. See Bug#58528 for a more detailed explanation. On Linux, the solution is to access the process's memory through /proc/self/task/<tid>/mem, which allows for retrieving the contents of pages within the virtual address space of the calling process. If a address range is not mapped, a input/output error is returned.
-
- 30 Nov, 2010 7 commits
-
-
Luis Soares authored
-
Christopher Powers authored
-
Luis Soares authored
the DROP statement ..." Problem: When using temporary tables and closing a session, an implicit DROP TEMPORARY TABLE IF EXISTS is written to the binary log (while cleaning up the context of the session THD - see: sql_class.cc:THD::cleanup which calls close_temporary_tables). close_temporary_tables, first checks if the binary log is opened and then proceeds to creating the DROP statements. Then, such statements, are written to the binary log through MYSQL_BIN_LOG::write(Log_event *). Inside, there is another check if the binary log is opened and if not an error is returned. This is where the faulty behavior is triggered. Given that the test case replays a binary log, with temp tables statements, and right after it issues RESET MASTER, there is a chance that is_open will report false (when the mysql session is closed and the temporary tables are written). is_open may return false, because MYSQL_BIN_LOG::reset_logs is not setting the correct flag (LOG_CLOSE_TO_BE_OPENED), on the MYSQL_LOG_BIN::log_state (instead it sets just the LOG_CLOSE_INDEX flag, leaving the log_state to LOG_CLOSED). Thence, when writing the DROP statement as part of the THD::cleanup, the thread could get a return value of false for is_open - inside MYSQL_BIN_LOG::write, ultimately reporting that it can't write the event to the binary log. Fix: We fix this by adding the correct flag, missing in the second close.
-
Christopher Powers authored
-
Christopher Powers authored
metadata" Improved error handling such that queries against Information_Schema.Tables won't fail if a federated table can't make a remote connection.
-
Christopher Powers authored
-
Christopher Powers authored
Improved error handling such that queries against Information_Schema.Tables won't fail if a Federated table is unable to connect to remote host.
-
- 29 Nov, 2010 3 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
will not display "indicated result file not found" due to wrongly named var directory.
-
Georgi Kodinov authored
-
- 26 Nov, 2010 1 commit
-
-
Georgi Kodinov authored
-