mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
2682a280c8
storage/innobase/handler/handler0alter.cc: for NEWDATE key_type says unsigned, thus col->prtype says unsigned, but field->flags says signed. Use the same flag for value retrieval that was used for value storage.
55 lines
1.6 KiB
Text
55 lines
1.6 KiB
Text
--source include/have_innodb.inc
|
|
# This is the test for bug 47622. There could be index
|
|
# metadata sequence mismatch between MySQL and Innodb
|
|
# after creating index through FIC interfaces.
|
|
# We resolve the problem by sync the index sequence
|
|
# up when opening the table.
|
|
|
|
|
|
connect (a,localhost,root,,);
|
|
connect (b,localhost,root,,);
|
|
|
|
# Create a table with a non-unique index
|
|
CREATE TABLE bug47622(
|
|
`rule_key` int(11) NOT NULL DEFAULT '0',
|
|
`seq` smallint(6) NOT NULL DEFAULT '0',
|
|
`action` smallint(6) NOT NULL DEFAULT '0',
|
|
`arg_id` smallint(6) DEFAULT NULL,
|
|
`else_ind` TINYINT NOT NULL,
|
|
KEY IDX_A (`arg_id`)
|
|
) ENGINE=InnoDB;
|
|
|
|
connection a;
|
|
|
|
# A subsequent creating unique index should not trigger
|
|
# any error message. Unique index would be ranked ahead
|
|
# of regular index.
|
|
ALTER TABLE bug47622 ADD UNIQUE IDX_B (rule_key,else_ind,seq,action,arg_id);
|
|
|
|
drop index IDX_B on bug47622;
|
|
|
|
# In another connection, create additional set of normal
|
|
# index and unique index. Again, unique index would be ranked
|
|
# ahead of regular index.
|
|
connection b;
|
|
create index idx on bug47622(seq, arg_id);
|
|
|
|
ALTER TABLE bug47622 ADD UNIQUE IDX_X (rule_key,else_ind,seq,action);
|
|
|
|
drop table bug47622;
|
|
|
|
# Create a table with one Primary key and a non-unique key
|
|
CREATE TABLE bug47622 (
|
|
`a` int(11) NOT NULL,
|
|
`b` int(11) DEFAULT NULL,
|
|
`c` char(10) DEFAULT NULL,
|
|
`d` varchar(20) DEFAULT NULL,
|
|
PRIMARY KEY (`a`),
|
|
KEY `b` (`b`)
|
|
) ENGINE=InnoDB;
|
|
|
|
# Add two index with one unique and one non-unique.
|
|
# Index sequence is "PRIMARY", "c", "b" and "d"
|
|
alter table bug47622 add unique index (c), add index (d);
|
|
|
|
drop table bug47622;
|