summaryrefslogtreecommitdiff
path: root/support-files/mysql.spec.sh
diff options
context:
space:
mode:
authorEvgeny Potemkin <epotemkin@mysql.com>2009-11-17 17:06:46 +0300
committerEvgeny Potemkin <epotemkin@mysql.com>2009-11-17 17:06:46 +0300
commit726e83907cea41206bb1f4333b55c26f467b90ab (patch)
treeaf0ca01e08ac8bd1860a5bab89dcf639b9b84bbd /support-files/mysql.spec.sh
parent16853758126b26c8707af8c23c40d691989ff7fe (diff)
downloadmariadb-git-726e83907cea41206bb1f4333b55c26f467b90ab.tar.gz
Bug#43668: Wrong comparison and MIN/MAX for YEAR(2)
MySQL manual describes values of the YEAR(2) field type as follows: values 00 - 69 mean 2000 - 2069 years and values 70 - 99 mean 1970 - 1999 years. MIN/MAX and comparison functions was comparing them as int values thus producing wrong result. Now the Arg_comparator class is extended with compare_year function which performs correct comparison of the YEAR type. The Item_sum_hybrid class now uses Item_cache and Arg_comparator objects to correctly calculate its value. To allow Arg_comparator to use func_name() function for Item_func and Item_sum objects the func_name declaration is moved to the Item_result_field class. A helper function is_owner_equal_func is added to the Arg_comparator class. It checks whether the Arg_comparator object owner is the <=> function or not. A helper function setup is added to the Item_sum_hybrid class. It sets up cache item and comparator.
Diffstat (limited to 'support-files/mysql.spec.sh')
0 files changed, 0 insertions, 0 deletions