- 13 Oct, 2010 3 commits
-
-
Jon Olav Hauglid authored
thd->in_sub_stmt || (thd->state.. OPTIMIZE TABLE is not directly supported by InnoDB. Instead, recreate and analyze of the table is done. After recreate, the table is closed and locks are released before the table is reopened and locks re-acquired for the analyze phase. This assertion was triggered if OPTIMIZE TABLE failed to acquire thr_lock locks before starting the analyze phase. The assertion tests (among other things) that there no active statement transaction. However, as part of acquiring the thr_lock lock, external_lock() is called for InnoDB tables and this causes a statement transaction to be started. If thr_multi_lock() later fails (e.g. due to timeout), the failure handling code causes this assert to be triggered. This patch fixes the problem by doing rollback of the current statement transaction in case open_ltable (used by OPTIMIZE TABLE) fails to acquire thr_lock locks. Test case added to lock_sync.test.
-
Dmitry Lenev authored
heavy load". rpl_row_sp003.test has sporadically failed when run on machine under heavy load or on slow hardware. This patch fixes races in the test which were causing these failures and also removes unnecessary 100 second wait from it.
-
Konstantin Osipov authored
sql/sql_show.h: Remove an unused declaration.
-
- 12 Oct, 2010 4 commits
-
-
Jon Olav Hauglid authored
No conflicts
-
Dmitry Shulga authored
to fix an sp-error.test failure on Sun Sparc system.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 11 Oct, 2010 11 commits
-
-
Vladislav Vaintroub authored
-
Vasil Dimov authored
-
Luis Soares authored
-
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 .
-
Jimmy Yang authored
-
Jimmy Yang authored
with concurrent lock/unlock tables Approved by Marko
-
Vasil Dimov authored
-
unknown authored
The bug happened only on 5.1
-
unknown authored
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. mysql-test/suite/rpl/r/rpl_alter.result: Add test for BUG#56226 mysql-test/suite/rpl/t/rpl_alter.test: Add test for BUG#56226
-
unknown authored
Removed option file and changed result file.
-
Sunny Bains authored
Print an error message to stderr an get rid of the assertion. Approved by: Jimmy Yang (over IM)
-
- 10 Oct, 2010 2 commits
-
-
Alfranio Correia authored
-
Alfranio Correia authored
-
- 09 Oct, 2010 2 commits
-
-
unknown authored
-
unknown authored
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. mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result: SET binlog_cache_size and max_binlog_cache_size for all test cases. Add test case for bug#55375. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size-master.opt: binlog_cache_size and max_binlog_cache_size can be set in the client connection. so remove this option file. mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test: SET binlog_cache_size and max_binlog_cache_size for all test cases. Add test case for bug#55375. sql/log_event.cc: Some functions don't return the error code, so it is a wrong error code. The error should always be set into thd->main_da. So we use slave_rows_error_report to report the right error. sql/slave.cc: exec_relay_log_event() need call cleanup_context() to clear context. clearup_context() will call end_trans(). Clear thd's error before cleanup_context. It avoid to trigger the assert which cause this bug.
-
- 08 Oct, 2010 15 commits
-
-
Dmitry Lenev authored
mysql-5.5-runtime tree.
-
Davi Arnaut authored
Fix assorted compiler warnings. sql/mysqld.cc: Do not declare max_page_size twice. If large pages support is enabled, the code expects the size in max_desired_page_size. storage/innobase/include/ibuf0ibuf.h: Remove trailing comma. Only present in C99. Approved by: Vasil (via IRC) storage/innobase/include/row0row.h: Remove trailing comma. Only present in C99. Approved by: Vasil (via IRC) strings/my_vsnprintf.c: No need to assert the obvious.
-
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. cmake/build_configurations/mysql_release.cmake: Add -fno-strict-aliasing to release builds.
-
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. mysql-test/t/query_cache_debug.test: Only wait for a single debug signal at a time as the signal state is global. sql/sql_cache.cc: Do not execute the debug sync point if the thread has no associated THD session. This scenario happens for federated threads.
-
Tor Didriksen authored
Buffer overrun when trying to format DBL_MAX mysql-test/r/func_math.result: Add test case for Bug#57209 mysql-test/t/func_math.test: Add test case for Bug#57209 sql/item_strfunc.cc: Allocate a larger buffer for the result.
-
Vasil Dimov authored
In calvin.sun@oracle.com-20101005183830-p81bemgffq8l2en9 the default value of innodb_file_per_table was changed from 1 to 0.
-
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. plugin/auth/dialog.c: Do not use the deprecated gets() function. sql/sys_vars.h: Do not pass NULL to a 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 3 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. sql/sql_cache.cc: Set and reset the thread state whenever a attempt to lock the query cache is made. Use DEBUG_SYNC instead of the now unnecessary wait_for_kill hack.
-
Evgeny Potemkin authored
-