- 11 Oct, 2010 4 commits
-
-
Luis Soares authored
for --init-rpl-role. Problem: There are two variables involved in this issue, rpl_status and rpl_role_type. The former is an array containing the description of the possible values for the latter. rpl_status is declared as an enumeration and is stored in a 4 bytes integer. On the other hand, my_getopt, reads enum values into a ulong: *(ulong*)value= arg; This is overwriting the memory used for rpl_role_type, corrupting the first entry in the array. Fix: We fix this by re-declaring rpl_status as a ulong, so that it has space to accommodate the value "parsed" in my_getopt .
-
After ALTER TABLE which changed only table's metadata, row-based binlog sometimes got corrupted since the tablemap was unexpectedly set to 0 for subsequent updates to the same table. ALTER TABLE which changed only table's metadata always reset table_map_id for the table share to 0. Despite the fact that 0 is a valid value for table_map_id, this step caused problems as it could have created situation in which we had more than one table share with table_map_id equal 0. If more than one table with table_map_id are 0 were updated in the same statement, updates to these different tables were written into the same rows event. This caused slave server to crash. This bug happens only on 5.1. It doesn't affect 5.5+. This patch solves this problem by ensuring that ALTER TABLE statements which change metadata only never reset table_map_id to 0. To do this it changes reopen_table() to correctly use refreshed table_map_id value instead of using the old one/ resetting it.
-
- 10 Oct, 2010 2 commits
-
-
Alfranio Correia authored
-
Alfranio Correia authored
-
- 09 Oct, 2010 2 commits
-
-
When slave executes a transaction bigger than slave's max_binlog_cache_size, slave will crash. It is caused by the assert that server should only roll back the statement but not the whole transaction if the error ER_TRANS_CACHE_FULL happens. But slave sql thread always rollbacks the whole transaction when an error happens. Ather this patch, we always clear any error set in sql thread(it is different from the error in 'SHOW SLAVE STATUS') and it is cleared before rolling back the transaction.
- 08 Oct, 2010 13 commits
-
-
Davi Arnaut authored
Fix assorted compiler warnings.
-
Alexander Barkov authored
Bug#55744 GROUP_CONCAT + CASE + ucs return garbage revealed problems in how character set aggregation code works with prepared statements. This patch fixes (hopefully) the problems.
-
Davi Arnaut authored
Due to the extent of aliasing violations in the MySQL source code, at this time it is safer to disable strict aliasing related optimizations in release builds. As of this patch, only GCC enables strict aliasing by default. Hence, use the -fno-strict-aliasing option to disable the aliasing rules.
-
Mats Kindahl authored
-
Mats Kindahl authored
Adding a comment to scheduler_types on the default values used.
-
Mats Kindahl authored
The server contained code for the server variable and option thread_pool_size, but this server variable where not used anywhere. The variable is probably remains from backporting too much from 6.0 (specifically, the thread pool implementation was not backported from 6.0, which this variable is associated with). This patch eliminates the variable from the server.
-
Davi Arnaut authored
Only wait for a single debug signal at a time as the signal state is global. Also, do not activate the query cache debug sync points if the thread has no associated THD session.
-
Tor Didriksen authored
Buffer overrun when trying to format DBL_MAX
-
Sergey Vojtovich authored
engine is not available. We need to add loose prefix to example load option.
-
Alexey Botchkov authored
now do no initializations for the --help. Do it for --verbose --help though. per-file comments: sql/mysqld.cc Bug#30025 Mysqld prints out warnings/errors being run with --no-defaults --help quit with the help message at once as --help was given
-
Alexey Botchkov authored
Issue an error if user specifies multiple commands to run. Also there was an unnoticed bug that DO_CHECK was actually 0 which lead to wrong actions in some cases. The mysqlcheck.test contained commands with the suspicious meaning for the above reason. Extra commands removed from there. per-file commands: client/mysqlcheck.c Bug#35269 mysqlcheck behaves different depending on order of parameters Drop with an error if multiple commands. mysql-test/r/mysqlcheck.result Bug#35269 mysqlcheck behaves different depending on order of parameters result completed. mysql-test/t/mysqlcheck.test Bug#35269 mysqlcheck behaves different depending on order of parameters testcase added. not-working commands removed from some mysqlcheck calls.
-
Davi Arnaut authored
Fix warnings related to the use of the deprecated gets() function and passing NULL to non-pointer argument of the sys_var constructor.
-
Davi Arnaut authored
Move Query_cache_wait_state declaration out of a debug block.
-
- 07 Oct, 2010 19 commits
-
-
Luis Soares authored
-
Davi Arnaut authored
The problem was that threads waiting on the query cache lock are not easily seen due to the lack of a state indicating that the thread is waiting on the said lock. This made it difficult for users to quickly spot (for example, via SHOW PROCESSLIST) a query cache contention problem. The solution is to update the thread state when the query cache lock needs to be acquired. Whenever the lock is to be acquired, the thread state is updated to "Waiting for query cache lock" and is reset once the lock is granted or the wait is interrupted. The intention is to make query cache related hangs more evident. To further investigate query cache related locking problems, one may use PERFORMANCE_SCHEMA to track the overhead associated with the locking bits and determine which particular lock is being a contention point.
-
Evgeny Potemkin authored
-
Evgeny Potemkin authored
The coalesce function returned DATETIME type due to a DATETIME argument, but since it's not a date/time function it can't return correct int value for it. Nevertheless Item_datetime_cache was chosen to cache coalesce's result and that led to a wrong result. Now Item_datetime_cache is used only for those function that could return correct int representation of DATETIME values.
-
Sergey Vojtovich authored
-
Luis Soares authored
The error message for ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE was hard coded. Additionally, the same error was used in three separate error symptoms: 1. when heartbeat period exceeds the value of slave_net_timeout, 2. when it is smaller than 1 milisecond and 3. when it was not in range, ie, either negative or greater than the maximum allowed. We fix this by splitting into three distinct errors and by removing the message from the source code and moving it to the errmsg-utf8.txt file.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Jon Olav Hauglid authored
No conflicts
-
Dmitry Shulga authored
set to 128k.
-
Vasil Dimov authored
-
Calvin Sun authored
-
Martin Hansson authored
This is the 5.5 version of the fix. The 5.1 version was too complicated to merge and was null merged. This is a regression from the fix for bug no 38999. A storage engine capable of reading only a subset of a table's columns updates corresponding bits in the read buffer to signal that it has read NULL values for the corresponding columns. It cannot, and should not, update any other bits. Bug no 38999 occurred because the implementation of UPDATE statements compare the NULL bits using memcmp, inadvertently comparing bits that were never requested from the storage engine. The regression was caused by the storage engine trying to alleviate the situation by writing to all NULL bits, even those that it had no knowledge of. This has devastating effects for the index merge algorithm, which relies on all NULL bits, except those explicitly requested, being left unchanged. The fix reverts the fix for bug no 38999 in both InnoDB and InnoDB plugin and changes the server's method of comparing records. For engines that always read entire rows, we proceed as usual. For engines capable of reading only select columns, the record buffers are now compared on a column by column basis. An assertion was also added so that non comparable buffers are never read. Some relevant copy-pasted code was also consolidated in a new function.
-
Magnus Blåudd authored
- Fix the version of NDB in MySQL Server to 5.5.7(although it's actually 6.2.18)
-
Magnus Blåudd authored
- Move file ha_ndbcluster.m4 - Move "sinclude" directive from configure.in to storag/ndb/plug.in
-
Evgeny Potemkin authored
-
Martin Hansson authored
-
Evgeny Potemkin authored
-