Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/suite/merge/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 1 kB image not shown  

Quelle  merge_innodb.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[171] ABAP[110] Lisp[58]} [Methode: maximale Elemente, drei Dimensionen]

# t/merge_innodb.test
#
# Tests with MERGE tables over InnoDB tables
#

--source include/have_innodb.inc

--disable_warnings
DROP TABLE IF EXISTS t1, t2, t3, t4, t5;
--enable_warnings

#
# Bug#30491 - MERGE doesn't report error when one table is Innodb
#
CREATE TABLE t1 (c1 varchar(100)) ENGINE=MyISAM;
CREATE TABLE t2 (c1 varchar(100)) ENGINE=MyISAM;
CREATE TABLE t3 (c1 varchar(100)) ENGINE=InnoDB;
INSERT INTO t1 VALUES ('Ann'), ('Alice');
INSERT INTO t2 VALUES ('Bob'), ('Brian');
INSERT INTO t3 VALUES ('Chris'), ('Charlie');
CREATE TABLE t4 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t2)
  INSERT_METHOD=LAST;
CREATE TABLE t5 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t3)
  INSERT_METHOD=LAST;
--error ER_WRONG_MRG_TABLE
SELECT * FROM t5;
SELECT * FROM t4;
ALTER TABLE t2 ENGINE=InnoDB;
--error ER_WRONG_MRG_TABLE
SELECT * FROM t4;
DELETE FROM t2 LIMIT 1;
--error ER_WRONG_MRG_TABLE
SELECT * FROM t4;
--error ER_WRONG_MRG_TABLE
INSERT INTO t4 VALUES ('Beware');
--error ER_WRONG_MRG_TABLE
SELECT * FROM t4;
SELECT * FROM t2;
SELECT * FROM t1;
DROP TABLE t1, t2, t3, t4, t5;

#
# Bug#20691429 temporary merge over view under lock tables
#
create table t1 (c1 varchar(100));
create table t2 (c1 varchar(100));
create view t3 as select * from t1;
insert into t1 values ('ann'), ('alice');
insert into t2 values ('bob'), ('brian');
create temporary table t4 (c1 varchar(100)) engine=MERGE union=(t2, t1);
create temporary table t5 (c1 varchar(100)) engine=MERGE union=(t3, t1);
--error ER_WRONG_MRG_TABLE
select * from t5;
lock tables t1 read, t2 read, t3 read, t4 read;
--error ER_WRONG_MRG_TABLE
select * from t5;
select * from t4;
unlock tables;
drop table t2;
create view t2 as select * from t1;
--error ER_WRONG_MRG_TABLE
select * from t4;
lock tables t1 read, t2 read, t3 read;
--error ER_WRONG_MRG_TABLE
select * from t4;
--error ER_WRONG_MRG_TABLE
select * from t4;
--error ER_WRONG_MRG_TABLE
select * from t4;
unlock tables;
drop view t2, t3;
drop table t1;

[Dauer der Verarbeitung: 0.12 Sekunden, vorverarbeitet 2026-10-08]