- 14 Jul, 2010 3 commits
- 13 Jul, 2010 2 commits
-
-
Davi Arnaut authored
-
Sven Sandberg authored
Symptom: When the sql function SLEEP() was executed in the slave SQL thread or from an event (as in CREATE EVENT, not binlog event), then the timeout was capped to 5 seconds. Background: This bug was introduced in the fix of BUG#10374, in the function interruptible_wait() in item_func.cc. The function interruptible_wait(), called from item_func_sleep::val_int(), splits the sleep into 5 seconds units. After each unit, it checks if thd->is_connected() is true: if not, it stops sleeping. The purpose is to not use system resources to sleep when a client disconnects. However, thd->is_connected() returns false for the slave SQL thread and for the event worker thread, because they don't connect to the server the same way as client threads do. Fix: Make thd->is_connected() return true for all system threads. sql/sql_class.h: Made THD::is_connected() return true for all system threads.
-
- 12 Jul, 2010 2 commits
-
-
Davi Arnaut authored
naming scheme for tests related to functions, rename analyse.test to func_analyse.test (test for the ANALYSE() procedure). Avoids confusion with the ANALYZE statement (tested in analyze.test).
-
Davi Arnaut authored
analyse.test to func_analyse.test. Avoids confusion with the ANALYZE statement.
-
- 09 Jul, 2010 6 commits
-
-
Marc Alff authored
This change is for performance optimization. Fixed the performance schema instrumentation interface as follows: - simplified mysql_unlock_mutex() - simplified mysql_unlock_rwlock() - simplified mysql_cond_signal() - simplified mysql_cond_broadcast() Changed the get_thread_XXX_locker apis to have one extra parameter, to provide memory to the instrumentation implementation. This API change allows to use memory provided by the caller, to avoid having to use thread local storage. Using this extra parameter will be done in a separate fix, this change is for the interface only. Adjusted all the code and unit tests accordingly.
-
Luis Soares authored
-
Luis Soares authored
Merged on behalf of Davi.
-
Davi Arnaut authored
Post-merge fix: remove reference to file that is now gone.
-
Alexander Barkov authored
Problem: Item_str_ascii_func::val_str() did not set charset of the returned value properly. mysql-test/include/ctype_numconv.inc mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ucs.result - Adding tests sql/item_strfunc.cc - Adding initialization of charset
-
Davi Arnaut authored
Post-merge fix: cast argument and correct type in assignment.
-
- 08 Jul, 2010 10 commits
-
-
Luis Soares authored
The server was not cleaning up some dbug allocated memory before exiting. This is not a real problem, as this memory would be deallocated anyway. Nonetheless, we improve the mysqlbinlog exit procedure, wrt to memory book-keeping, when no parameter is given. To fix this, we deploy a call to my_end() before the thread exits.
-
Davi Arnaut authored
Essentially, the problem is that safemalloc is excruciatingly slow as it checks all allocated blocks for overrun at each memory management primitive, yielding a almost exponential slowdown for the memory management functions (malloc, realloc, free). The overrun check basically consists of verifying some bytes of a block for certain magic keys, which catches some simple forms of overrun. Another minor problem is violation of aliasing rules and that its own internal list of blocks is prone to corruption. Another issue with safemalloc is rather the maintenance cost as the tool has a significant impact on the server code. Given the magnitude of memory debuggers available nowadays, especially those that are provided with the platform malloc implementation, maintenance of a in-house and largely obsolete memory debugger becomes a burden that is not worth the effort due to its slowness and lack of support for detecting more common forms of heap corruption. Since there are third-party tools that can provide the same functionality at a lower or comparable performance cost, the solution is to simply remove safemalloc. Third-party tools can provide the same functionality at a lower or comparable performance cost. The removal of safemalloc also allows a simplification of the malloc wrappers, removing quite a bit of kludge: redefinition of my_malloc, my_free and the removal of the unused second argument of my_free. Since free() always check whether the supplied pointer is null, redudant checks are also removed. Also, this patch adds unit testing for my_malloc and moves my_realloc implementation into the same file as the other memory allocation primitives. client/mysqldump.c: Pass my_free directly as its signature is compatible with the callback type -- which wasn't the case for free_table_ent.
-
Luis Soares authored
-
Marc Alff authored
-
Olav Sandstaa authored
from mysql-next-mr-opt-backporting. Bug#54515: Crash in opt_range.cc::get_best_group_min_max on SELECT from VIEW with GROUP BY When handling the grouping items in get_best_group_min_max, the items need to be of type Item_field. In this bug, an ASSERT triggered because the item used for grouping was an Item_direct_view_ref (i.e., the group column is from a view). The fix is to get the real_item since Item_ref* pointing to Item_field is ok. mysql-test/r/select.result: Add test for BUG#54515 mysql-test/t/select.test: Add test for BUG#54515 sql/opt_range.cc: Get the real_item() when processing grouping items in get_best_group_min_max.
-
Guilhem Bichot authored
from next-mr-bugfixing: BUG#54682 "set sql_select_limit=0 does not work"; let SQL_SELECT_LIMIT=0 work like it does in 5.1. mysql-test/suite/sys_vars/r/sql_select_limit_func.result: before the fix, the SET would emit a warning (0 being rounded up to 1) and SELECTs would return one row. sql/sys_vars.cc: 0 is allowed, it means an implicit LIMIT 0 (i.e. no rows returned)
-
Luis Soares authored
-
Luis Soares authored
-
Luis Soares authored
-
Luis Soares authored
-
- 07 Jul, 2010 3 commits
-
-
Luis Soares authored
-
Alexander Barkov authored
Problem: sha2() reported its result as BINARY Fix: - Inheriting Item_func_sha2 from Item_str_ascii_func - Setting max_length via fix_length_and_charset() instead of direct assignment. - Adding tests
-
Alexander Barkov authored
Problem: Item_copy did not set "fixed", which resulted in DBUG_ASSERT in some cases. Fix: adding initialization of the "fixed" member Adding tests: mysql-test/include/ctype_numconv.inc mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ucs.result Adding initialization of the "fixed" member: sql/item.h
-
- 06 Jul, 2010 3 commits
-
-
Luis Soares authored
The server was not cleaning up dbug allocated memory before exiting. This is not a real problem, as this memory would be deallocated anyway. Nonetheless, we improve the mysqlbinlog exit procedure, wrt to memory book-keeping, when no parameter is given. To fix this, we deploy a call to my_thread_end() before the thread exits, which will also free pending dbug related allocated blocks.
-
Davi Arnaut authored
value and NO_ZERO_DATE The problem was that a older version of the error path for a failed admin statement relied upon a few error conditions being met in order to access a table handler, the first one being that the table object pointer was not NULL. Probably due to chance, in all cases a table object was closed but the reference wasn't reset, the other conditions didn't evaluate to true. With the addition of a new check on the error path, the handler started being dereferenced whenever it was not reset to NULL, causing problems for code paths which closed the table but didn't reset the reference. The solution is to reset the reference whenever a admin statement fails and the tables are closed. mysql-test/r/partition_innodb.result: Add test case result for Bug#54783 mysql-test/t/partition_innodb.test: Add test case for Bug#54783 sql/sql_table.cc: In case table recreate failed, set a appropriate result code. Reset reference to a closed table object, otherwise the error path might attempt to access it.
-
Alexander Nozdrin authored
-
- 05 Jul, 2010 5 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
3245 Vladislav Vaintroub 2010-06-16 Bug #52959 uint in typedef.h undefined on Windows Fix: change uint to "unsigned int"
-
Alexander Nozdrin authored
large-pages option is broken) from next-mr to trunk-bugfixing. Original revision: ------------------------------------------------------------ revision-id: vvaintroub@mysql.com-20100416134524-y4v27j90p5xvblmy parent: luis.soares@sun.com-20100416000700-n267ynu77visx31t committer: Vladislav Vaintroub <vvaintroub@mysql.com> branch nick: mysql-next-mr-bugfixing timestamp: Fri 2010-04-16 15:45:24 +0200 message: Bug #52716 Large files support is disabled, large-pages option is broken. Correct typo: large pages option was tied to wrong variable opt_large_files, instead of opt_large_pages. ------------------------------------------------------------
-
Sergey Vojtovich authored
Adjusted tests. mysql-test/r/information_schema.result: Adjusted tests. mysql-test/suite/funcs_1/r/is_engines_myisam.result: Adjusted tests.
-
Sergey Vojtovich authored
-
- 04 Jul, 2010 1 commit
-
-
Alfranio Correia authored
-
- 02 Jul, 2010 2 commits
-
-
Sergey Vojtovich authored
Fixed MyISAM storage engine comment, so it doesn't anymore state that MyISAM is default storage engine.
-
Alexander Nozdrin authored
-
- 01 Jul, 2010 1 commit
-
-
Luis Soares authored
DROP TEMP TABLE Cset: alfranio.correia@sun.com-20100420091043-4i6ouzozb34hvzhb introduced a change that made drop temporary table to be always logged if current statement log format was set to row. This is fine. However, logging operations, for a "DROP TABLE" statement in mysql_rm_table_part2, are not protected by first checking if the mysql_bin_log is open before proceeding to the actual logging. They only check the dont_log_query variable. This was actually uncovered by the aforementioned cset and not introduced by it. We fix this by extending the condition used in the "if" that wraps logging operations in mysql_rm_table_part2.
-
- 30 Jun, 2010 2 commits
-
-
Alfranio Correia authored
-
Alfranio Correia authored
-