mirror of
https://github.com/MariaDB/server.git
synced 2025-05-05 16:59:35 +03:00
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.
44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
--source include/have_innodb.inc
|
|
# This test runs with old-style locking, as:
|
|
# --innodb-autoinc-lock-mode=0
|
|
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
|
|
#
|
|
# Search on unique key
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
id int(11) NOT NULL auto_increment,
|
|
ggid varchar(32) binary DEFAULT '' NOT NULL,
|
|
email varchar(64) DEFAULT '' NOT NULL,
|
|
passwd varchar(32) binary DEFAULT '' NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE ggid (ggid)
|
|
) ENGINE=innodb;
|
|
|
|
insert into t1 (ggid,passwd) values ('test1','xxx');
|
|
insert into t1 (ggid,passwd) values ('test2','yyy');
|
|
-- error ER_DUP_ENTRY
|
|
insert into t1 (ggid,passwd) values ('test2','this will fail');
|
|
-- error ER_DUP_ENTRY
|
|
insert into t1 (ggid,id) values ('this will fail',1);
|
|
|
|
select * from t1 where ggid='test1';
|
|
select * from t1 where passwd='xxx';
|
|
select * from t1 where id=2;
|
|
|
|
replace into t1 (ggid,id) values ('this will work',1);
|
|
replace into t1 (ggid,passwd) values ('test2','this will work');
|
|
-- error ER_DUP_ENTRY
|
|
update t1 set id=100,ggid='test2' where id=1;
|
|
select * from t1;
|
|
select * from t1 where id=1;
|
|
select * from t1 where id=999;
|
|
drop table t1;
|
|
|
|
--echo End of tests
|