mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
Merge mysql.com:/home/svoj/devel/mysql/BUG28248/mysql-5.0-engines
into mysql.com:/home/svoj/devel/mysql/BUG28248/mysql-5.1-engines
This commit is contained in:
commit
54d097c433
4 changed files with 42 additions and 1 deletions
|
@ -964,6 +964,28 @@ 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
|
||||
create table t1 (c1 int, index(c1));
|
||||
create table t2 (c1 int, index(c1)) engine=merge union=(t1);
|
||||
|
|
|
@ -599,6 +599,19 @@ 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
|
||||
|
||||
|
|
|
@ -4355,7 +4355,7 @@ create_table_option:
|
|||
Lex->create_info.row_type= $3;
|
||||
Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
|
||||
}
|
||||
| UNION_SYM opt_equal '(' table_list ')'
|
||||
| UNION_SYM opt_equal '(' opt_table_list ')'
|
||||
{
|
||||
/* Move the union list to the merge_list */
|
||||
LEX *lex=Lex;
|
||||
|
|
|
@ -1102,6 +1102,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=("));
|
||||
|
||||
current_db= table->s->db.str;
|
||||
|
|
Loading…
Add table
Reference in a new issue