summaryrefslogtreecommitdiff
path: root/sql/share
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-02-07 21:07:28 +0400
committerAlexander Barkov <bar@mariadb.org>2017-02-07 21:07:28 +0400
commit3f83801d8266fa465d296dbe528a5ea132945a84 (patch)
tree28bb83b3d1eb4cd0839fa2861923aba20a2d3d99 /sql/share
parentd333e3ad9c877ce7540bd1cdaf78094fa0f273c4 (diff)
downloadmariadb-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.txt2
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'"