summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.cc
diff options
context:
space:
mode:
authorbar@bar.mysql.r18.ru <>2003-05-20 16:36:59 +0500
committerbar@bar.mysql.r18.ru <>2003-05-20 16:36:59 +0500
commit5b788e660a2e1ac3e4bff3387811612b84400271 (patch)
treeef5cfa35ed429c92e96cb6c7884de0e96c503cc5 /sql/item_strfunc.cc
parentb0062813e591f102f3bf1f5a0daf6d116a41b3a9 (diff)
downloadmariadb-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.cc15
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;
}
}