mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Bug#26909: Specified key was too long; max key length is 255 bytes \
when creating table Federated tables had an artificially low maximum of key length, because the handler failed to implement a method to return it and the default value is taked from the prototype handler. Now, implement that method and return the maximum possible key length, which is that of InnoDB. mysql-test/r/federated.result: Verify that unique keys may be longer than 255 characters. mysql-test/t/federated.test: Verify that unique keys may be longer than 255 characters. sql/ha_federated.h: Implement the virtual method that tells the max size of parts to make a key. Backport the length defined in 5.1.
This commit is contained in:
parent
37344c68f5
commit
8b8b430bbc
3 changed files with 80 additions and 1 deletions
|
|
@ -1575,5 +1575,45 @@ drop table federated.t1;
|
|||
connection slave;
|
||||
drop table federated.t1;
|
||||
|
||||
#
|
||||
# Bug#26909: Specified key was too long; max key length is 255 bytes
|
||||
# when creating a table
|
||||
#
|
||||
connection slave;
|
||||
CREATE TABLE federated.t1 (
|
||||
categoryId int(11) NOT NULL AUTO_INCREMENT,
|
||||
domainId varchar(745) NOT NULL DEFAULT '',
|
||||
categoryName varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (categoryId),
|
||||
UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName),
|
||||
KEY idx_category_domainId (domainId)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
categoryId int(11) NOT NULL AUTO_INCREMENT,
|
||||
domainId varchar(745) NOT NULL DEFAULT '',
|
||||
categoryName varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (categoryId),
|
||||
UNIQUE KEY idx_unique_category_categoryName (domainId, categoryName),
|
||||
KEY idx_category_domainId (domainId)
|
||||
) ENGINE=FEDERATED DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
|
||||
|
||||
|
||||
insert into federated.t1 (domainId, categoryName) values ( '1231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231 300', '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 250');
|
||||
insert into federated.t1 (domainId, categoryName) values ( '12312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312312 301', '12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 250');
|
||||
insert into federated.t1 (domainId, categoryName) values ('a', 'b');
|
||||
|
||||
select categoryId from federated.t1 order by domainId, categoryName;
|
||||
select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId;
|
||||
select categoryId from federated.t1 where domainId='a' and categoryName='b' order by categoryId;
|
||||
select categoryId from federated.t1 where domainId<>'a' and categoryName<>'b' order by categoryId;
|
||||
|
||||
drop table federated.t1;
|
||||
|
||||
connection slave;
|
||||
drop table federated.t1;
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue