@@ -1812,6 +1812,59 @@ REPAIR TABLE m1;
1812
1812
#
1813
1813
DROP TABLE m1, t1;
1814
1814
1815
+
1816
+ --echo #
1817
+ --echo # BUG#11763712 - 56458: KILLING A FLUSH TABLE FOR A MERGE/CHILD
1818
+ --echo # CRASHES SERVER
1819
+ --echo #
1820
+ --echo # Disabled in 5.5 by Mattias. TODO: FIX THIS!
1821
+ if (0)
1822
+ {
1823
+ CREATE TABLE t1(a INT);
1824
+ CREATE TABLE t2(a INT);
1825
+ CREATE TABLE t3(a INT, b INT);
1826
+ CREATE TABLE m1(a INT) ENGINE=MERGE UNION=(t1, t2);
1827
+
1828
+ --echo # Test reopen merge parent failure
1829
+ LOCK TABLES m1 READ;
1830
+ --echo # Remove 'm1' table using file operations.
1831
+ remove_file $MYSQLD_DATADIR/test/m1.MRG;
1832
+ remove_file $MYSQLD_DATADIR/test/m1.frm;
1833
+ --error ER_NO_SUCH_TABLE
1834
+ FLUSH TABLES;
1835
+ UNLOCK TABLES;
1836
+ CREATE TABLE m1(a INT) ENGINE=MERGE UNION=(t1, t2);
1837
+
1838
+ --echo # Test reopen merge child failure
1839
+ LOCK TABLES m1 READ;
1840
+ --echo # Remove 't1' table using file operations.
1841
+ remove_file $MYSQLD_DATADIR/test/t1.frm;
1842
+ remove_file $MYSQLD_DATADIR/test/t1.MYI;
1843
+ remove_file $MYSQLD_DATADIR/test/t1.MYD;
1844
+ --error ER_NO_SUCH_TABLE
1845
+ FLUSH TABLES;
1846
+ UNLOCK TABLES;
1847
+ CREATE TABLE t1(a INT);
1848
+
1849
+ --echo # Test reattach merge failure
1850
+ LOCK TABLES m1 READ;
1851
+ --echo # Replace 't1' with 't3' table using file operations.
1852
+ # move + remove is a work around for windows.
1853
+ move_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/oldt1.frm;
1854
+ move_file $MYSQLD_DATADIR/test/t1.MYI $MYSQLD_DATADIR/test/oldt1.MYI;
1855
+ move_file $MYSQLD_DATADIR/test/t1.MYD $MYSQLD_DATADIR/test/oldt1.MYD;
1856
+ remove_file $MYSQLD_DATADIR/test/oldt1.frm;
1857
+ remove_file $MYSQLD_DATADIR/test/oldt1.MYI;
1858
+ remove_file $MYSQLD_DATADIR/test/oldt1.MYD;
1859
+ copy_file $MYSQLD_DATADIR/test/t3.frm $MYSQLD_DATADIR/test/t1.frm;
1860
+ copy_file $MYSQLD_DATADIR/test/t3.MYI $MYSQLD_DATADIR/test/t1.MYI;
1861
+ copy_file $MYSQLD_DATADIR/test/t3.MYD $MYSQLD_DATADIR/test/t1.MYD;
1862
+ --error ER_CANT_REOPEN_TABLE
1863
+ FLUSH TABLES;
1864
+ UNLOCK TABLES;
1865
+ DROP TABLE t1, t2, t3, m1;
1866
+ }
1867
+
1815
1868
--echo End of 5.1 tests
1816
1869
1817
1870
--echo #
0 commit comments