- 15 Jun, 2006 3 commits
-
-
evgen@moonbone.local authored
into moonbone.local:/work/16377-4.1-after
-
evgen@moonbone.local authored
Post fix for bug#16377
-
evgen@moonbone.local authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
-
- 14 Jun, 2006 2 commits
-
-
evgen@moonbone.local authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
-
sergefp@mysql.com authored
-
- 13 Jun, 2006 3 commits
-
-
evgen@moonbone.local authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
-
evgen@moonbone.local authored
into moonbone.local:/work/16377-bug-4.1-opt-mysql
-
evgen@moonbone.local authored
can lead to a wrong result. All date/time functions has the STRING result type thus their results are compared as strings. The string date representation allows a user to skip some of leading zeros. This can lead to wrong comparison result if a date/time function result is compared to such a string constant. The idea behind this bug fix is to compare results of date/time functions and data/time constants as ints, because that date/time representation is more exact. To achieve this the agg_cmp_type() is changed to take in the account that a date/time field or an date/time item should be compared as ints. This bug fix is partially back ported from 5.0. The agg_cmp_type() function now accepts THD as one of parameters. In addition, it now checks if a date/time field/function is present in the list. If so, it tries to coerce all constants to INT to make date/time comparison return correct result. The field for the constant coercion is taken from the Item_field or constructed from the Item_func. In latter case the constructed field will be freed after conversion of all constant items. Otherwise the result is same as before - aggregated with help of the item_cmp_type() function. From the Item_func_between::fix_length_and_dec() function removed the part which was converting date/time constants to int if possible. Now this is done by the agg_cmp_type() function. The new function result_as_longlong() is added to the Item class. It indicates that the item is a date/time item and result of it can be compared as int. Such items are date/time fields/functions. Correct val_int() methods are implemented for classes Item_date_typecast, Item_func_makedate, Item_time_typecast, Item_datetime_typecast. All these classes are derived from Item_str_func and Item_str_func::val_int() converts its string value to int without regard to the date/time type of these items. Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func() functions are changed to substitute result type of an item with the INT_RESULT if the item is a date/time item and another item is a constant. This is done to get a correct result of comparisons like date_time_function() = string_constant.
-
- 12 Jun, 2006 2 commits
-
-
evgen@moonbone.local authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
-
evgen@moonbone.local authored
into moonbone.local:/work/16716-bug-4.1-opt-mysql
-
- 03 Jun, 2006 1 commit
-
-
igor@rurik.mysql.com authored
-
- 02 Jun, 2006 3 commits
-
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/mysql-4.1-opt
-
igor@rurik.mysql.com authored
The bug report revealed two problems related to min/max optimization: 1. If the length of a constant key used in a SARGable condition for for the MIN/MAX fields is greater than the length of the field an unwanted warning on key truncation is issued; 2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4)) than can lead to returning a wrong result set.
-
gkodinov@mysql.com authored
3.23 regression test failure The member SEL_ARG::min_flag was not initialized, due to which the condition for no GEOM_FLAG in function key_or did not choose "Range checked for each record" as the correct access method.
-
- 30 May, 2006 1 commit
-
-
evgen@moonbone.local authored
into moonbone.local:/work/18360-bug-4.1-mysql-opt
-
- 29 May, 2006 1 commit
-
-
evgen@moonbone.local authored
The IN() function uses agg_cmp_type() to aggregate all types of its arguments to find out some common type for comparisons. In this particular case the char() and the int was aggregated to double because char() can contain values like '1.5'. But all strings which do not start from a digit are converted to 0. thus 'a' and 'z' become equal. This behaviour is reasonable when all function arguments are constants. But when there is a field or an expression this can lead to false comparisons. In this case it makes more sense to coerce constants to the type of the field argument. The agg_cmp_type() function now aggregates types of constant and non-constant items separately. If some non-constant items will be found then their aggregated type will be returned. Thus after the aggregation constants will be coerced to the aggregated type.
-
- 28 May, 2006 2 commits
-
-
evgen@moonbone.local authored
In multi-table delete a table for delete can't be used for selecting in subselects. Appropriate error was raised but wasn't checked which leads to a crash at the execution phase. The mysql_execute_command() now checks for errors before executing select for multi-delete.
-
evgen@moonbone.local authored
argument can lead to a wrong result. md5() and sha() functions treat their arguments as case sensitive strings. But when they are compared their arguments were compared as a case insensitive strings which leads to two functions with different arguments and thus different results to being identical. This can lead to a wrong decision made in the range optimizer and thus lead to a wrong result set. Item_func_md5::fix_length_and_dec() and Item_func_sha::fix_length_and_dec() functions now set binary collation on their arguments.
-
- 25 May, 2006 3 commits
-
-
evgen@moonbone.local authored
The Item_func_concat::val_str() function tries to make as less re-allocations as possible. This results in appending strings returned by 2nd and next arguments to the string returned by 1st argument if the buffer for the first argument has enough free space. A constant subselect is evaluated only once and its result is stored in an Item_cache_str. In the case when the first argument of the concat() function is such a subselect Item_cache_str returns the stored value and Item_func_concat::val_str() append values of other arguments to it. But for the next row the value in the Item_cache_str isn't restored because the subselect is a constant one and it isn't evaluated second time. This results in appending string values of 2nd and next arguments to the result of the previous Item_func_concat::val_str() call. The Item_func_concat::val_str() function now checks whether the first argument is a constant one and if so it doesn't append values of 2nd and next arguments to the string value returned by it.
-
acurtis@xiphis.org authored
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/4.1.b16900
-
- 24 May, 2006 6 commits
-
-
aelkin@dl145h.mysql.com authored
into dl145h.mysql.com:/tmp/andrei/4.1-bug14157-utf8_binlog_testcases
-
ramil@production.mysql.com authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b18351
-
kent@mysql.com authored
Update NDB version as well
-
kent@mysql.com authored
Stepped up to 4.1.22
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
ramil@production.mysql.com authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b18351
-
- 23 May, 2006 3 commits
-
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
msvensson@neptunus.(none) authored
-
- 22 May, 2006 1 commit
-
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/4.1.b18536
-
- 21 May, 2006 1 commit
-
-
holyfoot@mysql.com authored
into mysql.com:/home/hf/work/mysql-4.1.clean
-
- 20 May, 2006 3 commits
-
-
kent@mysql.com authored
-
kent@mysql.com authored
Always compile position independent
-
aelkin@mysql.com authored
fixing an issue with the test portability.
-
- 19 May, 2006 4 commits
-
-
ramil@mysql.com authored
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
msvensson@neptunus.(none) authored
- A segfault occured when the function 'kill_server' called 'my_sigset' with signal number 0. 'my_sigset' is a macro which uses 'sigaction' to install the signal handler with an invalid signal number will on most platforms return EINVAL but yields a segfauilt on IRIX 6.5 - The server crash was detected by mysqld_safe and it was restarted although a shutdown was requested. - Semantics of kill_server(0) is not known, leaving it intact
-
- 17 May, 2006 1 commit
-
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/bug18818/my41-bug18818
-