mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1. INSERT ... SELECT with the same table on both sides (hidden below a MERGE table) does now work by buffering the select result. The duplicate detection works now after open_and_lock_tables() on the locks. I did not find a test case that failed without the change in sql_update.cc. I made the change anyway as it should in theory fix a possible MERGE table problem with multi-table update.
This commit is contained in:
@@ -350,4 +350,30 @@ INSERT INTO t2 (b) VALUES (1) ON DUPLICATE KEY UPDATE b=3;
|
||||
SELECT b FROM t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
#
|
||||
# BUG#5390 - problems with merge tables
|
||||
# Problem #1: INSERT...SELECT
|
||||
#
|
||||
#drop table if exists t1, t2, t3;
|
||||
create table t1(a int);
|
||||
create table t2(a int);
|
||||
insert into t1 values (1);
|
||||
insert into t2 values (2);
|
||||
create table t3 (a int) engine=merge union=(t1, t2) insert_method=first;
|
||||
select * from t3;
|
||||
#
|
||||
insert t2 select * from t2;
|
||||
select * from t2;
|
||||
#
|
||||
insert t3 select * from t1;
|
||||
select * from t3;
|
||||
#
|
||||
insert t1 select * from t3;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
select * from t3;
|
||||
check table t1, t2;
|
||||
drop table t1, t2, t3;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
Reference in New Issue
Block a user