Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-count-4.1
This commit is contained in:
commit
f9ec1ff25a
@ -656,3 +656,31 @@ select stddev(2) from t1;
|
|||||||
stddev(2)
|
stddev(2)
|
||||||
NULL
|
NULL
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
prepare stmt1 from 'SELECT COUNT(*) FROM t1';
|
||||||
|
execute stmt1;
|
||||||
|
COUNT(*)
|
||||||
|
2
|
||||||
|
execute stmt1;
|
||||||
|
COUNT(*)
|
||||||
|
2
|
||||||
|
execute stmt1;
|
||||||
|
COUNT(*)
|
||||||
|
2
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, primary key(a));
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
prepare stmt1 from 'SELECT max(a) FROM t1';
|
||||||
|
execute stmt1;
|
||||||
|
max(a)
|
||||||
|
2
|
||||||
|
execute stmt1;
|
||||||
|
max(a)
|
||||||
|
2
|
||||||
|
execute stmt1;
|
||||||
|
max(a)
|
||||||
|
2
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
drop table t1;
|
||||||
|
@ -396,3 +396,25 @@ create table t1 (a int);
|
|||||||
select variance(2) from t1;
|
select variance(2) from t1;
|
||||||
select stddev(2) from t1;
|
select stddev(2) from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# cleunup() of optimized away count(*) and max/min
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
prepare stmt1 from 'SELECT COUNT(*) FROM t1';
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt1;
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a int, primary key(a));
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
prepare stmt1 from 'SELECT max(a) FROM t1';
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt1;
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
drop table t1;
|
||||||
|
@ -361,6 +361,16 @@ longlong Item_sum_count::val_int()
|
|||||||
return (longlong) count;
|
return (longlong) count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Item_sum_count::cleanup()
|
||||||
|
{
|
||||||
|
DBUG_ENTER("Item_sum_count::cleanup");
|
||||||
|
Item_sum_int::cleanup();
|
||||||
|
used_table_cache= ~(table_map) 0;
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Avgerage
|
Avgerage
|
||||||
*/
|
*/
|
||||||
@ -575,6 +585,15 @@ Item_sum_hybrid::val_str(String *str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Item_sum_hybrid::cleanup()
|
||||||
|
{
|
||||||
|
DBUG_ENTER("Item_sum_hybrid::cleanup");
|
||||||
|
Item_sum::cleanup();
|
||||||
|
used_table_cache= ~(table_map) 0;
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Item *Item_sum_min::copy_or_same(THD* thd)
|
Item *Item_sum_min::copy_or_same(THD* thd)
|
||||||
{
|
{
|
||||||
return new (&thd->mem_root) Item_sum_min(thd, this);
|
return new (&thd->mem_root) Item_sum_min(thd, this);
|
||||||
|
@ -172,6 +172,7 @@ class Item_sum_count :public Item_sum_int
|
|||||||
void make_const(longlong count_arg) { count=count_arg; used_table_cache=0; }
|
void make_const(longlong count_arg) { count=count_arg; used_table_cache=0; }
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
void reset_field();
|
void reset_field();
|
||||||
|
void cleanup();
|
||||||
void update_field();
|
void update_field();
|
||||||
const char *func_name() const { return "count"; }
|
const char *func_name() const { return "count"; }
|
||||||
Item *copy_or_same(THD* thd);
|
Item *copy_or_same(THD* thd);
|
||||||
@ -428,6 +429,7 @@ class Item_sum_hybrid :public Item_sum
|
|||||||
void min_max_update_str_field();
|
void min_max_update_str_field();
|
||||||
void min_max_update_real_field();
|
void min_max_update_real_field();
|
||||||
void min_max_update_int_field();
|
void min_max_update_int_field();
|
||||||
|
void cleanup();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user