Merge monty@192.168.0.9:/home/my/mysql-4.1
into mysql.com:/home/my/mysql-4.1
This commit is contained in:
commit
54d22b286f
@ -332,8 +332,16 @@ UNIQUE i1idx (i1),
|
|||||||
UNIQUE i2idx (i2));
|
UNIQUE i2idx (i2));
|
||||||
desc t1;
|
desc t1;
|
||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
i1 int(11) UNI 0
|
i1 int(11) PRI 0
|
||||||
i2 int(11) UNI 0
|
i2 int(11) UNI 0
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`i1` int(11) NOT NULL default '0',
|
||||||
|
`i2` int(11) NOT NULL default '0',
|
||||||
|
UNIQUE KEY `i1idx` (`i1`),
|
||||||
|
UNIQUE KEY `i2idx` (`i2`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (
|
create table t1 (
|
||||||
c1 int,
|
c1 int,
|
||||||
|
@ -330,6 +330,7 @@ create table t1 (
|
|||||||
UNIQUE i1idx (i1),
|
UNIQUE i1idx (i1),
|
||||||
UNIQUE i2idx (i2));
|
UNIQUE i2idx (i2));
|
||||||
desc t1;
|
desc t1;
|
||||||
|
show create table t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
|
21
sql/table.cc
21
sql/table.cc
@ -567,6 +567,27 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
|
|||||||
if (outparam->key_info[key].flags & HA_FULLTEXT)
|
if (outparam->key_info[key].flags & HA_FULLTEXT)
|
||||||
outparam->key_info[key].algorithm= HA_KEY_ALG_FULLTEXT;
|
outparam->key_info[key].algorithm= HA_KEY_ALG_FULLTEXT;
|
||||||
|
|
||||||
|
if (primary_key >= MAX_KEY && (keyinfo->flags & HA_NOSAME))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
If the UNIQUE key doesn't have NULL columns and is not a part key
|
||||||
|
declare this as a primary key.
|
||||||
|
*/
|
||||||
|
primary_key=key;
|
||||||
|
for (i=0 ; i < keyinfo->key_parts ;i++)
|
||||||
|
{
|
||||||
|
uint fieldnr= key_part[i].fieldnr;
|
||||||
|
if (!fieldnr ||
|
||||||
|
outparam->field[fieldnr-1]->null_ptr ||
|
||||||
|
outparam->field[fieldnr-1]->key_length() !=
|
||||||
|
key_part[i].length)
|
||||||
|
{
|
||||||
|
primary_key=MAX_KEY; // Can't be used
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (i=0 ; i < keyinfo->key_parts ; key_part++,i++)
|
for (i=0 ; i < keyinfo->key_parts ; key_part++,i++)
|
||||||
{
|
{
|
||||||
if (new_field_pack_flag <= 1)
|
if (new_field_pack_flag <= 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user