Commit 066eddd8 authored by unknown's avatar unknown

UNIQUE keys are not anymore shown as PRIMARY KEY


Docs/manual.texi:
  Changelog
mysql-test/r/show_check.result:
  Added test for SHOW CREATE
mysql-test/t/show_check.test:
  Added test for SHOW CREATE
sql/mysqld.cc:
  Fixed messages
parent b5f7e240
...@@ -46425,6 +46425,9 @@ not yet 100% confident in this code. ...@@ -46425,6 +46425,9 @@ not yet 100% confident in this code.
Added option @code{--warnings} to @code{mysqld}. Now @code{mysqld} Added option @code{--warnings} to @code{mysqld}. Now @code{mysqld}
only prints the error @code{Aborted connection} if this option is used. only prints the error @code{Aborted connection} if this option is used.
@item @item
Fixed problem with @code{SHOW CREATE TABLE} when you didn't have a
@code{PRIMARY KEY}.
@item
Fixed properly the rename of @code{innodb_unix_file_flush_method} to Fixed properly the rename of @code{innodb_unix_file_flush_method} to
@code{innodb_flush_method}. @code{innodb_flush_method}.
@item @item
...@@ -80,3 +80,13 @@ t1 CREATE TABLE `t1` ( ...@@ -80,3 +80,13 @@ t1 CREATE TABLE `t1` (
`test_set` set('val1','val2','val3') NOT NULL default '', `test_set` set('val1','val2','val3') NOT NULL default '',
`name` char(20) default 'O''Brien' `name` char(20) default 'O''Brien'
) TYPE=MyISAM COMMENT='it''s a table' ) TYPE=MyISAM COMMENT='it''s a table'
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0',
UNIQUE KEY `aa` (`a`)
) TYPE=MyISAM
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0',
PRIMARY KEY (`a`)
) TYPE=MyISAM
...@@ -65,3 +65,10 @@ create table t1 ( ...@@ -65,3 +65,10 @@ create table t1 (
) comment = 'it\'s a table' ; ) comment = 'it\'s a table' ;
show create table t1 ; show create table t1 ;
drop table t1; drop table t1;
create table t1 (a int not null, unique aa (a));
show create table t1;
drop table t1;
create table t1 (a int not null, primary key (a));
show create table t1;
drop table t1;
...@@ -1190,7 +1190,7 @@ Some pointers may be invalid and cause the dump to abort...\n"); ...@@ -1190,7 +1190,7 @@ Some pointers may be invalid and cause the dump to abort...\n");
fprintf(stderr, "\n fprintf(stderr, "\n
Successfully dumped variables, if you ran with --log, take a look at the\n\ Successfully dumped variables, if you ran with --log, take a look at the\n\
details of what thread %ld did to cause the crash. In some cases of really\n\ details of what thread %ld did to cause the crash. In some cases of really\n\
bad corruption, the above values may be invalid\n\n", bad corruption, the values shown above may be invalid\n\n",
thd->thread_id); thd->thread_id);
} }
fprintf(stderr, "\ fprintf(stderr, "\
...@@ -3011,6 +3011,8 @@ static void usage(void) ...@@ -3011,6 +3011,8 @@ static void usage(void)
Start without grant tables. This gives all users\n\ Start without grant tables. This gives all users\n\
FULL ACCESS to all tables!\n\ FULL ACCESS to all tables!\n\
--safe-mode Skip some optimize stages (for testing)\n\ --safe-mode Skip some optimize stages (for testing)\n\
--safe-show-database Don't show databases for which the user has no\n\
privileges\n\
--skip-concurrent-insert\n\ --skip-concurrent-insert\n\
Don't use concurrent insert with MyISAM\n\ Don't use concurrent insert with MyISAM\n\
--skip-delay-key-write\n\ --skip-delay-key-write\n\
......
...@@ -839,18 +839,22 @@ store_create_info(THD *thd, TABLE *table, String *packet) ...@@ -839,18 +839,22 @@ store_create_info(THD *thd, TABLE *table, String *packet)
for (uint i=0 ; i < table->keys ; i++,key_info++) for (uint i=0 ; i < table->keys ; i++,key_info++)
{ {
KEY_PART_INFO *key_part= key_info->key_part;
bool found_primary=0;
packet->append(",\n ", 4); packet->append(",\n ", 4);
KEY_PART_INFO *key_part= key_info->key_part; if (i == primary_key && !strcmp(key_info->name,"PRIMARY"))
if (i == primary_key) {
found_primary=1;
packet->append("PRIMARY ", 8); packet->append("PRIMARY ", 8);
}
else if (key_info->flags & HA_NOSAME) else if (key_info->flags & HA_NOSAME)
packet->append("UNIQUE ", 7); packet->append("UNIQUE ", 7);
else if (key_info->flags & HA_FULLTEXT) else if (key_info->flags & HA_FULLTEXT)
packet->append("FULLTEXT ", 9); packet->append("FULLTEXT ", 9);
packet->append("KEY ", 4); packet->append("KEY ", 4);
if (i != primary_key) if (!found_primary)
append_identifier(thd,packet,key_info->name); append_identifier(thd,packet,key_info->name);
packet->append(" (", 2); packet->append(" (", 2);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment