diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-07-04 19:56:32 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-07-04 19:56:32 +0500 |
commit | a371a6e6ca04090999c69359da55f772154d9b97 (patch) | |
tree | b4d5f73a9fa4768d66ecdda8ba292e4cd742eda0 /sql/item_func.cc | |
parent | c29f49c24d3d2d6549729984a7a3c4c6854d7a22 (diff) | |
download | mariadb-git-a371a6e6ca04090999c69359da55f772154d9b97.tar.gz |
Better arguments format to allow reuse more code
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index df1bce37581..0080a2bcff1 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -64,15 +64,15 @@ static void my_coll_agg_error(Item** args, uint ac, const char *fname) my_error(ER_CANT_AGGREGATE_NCOLLATIONS,MYF(0),fname); } -bool Item_func::agg_arg_collations(DTCollation &c, uint from, uint argc) +bool Item_func::agg_arg_collations(DTCollation &c, Item **av, uint ac) { uint i; - c.set(args[from]->collation); - for (i= from+1; i < argc; i++) + c.set(av[0]->collation); + for (i= 1; i < ac; i++) { - if (c.aggregate(args[i]->collation)) + if (c.aggregate(av[i]->collation)) { - my_coll_agg_error(args+from, argc-from, func_name()); + my_coll_agg_error(av, ac, func_name()); return TRUE; } } @@ -80,14 +80,14 @@ bool Item_func::agg_arg_collations(DTCollation &c, uint from, uint argc) } bool Item_func::agg_arg_collations_for_comparison(DTCollation &c, - uint from, uint argc) + Item **av, uint ac) { - if (agg_arg_collations(c, from, argc)) - return FALSE; - + if (agg_arg_collations(c, av, ac)) + return TRUE; + if (c.derivation == DERIVATION_NONE) { - my_coll_agg_error(args+from, argc-from, func_name()); + my_coll_agg_error(av, ac, func_name()); return TRUE; } return FALSE; |