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.
This commit is contained in:
parent
25219920f5
commit
6c7e3e5c13
@ -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 @@ public:
|
||||
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); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user