Commit 243e9f32 authored by unknown's avatar unknown

Merge grichter@bk-internal.mysql.com:/home/bk/mysql-5.0

into lmy002.wdf.sap.corp:/home/georg/work/mysql/prod/mysql-5.0


sql/sql_prepare.cc:
  Auto merged
parents b340b7b7 68cd99bd
...@@ -357,6 +357,7 @@ innobase/conftest.s1 ...@@ -357,6 +357,7 @@ innobase/conftest.s1
innobase/conftest.subs innobase/conftest.subs
innobase/ib_config.h innobase/ib_config.h
innobase/ib_config.h.in innobase/ib_config.h.in
innobase/mkinstalldirs
innobase/stamp-h1 innobase/stamp-h1
insert_test insert_test
install install
...@@ -537,6 +538,7 @@ mit-pthreads/machdep.c ...@@ -537,6 +538,7 @@ mit-pthreads/machdep.c
mit-pthreads/pg++ mit-pthreads/pg++
mit-pthreads/pgcc mit-pthreads/pgcc
mit-pthreads/syscall.S mit-pthreads/syscall.S
mkinstalldirs
myisam/FT1.MYD myisam/FT1.MYD
myisam/FT1.MYI myisam/FT1.MYI
myisam/ft_dump myisam/ft_dump
...@@ -639,6 +641,7 @@ mysql-test/r/slave-stopped.eval ...@@ -639,6 +641,7 @@ mysql-test/r/slave-stopped.eval
mysql-test/share/mysql mysql-test/share/mysql
mysql-test/std_data/*.pem mysql-test/std_data/*.pem
mysql-test/t/index_merge.load mysql-test/t/index_merge.load
mysql-test/var
mysql-test/var/* mysql-test/var/*
mysql.kdevprj mysql.kdevprj
mysql.proj mysql.proj
...@@ -793,6 +796,7 @@ ndb/src/common/portlib/libportlib.dsp ...@@ -793,6 +796,7 @@ ndb/src/common/portlib/libportlib.dsp
ndb/src/common/transporter/libtransporter.dsp ndb/src/common/transporter/libtransporter.dsp
ndb/src/common/util/libgeneral.dsp ndb/src/common/util/libgeneral.dsp
ndb/src/cw/cpcd/ndb_cpcd ndb/src/cw/cpcd/ndb_cpcd
ndb/src/dummy.cpp
ndb/src/kernel/blocks/backup/libbackup.dsp ndb/src/kernel/blocks/backup/libbackup.dsp
ndb/src/kernel/blocks/backup/restore/ndb_restore ndb/src/kernel/blocks/backup/restore/ndb_restore
ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp
...@@ -879,6 +883,7 @@ ndb/test/tools/hugoScanUpdate ...@@ -879,6 +883,7 @@ ndb/test/tools/hugoScanUpdate
ndb/test/tools/ndb_cpcc ndb/test/tools/ndb_cpcc
ndb/test/tools/restart ndb/test/tools/restart
ndb/test/tools/verify_index ndb/test/tools/verify_index
ndb/tools/ndb_config
ndb/tools/ndb_delete_all ndb/tools/ndb_delete_all
ndb/tools/ndb_delete_all.dsp ndb/tools/ndb_delete_all.dsp
ndb/tools/ndb_desc ndb/tools/ndb_desc
...@@ -1116,7 +1121,3 @@ vio/test-ssl ...@@ -1116,7 +1121,3 @@ vio/test-ssl
vio/test-sslclient vio/test-sslclient
vio/test-sslserver vio/test-sslserver
vio/viotest-ssl vio/viotest-ssl
ndb/src/dummy.cpp
innobase/mkinstalldirs
mkinstalldirs
mysql-test/var
...@@ -144,7 +144,7 @@ enum enum_thr_lock_result thr_multi_lock(THR_LOCK_DATA **data, ...@@ -144,7 +144,7 @@ enum enum_thr_lock_result thr_multi_lock(THR_LOCK_DATA **data,
uint count, THR_LOCK_OWNER *owner); uint count, THR_LOCK_OWNER *owner);
void thr_multi_unlock(THR_LOCK_DATA **data,uint count); void thr_multi_unlock(THR_LOCK_DATA **data,uint count);
void thr_abort_locks(THR_LOCK *lock); void thr_abort_locks(THR_LOCK *lock);
bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread);
void thr_print_locks(void); /* For debugging */ void thr_print_locks(void); /* For debugging */
my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data); my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data);
my_bool thr_reschedule_write_lock(THR_LOCK_DATA *data); my_bool thr_reschedule_write_lock(THR_LOCK_DATA *data);
......
...@@ -2524,13 +2524,21 @@ row_sel_store_mysql_rec( ...@@ -2524,13 +2524,21 @@ row_sel_store_mysql_rec(
(byte) (templ->mysql_null_bit_mask); (byte) (templ->mysql_null_bit_mask);
switch (templ->type) { switch (templ->type) {
case DATA_VARCHAR: case DATA_VARCHAR:
case DATA_CHAR:
case DATA_BINARY: case DATA_BINARY:
case DATA_VARMYSQL:
if (templ->mysql_type
== DATA_MYSQL_TRUE_VARCHAR) {
/* This is a >= 5.0.3 type
true VARCHAR. Zero the field. */
pad_char = 0x00;
break;
}
/* Fall through */
case DATA_CHAR:
case DATA_FIXBINARY: case DATA_FIXBINARY:
case DATA_MYSQL: case DATA_MYSQL:
case DATA_VARMYSQL: /* MySQL pads all string types (except
/* MySQL pads all non-BLOB and non-TEXT BLOB, TEXT and true VARCHAR) with space. */
string types with space ' ' */
if (UNIV_UNLIKELY(templ->mbminlen == 2)) { if (UNIV_UNLIKELY(templ->mbminlen == 2)) {
/* Treat UCS2 as a special case. */ /* Treat UCS2 as a special case. */
data = mysql_rec data = mysql_rec
......
...@@ -1599,13 +1599,8 @@ mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ...@@ -1599,13 +1599,8 @@ mysql_real_escape_string(MYSQL *mysql, char *to,const char *from,
ulong length) ulong length)
{ {
if (mysql->server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES) if (mysql->server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES)
{
return escape_quotes_for_mysql(mysql->charset, to, 0, from, length); return escape_quotes_for_mysql(mysql->charset, to, 0, from, length);
} return escape_string_for_mysql(mysql->charset, to, 0, from, length);
else
{
return escape_string_for_mysql(mysql->charset, to, 0, from, length);
}
} }
......
...@@ -795,6 +795,32 @@ show columns from t2; ...@@ -795,6 +795,32 @@ show columns from t2;
Field Type Null Key Default Extra Field Type Null Key Default Extra
f2 datetime NO 0000-00-00 00:00:00 f2 datetime NO 0000-00-00 00:00:00
drop table t2, t1; drop table t2, t1;
CREATE TABLE t1(
id int PRIMARY KEY,
a int,
b int,
INDEX i_b_id(a,b,id),
INDEX i_id(a,id)
);
INSERT INTO t1 VALUES
(1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
MAX(id)
NULL
DROP TABLE t1;
CREATE TABLE t1(
id int PRIMARY KEY,
a int,
b int,
INDEX i_id(a,id),
INDEX i_b_id(a,b,id)
);
INSERT INTO t1 VALUES
(1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
MAX(id)
NULL
DROP TABLE t1;
create table t2 (ff double); create table t2 (ff double);
insert into t2 values (2.2); insert into t2 values (2.2);
select cast(sum(distinct ff) as decimal(5,2)) from t2; select cast(sum(distinct ff) as decimal(5,2)) from t2;
...@@ -860,32 +886,6 @@ select col1,sum(col1),max(col1),min(col1) from t1 group by col1; ...@@ -860,32 +886,6 @@ select col1,sum(col1),max(col1),min(col1) from t1 group by col1;
col1 sum(col1) max(col1) min(col1) col1 sum(col1) max(col1) min(col1)
5.000000000010 10.000000000020 5.000000000010 5.000000000010 5.000000000010 10.000000000020 5.000000000010 5.000000000010
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(
id int PRIMARY KEY,
a int,
b int,
INDEX i_b_id(a,b,id),
INDEX i_id(a,id)
);
INSERT INTO t1 VALUES
(1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
MAX(id)
NULL
DROP TABLE t1;
CREATE TABLE t1(
id int PRIMARY KEY,
a int,
b int,
INDEX i_id(a,id),
INDEX i_b_id(a,b,id)
);
INSERT INTO t1 VALUES
(1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
MAX(id)
NULL
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(400)); CREATE TABLE t1 (a VARCHAR(400));
INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "), INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "),
("B"), ("b"), ("b "), ("b "); ("B"), ("b"), ("b "), ("b ");
......
...@@ -940,3 +940,12 @@ f5 19 NULL ...@@ -940,3 +940,12 @@ f5 19 NULL
f6 1 NULL f6 1 NULL
f7 64 NULL f7 64 NULL
drop table t1; drop table t1;
create table t1 (f1 integer);
create trigger tr1 after insert on t1 for each row set @test_var=42;
use information_schema;
select trigger_schema, trigger_name from triggers where
trigger_name='tr1';
trigger_schema trigger_name
test tr1
use test;
drop table t1;
...@@ -1452,16 +1452,16 @@ Error 1146 Table 'test.t4' doesn't exist ...@@ -1452,16 +1452,16 @@ Error 1146 Table 'test.t4' doesn't exist
checksum table t1, t2, t3, t4; checksum table t1, t2, t3, t4;
Table Checksum Table Checksum
test.t1 2948697075 test.t1 2948697075
test.t2 1157260244 test.t2 3835700799
test.t3 1157260244 test.t3 3835700799
test.t4 NULL test.t4 NULL
Warnings: Warnings:
Error 1146 Table 'test.t4' doesn't exist Error 1146 Table 'test.t4' doesn't exist
checksum table t1, t2, t3, t4 extended; checksum table t1, t2, t3, t4 extended;
Table Checksum Table Checksum
test.t1 3092701434 test.t1 3092701434
test.t2 1157260244 test.t2 3835700799
test.t3 1157260244 test.t3 3835700799
test.t4 NULL test.t4 NULL
Warnings: Warnings:
Error 1146 Table 'test.t4' doesn't exist Error 1146 Table 'test.t4' doesn't exist
......
This diff is collapsed.
prepare stmt1 from ' show full processlist ';
execute stmt1;
Id User Host db Command Time State Info
number root localhost test Execute time NULL show full processlist
deallocate prepare stmt1;
...@@ -54,6 +54,7 @@ my_col ...@@ -54,6 +54,7 @@ my_col
4 4
execute s_t9 ; execute s_t9 ;
ERROR 42S02: Table 'mysqltest.t9' doesn't exist ERROR 42S02: Table 'mysqltest.t9' doesn't exist
deallocate prepare s_t9;
revoke all privileges on mysqltest.t1 from second_user@localhost revoke all privileges on mysqltest.t1 from second_user@localhost
identified by 'looser' ; identified by 'looser' ;
show grants for second_user@localhost ; show grants for second_user@localhost ;
...@@ -87,8 +88,3 @@ revoke all privileges on test.t1 from drop_user@localhost ; ...@@ -87,8 +88,3 @@ revoke all privileges on test.t1 from drop_user@localhost ;
prepare stmt3 from ' drop user drop_user@localhost '; prepare stmt3 from ' drop user drop_user@localhost ';
ERROR HY000: This command is not supported in the prepared statement protocol yet ERROR HY000: This command is not supported in the prepared statement protocol yet
drop user drop_user@localhost; drop user drop_user@localhost;
prepare stmt4 from ' show full processlist ';
execute stmt4;
Id User Host db Command Time State Info
number root localhost test Execute time NULL show full processlist
deallocate prepare stmt4;
...@@ -2492,6 +2492,99 @@ select * from t3 left join t1 on t3.id = t1.uid, t2 where t2.ident in (0, t1.gid ...@@ -2492,6 +2492,99 @@ select * from t3 left join t1 on t3.id = t1.uid, t2 where t2.ident in (0, t1.gid
id name gid uid ident level id name gid uid ident level
1 fs NULL NULL 0 READ 1 fs NULL NULL 0 READ
drop table t1,t2,t3; drop table t1,t2,t3;
CREATE TABLE t1 (
acct_id int(11) NOT NULL default '0',
profile_id smallint(6) default NULL,
UNIQUE KEY t1$acct_id (acct_id),
KEY t1$profile_id (profile_id)
);
INSERT INTO t1 VALUES (132,17),(133,18);
CREATE TABLE t2 (
profile_id smallint(6) default NULL,
queue_id int(11) default NULL,
seq int(11) default NULL,
KEY t2$queue_id (queue_id)
);
INSERT INTO t2 VALUES (17,31,4),(17,30,3),(17,36,2),(17,37,1);
CREATE TABLE t3 (
id int(11) NOT NULL default '0',
qtype int(11) default NULL,
seq int(11) default NULL,
warn_lvl int(11) default NULL,
crit_lvl int(11) default NULL,
rr1 tinyint(4) NOT NULL default '0',
rr2 int(11) default NULL,
default_queue tinyint(4) NOT NULL default '0',
KEY t3$qtype (qtype),
KEY t3$id (id)
);
INSERT INTO t3 VALUES (30,1,29,NULL,NULL,0,NULL,0),(31,1,28,NULL,NULL,0,NULL,0),
(36,1,34,NULL,NULL,0,NULL,0),(37,1,35,NULL,NULL,0,121,0);
SELECT COUNT(*) FROM t1 a STRAIGHT_JOIN t2 pq STRAIGHT_JOIN t3 q
WHERE
(pq.profile_id = a.profile_id) AND (a.acct_id = 132) AND
(pq.queue_id = q.id) AND (q.rr1 <> 1);
COUNT(*)
4
drop table t1,t2,t3;
create table t1 (f1 int);
insert into t1 values (1),(NULL);
create table t2 (f2 int, f3 int, f4 int);
create index idx1 on t2 (f4);
insert into t2 values (1,2,3),(2,4,6);
select A.f2 from t1 left join t2 A on A.f2 = f1 where A.f3=(select min(f3)
from t2 C where A.f4 = C.f4) or A.f3 IS NULL;
f2
1
NULL
drop table t1,t2;
create table t2 (a tinyint unsigned);
create index t2i on t2(a);
insert into t2 values (0), (254), (255);
explain select * from t2 where a > -1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index t2i t2i 2 NULL 3 Using where; Using index
select * from t2 where a > -1;
a
0
254
255
drop table t2;
CREATE TABLE t1 (a int, b int, c int);
INSERT INTO t1
SELECT 50, 3, 3 FROM DUAL
WHERE NOT EXISTS
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
SELECT * FROM t1;
a b c
50 3 3
INSERT INTO t1
SELECT 50, 3, 3 FROM DUAL
WHERE NOT EXISTS
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
select found_rows();
found_rows()
0
SELECT * FROM t1;
a b c
50 3 3
select count(*) from t1;
count(*)
1
select found_rows();
found_rows()
1
select count(*) from t1 limit 2,3;
count(*)
select found_rows();
found_rows()
0
select SQL_CALC_FOUND_ROWS count(*) from t1 limit 2,3;
count(*)
select found_rows();
found_rows()
1
DROP TABLE t1;
CREATE TABLE t1 ( city char(30) ); CREATE TABLE t1 ( city char(30) );
INSERT INTO t1 VALUES ('London'); INSERT INTO t1 VALUES ('London');
INSERT INTO t1 VALUES ('Paris'); INSERT INTO t1 VALUES ('Paris');
...@@ -2579,25 +2672,6 @@ K2C4 K4N4 F2I4 ...@@ -2579,25 +2672,6 @@ K2C4 K4N4 F2I4
WART 0100 1 WART 0100 1
WART 0200 1 WART 0200 1
WART 0300 3 WART 0300 3
select found_rows();
found_rows()
3
select count(*) from t1;
count(*)
15
select found_rows();
found_rows()
1
select count(*) from t1 limit 2,3;
count(*)
select found_rows();
found_rows()
0
select SQL_CALC_FOUND_ROWS count(*) from t1 limit 2,3;
count(*)
select found_rows();
found_rows()
1
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( a BLOB, INDEX (a(20)) ); CREATE TABLE t1 ( a BLOB, INDEX (a(20)) );
CREATE TABLE t2 ( a BLOB, INDEX (a(20)) ); CREATE TABLE t2 ( a BLOB, INDEX (a(20)) );
...@@ -2612,51 +2686,6 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -2612,51 +2686,6 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 1 SIMPLE t1 ALL NULL NULL NULL NULL 5
1 SIMPLE t2 ref a a 23 test.t1.a 2 1 SIMPLE t2 ref a a 23 test.t1.a 2
DROP TABLE t1, t2; DROP TABLE t1, t2;
CREATE TABLE t1 ( city char(30) );
INSERT INTO t1 VALUES ('London');
INSERT INTO t1 VALUES ('Paris');
SELECT * FROM t1 WHERE city='London';
city
London
SELECT * FROM t1 WHERE city='london';
city
London
EXPLAIN SELECT * FROM t1 WHERE city='London' AND city='london';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
SELECT * FROM t1 WHERE city='London' AND city='london';
city
London
EXPLAIN SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
city
London
DROP TABLE t1;
create table t1 (a int(11) unsigned, b int(11) unsigned);
insert into t1 values (1,0), (1,1), (1,2);
select a-b from t1 order by 1;
a-b
0
1
18446744073709551615
select a-b , (a-b < 0) from t1 order by 1;
a-b (a-b < 0)
0 0
1 0
18446744073709551615 0
select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0;
d (a-b >= 0) b
1 1 0
0 1 1
18446744073709551615 1 2
select cast((a - b) as unsigned) from t1 order by 1;
cast((a - b) as unsigned)
0
1
18446744073709551615
drop table t1;
create table t1 (a int, b int); create table t1 (a int, b int);
create table t2 like t1; create table t2 like t1;
select t1.a from (t1 inner join t2 on t1.a=t2.a) where t2.a=1; select t1.a from (t1 inner join t2 on t1.a=t2.a) where t2.a=1;
...@@ -2730,77 +2759,3 @@ DROP TABLE t1,t2; ...@@ -2730,77 +2759,3 @@ DROP TABLE t1,t2;
select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0; select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;
x'10' + 0 X'10' + 0 b'10' + 0 B'10' + 0 x'10' + 0 X'10' + 0 b'10' + 0 B'10' + 0
16 16 2 2 16 16 2 2
CREATE TABLE t1 (
acct_id int(11) NOT NULL default '0',
profile_id smallint(6) default NULL,
UNIQUE KEY t1$acct_id (acct_id),
KEY t1$profile_id (profile_id)
);
INSERT INTO t1 VALUES (132,17),(133,18);
CREATE TABLE t2 (
profile_id smallint(6) default NULL,
queue_id int(11) default NULL,
seq int(11) default NULL,
KEY t2$queue_id (queue_id)
);
INSERT INTO t2 VALUES (17,31,4),(17,30,3),(17,36,2),(17,37,1);
CREATE TABLE t3 (
id int(11) NOT NULL default '0',
qtype int(11) default NULL,
seq int(11) default NULL,
warn_lvl int(11) default NULL,
crit_lvl int(11) default NULL,
rr1 tinyint(4) NOT NULL default '0',
rr2 int(11) default NULL,
default_queue tinyint(4) NOT NULL default '0',
KEY t3$qtype (qtype),
KEY t3$id (id)
);
INSERT INTO t3 VALUES (30,1,29,NULL,NULL,0,NULL,0),(31,1,28,NULL,NULL,0,NULL,0),
(36,1,34,NULL,NULL,0,NULL,0),(37,1,35,NULL,NULL,0,121,0);
SELECT COUNT(*) FROM t1 a STRAIGHT_JOIN t2 pq STRAIGHT_JOIN t3 q
WHERE
(pq.profile_id = a.profile_id) AND (a.acct_id = 132) AND
(pq.queue_id = q.id) AND (q.rr1 <> 1);
COUNT(*)
4
drop table t1,t2,t3;
create table t1 (f1 int);
insert into t1 values (1),(NULL);
create table t2 (f2 int, f3 int, f4 int);
create index idx1 on t2 (f4);
insert into t2 values (1,2,3),(2,4,6);
select A.f2 from t1 left join t2 A on A.f2 = f1 where A.f3=(select min(f3)
from t2 C where A.f4 = C.f4) or A.f3 IS NULL;
f2
1
NULL
drop table t1,t2;
create table t2 (a tinyint unsigned);
create index t2i on t2(a);
insert into t2 values (0), (254), (255);
explain select * from t2 where a > -1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index t2i t2i 2 NULL 3 Using where; Using index
select * from t2 where a > -1;
a
0
254
255
drop table t2;
CREATE TABLE t1 (a int, b int, c int);
INSERT INTO t1
SELECT 50, 3, 3 FROM DUAL
WHERE NOT EXISTS
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
SELECT * FROM t1;
a b c
50 3 3
INSERT INTO t1
SELECT 50, 3, 3 FROM DUAL
WHERE NOT EXISTS
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
SELECT * FROM t1;
a b c
50 3 3
DROP TABLE t1;
...@@ -946,6 +946,13 @@ t1 CREATE TABLE `t1` ( ...@@ -946,6 +946,13 @@ t1 CREATE TABLE `t1` (
`sl` decimal(5,5) default NULL `sl` decimal(5,5) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
create table t1 (sl decimal(65, 30));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`sl` decimal(65,30) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 ( create table t1 (
f1 decimal unsigned not null default 17.49, f1 decimal unsigned not null default 17.49,
f2 decimal unsigned not null default 17.68, f2 decimal unsigned not null default 17.68,
...@@ -969,3 +976,13 @@ select * from t1; ...@@ -969,3 +976,13 @@ select * from t1;
f1 f2 f3 f4 f5 f6 f7 f8 f1 f2 f3 f4 f5 f6 f7 f8
1 18 99 100 104 200 1000 10000 1 18 99 100 104 200 1000 10000
drop table t1; drop table t1;
create table t1 (
f0 decimal (30,30) zerofill not null DEFAULT 0,
f1 decimal (0,0) zerofill not null default 0);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f0` decimal(30,30) unsigned zerofill NOT NULL default '0.000000000000000000000000000000',
`f1` decimal(10,0) unsigned zerofill NOT NULL default '0000000000'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
...@@ -525,3 +525,15 @@ set @@warning_count=1; ...@@ -525,3 +525,15 @@ set @@warning_count=1;
ERROR HY000: Variable 'warning_count' is a read only variable ERROR HY000: Variable 'warning_count' is a read only variable
set @@global.error_count=1; set @@global.error_count=1;
ERROR HY000: Variable 'error_count' is a read only variable ERROR HY000: Variable 'error_count' is a read only variable
set @@max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
set global max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
set @@max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
...@@ -86,3 +86,5 @@ UPDATE t1 SET t1.xstatus_vor = Greatest(t1.xstatus_vor,1) WHERE t1.aufnr = ...@@ -86,3 +86,5 @@ UPDATE t1 SET t1.xstatus_vor = Greatest(t1.xstatus_vor,1) WHERE t1.aufnr =
ASC LIMIT 1; ASC LIMIT 1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -360,3 +360,5 @@ create table t1 ( a timestamp ); ...@@ -360,3 +360,5 @@ create table t1 ( a timestamp );
--error 1089 --error 1089
alter table t1 add unique ( a(1) ); alter table t1 add unique ( a(1) );
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -48,6 +48,8 @@ insert into t1 values ('abc'),('abc\'def\\hij\"klm\0opq'),('\''),('\"'),('\\'),( ...@@ -48,6 +48,8 @@ insert into t1 values ('abc'),('abc\'def\\hij\"klm\0opq'),('\''),('\"'),('\\'),(
select * from t1 procedure analyse(); select * from t1 procedure analyse();
drop table t1; drop table t1;
# End of 4.1 tests
#decimal-related test #decimal-related test
create table t1 (df decimal(5,1)); create table t1 (df decimal(5,1));
......
# #
# Bug #10901 Analyze Table on new table destroys table # Bug #10901 Analyze Table on new table destroys table
# This is minimal test case to get error # This is minimal test case to get error
# The problem was that analyze table wrote the shared state to the file and this # The problem was that analyze table wrote the shared state to the
# didn't include the inserts while locked. A check was needed to ensure that # file and this didn't include the inserts while locked. A check was
# state information was not updated when executing analyze table for a locked table. # needed to ensure that state information was not updated when
# The analyze table had to be within locks and check table had to be after unlocking # executing analyze table for a locked table. The analyze table had
# since then it brings the wrong state from disk rather than from the currently # to be within locks and check table had to be after unlocking since
# correct internal state. The insert is needed since it changes the file state, # then it brings the wrong state from disk rather than from the
# number of records. # currently correct internal state. The insert is needed since it
# The fix is to synchronise the state of the shared state and the current state before # changes the file state, number of records. The fix is to
# calling mi_state_info_write # synchronise the state of the shared state and the current state
# before calling mi_state_info_write
# #
create table t1 (a bigint); create table t1 (a bigint);
lock tables t1 write; lock tables t1 write;
insert into t1 values(0); insert into t1 values(0);
...@@ -37,3 +39,4 @@ check table t1; ...@@ -37,3 +39,4 @@ check table t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -25,3 +25,5 @@ SELECT id FROM t1 GROUP BY id2; ...@@ -25,3 +25,5 @@ SELECT id FROM t1 GROUP BY id2;
drop table t1; drop table t1;
SET @@SQL_MODE=""; SET @@SQL_MODE="";
# End of 4.1 tests
...@@ -1333,3 +1333,5 @@ INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','' ...@@ -1333,3 +1333,5 @@ INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily',''
# Cleanup, test is over # Cleanup, test is over
# #
drop table t1, t2, t4; drop table t1, t2, t4;
# End of 4.1 tests
...@@ -219,6 +219,8 @@ INSERT INTO t1 (b) VALUES ('bbbb'); ...@@ -219,6 +219,8 @@ INSERT INTO t1 (b) VALUES ('bbbb');
CHECK TABLE t1; CHECK TABLE t1;
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
# End of 4.1 tests
# #
# Bug #11080 & #11005 Multi-row REPLACE fails on a duplicate key error # Bug #11080 & #11005 Multi-row REPLACE fails on a duplicate key error
# #
......
...@@ -52,3 +52,5 @@ unlock tables; ...@@ -52,3 +52,5 @@ unlock tables;
connection con1; connection con1;
reap; reap;
drop table t5; drop table t5;
# End of 4.1 tests
...@@ -14,3 +14,5 @@ select * from t1; ...@@ -14,3 +14,5 @@ select * from t1;
alter table t1 drop column test; alter table t1 drop column test;
# Now we do a reboot and continue with the next test # Now we do a reboot and continue with the next test
# End of 4.1 tests
...@@ -6,3 +6,5 @@ ...@@ -6,3 +6,5 @@
-- source include/have_bdb.inc -- source include/have_bdb.inc
select * from t1; select * from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -47,3 +47,5 @@ set autocommit=0; ...@@ -47,3 +47,5 @@ set autocommit=0;
insert into t1 values(1); insert into t1 values(1);
analyze table t1; analyze table t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -55,3 +55,5 @@ select * from t2; ...@@ -55,3 +55,5 @@ select * from t2;
commit; commit;
drop table t1,t2; drop table t1,t2;
# End of 4.1 tests
...@@ -55,3 +55,5 @@ select * from t2; ...@@ -55,3 +55,5 @@ select * from t2;
commit; commit;
drop table t1,t2; drop table t1,t2;
# End of 4.1 tests
...@@ -937,6 +937,8 @@ SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera"); ...@@ -937,6 +937,8 @@ SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd"); SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
# #
# alter temp table # alter temp table
# #
......
...@@ -49,3 +49,5 @@ show status like "Qcache_hits"; ...@@ -49,3 +49,5 @@ show status like "Qcache_hits";
commit; commit;
show status like "Qcache_queries_in_cache"; show status like "Qcache_queries_in_cache";
drop table if exists t1, t2, t3; drop table if exists t1, t2, t3;
# End of 4.1 tests
...@@ -18,3 +18,5 @@ enable_query_log; ...@@ -18,3 +18,5 @@ enable_query_log;
select count(distinct n) from t1; select count(distinct n) from t1;
explain extended select count(distinct n) from t1; explain extended select count(distinct n) from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -104,6 +104,8 @@ t2.value64=t1.value64; ...@@ -104,6 +104,8 @@ t2.value64=t1.value64;
drop table t1, t2; drop table t1, t2;
# End of 4.1 tests
# #
# Test of CREATE ... SELECT and unsigned integers # Test of CREATE ... SELECT and unsigned integers
# #
......
...@@ -87,3 +87,5 @@ drop table t1; ...@@ -87,3 +87,5 @@ drop table t1;
create table t1 (a binary); create table t1 (a binary);
show create table t1; show create table t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -125,3 +125,5 @@ let $VERSION=`select version()`; ...@@ -125,3 +125,5 @@ let $VERSION=`select version()`;
show binlog events; show binlog events;
drop table t1,t2,t3; drop table t1,t2,t3;
# End of 4.1 tests
...@@ -58,3 +58,5 @@ select ifnull(A, 'N') as A, ifnull(B, 'N') as B, ifnull(not A, 'N') as nA, ifnul ...@@ -58,3 +58,5 @@ select ifnull(A, 'N') as A, ifnull(B, 'N') as B, ifnull(not A, 'N') as nA, ifnul
select ifnull(A=1, 'N') as A, ifnull(B=1, 'N') as B, ifnull(not (A=1), 'N') as nA, ifnull(not (B=1), 'N') as nB, ifnull((A=1) and (B=1), 'N') as AB, ifnull(not ((A=1) and (B=1)), 'N') as `n(AB)`, ifnull((not (A=1) or not (B=1)), 'N') as nAonB, ifnull((A=1) or (B=1), 'N') as AoB, ifnull(not((A=1) or (B=1)), 'N') as `n(AoB)`, ifnull(not (A=1) and not (B=1), 'N') as nAnB from t1; select ifnull(A=1, 'N') as A, ifnull(B=1, 'N') as B, ifnull(not (A=1), 'N') as nA, ifnull(not (B=1), 'N') as nB, ifnull((A=1) and (B=1), 'N') as AB, ifnull(not ((A=1) and (B=1)), 'N') as `n(AB)`, ifnull((not (A=1) or not (B=1)), 'N') as nAonB, ifnull((A=1) or (B=1), 'N') as AoB, ifnull(not((A=1) or (B=1)), 'N') as `n(AoB)`, ifnull(not (A=1) and not (B=1), 'N') as nAnB from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -11,3 +11,4 @@ select * from t1; ...@@ -11,3 +11,4 @@ select * from t1;
check table t1; check table t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -122,6 +122,9 @@ SELECT 'case+union+test' ...@@ -122,6 +122,9 @@ SELECT 'case+union+test'
UNION UNION
SELECT CASE '1' WHEN '2' THEN 'BUG' ELSE 'nobug' END; SELECT CASE '1' WHEN '2' THEN 'BUG' ELSE 'nobug' END;
# End of 4.1 tests
# #
# Tests for bug #9939: conversion of the arguments for COALESCE and IFNULL # Tests for bug #9939: conversion of the arguments for COALESCE and IFNULL
# #
......
...@@ -156,6 +156,9 @@ select cast(concat('184467440','73709551615') as signed); ...@@ -156,6 +156,9 @@ select cast(concat('184467440','73709551615') as signed);
select cast(repeat('1',20) as unsigned); select cast(repeat('1',20) as unsigned);
select cast(repeat('1',20) as signed); select cast(repeat('1',20) as signed);
# End of 4.1 tests
#decimal-related additions #decimal-related additions
select cast('1.2' as decimal(3,2)); select cast('1.2' as decimal(3,2));
select 1e18 * cast('1.2' as decimal(3,2)); select 1e18 * cast('1.2' as decimal(3,2));
......
...@@ -22,6 +22,8 @@ connection con1; ...@@ -22,6 +22,8 @@ connection con1;
reap; reap;
drop table t1; drop table t1;
# End of 4.1 tests
# #
# Bug #9897 Views: 'Check Table' crashes MySQL, with a view and a table # Bug #9897 Views: 'Check Table' crashes MySQL, with a view and a table
# in the statement # in the statement
......
...@@ -17,3 +17,5 @@ select 1 --2 ...@@ -17,3 +17,5 @@ select 1 --2
select 1 # The rest of the row will be ignored select 1 # The rest of the row will be ignored
; ;
/* line with only comment */; /* line with only comment */;
# End of 4.1 tests
...@@ -35,3 +35,5 @@ DROP TABLE t1; ...@@ -35,3 +35,5 @@ DROP TABLE t1;
SELECT CHAR(31) = '', '' = CHAR(31); SELECT CHAR(31) = '', '' = CHAR(31);
# Extra test # Extra test
SELECT CHAR(30) = '', '' = CHAR(30); SELECT CHAR(30) = '', '' = CHAR(30);
# End of 4.1 tests
...@@ -76,3 +76,5 @@ show tables; ...@@ -76,3 +76,5 @@ show tables;
delete from mysql.user where user=_binary"test"; delete from mysql.user where user=_binary"test";
flush privileges; flush privileges;
# End of 4.1 tests
...@@ -39,3 +39,5 @@ select * from t1; # if consistent snapshot was not set, as expected, we ...@@ -39,3 +39,5 @@ select * from t1; # if consistent snapshot was not set, as expected, we
commit; commit;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -27,3 +27,5 @@ alter table t1 add constraint unique key_1(a); ...@@ -27,3 +27,5 @@ alter table t1 add constraint unique key_1(a);
alter table t1 add constraint constraint_2 unique key_2(a); alter table t1 add constraint constraint_2 unique key_2(a);
show create table t1; show create table t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -55,6 +55,8 @@ create table t1 (f int); ...@@ -55,6 +55,8 @@ create table t1 (f int);
select count(distinct f) from t1; select count(distinct f) from t1;
drop table t1; drop table t1;
# End of 4.1 tests
# #
# Bug #6515 # Bug #6515
# #
......
...@@ -79,3 +79,4 @@ select count(distinct s) from t1; ...@@ -79,3 +79,4 @@ select count(distinct s) from t1;
show status like 'Created_tmp_disk_tables'; show status like 'Created_tmp_disk_tables';
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -56,3 +56,5 @@ SELECT COUNT(DISTINCT id) FROM t1 GROUP BY grp; ...@@ -56,3 +56,5 @@ SELECT COUNT(DISTINCT id) FROM t1 GROUP BY grp;
DROP TABLE t1; DROP TABLE t1;
set @@read_buffer_size=default; set @@read_buffer_size=default;
# End of 4.1 tests
...@@ -514,3 +514,5 @@ create table test.t1 like x; ...@@ -514,3 +514,5 @@ create table test.t1 like x;
--disable_warnings --disable_warnings
drop table if exists test.t1; drop table if exists test.t1;
--enable_warnings --enable_warnings
# End of 4.1 tests
...@@ -27,3 +27,5 @@ select * from t2; ...@@ -27,3 +27,5 @@ select * from t2;
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1; CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
--error 1146; --error 1146;
select * from t2; select * from t2;
# End of 4.1 tests
...@@ -1313,3 +1313,5 @@ INSERT INTO t1 VALUES (9410,9412); ...@@ -1313,3 +1313,5 @@ INSERT INTO t1 VALUES (9410,9412);
select period from t1; select period from t1;
drop table if exists t1,t2,t3,t4; drop table if exists t1,t2,t3,t4;
# End of 4.1 tests
...@@ -27,3 +27,5 @@ CREATE TABLE t1 (a text) character set big5; ...@@ -27,3 +27,5 @@ CREATE TABLE t1 (a text) character set big5;
INSERT INTO t1 VALUES (''); INSERT INTO t1 VALUES ('');
SELECT * FROM t1; SELECT * FROM t1;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -206,3 +206,5 @@ EXPLAIN SELECT * FROM t1 WHERE s1 LIKE 'a' COLLATE latin1_german1_ci; ...@@ -206,3 +206,5 @@ EXPLAIN SELECT * FROM t1 WHERE s1 LIKE 'a' COLLATE latin1_german1_ci;
EXPLAIN SELECT * FROM t1 WHERE s2 LIKE 'a' COLLATE latin1_german1_ci; EXPLAIN SELECT * FROM t1 WHERE s2 LIKE 'a' COLLATE latin1_german1_ci;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -22,3 +22,5 @@ INSERT INTO t1 VALUES ('2005-01-1'); ...@@ -22,3 +22,5 @@ INSERT INTO t1 VALUES ('2005-01-1');
SELECT * FROM t1 WHERE popisek = '2005-01-1'; SELECT * FROM t1 WHERE popisek = '2005-01-1';
SELECT * FROM t1 WHERE popisek LIKE '2005-01-1'; SELECT * FROM t1 WHERE popisek LIKE '2005-01-1';
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -46,3 +46,5 @@ insert into t1 (a) values ('air'), ...@@ -46,3 +46,5 @@ insert into t1 (a) values ('air'),
select * from t1 where a like 'we_%'; select * from t1 where a like 'we_%';
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -98,3 +98,5 @@ show create database mysqltest2; ...@@ -98,3 +98,5 @@ show create database mysqltest2;
drop database mysqltest2; drop database mysqltest2;
--error 1046 --error 1046
ALTER DATABASE DEFAULT CHARACTER SET latin2; ALTER DATABASE DEFAULT CHARACTER SET latin2;
# End of 4.1 tests
...@@ -28,3 +28,5 @@ CREATE TABLE t1 (a text) character set gbk; ...@@ -28,3 +28,5 @@ CREATE TABLE t1 (a text) character set gbk;
INSERT INTO t1 VALUES (0xA3A0),(0xA1A1); INSERT INTO t1 VALUES (0xA3A0),(0xA1A1);
SELECT hex(a) FROM t1 ORDER BY a; SELECT hex(a) FROM t1 ORDER BY a;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -75,3 +75,5 @@ SET collation_connection='latin1_bin'; ...@@ -75,3 +75,5 @@ SET collation_connection='latin1_bin';
--error 1064 --error 1064
CREATE TABLE a (a int); CREATE TABLE a (a int);
SELECT 'a' as str; SELECT 'a' as str;
# End of 4.1 tests
...@@ -133,6 +133,8 @@ ALTER TABLE t1 ADD KEY ifword(col1); ...@@ -133,6 +133,8 @@ ALTER TABLE t1 ADD KEY ifword(col1);
SELECT * FROM t1 WHERE col1='' ORDER BY col1, BINARY col1; SELECT * FROM t1 WHERE col1='' ORDER BY col1, BINARY col1;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
# #
# Bug#9509 # Bug#9509
# #
......
...@@ -48,3 +48,5 @@ a, lower(a) l, upper(a) u from t1 order by ha; ...@@ -48,3 +48,5 @@ a, lower(a) l, upper(a) u from t1 order by ha;
# #
SELECT group_concat(a collate latin2_croatian_ci order by binary a) from t1 group by a collate latin2_croatian_ci; SELECT group_concat(a collate latin2_croatian_ci order by binary a) from t1 group by a collate latin2_croatian_ci;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -209,3 +209,5 @@ SET CHARACTER SET 'binary'; ...@@ -209,3 +209,5 @@ SET CHARACTER SET 'binary';
SELECT * FROM t1; SELECT * FROM t1;
SELECT min(comment),count(*) FROM t1 GROUP BY ucs2_f; SELECT min(comment),count(*) FROM t1 GROUP BY ucs2_f;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -24,3 +24,5 @@ ALTER TABLE t1 CHANGE a a CHAR(4) CHARACTER SET utf8; ...@@ -24,3 +24,5 @@ ALTER TABLE t1 CHANGE a a CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
SHOW KEYS FROM t1; SHOW KEYS FROM t1;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -179,3 +179,5 @@ select rpad(c1,3,' ...@@ -179,3 +179,5 @@ select rpad(c1,3,'
# TODO # TODO
#select case c1 when '' then '' when '' then '' else 'c' end from t1; #select case c1 when '' then '' when '' then '' else 'c' end from t1;
#select export_set(5,c1,''), export_set(5,'',c1) from t1; #select export_set(5,c1,''), export_set(5,'',c1) from t1;
# End of 4.1 tests
...@@ -77,3 +77,5 @@ SET collation_connection='sjis_bin'; ...@@ -77,3 +77,5 @@ SET collation_connection='sjis_bin';
--character_set sjis --character_set sjis
SET NAMES sjis; SET NAMES sjis;
SELECT HEX('@\\') FROM DUAL; SELECT HEX('@\\') FROM DUAL;
# End of 4.1 tests
...@@ -157,3 +157,5 @@ SET collation_connection='tis620_thai_ci'; ...@@ -157,3 +157,5 @@ SET collation_connection='tis620_thai_ci';
-- source include/ctype_filesort.inc -- source include/ctype_filesort.inc
SET collation_connection='tis620_bin'; SET collation_connection='tis620_bin';
-- source include/ctype_filesort.inc -- source include/ctype_filesort.inc
# End of 4.1 tests
...@@ -456,6 +456,8 @@ drop table t1; ...@@ -456,6 +456,8 @@ drop table t1;
SET collation_connection='utf8_unicode_ci'; SET collation_connection='utf8_unicode_ci';
-- source include/ctype_filesort.inc -- source include/ctype_filesort.inc
# End of 4.1 tests
# #
# Check UPPER/LOWER changeing length # Check UPPER/LOWER changeing length
# #
......
...@@ -419,6 +419,8 @@ insert into t1 values (0x005b); ...@@ -419,6 +419,8 @@ insert into t1 values (0x005b);
select hex(a) from t1; select hex(a) from t1;
drop table t1; drop table t1;
# End of 4.1 tests
# #
# Conversion from an UCS2 string to a decimal column # Conversion from an UCS2 string to a decimal column
# #
......
...@@ -17,4 +17,4 @@ show binlog events from 98; ...@@ -17,4 +17,4 @@ show binlog events from 98;
--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 --exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001
drop table t2; drop table t2;
# End of 4.1 tests
...@@ -1149,3 +1149,5 @@ SET collation_connection='ujis_japanese_ci'; ...@@ -1149,3 +1149,5 @@ SET collation_connection='ujis_japanese_ci';
SET collation_connection='ujis_bin'; SET collation_connection='ujis_bin';
-- source include/ctype_filesort.inc -- source include/ctype_filesort.inc
-- source include/ctype_innodb_like.inc -- source include/ctype_innodb_like.inc
# End of 4.1 tests
...@@ -843,6 +843,8 @@ insert into t1 values (_utf8 0x5b); ...@@ -843,6 +843,8 @@ insert into t1 values (_utf8 0x5b);
select hex(a) from t1; select hex(a) from t1;
drop table t1; drop table t1;
# End of 4.1 tests
# #
# Test for bug #11484: wrong results for a DISTINCT varchar column in uft8. # Test for bug #11484: wrong results for a DISTINCT varchar column in uft8.
# #
......
...@@ -260,3 +260,5 @@ select str_to_date("2003-01-02 10:11:12.0012ABCD", "%Y-%m-%d %H:%i:%S.%f") as f1 ...@@ -260,3 +260,5 @@ select str_to_date("2003-01-02 10:11:12.0012ABCD", "%Y-%m-%d %H:%i:%S.%f") as f1
select str_to_date("2003-04-05 g", "%Y-%m-%d") as f1, select str_to_date("2003-04-05 g", "%Y-%m-%d") as f1,
str_to_date("2003-04-05 10:11:12.101010234567", "%Y-%m-%d %H:%i:%S.%f") as f2; str_to_date("2003-04-05 10:11:12.101010234567", "%Y-%m-%d %H:%i:%S.%f") as f2;
--enable_ps_protocol --enable_ps_protocol
# End of 4.1 tests
...@@ -36,3 +36,5 @@ insert delayed into t1 values (3,"this will give an","error"); ...@@ -36,3 +36,5 @@ insert delayed into t1 values (3,"this will give an","error");
show status like 'not_flushed_delayed_rows'; show status like 'not_flushed_delayed_rows';
select * from t1; select * from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -153,6 +153,8 @@ DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a LIMIT 1; ...@@ -153,6 +153,8 @@ DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a LIMIT 1;
SELECT * FROM t1; SELECT * FROM t1;
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
# #
# Test of multi-delete where we are not scanning the first table # Test of multi-delete where we are not scanning the first table
# #
......
...@@ -248,3 +248,5 @@ insert into t3 values(3),(3); ...@@ -248,3 +248,5 @@ insert into t3 values(3),(3);
select * from t1 union distinct select * from t2 union all select * from t3; select * from t1 union distinct select * from t2 union all select * from t3;
select * from (select * from t1 union distinct select * from t2 union all select * from t3) X; select * from (select * from t1 union distinct select * from t2 union all select * from t3) X;
drop table t1, t2, t3; drop table t1, t2, t3;
# End of 4.1 tests
...@@ -12,3 +12,5 @@ create table t1 (n int); ...@@ -12,3 +12,5 @@ create table t1 (n int);
insert into t1 values (1),(2),(3); insert into t1 values (1),(2),(3);
select * from t1; select * from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -340,3 +340,5 @@ create table t1 (id int, dsc varchar(50)); ...@@ -340,3 +340,5 @@ create table t1 (id int, dsc varchar(50));
insert into t1 values (1, "line number one"), (2, "line number two"), (3, "line number three"); insert into t1 values (1, "line number one"), (2, "line number two"), (3, "line number three");
select distinct id, IFNULL(dsc, '-') from t1; select distinct id, IFNULL(dsc, '-') from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -79,3 +79,5 @@ unlock tables; ...@@ -79,3 +79,5 @@ unlock tables;
create table t1(n int); create table t1(n int);
show tables; show tables;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -23,3 +23,5 @@ let $VERSION=`select version()`; ...@@ -23,3 +23,5 @@ let $VERSION=`select version()`;
--replace_column 2 # 5 # --replace_column 2 # 5 #
show binlog events; show binlog events;
drop database `drop-temp+table-test`; drop database `drop-temp+table-test`;
# End of 4.1 tests
...@@ -11,3 +11,5 @@ select count(*) from t1; ...@@ -11,3 +11,5 @@ select count(*) from t1;
select * from t1; select * from t1;
select * from t1 limit 0; select * from t1 limit 0;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -94,3 +94,5 @@ select text1, length(text1) from t1 where text1='teststring' or text1 like 'test ...@@ -94,3 +94,5 @@ select text1, length(text1) from t1 where text1='teststring' or text1 like 'test
select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t'; select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
select concat('|', text1, '|') from t1 order by text1; select concat('|', text1, '|') from t1 order by text1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -29,3 +29,5 @@ select 1 from t1 order by t1.b; ...@@ -29,3 +29,5 @@ select 1 from t1 order by t1.b;
--error 1054 --error 1054
select count(*),b from t1; select count(*),b from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -14,3 +14,5 @@ CREATE TABLE t1 ( ...@@ -14,3 +14,5 @@ CREATE TABLE t1 (
) ENGINE=example; ) ENGINE=example;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -41,3 +41,5 @@ insert into ...@@ -41,3 +41,5 @@ insert into
explain select 0 from where 0=1; explain select 0 from where 0=1;
drop table ; drop table ;
set names latin1; set names latin1;
# End of 4.1 tests
...@@ -69,3 +69,5 @@ connection con2; ...@@ -69,3 +69,5 @@ connection con2;
insert into t1 values (345); insert into t1 values (345);
select * from t1; select * from t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -77,6 +77,8 @@ show create database test; ...@@ -77,6 +77,8 @@ show create database test;
drop table t1; drop table t1;
# End of 4.1 tests
# FLUSH TABLES WITH READ LOCK should block writes to binlog too # FLUSH TABLES WITH READ LOCK should block writes to binlog too
connection con1; connection con1;
create table t1 (a int) engine=innodb; create table t1 (a int) engine=innodb;
......
...@@ -72,3 +72,5 @@ handler t1 read next limit 1; ...@@ -72,3 +72,5 @@ handler t1 read next limit 1;
handler t1 read next limit 1; handler t1 read next limit 1;
handler t1 close; handler t1 close;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -21,3 +21,5 @@ create table t1 ( ...@@ -21,3 +21,5 @@ create table t1 (
create index a on t1 (a); create index a on t1 (a);
create unique index b on t1 (a,b); create unique index b on t1 (a,b);
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -338,3 +338,5 @@ SET NAMES latin1; ...@@ -338,3 +338,5 @@ SET NAMES latin1;
INSERT INTO t1 VALUES('Mit freundlichem Gr aus Osnabrck'); INSERT INTO t1 VALUES('Mit freundlichem Gr aus Osnabrck');
SELECT COUNT(*) FROM t1 WHERE MATCH(t) AGAINST ('"osnabrck"' IN BOOLEAN MODE); SELECT COUNT(*) FROM t1 WHERE MATCH(t) AGAINST ('"osnabrck"' IN BOOLEAN MODE);
DROP TABLE t1; DROP TABLE t1;
# End of 4.1 tests
...@@ -182,3 +182,4 @@ select count(*) from t1 where match a against ('aaazzz' in boolean mode); ...@@ -182,3 +182,4 @@ select count(*) from t1 where match a against ('aaazzz' in boolean mode);
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -42,3 +42,5 @@ SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE) ...@@ -42,3 +42,5 @@ SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id; as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
drop table t1, t2; drop table t1, t2;
# End of 4.1 tests
...@@ -42,3 +42,5 @@ WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE) ...@@ -42,3 +42,5 @@ WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE)
AND t1.id = t2.id_t1; AND t1.id = t2.id_t1;
DROP TABLE t1, t2; DROP TABLE t1, t2;
# End of 4.1 tests
...@@ -45,3 +45,4 @@ select * from t1 left join t2 on (venue_id = entity_id and match(name) against(' ...@@ -45,3 +45,4 @@ select * from t1 left join t2 on (venue_id = entity_id and match(name) against('
select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen')) where dt = '2003-05-23 19:30:00'; select * from t1 left join t2 on (venue_id = entity_id and match(name) against('aberdeen')) where dt = '2003-05-23 19:30:00';
drop table t1,t2; drop table t1,t2;
# End of 4.1 tests
...@@ -21,3 +21,5 @@ SELECT a, round(MATCH b AGAINST ('lala lkjh'),5) FROM t1; ...@@ -21,3 +21,5 @@ SELECT a, round(MATCH b AGAINST ('lala lkjh'),5) FROM t1;
SELECT a, round(MATCH c AGAINST ('lala lkjh'),5) FROM t1; SELECT a, round(MATCH c AGAINST ('lala lkjh'),5) FROM t1;
SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1; SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -137,3 +137,4 @@ order by ...@@ -137,3 +137,4 @@ order by
drop table t1,t2,t3; drop table t1,t2,t3;
# End of 4.1 tests
...@@ -25,3 +25,5 @@ update test set url='test', shortdesc='ggg', longdesc='mmm', ...@@ -25,3 +25,5 @@ update test set url='test', shortdesc='ggg', longdesc='mmm',
description='ddd', name='nam' where gnr=2; description='ddd', name='nam' where gnr=2;
check table test; check table test;
drop table test; drop table test;
# End of 4.1 tests
...@@ -25,3 +25,4 @@ set global ft_boolean_syntax='@ -><()~*:""@|'; ...@@ -25,3 +25,4 @@ set global ft_boolean_syntax='@ -><()~*:""@|';
set global ft_boolean_syntax='+ -><()~*:""@!|'; set global ft_boolean_syntax='+ -><()~*:""@!|';
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -47,3 +47,4 @@ set @@max_allowed_packet=1048576*100; ...@@ -47,3 +47,4 @@ set @@max_allowed_packet=1048576*100;
--replace_result "''" XXX "'1'" XXX --replace_result "''" XXX "'1'" XXX
eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null; eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null;
# End of 4.1 tests
...@@ -52,3 +52,4 @@ select 'a' union select concat('a', -0.0); ...@@ -52,3 +52,4 @@ select 'a' union select concat('a', -0.0);
--replace_result a-0.0000 a0.0000 --replace_result a-0.0000 a0.0000
select 'a' union select concat('a', -0.0000); select 'a' union select concat('a', -0.0000);
# End of 4.1 tests
...@@ -48,3 +48,5 @@ select old_password('idkfa'); ...@@ -48,3 +48,5 @@ select old_password('idkfa');
select old_password(' i d k f a '); select old_password(' i d k f a ');
explain extended select password('idkfa '), old_password('idkfa'); explain extended select password('idkfa '), old_password('idkfa');
# End of 4.1 tests
...@@ -40,3 +40,5 @@ having mts < DATE_SUB(NOW(),INTERVAL 3 MONTH); ...@@ -40,3 +40,5 @@ having mts < DATE_SUB(NOW(),INTERVAL 3 MONTH);
select visitor_id,max(ts) as mts from t1 group by visitor_id select visitor_id,max(ts) as mts from t1 group by visitor_id
having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW(); having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW();
drop table t1; drop table t1;
# End of 4.1 tests
...@@ -18,6 +18,8 @@ explain select * from t1 where str <> default(str); ...@@ -18,6 +18,8 @@ explain select * from t1 where str <> default(str);
drop table t1; drop table t1;
# End of 4.1 tests
# #
# Bug #11314 (HAVING DEFAULT() hangs) # Bug #11314 (HAVING DEFAULT() hangs)
# #
......
...@@ -7,3 +7,5 @@ ...@@ -7,3 +7,5 @@
# Bug #11643: des_encrypt() causes server to die # Bug #11643: des_encrypt() causes server to die
# #
select des_encrypt('hello'); select des_encrypt('hello');
# End of 4.1 tests
...@@ -86,3 +86,5 @@ select hex(des_decrypt(des_encrypt("hello",4),'password2')); ...@@ -86,3 +86,5 @@ select hex(des_decrypt(des_encrypt("hello",4),'password2'));
select hex(des_decrypt(des_encrypt("hello","hidden"))); select hex(des_decrypt(des_encrypt("hello","hidden")));
explain extended select des_decrypt(des_encrypt("hello",4),'password2'), des_decrypt(des_encrypt("hello","hidden")); explain extended select des_decrypt(des_encrypt("hello",4),'password2'), des_decrypt(des_encrypt("hello","hidden"));
# End of 4.1 tests
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment