mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge 10.3 into 10.4
In main.index_merge_myisam we remove the test that was added in commita2d24def8c
because it duplicates the test case that was added in commit5af12e4635
.
This commit is contained in:
@ -54,7 +54,7 @@ add column trx_end timestamp(6) not null as row end invisible,
|
||||
add period for system_time(trx_start, trx_end),
|
||||
add system versioning;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'as row start invisible,
|
||||
add column trx_end timestamp(6) not null as row end invi' at line 2
|
||||
add column trx_end timestamp(6) not null as row end i...' at line 2
|
||||
alter table t
|
||||
add column trx_start timestamp(6) as row start invisible,
|
||||
add column trx_end timestamp(6) as row end invisible,
|
||||
@ -687,3 +687,12 @@ add column c int without system versioning,
|
||||
change column c c int,
|
||||
change column b b int without system versioning;
|
||||
drop table t;
|
||||
#
|
||||
# MDEV-21688 Assertion or ER_WARN_DATA_OUT_OF_RANGE upon ALTER on previously versioned table
|
||||
#
|
||||
create or replace table t1 (a int) with system versioning;
|
||||
insert into t1 values (128);
|
||||
delete from t1;
|
||||
set statement system_versioning_alter_history=keep for
|
||||
alter table t1 drop system versioning, modify column a tinyint;
|
||||
drop table t1;
|
||||
|
@ -622,3 +622,42 @@ create table t2 (b int);
|
||||
insert into t2 values (1),(2);
|
||||
update t1, t2 set a = 1;
|
||||
drop table t1, t2;
|
||||
#
|
||||
# MDEV-20515 multi-update tries to position updated table by null reference
|
||||
#
|
||||
create or replace table t1 (a int);
|
||||
insert into t1 values (0), (1);
|
||||
create or replace table t2 (b int) with system versioning
|
||||
partition by system_time
|
||||
(partition p1 history, partition pn current);
|
||||
insert into t2 values (0), (2);
|
||||
update t1 left join t2 on a > b set b= 2 order by b;
|
||||
drop table t1, t2;
|
||||
#
|
||||
# MDEV-17091 Assertion `old_part_id == m_last_part' failed in
|
||||
# ha_partition::update_row or `part_id == m_last_part' in
|
||||
# ha_partition::delete_row upon UPDATE/DELETE after dropping versioning
|
||||
#
|
||||
create or replace table t1 (pk int primary key, f int) engine=innodb
|
||||
with system versioning
|
||||
partition by key() partitions 2;
|
||||
insert into t1 values (1,10),(2,20);
|
||||
# expected to hit same partition
|
||||
select * from t1 partition (p0);
|
||||
pk f
|
||||
1 10
|
||||
2 20
|
||||
alter table t1 drop system versioning;
|
||||
# 1 and 2 are expected to be in different partitions
|
||||
select * from t1 partition(p0);
|
||||
pk f
|
||||
1 10
|
||||
select * from t1 partition(p1);
|
||||
pk f
|
||||
2 20
|
||||
update t1 set f=pk;
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
# Test cleanup
|
||||
drop database test;
|
||||
create database test;
|
||||
|
@ -312,3 +312,10 @@ ERROR 42S22: Unknown column 'xx' in 'field list'
|
||||
drop procedure sp;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-21342 Assertion in set_ok_status() upon spatial field error on system-versioned table
|
||||
#
|
||||
create or replace table t1 (f point, key(f)) with system versioning engine=myisam;
|
||||
update t1 set f = null where f = 'foo';
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1;
|
||||
|
@ -581,3 +581,15 @@ alter table t
|
||||
change column b b int without system versioning;
|
||||
|
||||
drop table t;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21688 Assertion or ER_WARN_DATA_OUT_OF_RANGE upon ALTER on previously versioned table
|
||||
--echo #
|
||||
create or replace table t1 (a int) with system versioning;
|
||||
insert into t1 values (128);
|
||||
delete from t1;
|
||||
set statement system_versioning_alter_history=keep for
|
||||
alter table t1 drop system versioning, modify column a tinyint;
|
||||
|
||||
# cleanup
|
||||
drop table t1;
|
||||
|
@ -558,4 +558,44 @@ update t1, t2 set a = 1;
|
||||
# cleanup
|
||||
drop table t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20515 multi-update tries to position updated table by null reference
|
||||
--echo #
|
||||
create or replace table t1 (a int);
|
||||
insert into t1 values (0), (1);
|
||||
|
||||
create or replace table t2 (b int) with system versioning
|
||||
partition by system_time
|
||||
(partition p1 history, partition pn current);
|
||||
|
||||
insert into t2 values (0), (2);
|
||||
update t1 left join t2 on a > b set b= 2 order by b;
|
||||
|
||||
# cleanup
|
||||
drop table t1, t2;
|
||||
|
||||
--source suite/versioning/common_finish.inc
|
||||
--echo #
|
||||
--echo # MDEV-17091 Assertion `old_part_id == m_last_part' failed in
|
||||
--echo # ha_partition::update_row or `part_id == m_last_part' in
|
||||
--echo # ha_partition::delete_row upon UPDATE/DELETE after dropping versioning
|
||||
--echo #
|
||||
create or replace table t1 (pk int primary key, f int) engine=innodb
|
||||
with system versioning
|
||||
partition by key() partitions 2;
|
||||
insert into t1 values (1,10),(2,20);
|
||||
--echo # expected to hit same partition
|
||||
select * from t1 partition (p0);
|
||||
alter table t1 drop system versioning;
|
||||
|
||||
--echo # 1 and 2 are expected to be in different partitions
|
||||
select * from t1 partition(p0);
|
||||
select * from t1 partition(p1);
|
||||
|
||||
update t1 set f=pk;
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo # Test cleanup
|
||||
drop database test;
|
||||
create database test;
|
||||
|
@ -235,4 +235,14 @@ drop procedure sp;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21342 Assertion in set_ok_status() upon spatial field error on system-versioned table
|
||||
--echo #
|
||||
create or replace table t1 (f point, key(f)) with system versioning engine=myisam;
|
||||
--error ER_CANT_CREATE_GEOMETRY_OBJECT
|
||||
update t1 set f = null where f = 'foo';
|
||||
|
||||
# cleanup
|
||||
drop table t1;
|
||||
|
||||
source suite/versioning/common_finish.inc;
|
||||
|
Reference in New Issue
Block a user