mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +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.
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --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;
 |