- 28 Jan, 2009 1 commit
-
-
Alexey Kopytov authored
Various parts of code used different 'precision' arguments for sprintf("%g") when converting floating point numbers to a string. This led to differences in results in some cases depending on whether the text-based or prepared statements protocol is used for a query. Fixed by changing arguments to sprintf("%g") to always be 15 (DBL_DIG) so that results are consistent regardless of the protocol. This patch will be null-merged to 6.0 as the problem does not exists there (fixed by the patch for WL#2934).
-
- 09 Jan, 2009 5 commits
-
-
Tatiana A. Nurnberg authored
-
Georgi Kodinov authored
-
Tatiana A. Nurnberg authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
When substituting system constant functions with a constant result the server was not expecting that the function may return NULL. Fixed by checking for NULL and returning Item_null (in the relevant collation) if the result of the system constant function was NULL.
-
- 08 Jan, 2009 1 commit
-
-
Tatiana A. Nurnberg authored
Passing dubious "year zero" in non-zero date (not "0000-00-00") could lead to negative value for year internally, while variable was unsigned. This led to Really Bad Things further down the line. Now doing calculations with signed type for year internally.
-
- 07 Jan, 2009 1 commit
-
-
Patrick Crews authored
-
- 05 Jan, 2009 3 commits
-
-
Patrick Crews authored
Added function to check for diff and return an error message if the utility is not present. Previously, the way we did this didn't work on Windows, but did work on *Nix systems.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
case.
-
- 30 Dec, 2008 1 commit
-
-
Tatiana A. Nurnberg authored
-
- 29 Dec, 2008 1 commit
-
-
Sergey Glukhov authored
Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable.
-
- 28 Dec, 2008 2 commits
-
-
Joerg Bruehe authored
-
Kent Boortz authored
-
- 24 Dec, 2008 4 commits
-
-
Sergey Glukhov authored
Table could be marked dependent because it is either 1) an inner table of an outer join, or 2) it is a part of STRAIGHT_JOIN. In case of STRAIGHT_JOIN table->maybe_null should not be assigned. The fix is to set st_table::maybe_null to 'true' only for those tables which are used in outer join.
-
Sergey Glukhov authored
init user->user struct with thd->security_ctx->priv_user context if user->user is not initializied
-
Sergey Glukhov authored
replace wild_case_compare with my_wildcmp which is multibyte safe function
-
Sergey Glukhov authored
-
- 23 Dec, 2008 2 commits
-
-
Sergey Glukhov authored
The problem is that we cannot insert new record into memory table when table size exceeds max memory table size. The fix is to use schema_table_store_record() function which converts memory table into MyISAM in case of table size exceeding. Note: There is no test case for this bug, the reason is that 1. The code that was added already is checked(i.e. works) with existing tests 2. Correct work of schema_table_store_record() is checked with other test cases (information_schema tests) So new code is fully covered with existing test cases.
-
Sergey Glukhov authored
The MONTHNAME/DAYNAME functions returns binary string, so the LOWER/UPPER functions are not effective on the result of MONTHNAME/DAYNAME call. Character set of the MONTHNAME/DAYNAME function result has been changed to connection character set.
-
- 22 Dec, 2008 1 commit
-
-
Sergey Petrunia authored
-
- 19 Dec, 2008 1 commit
-
-
Sergey Petrunia authored
- QUICK_INDEX_MERGE_SELECT deinitializes its rnd_pos() scan when it reaches EOF, but we need to make the deinitialization in QUICK_INDEX_MERGE_SELECT destructor also. This is because certain execution strategies can stop scanning without reaching EOF, then then try to do a full table scan on this table. Failure to deinitialize caused the full scan to use (already empty) table->sort and produce zero records.
-
- 17 Dec, 2008 1 commit
-
-
Joerg Bruehe authored
-
- 15 Dec, 2008 1 commit
-
-
Timothy Smith authored
-
- 13 Dec, 2008 2 commits
-
-
Timothy Smith authored
branches/5.0 bug#39483 InnoDB hang on adaptive hash because of out of order ::open() call by MySQL Under some conditions MySQL calls ::open with search_latch leading to a deadlock as we try to acquire dict_sys->mutex inside ::open breaking the latching order. The fix is to release search_latch. Reviewed by: Heikki
-
Timothy Smith authored
This fixes Bug#36149: Read buffer overflow in srv0start.c found during "make test" Per-revision comments: r2484 | vasil | 2008-05-28 15:32:48 +0300 (Wed, 28 May 2008) | 9 lines Fix Bug#36149 Read buffer overflow in srv0start.c found during "make test" Use strncmp(3) instead of memcmp(3) to avoid reading past end of the string if it is empty (*str == '\0'). This bug is _not_ a buffer overflow. Discussed with: Sunny (via IM) r2538 | inaam | 2008-07-15 21:24:02 +0300 (Tue, 15 Jul 2008) | 15 lines Fix of issue# 4 Fixed a timing hole where a thread dropping an index can free the in-memory index struct while another thread is still using that structure to remove entries from adaptive hash index belonging to one of the pages that belongs to the index being dropped. The fix is to have a reference counter in the index struct and to wait for this counter to drop to zero beforing freeing the struct. Reviewed by: Heikki r2544 | inaam | 2008-07-22 18:58:11 +0300 (Tue, 22 Jul 2008) | 8 lines Removed UNIV_INLINE qualifier from btr_search_info_get_ref_count(). Otherwise compilation failed on non-debug builds. Pointed by: Vasil
-
- 12 Dec, 2008 4 commits
-
-
Timothy Smith authored
not handle errors from gettimeofday". r2475 | vasil | 2008-05-22 19:35:30 +0300 (Thu, 22 May 2008) | 13 lines Fix by retrying gettimeofday() several times if it fails in ut_usectime(). If it fails on all calls then return error to the caller to be handled at higher level. Update the variable innodb_row_lock_time_max in SHOW STATUS output only if ut_usectime() was successful.
-
Bjorn Munch authored
Added $glob_basedir/sbin to search path for relevant binaries
-
Gleb Shchepa authored
IF(..., CAST(longtext AS UNSIGNED), signed_val) (was: LEFT JOIN on inline view crashes server) Select from a LONGTEXT column wrapped with an expression like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)" failed an assertion or crashed the server. IFNULL function was affected too. LONGTEXT column item has a maximum length of 32^2-1 bytes, at the same time this is a maximum possible length of any MySQL item. CAST(longtext_column AS UNSIGNED) returns some unsigned numeric result of length 32^2-1, so the result of IF/IFNULL function of this number and some other signed number will have text length of (32^2-1)+1=32^2 (one byte for the minus sign) - there is integer overflow, and the length is equal to zero. That caused assert/crash. CAST AS UNSIGNED function has been modified to limit maximal length of resulting number to 67 (maximal length of DECIMAL and two characters for minus sign and dot).
-
Gleb Shchepa authored
-
- 11 Dec, 2008 6 commits
-
-
Gleb Shchepa authored
IF(..., CAST(longtext AS UNSIGNED), signed_val) (was: LEFT JOIN on inline view crashes server) Select from a LONGTEXT column wrapped with an expression like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)" failed an assertion or crashed the server. IFNULL function was affected too. LONGTEXT column item has a maximum length of 32^2-1 bytes, at the same time this is a maximum possible length of any MySQL item. CAST(longtext_column AS UNSIGNED) returns some unsigned numeric result of length 32^2-1, so the result of IF/IFNULL function of this number and some other signed number will have text length of (32^2-1)+1=32^2 (one byte for the minus sign) - there is integer overflow, and the length is equal to zero. That caused assert/crash. The bug has been fixed by the same solution as in the CASE function implementation.
-
Chad MILLER authored
-
Chad MILLER authored
Fix parsing of mysql client commands, especially in relation to single-line comments when --comments was specified. This is a little tricky, because we need to allow single-line comments in the middle of statements, but we don't want to allow client commands in the middle of statements. So in comment-preservation mode, we go ahead and send single-line comments to the server immediately when we encounter them on their own. This is still slightly flawed, in that it does not handle a single-line comment with leading spaces, followed by a client-side command when --comment has been enabled. But this isn't a new problem, and it is quite an edge condition. Fixing it would require a more extensive overall of how the mysql client parses commands.
-
Luis Soares authored
BUG#38826
-
Sergey Glukhov authored
-
Sergey Glukhov authored
-
- 10 Dec, 2008 3 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Sergey Glukhov authored
Bug#37671 crash on prepared statement + cursor + geometry + too many open files! if mysql_execute_command() returns error then free materialized_cursor object. is_rnd_inited is added to satisfy rnd_end() assertion (handler may be uninitialized in some cases)
-