Commit c3c1fd4d authored by svoj@june.mysql.com's avatar svoj@june.mysql.com
Browse files

Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines

into  mysql.com:/home/svoj/devel/mysql/BUG28248/mysql-5.0-engines
parents 243ca22b 1f0e9f5a
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -918,4 +918,26 @@ id ref
3	2
4	5
DROP TABLE t1, t2, t3;
CREATE TABLE t1(a INT);
CREATE TABLE m1(a INT) ENGINE=MERGE;
SHOW CREATE TABLE m1;
Table	Create Table
m1	CREATE TABLE `m1` (
  `a` int(11) default NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
DROP TABLE m1;
CREATE TABLE m1(a INT) ENGINE=MERGE UNION=();
SHOW CREATE TABLE m1;
Table	Create Table
m1	CREATE TABLE `m1` (
  `a` int(11) default NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
ALTER TABLE m1 UNION=(t1);
ALTER TABLE m1 UNION=();
SHOW CREATE TABLE m1;
Table	Create Table
m1	CREATE TABLE `m1` (
  `a` int(11) default NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, m1;
End of 5.0 tests
+13 −0
Original line number Diff line number Diff line
@@ -542,5 +542,18 @@ SELECT * FROM t3;

DROP TABLE t1, t2, t3;

#
# BUG#28248 - mysqldump results with MERGE ... UNION=() cannot be executed
#
CREATE TABLE t1(a INT);
CREATE TABLE m1(a INT) ENGINE=MERGE;
SHOW CREATE TABLE m1;
DROP TABLE m1;
CREATE TABLE m1(a INT) ENGINE=MERGE UNION=();
SHOW CREATE TABLE m1;
ALTER TABLE m1 UNION=(t1);
ALTER TABLE m1 UNION=();
SHOW CREATE TABLE m1;
DROP TABLE t1, m1;

--echo End of 5.0 tests
+6 −0
Original line number Diff line number Diff line
@@ -602,6 +602,12 @@ void ha_myisammrg::append_create_info(String *packet)
    packet->append(STRING_WITH_LEN(" INSERT_METHOD="));
    packet->append(get_type(&merge_insert_method,file->merge_insert_method-1));
  }
  /*
    There is no sence adding UNION clause in case there is no underlying
    tables specified.
  */
  if (file->open_tables == file->end_table)
    return;
  packet->append(STRING_WITH_LEN(" UNION=("));
  MYRG_TABLE *open_table,*first;

+1 −1
Original line number Diff line number Diff line
@@ -2932,7 +2932,7 @@ create_table_option:
	    my_error(ER_WARN_DEPRECATED_SYNTAX, MYF(0), "RAID_CHUNKSIZE", "PARTITION");
	    MYSQL_YYABORT;
	  }
	| UNION_SYM opt_equal '(' table_list ')'
	| UNION_SYM opt_equal '(' opt_table_list ')'
	  {
	    /* Move the union list to the merge_list */
	    LEX *lex=Lex;