mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 05:56:07 +03:00 
			
		
		
		
	into mysql.com:/home/my/mysql-5.0 BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-ctype_cp932.test: Auto merged BitKeeper/deleted/.del-isam.test~834fb0ee8196c445: Auto merged include/thr_lock.h: Auto merged mysql-test/t/alias.test: Auto merged mysql-test/t/alter_table.test: Auto merged mysql-test/t/archive.test: Auto merged mysql-test/t/backup.test: Auto merged mysql-test/t/bool.test: Auto merged mysql-test/t/connect.test: Auto merged mysql-test/t/count_distinct2.test: Auto merged mysql-test/t/create.test: Auto merged mysql-test/t/ctype_many.test: Auto merged mysql-test/t/ctype_ucs_binlog.test: Auto merged mysql-test/t/date_formats.test: Auto merged mysql-test/t/delayed.test: Auto merged mysql-test/t/derived.test: Auto merged mysql-test/t/distinct.test: Auto merged mysql-test/t/drop.test: Auto merged mysql-test/t/endspace.test: Auto merged mysql-test/t/flush.test: Auto merged mysql-test/t/fulltext.test: Auto merged mysql-test/t/fulltext_order_by.test: Auto merged mysql-test/t/func_compress.test: Auto merged mysql-test/t/func_concat.test: Auto merged mysql-test/t/func_date_add.test: Auto merged mysql-test/t/func_equal.test: Auto merged mysql-test/t/func_if.test: Auto merged mysql-test/t/func_sapdb.test: Auto merged mysql-test/t/func_set.test: Auto merged mysql-test/t/func_str.test: Auto merged mysql-test/t/gis-rtree.test: Auto merged mysql-test/t/gis.test: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/grant2.test: Auto merged mysql-test/t/grant_cache.test: Auto merged mysql-test/t/heap.test: Auto merged mysql-test/t/heap_btree.test: Auto merged mysql-test/t/heap_hash.test: Auto merged mysql-test/t/init_connect.test: Auto merged mysql-test/t/insert_select.test: Auto merged mysql-test/t/insert_update.test: Auto merged mysql-test/t/key.test: Auto merged mysql-test/t/keywords.test: Auto merged mysql-test/t/limit.test: Auto merged mysql-test/t/lock.test: Auto merged mysql-test/t/lowercase_table.test: Auto merged mysql-test/t/lowercase_table3.test: Auto merged mysql-test/t/merge.test: Auto merged mysql-test/t/mix_innodb_myisam_binlog.test: Auto merged mysql-test/t/myisam.test: Auto merged mysql-test/t/mysqlbinlog2.test: Auto merged mysql-test/t/ndb_alter_table.test: Auto merged mysql-test/t/ndb_autodiscover.test: Auto merged mysql-test/t/ndb_charset.test: Auto merged mysql-test/t/ndb_grant.later: Auto merged mysql-test/t/ndb_index_ordered.test: Auto merged mysql-test/t/ndb_index_unique.test: Auto merged mysql-test/t/ndb_restore.test: Auto merged mysql-test/t/ndb_types.test: Auto merged mysql-test/t/ndb_update.test: Auto merged mysql-test/t/null.test: Auto merged mysql-test/t/null_key.test: Auto merged mysql-test/t/olap.test: Auto merged mysql-test/t/openssl_1.test: Auto merged mysql-test/t/order_by.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/ps_1general.test: Auto merged mysql-test/t/ps_4heap.test: Auto merged mysql-test/t/ps_5merge.test: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/replace.test: Auto merged mysql-test/t/row.test: Auto merged mysql-test/t/rpl000001.test: Auto merged mysql-test/t/rpl000015.test: Auto merged mysql-test/t/rpl000017.test: Auto merged mysql-test/t/rpl000018.test: Auto merged mysql-test/t/rpl_EE_error.test: Auto merged mysql-test/t/rpl_change_master.test: Auto merged mysql-test/t/rpl_charset.test: Auto merged mysql-test/t/rpl_create_database.test: Auto merged mysql-test/t/rpl_ddl.test: Auto merged mysql-test/t/rpl_deadlock.test: Auto merged mysql-test/t/rpl_empty_master_crash.test: Auto merged mysql-test/t/rpl_error_ignored_table.test: Auto merged mysql-test/t/rpl_flush_log_loop.test: Auto merged mysql-test/t/rpl_flush_tables.test: Auto merged mysql-test/t/rpl_get_lock.test: Auto merged mysql-test/t/rpl_heap.test: Auto merged mysql-test/t/rpl_loaddata.test: Auto merged mysql-test/t/rpl_loaddata_rule_m.test: Auto merged mysql-test/t/rpl_log.test: Auto merged mysql-test/t/rpl_log_pos.test: Auto merged mysql-test/t/rpl_max_relay_size.test: Auto merged mysql-test/t/rpl_multi_query.test: Auto merged mysql-test/t/rpl_openssl.test: Auto merged mysql-test/t/rpl_redirect.test: Auto merged mysql-test/t/rpl_relayrotate.test: Auto merged mysql-test/t/rpl_replicate_do.test: Auto merged mysql-test/t/rpl_reset_slave.test: Auto merged mysql-test/t/rpl_server_id2.test: Auto merged mysql-test/t/rpl_temporary.test: Auto merged mysql-test/t/rpl_timezone.test: Auto merged mysql-test/t/rpl_user_variables.test: Auto merged mysql-test/t/show_check.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/symlink.test: Auto merged mysql-test/t/synchronization.test: Auto merged mysql-test/t/system_mysql_db.test: Auto merged mysql-test/t/system_mysql_db_fix.test: Auto merged mysql-test/t/temp_table.test: Auto merged mysql-test/t/timezone2.test: Auto merged mysql-test/t/timezone_grant.test: Auto merged mysql-test/t/type_float.test: Auto merged mysql-test/t/type_ranges.test: Auto merged mysql-test/t/type_timestamp.test: Auto merged mysql-test/t/union.test: Auto merged mysql-test/t/update.test: Auto merged mysql-test/t/user_var-binlog.test: Auto merged mysql-test/t/warnings.test: Auto merged mysys/thr_lock.c: Auto merged sql/slave.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_select.cc: Auto merged support-files/mysql.spec.sh: Auto merged BitKeeper/deleted/.del-rpl_trunc_binlog.test~961b1f6ac73d37c8: Simple merge mysql-test/r/ps_grant.result: Simple merge mysql-test/t/analyse.test: Simple merge mysql-test/t/auto_increment.test: Simple merge mysql-test/t/bdb.test: Simple merge mysql-test/t/bigint.test: Simple merge mysql-test/t/case.test: Simple merge mysql-test/t/cast.test: Simple merge mysql-test/t/check.test: Simple merge mysql-test/t/count_distinct.test: Simple merge mysql-test/t/ctype_latin1_de.test: Simple merge mysql-test/t/ctype_uca.test: Simple merge mysql-test/t/ctype_ucs.test: Simple merge mysql-test/t/ctype_utf8.test: Simple merge mysql-test/t/delete.test: Simple merge mysql-test/t/flush_block_commit.test: Simple merge mysql-test/t/func_default.test: Simple merge mysql-test/t/func_gconcat.test: Simple merge mysql-test/t/func_group.test: Aligned code with 4.1 mysql-test/t/func_in.test: Simple merge mysql-test/t/func_math.test: Simple merge mysql-test/t/func_misc.test: Simple merge mysql-test/t/func_test.test: Simple merge mysql-test/t/func_time.test: Simple merge mysql-test/t/group_by.test: Simple merge mysql-test/t/having.test: Simple merge mysql-test/t/innodb.test: Simple merge mysql-test/t/insert.test: Simple merge mysql-test/t/join_outer.test: Simple merge mysql-test/t/kill.test: Simple merge mysql-test/t/loaddata.test: Simple merge mysql-test/t/lock_multi.test: Simple merge mysql-test/t/multi_update.test: Simple merge mysql-test/t/mysqlbinlog.test: Simple merge mysql-test/t/mysqldump.test: Aligned code with 4.1 mysql-test/t/mysqltest.test: Simple merge mysql-test/t/ndb_basic.test: Simple merge mysql-test/t/ndb_cache.test: Simple merge mysql-test/t/ndb_subquery.test: Simple merge mysql-test/t/ps_grant.test: Simple merge mysql-test/t/range.test: Simple merge mysql-test/t/rpl_drop_temp.test: Simple merge mysql-test/t/rpl_loaddata_rule_s.test: Simple merge mysql-test/t/rpl_loaddatalocal.test: Simple merge mysql-test/t/rpl_rotate_logs.test: Simple merge mysql-test/t/rpl_until.test: Simple merge mysql-test/t/rpl_variables.test: Simple merge mysql-test/t/select.test: Simple merge mysql-test/t/sql_mode.test: Simple merge mysql-test/t/type_blob.test: Simple merge mysql-test/t/type_decimal.test: Simple merge mysql-test/t/user_var.test: Simple merge mysql-test/t/variables.test: Simple merge sql/lock.cc: Simple optimization sql/mysql_priv.h: Simple merge sql/sql_table.cc: Simple merge sql/table.cc: Simple merge sql/unireg.cc: Simple merge
		
			
				
	
	
		
			358 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			358 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --disable_warnings
 | |
