Commit 6c7e3e5c authored by Sergei Golubchik's avatar Sergei Golubchik

bugfix: RAND is VCOL_SESSION_FUNC

it's not "non deterministic", it's completely defined
by @@rand_seed1 and @@rand_seed2. And as a session func it needs
to be re-fixed at the beginning of every statement.
parent 25219920
......@@ -533,3 +533,19 @@ drop table t1;
#
# End of 10.2 tests
#
#
# RAND is session func
#
create table t1 (a int, b float default rand(1));
insert into t1 (a) values (1);
insert into t1 (a) values (2);
insert into t1 (a) values (3);
select * from t1;
a b
1 0.405404
2 0.405404
3 0.405404
drop table t1;
#
# End of 10.3 tests
#
......@@ -506,3 +506,16 @@ drop table t1;
--echo # End of 10.2 tests
--echo #
--echo #
--echo # RAND is session func
--echo #
create table t1 (a int, b float default rand(1));
insert into t1 (a) values (1);
insert into t1 (a) values (2);
insert into t1 (a) values (3);
select * from t1;
drop table t1;
--echo #
--echo # End of 10.3 tests
--echo #
......@@ -1513,7 +1513,7 @@ class Item_func_rand :public Item_real_func
void cleanup() { first_eval= TRUE; Item_real_func::cleanup(); }
bool check_vcol_func_processor(void *arg)
{
return mark_unsupported_function(func_name(), "()", arg, VCOL_NON_DETERMINISTIC);
return mark_unsupported_function(func_name(), "()", arg, VCOL_SESSION_FUNC);
}
Item *get_copy(THD *thd)
{ return get_item_copy<Item_func_rand>(thd, this); }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment