summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorigor@olga.mysql.com <>2007-04-29 20:14:35 -0700
committerigor@olga.mysql.com <>2007-04-29 20:14:35 -0700
commit2cf753a1e84e53f784eaa095058419faaa225855 (patch)
treeba142830fd4d957b693f85fcdddc66d6211ae5e0
parentf9ac5b43ccff911c76fe1460eb1769dee8adf954 (diff)
downloadmariadb-git-2cf753a1e84e53f784eaa095058419faaa225855.tar.gz
Post-merge fix.
-rw-r--r--mysql-test/r/olap.result1
-rw-r--r--sql/item_func.h8
-rw-r--r--sql/sql_select.cc2
3 files changed, 8 insertions, 3 deletions
diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result
index fe6253611e8..b1c29a5aadb 100644
--- a/mysql-test/r/olap.result
+++ b/mysql-test/r/olap.result
@@ -667,6 +667,7 @@ x 2 90
x 3 30
x NULL 150
NULL NULL 150
+DROP TABLE t1;
CREATE TABLE t1(id int, type char(1));
INSERT INTO t1 VALUES
(1,"A"),(2,"C"),(3,"A"),(4,"A"),(5,"B"),
diff --git a/sql/item_func.h b/sql/item_func.h
index cdf397c82ed..ec5d6bcda02 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -728,10 +728,14 @@ class Item_func_rollup_const :public Item_func
{
public:
Item_func_rollup_const(Item *a) :Item_func(a)
- { name= a->name; }
- double val() { return args[0]->val(); }
+ {
+ name= a->name;
+ name_length= a->name_length;
+ }
+ double val_real() { return args[0]->val_real(); }
longlong val_int() { return args[0]->val_int(); }
String *val_str(String *str) { return args[0]->val_str(str); }
+ my_decimal *val_decimal(my_decimal *dec) { return args[0]->val_decimal(dec); }
const char *func_name() const { return "rollup_const"; }
bool const_item() const { return 0; }
Item_result result_type() const { return args[0]->result_type(); }
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 4545ff62f31..b7ac2130784 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -14571,7 +14571,7 @@ bool JOIN::rollup_init()
Item* new_item= new Item_func_rollup_const(item);
if (!new_item)
return 1;
- new_item->fix_fields(thd,0, (Item **) 0);
+ new_item->fix_fields(thd, (Item **) 0);
thd->change_item_tree(it.ref(), new_item);
for (ORDER *tmp= group_tmp; tmp; tmp= tmp->next)
{