| drop table if exists t1,t2,t3;
 | |
| --enable_warnings
 | |
| SET SQL_WARNINGS=1;
 | |
| 
 | |
| #
 | |
| # This failed for Elizabeth Mattijsen
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   ID CHAR(32) NOT NULL,
 | |
|   name CHAR(32) NOT NULL,
 | |
|   value CHAR(255),
 | |
|   INDEX indexIDname (ID(8),name(8))
 | |
| ) ;
 | |
| 
 | |
| INSERT INTO t1 VALUES
 | |
| ('keyword','indexdir','/export/home/local/www/database/indexes/keyword');
 | |
| INSERT INTO t1 VALUES ('keyword','urlprefix','text/ /text');
 | |
| INSERT INTO t1 VALUES ('keyword','urlmap','/text/ /');
 | |
| INSERT INTO t1 VALUES ('keyword','attr','personal employee company');
 | |
| INSERT INTO t1 VALUES
 | |
| ('emailgids','indexdir','/export/home/local/www/database/indexes/emailgids');
 | |
| INSERT INTO t1 VALUES ('emailgids','urlprefix','text/ /text');
 | |
| INSERT INTO t1 VALUES ('emailgids','urlmap','/text/ /');
 | |
| INSERT INTO t1 VALUES ('emailgids','attr','personal employee company');
 | |
