diff options
author | bar@bar.mysql.r18.ru <> | 2003-05-20 16:36:59 +0500 |
---|---|---|
committer | bar@bar.mysql.r18.ru <> | 2003-05-20 16:36:59 +0500 |
commit | 5b788e660a2e1ac3e4bff3387811612b84400271 (patch) | |
tree | ef5cfa35ed429c92e96cb6c7884de0e96c503cc5 /sql/item_strfunc.cc | |
parent | b0062813e591f102f3bf1f5a0daf6d116a41b3a9 (diff) | |
download | mariadb-git-5b788e660a2e1ac3e4bff3387811612b84400271.tar.gz |
A separate, better error message when it's impossible to aggregate strings for some operation
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r-- | sql/item_strfunc.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 6118b25a88c..8aaf9f944e8 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -326,7 +326,10 @@ void Item_func_concat::fix_length_and_dec() if (set_charset(charset(), coercibility, args[i]->charset(), args[i]->coercibility)) { - my_error(ER_WRONG_ARGUMENTS,MYF(0),func_name()); + my_error(ER_CANT_AGGREGATE_COLLATIONS,MYF(0), + charset()->name,coercion_name(coercibility), + args[i]->charset()->name,coercion_name(args[i]->coercibility), + func_name()); break; } } @@ -630,7 +633,10 @@ void Item_func_concat_ws::fix_length_and_dec() if (set_charset(charset(), coercibility, args[i]->charset(), args[i]->coercibility)) { - my_error(ER_WRONG_ARGUMENTS,MYF(0),func_name()); + my_error(ER_CANT_AGGREGATE_COLLATIONS,MYF(0), + charset()->name,coercion_name(coercibility), + args[i]->charset()->name,coercion_name(args[i]->coercibility), + func_name()); break; } } @@ -1624,7 +1630,10 @@ void Item_func_elt::fix_length_and_dec() if (set_charset(charset(), coercibility, args[i]->charset(), args[i]->coercibility)) { - my_error(ER_WRONG_ARGUMENTS,MYF(0),func_name()); + my_error(ER_CANT_AGGREGATE_COLLATIONS,MYF(0), + charset()->name,coercion_name(coercibility), + args[i]->charset()->name,coercion_name(args[i]->coercibility), + func_name()); break; } } |