mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	Remember UNION for ALTER TABLE Added test for if we are supporting transactions. Don't allow REPLACE to replace a row when we have generated an auto_increment key Fixed bug when using BLOB keys Fixed bug in SET @variable=user. Docs/manual.texi: Added some examples and moved the Error access denied section to the error section. client/mysqltest.c: Changed to use the new mysql_send_query() include/mysql.h: Changed mysql_reap_query() to mysql_send_query(). libmysql/libmysql.c: Changed mysql_reap_query() to mysql_send_query() Merged some functions and removed some unused functions. mysql-test/r/bdb.result: New test case mysql-test/r/distinct.result: New test case mysql-test/r/key.result: New test case mysql-test/r/merge.result: New test case mysql-test/r/replace.result: New test case mysql-test/t/bdb.test: New test case mysql-test/t/key.test: New test case mysql-test/t/merge.test: New test case mysql-test/t/replace.test: New test case mysys/my_lock.c: Moved global lock variable to static sql-bench/test-insert.sh: Added test case for index-read only sql/field.h: Fixed that one can optimize ORDER BY with ISAM and GEMINI sql/ha_berkeley.cc: Added type casts needed for Windows sql/ha_innobase.cc: Removed reference to manual from comment. sql/ha_myisammrg.cc: Remember UNION for ALTER TABLE sql/ha_myisammrg.h: Remember UNION for ALTER TABLE sql/handler.cc: Added test for if we are supporting transactions. Don't allow REPLACE to replace a row when we have generated an auto_increment key. sql/handler.h: Remember UNION for ALTER TABLE sql/key.cc: Fixed bug when using BLOB keys sql/mysql_priv.h: Added new variables sql/mysqld.cc: Added new variables sql/opt_range.cc: Fixed problem with BLOB keys sql/opt_sum.cc: Fix for BLOB keys sql/sql_class.cc: Added test if we need to init/clean transaction variables sql/sql_insert.cc: Fix for REPLACE and auto_increment keys sql/sql_parse.cc: Fixed bug in max_user_connections sql/sql_select.cc: Fixed problem with key on BLOB sql/sql_yacc.yy: Fixed bug in SET @variable=user. sql/table.cc: Fixed problem with keys on BLOB
		
			
				
	
	
		
			163 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # This failed for Elizabeth Mattijsen
 | |
| #
 | |
| 
 | |
| drop table if exists t1,t2,t3;
 | |
| 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;
 | |
| 
 | |
| #
 | |
| # problem med primary key
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (program enum('signup','unique','sliding') not null,  type enum('basic','sliding','signup'),  sites set('mt'),  PRIMARY KEY (program));
 | |
| # The following should give an error for wrong primary key
 | |
| !$1171 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\nsalut','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';
 | |
| drop table t1,t2;
 | |
| 
 | |
| #
 | |
| # 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'); 
 | |
| !$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)
 | |
| ) TYPE=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;
 |