diff options
author | Alexander Barkov <bar@mariadb.org> | 2017-02-07 21:07:28 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-02-07 21:07:28 +0400 |
commit | 3f83801d8266fa465d296dbe528a5ea132945a84 (patch) | |
tree | 28bb83b3d1eb4cd0839fa2861923aba20a2d3d99 /sql/share | |
parent | d333e3ad9c877ce7540bd1cdaf78094fa0f273c4 (diff) | |
download | mariadb-git-3f83801d8266fa465d296dbe528a5ea132945a84.tar.gz |
MDEV-12001 Split Item_func_round::fix_length_and_dec to virtual methods in Type_handler
This patch makes the following changes (according to the task description):
- Adds Type_handler::Item_func_round_fix_length_and_dec().
- Splits the code from Item_func_round::fix_length_and_dec() into new
Item_func_round methods fix_arg_int(), fix_arg_decimal(), fix_arg_double().
- Calls the new Item_func_round methods from the relevant implementations of
Type_handler_xxx::Item_func_round_fix_length_and_dec().
- Adds a new error message ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION
- Makes ROUND() return the new error for GEOMETRY
Additionally:
- Inherits Item_func_round directly from Item_func_numhybrid as it
uses nothing from Item_func_num1.
- Fixes "MDEV-12000 ROUND(expr,const_expr_returning_NULL) creates DOUBLE(0,0)".
Now if args[1] returns NULL, the data type is set to DOUBLE with
NOT_FIXED_DEC decimals instead of 0 decimals.
Diffstat (limited to 'sql/share')
-rw-r--r-- | sql/share/errmsg-utf8.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt index a0757644558..c0796b2002b 100644 --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -7450,3 +7450,5 @@ ER_JSON_PATH_EMPTY eng "Path expression '$' is not allowed in argument %d to function '%s'." ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION eng "Illegal parameter data types %s and %s for operation '%s'" +ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION + eng "Illegal parameter data type %s for operation '%s'" |