| 
 | |
| SELECT value FROM t1 WHERE ID='emailgids' AND name='attr';
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Problem with many key parts and many or
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   price int(5) DEFAULT '0' NOT NULL,
 | |
|   area varchar(40) DEFAULT '' NOT NULL,
 | |
|   type varchar(40) DEFAULT '' NOT NULL,
 | |
|   transityes enum('Y','N') DEFAULT 'Y' NOT NULL,
 | |
|   shopsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
 | |
|   schoolsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
 | |
|   petsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
 | |
|   KEY price (price,area,type,transityes,shopsyes,schoolsyes,petsyes)
 | |
| );
 | |
| 
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','','','','');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
 | |
| INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
 | |
| 
 | |
|  SELECT * FROM t1 WHERE area='Vancouver' and transityes='y' and schoolsyes='y' and ( ((type='1 Bedroom' or type='Studio/Bach') and (price<=500)) or ((type='2 Bedroom') and (price<=550)) or ((type='Shared/Roomate') and (price<=300)) or ((type='Room and Board') and (price<=500)) ) and price <= 400;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # No longer a problem with primary key
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (program enum('signup','unique','sliding') not null,  type enum('basic','sliding','signup'),  sites set('mt'),  PRIMARY KEY (program));
 | |
| # This no longer give an error for wrong primary key
 | |
| ALTER TABLE t1 modify program enum('signup','unique','sliding');
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test of compressed decimal index.
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   name varchar(50) DEFAULT '' NOT NULL,
 | |
|   author varchar(50) DEFAULT '' NOT NULL,
 | |
|   category decimal(10,0) DEFAULT '0' NOT NULL,
 | |
|   email varchar(50),
 | |
|   password varchar(50),
 | |
|   proxy varchar(50),
 | |
|   bitmap varchar(20),
 | |
|   msg varchar(255),
 | |
|   urlscol varchar(127),
 | |
|   urlhttp varchar(127),
 | |
|   timeout decimal(10,0),
 | |
|   nbcnx decimal(10,0),
 | |
|   creation decimal(10,0),
 | |
|   livinguntil decimal(10,0),
 | |
|   lang decimal(10,0),
 | |
|   type decimal(10,0),
 | |
|   subcat decimal(10,0),
 | |
|   subtype decimal(10,0),
 | |
|   reg char(1),
 | |
|   scs varchar(255),
 | |
|   capacity decimal(10,0),
 | |
|   userISP varchar(50),
 | |
|   CCident varchar(50) DEFAULT '' NOT NULL,
 | |
|   PRIMARY KEY (name,author,category)
 | |
| );
 | |
| INSERT INTO t1 VALUES
 | |
| ('patnom','patauteur',0,'p.favre@cryo-networks.fr',NULL,NULL,'#p2sndnq6ae5g1u6t','essai salut','scol://195.242.78.119:patauteur.patnom',NULL,NULL,NULL,950036174,-882087474,NULL,3,0,3,'1','Pub/patnom/futur_divers.scs',NULL,'pat','CC1');
 | |
| INSERT INTO t1 VALUES
 | |
| ('LeNomDeMonSite','Marc',0,'m.barilley@cryo-networks.fr',NULL,NULL,NULL,NULL,'scol://195.242.78.119:Marc.LeNomDeMonSite',NULL,NULL,NULL,950560434,-881563214,NULL,3,0,3,'1','Pub/LeNomDeMonSite/domus_hibere.scs',NULL,'Marq','CC1');
 | |
| select * from t1 where name='patnom' and author='patauteur' and category=0;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Problem with search on partial index
 | |
| #
 | |
| 
 | |
| create table t1
 | |
| (
 | |
|   name_id int not null auto_increment,
 | |
|   name blob,
 | |
|   INDEX name_idx (name(5)),
 | |
|   primary key (name_id)
 | |
| );
 | |
| 
 | |
| INSERT t1 VALUES(NULL,'/');
 | |
| INSERT t1 VALUES(NULL,'[T,U]_axpby');         
 | |
| SELECT * FROM t1 WHERE name='[T,U]_axpy';
 | |
| SELECT * FROM t1 WHERE name='[T,U]_axpby';
 | |
| create table t2
 | |
| (
 | |
|   name_id int not null auto_increment,
 | |
|   name char(255) binary,
 | |
|   INDEX name_idx (name(5)),
 | |
|   primary key (name_id)
 | |
| );
 | |
| INSERT t2 select * from t1;
 | |
| SELECT * FROM t2 WHERE name='[T,U]_axpy';
 | |
| SELECT * FROM t2 WHERE name='[T,U]_axpby';
 | |
| # Test possible problems with warnings in CREATE ... SELECT
 | |
| CREATE TABLE t3 SELECT * FROM t2 WHERE name='[T,U]_axpby';
 | |
| SELECT * FROM t2 WHERE name='[T,U]_axpby';
 | |
| 
 | |
| drop table t1,t2,t3;
 | |
| 
 | |
| #
 | |
| # Test bug with long primary key
 | |
| #
 | |
| 
 | |
| create table t1
 | |
| (
 | |
|    SEQNO                         numeric(12 ) not null,
 | |
|    MOTYPEID                 numeric(12 ) not null,
 | |
|    MOINSTANCEID     numeric(12 ) not null,
 | |
|    ATTRID                       numeric(12 ) not null,
 | |
|    VALUE                         varchar(120) not null,
 | |
|    primary key (SEQNO, MOTYPEID, MOINSTANCEID, ATTRID, VALUE )
 | |
| );
 | |
| INSERT INTO t1 VALUES (1, 1, 1, 1, 'a'); 
 | |
| INSERT INTO t1 VALUES (1, 1, 1, 1, 'b'); 
 | |
| --error 1062
 | |
| INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test with blob + tinyint key
 | |
| # (Failed for Greg Valure)
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a tinytext NOT NULL,
 | |
|   b tinyint(3) unsigned NOT NULL default '0',
 | |
|   PRIMARY KEY (a(32),b)
 | |
| ) ENGINE=MyISAM;
 | |
| INSERT INTO t1 VALUES ('a',1),('a',2);
 | |
| SELECT * FROM t1 WHERE a='a' AND b=2;
 | |
| SELECT * FROM t1 WHERE a='a' AND b in (2);
 | |
| SELECT * FROM t1 WHERE a='a' AND b in (1,2);
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test of create key order
 | |
| #
 | |
| 
 | |
| create table t1 (a int not null unique, b int unique, c int, d int not null primary key, key(c), e int not null unique);
 | |
| show keys from t1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Problem with UNIQUE() with NULL parts and auto increment
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (c CHAR(10) NOT NULL,i INT NOT NULL AUTO_INCREMENT,
 | |
| UNIQUE (c,i));
 | |
| INSERT INTO t1 (c) VALUES (NULL),(NULL);
 | |
| SELECT * FROM t1;
 | |
| INSERT INTO t1 (c) VALUES ('a'),('a');
 | |
| SELECT * FROM t1;
 | |
| DROP TABLE IF EXISTS t1;
 | |
| CREATE TABLE t1 (c CHAR(10) NULL, i INT NOT NULL AUTO_INCREMENT,
 | |
| UNIQUE (c,i));
 | |
| INSERT INTO t1 (c) VALUES (NULL),(NULL);
 | |
| SELECT * FROM t1;
 | |
| INSERT INTO t1 (c) VALUES ('a'),('a');
 | |
| SELECT * FROM t1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # longer keys
 | |
| #
 | |
| create table t1 (i int, a char(200), b text, unique (a), unique (b(300))) charset utf8;
 | |
| insert t1 values (1, repeat('a',210), repeat('b', 310));
 | |
| insert t1 values (2, repeat(0xD0B1,215), repeat(0xD0B1, 310));
 | |
| select i, length(a), length(b), char_length(a), char_length(b) from t1;
 | |
| select i from t1 where a=repeat(_utf8 'a',200);
 | |
| select i from t1 where a=repeat(_utf8 0xD0B1,200);
 | |
| select i from t1 where b=repeat(_utf8 'b',310);
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test of key read with primary key (Bug #3497)
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (id int unsigned auto_increment, name char(50), primary key (id)) engine=myisam;
 | |
| insert into t1 (name) values ('a'), ('b'),('c'),('d'),('e'),('f'),('g');
 | |
| explain select 1 from t1 where id =2;
 | |
| explain select 1 from t1 where id =2 or id=3;
 | |
| explain select name from t1 where id =2;
 | |
| ALTER TABLE t1 DROP PRIMARY KEY, ADD INDEX (id);
 | |
| explain select 1 from t1 where id =2;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test of problem with key read (Bug #3666)
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (numeropost mediumint(8) unsigned NOT NULL default '0', numreponse int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (numeropost,numreponse), UNIQUE KEY numreponse (numreponse));
 | |
| INSERT INTO t1 (numeropost,numreponse) VALUES ('1','1'),('1','2'),('2','3'),('2','4');
 | |
| SELECT numeropost FROM t1 WHERE numreponse='1';
 | |
| EXPLAIN SELECT numeropost FROM t1 WHERE numreponse='1';
 | |
| FLUSH TABLES;
 | |
| SELECT numeropost FROM t1 WHERE numreponse='1';
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # UNIQUE prefix keys and multi-byte charsets
 | |
| #
 | |
| 
 | |
| create table t1 (c varchar(30) character set utf8, t text character set utf8, unique (c(2)), unique (t(3))) engine=myisam;
 | |
| show create table t1;
 | |
| insert t1 values ('cccc', 'tttt'),
 | |
|   (0xD0B1212223D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1212223D0B1D0B1D0B1D0B1),
 | |
|   (0xD0B1222123D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1222123D0B1D0B1D0B1D0B1);
 | |
| --error 1062
 | |
| insert t1 (c) values ('cc22');
 | |
| --error 1062
 | |
| insert t1 (t) values ('ttt22');
 | |
| --error 1062
 | |
| insert t1 (c) values (0xD0B1212322D0B1D0B1D0B1D0B1D0B1);
 | |
| --error 1062
 | |
| insert t1 (t) values (0xD0B1D0B1212322D0B1D0B1D0B1D0B1);
 | |
| select c from t1 where c='cccc';
 | |
| select t from t1 where t='tttt';
 | |
| select c from t1 where c=0xD0B1212223D0B1D0B1D0B1D0B1D0B1;
 | |
| select t from t1 where t=0xD0B1D0B1212223D0B1D0B1D0B1D0B1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # BUG#6151 - myisam index corruption
 | |
| #
 | |
| DROP TABLE IF EXISTS t1;
 | |
| CREATE TABLE t1 (
 | |
|   c1 int,
 | |
|   c2 varbinary(240),
 | |
|   UNIQUE KEY (c1),
 | |
|   KEY (c2)
 | |
| ) ENGINE=MyISAM;
 | |
| INSERT INTO t1 VALUES (1,'\Z\Z\Z\Z');
 | |
| INSERT INTO t1 VALUES (2,'\Z\Z\Z\Z\Z\Z');
 | |
| INSERT INTO t1 VALUES (3,'\Z\Z\Z\Z');
 | |
| select c1 from t1 where c2='\Z\Z\Z\Z';
 | |
| DELETE FROM t1 WHERE (c1 = 1);
 | |
| check table t1;
 | |
| select c1 from t1 where c2='\Z\Z\Z\Z';
 | |
| DELETE FROM t1 WHERE (c1 = 3);
 | |
| check table t1;
 | |
| select c1 from t1 where c2='\Z\Z\Z\Z';
 | |
| 
 | |
| #
 | |
| # test delete of keys in a different order
 | |
| #
 | |
| truncate table t1;
 | |
| insert into t1 values(1,"aaaa"),(2,"aaab"),(3,"aaac"),(4,"aaccc");
 | |
| delete from t1 where c1=3;
 | |
| delete from t1 where c1=1;
 | |
| delete from t1 where c1=4;
 | |
| check table t1;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Bug 6166: index prefix length of 0 not rejected
 | |
| #
 | |
| # this test should fail in 5.0
 | |
| # to fix it, remove #ifdef in 
 | |
| # file sql_yacc.yy(key_part)
 | |
| # create dedicated error code for this and
 | |
| # and change my_printf_error() to my_error
 | |
| 
 | |
| --error 1391
 | |
| create table t1 (c char(10), index (c(0)));
 | |
| 
 | |
| #
 | |
| # Bug #6126: Duplicate columns in keys should fail
 | |
| # Bug #6252: (dup)
 | |
| #
 | |
| --error 1060
 | |
| create table t1 (c char(10), index (c,c));
 | |
| --error 1060
 | |
| create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1));
 | |
| --error 1060
 | |
| create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2));
 | |
| --error 1060
 | |
| create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1));
 | |
| create table t1 (c1 char(10), c2 char(10));
 | |
| --error 1060
 | |
| alter table t1 add key (c1,c1);
 | |
| --error 1060
 | |
| alter table t1 add key (c2,c1,c1);
 | |
| --error 1060
 | |
| alter table t1 add key (c1,c2,c1);
 | |
| --error 1060
 | |
| alter table t1 add key (c1,c1,c2);
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # If we use a partial field for a key that is actually the length of the
 | |
| # field, and we extend the field, we end up with a key that includes the
 | |
| # whole new length of the field.
 | |
| #
 | |
| create table t1 (a varchar(10), b varchar(10), key(a(10),b(10)));
 | |
| show create table t1;
 | |
| alter table t1 modify b varchar(20);
 | |
| show create table t1;
 | |
| alter table t1 modify a varchar(20);
 | |
| show create table t1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Bug #11227: Incorrectly reporting 'MUL' vs. 'UNI' on varchar
 | |
| #
 | |
| create table t1 (a int not null primary key, b varchar(20) not null unique);
 | |
| desc t1;
 | |
| drop table t1;
 | |
| create table t1 (a int not null primary key, b int not null unique);
 | |
| desc t1;
 | |
| drop table t1;
 | |
| create table t1 (a int not null primary key, b varchar(20) not null, unique (b(10)));
 | |
| desc t1;
 | |
| drop table t1;
 | |
| create table t1 (a int not null primary key, b varchar(20) not null, c varchar(20) not null, unique(b(10),c(10)));
 | |
| desc t1;
 | |
| drop table t1;
 | |
| 
 | |
| # End of 4.1 tests
 |