Below is the list of changes that have just been committed into a local
4.1 repository of bar. When bar does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2515 06/06/23 13:19:30 bar@stripped +3 -0
Bug#11228: DESC shows arbitrary column as "PRI"
An UNIQUE KEY consisting of NOT NULL columns
was displayed as PRIMARY KEY in "DESC t1".
According to the code, that was intentional
behaviour for some reasons unknown to me.
This code was written before bitkeeper time,
so I cannot check who and why made this.
After discussing on dev-public, a decision
was made to remove this code
sql/table.cc
1.134 06/06/23 13:19:24 bar@stripped +0 -21
Removing old wrong code
mysql-test/t/key.test
1.23 06/06/23 13:19:24 bar@stripped +11 -0
Adding test case.
mysql-test/r/key.result
1.26 06/06/23 13:19:24 bar@stripped +10 -0
Adding test case.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: bar
# Host: bar.intranet.mysql.r18.ru
# Root: /usr/home/bar/mysql-4.1.b11228v1
--- 1.133/sql/table.cc 2006-03-20 14:36:41 +04:00
+++ 1.134/sql/table.cc 2006-06-23 13:19:24 +05:00
@@ -567,27 +567,6 @@ int openfrm(const char *name, const char
if (outparam->key_info[key].flags & HA_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++)
{
if (new_field_pack_flag <= 1)
--- 1.25/mysql-test/r/key.result 2005-08-29 19:50:06 +05:00
+++ 1.26/mysql-test/r/key.result 2006-06-23 13:19:24 +05:00
@@ -326,6 +326,16 @@ alter table t1 add key (c1,c1,c2);
ERROR 42S21: Duplicate column name 'c1'
drop table t1;
create table t1 (
+i1 INT NOT NULL,
+i2 INT NOT NULL,
+UNIQUE i1idx (i1),
+UNIQUE i2idx (i2));
+desc t1;
+Field Type Null Key Default Extra
+i1 int(11) UNI 0
+i2 int(11) UNI 0
+drop table t1;
+create table t1 (
c1 int,
c2 varchar(20) not null,
primary key (c1),
--- 1.22/mysql-test/t/key.test 2005-08-29 19:50:06 +05:00
+++ 1.23/mysql-test/t/key.test 2006-06-23 13:19:24 +05:00
@@ -322,6 +322,17 @@ alter table t1 add key (c1,c1,c2);
drop table t1;
#
+# Bug#11228: DESC shows arbitrary column as "PRI"
+#
+create table t1 (
+ i1 INT NOT NULL,
+ i2 INT NOT NULL,
+ UNIQUE i1idx (i1),
+ UNIQUE i2idx (i2));
+desc t1;
+drop table t1;
+
+#
# Bug#12565 - ERROR 1034 when running simple UPDATE or DELETE
# on large MyISAM table
#
| Thread |
|---|
| • bk commit into 4.1 tree (bar:1.2515) BUG#11228 | bar | 23 Jun |