mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge
This commit is contained in:
@@ -316,4 +316,9 @@ ERROR HY000: The value specified for computed column 'd' in table 't1' ignored
|
|||||||
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
|
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
|
||||||
ERROR HY000: The value specified for computed column 'd' in table 't1' ignored
|
ERROR HY000: The value specified for computed column 'd' in table 't1' ignored
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-5611: self-referencing virtual column
|
||||||
|
#
|
||||||
|
create table t1 (a int, b int as (b is null) virtual);
|
||||||
|
ERROR HY000: A computed column cannot be based on a computed column
|
||||||
# end of 5.3 tests
|
# end of 5.3 tests
|
||||||
|
@@ -275,4 +275,11 @@ UPDATE `test`.`t1` SET `d`='b' WHERE `a`='1' AND `b`='a' AND `c`='1' AND `d`='a
|
|||||||
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
|
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-5611: self-referencing virtual column
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--error ER_VCOL_BASED_ON_VCOL
|
||||||
|
create table t1 (a int, b int as (b is null) virtual);
|
||||||
|
|
||||||
--echo # end of 5.3 tests
|
--echo # end of 5.3 tests
|
||||||
|
@@ -1877,7 +1877,11 @@ public:
|
|||||||
tab->merge_keys.merge(field->part_of_key);
|
tab->merge_keys.merge(field->part_of_key);
|
||||||
if (tab->read_set)
|
if (tab->read_set)
|
||||||
bitmap_fast_test_and_set(tab->read_set, field->field_index);
|
bitmap_fast_test_and_set(tab->read_set, field->field_index);
|
||||||
if (field->vcol_info)
|
/*
|
||||||
|
Do not mark a self-referecing virtual column.
|
||||||
|
Such virtual columns are reported as invalid.
|
||||||
|
*/
|
||||||
|
if (field->vcol_info && tab->vcol_set)
|
||||||
tab->mark_virtual_col(field);
|
tab->mark_virtual_col(field);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user