mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
f4fee3d90e
Fixes for building MySQL with gcc 3.0 Added SIGNED / UNSIGNED casts Fixed core dump bug in net_clear() with libmysqld. Back to using semaphores in query cache. Added 'Null' and 'Index_type' to SHOW INDEX. BUILD/FINISH.sh: Fixes for gcc 3.0 BUILD/SETUP.sh: Fixes for gcc 3.0 Docs/manual.texi: Changelog + SIGNED/UNSIGNED casts. Makefile.am: include BUILD scripts in source distribution. client/Makefile.am: Fixes for gcc 3.0 client/mysql.cc: Cleanup client/mysqldump.c: Changed 'K' to mean 'disable-keys' instead of 'no-disabled-keys' client/readline.cc: Cleanup configure.in: Include BUILD in source distrbution extra/my_print_defaults.c: Cleanup include/my_global.h: Fix for HPUX and setrlimit. Portability fix. Added macros for nice TIMESPEC usage. innobase/include/dyn0dyn.h: Fix for AIX libmysql/Makefile.shared: Added strxmov to libmysqld libmysqld/examples/Makefile.am: Fixes for gcc 3.0 libmysqld/lib_vio.c: Cleanup myisam/ft_dump.c: Portability fixes myisam/ftdefs.h: Portability fixes mysql-test/r/bdb.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/bigint.result: New test for SIGNED/UNSIGNED mysql-test/r/fulltext.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/heap.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/innodb.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/isam.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/key.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/myisam.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/query_cache.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/select.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/show_check.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/r/type_ranges.result: Cleanup results after adding 2 columns to SHOW KEYS mysql-test/t/bigint.test: New test for SIGNED/UNSIGNED mysql-test/t/key.test: New test for SIGNED/UNSIGNED mysql-test/t/query_cache.test: Test for FOUND_ROWS() sql-bench/crash-me.sh: Safety fixes sql/derror.cc: Cleanup sql/ha_berkeley.h: New test for SIGNED/UNSIGNED sql/ha_heap.h: New test for SIGNED/UNSIGNED sql/ha_innobase.cc: New test for SIGNED/UNSIGNED sql/ha_innobase.h: New test for SIGNED/UNSIGNED sql/ha_isam.h: New test for SIGNED/UNSIGNED sql/ha_myisam.cc: New test for SIGNED/UNSIGNED sql/ha_myisam.h: New test for SIGNED/UNSIGNED sql/handler.h: New test for SIGNED/UNSIGNED sql/item_func.cc: Cleanup TIMESPEC usage sql/item_func.h: Added SIGNED / UNSIGNED casts sql/lex.h: Added SIGNED / UNSIGNED casts sql/mysqld.cc: Cleanup TIMESPEC usage sql/net_pkg.cc: Cleanup sql/net_serv.cc: Fixed core dump bug in net_clear() sql/slave.cc: Cleanup sql/sql_cache.cc: Back to using semaphores sql/sql_cache.h: Back to using semaphores sql/sql_insert.cc: Cleanup TIMESPEC usage sql/sql_manager.cc: Cleanup TIMESPEC usage sql/sql_parse.cc: Cleanup sql/sql_repl.cc: Cleanup TIMESPEC usage sql/sql_show.cc: Added 'Null' and 'Index_type' to SHOW INDEX. sql/sql_table.cc: Sort keys in table in a more logical order. sql/sql_yacc.yy: Support for SIGNED/UNSIGNED casts.
170 lines
5.4 KiB
Text
170 lines
5.4 KiB
Text
#
|
|
# 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;
|
|
|
|
#
|
|
# 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;
|