mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge from Tim's 5.0.76-release tree to make 5.0.77 .
This commit is contained in:
@ -1508,15 +1508,21 @@ sub executable_setup_ndb () {
|
||||
"$glob_basedir/storage/ndb",
|
||||
"$glob_basedir/bin");
|
||||
|
||||
# Some might be found in sbin, not bin.
|
||||
my $daemon_path= mtr_file_exists("$glob_basedir/ndb",
|
||||
"$glob_basedir/storage/ndb",
|
||||
"$glob_basedir/sbin",
|
||||
"$glob_basedir/bin");
|
||||
|
||||
$exe_ndbd=
|
||||
mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd",
|
||||
"$ndb_path/ndbd");
|
||||
"$daemon_path/ndbd");
|
||||
$exe_ndb_mgm=
|
||||
mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm",
|
||||
"$ndb_path/ndb_mgm");
|
||||
$exe_ndb_mgmd=
|
||||
mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd",
|
||||
"$ndb_path/ndb_mgmd");
|
||||
"$daemon_path/ndb_mgmd");
|
||||
$exe_ndb_waiter=
|
||||
mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter",
|
||||
"$ndb_path/ndb_waiter");
|
||||
@ -2380,13 +2386,7 @@ sub setup_vardir() {
|
||||
{
|
||||
# on windows, copy all files from std_data into var/std_data_ln
|
||||
mkpath("$opt_vardir/std_data_ln");
|
||||
opendir(DIR, "$glob_mysql_test_dir/std_data")
|
||||
or mtr_error("Can't find the std_data directory: $!");
|
||||
for(readdir(DIR)) {
|
||||
next if -d "$glob_mysql_test_dir/std_data/$_";
|
||||
copy("$glob_mysql_test_dir/std_data/$_", "$opt_vardir/std_data_ln/$_");
|
||||
}
|
||||
closedir(DIR);
|
||||
mtr_copy_dir("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data_ln");
|
||||
}
|
||||
|
||||
# Remove old log files
|
||||
|
@ -915,3 +915,19 @@ check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (a tinytext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` text
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
create table t1 (a mediumtext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
|
@ -21,6 +21,7 @@ flush logs;
|
||||
*** must be a warning master-bin.000001 was not found ***
|
||||
Warnings:
|
||||
Warning 1477 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
||||
Warning 1477 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
||||
*** must show one record, of the active binlog, left in the index file after PURGE ***
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
|
@ -5071,4 +5071,19 @@ select * from t1;
|
||||
a
|
||||
foo
|
||||
drop table t1;
|
||||
create table bug39616_1(id int NOT NULL, d varchar(50) NOT NULL) ENGINE=csv;
|
||||
select * from bug39616_1;
|
||||
id d
|
||||
1 integer sans quotes
|
||||
1 string sans quotes
|
||||
1 string end quotes"
|
||||
1 quotes"in between" strings
|
||||
1 Integer with quote and string with no quote
|
||||
1 escape sequence
|
||||
" \
|
||||
\a within quotes
|
||||
drop table bug39616_1;
|
||||
create table bug39616_1(id int NOT NULL, d varchar(50) NOT NULL) ENGINE=csv;
|
||||
select * from bug39616_1;
|
||||
id d
|
||||
drop table bug39616_1;
|
||||
|
@ -1111,4 +1111,57 @@ set names latin1;
|
||||
select hex(char(0x41 using ucs2));
|
||||
hex(char(0x41 using ucs2))
|
||||
0041
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
CHARSET(DAYNAME(19700101))
|
||||
ucs2
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
CHARSET(MONTHNAME(19700101))
|
||||
ucs2
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
LOWER(DAYNAME(19700101))
|
||||
thursday
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
LOWER(MONTHNAME(19700101))
|
||||
january
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
UPPER(DAYNAME(19700101))
|
||||
THURSDAY
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
UPPER(MONTHNAME(19700101))
|
||||
JANUARY
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
HEX(MONTHNAME(19700101))
|
||||
004A0061006E0075006100720079
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
HEX(DAYNAME(19700101))
|
||||
00540068007500720073006400610079
|
||||
SET LC_TIME_NAMES=ru_RU;
|
||||
SET NAMES utf8;
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
CHARSET(DAYNAME(19700101))
|
||||
ucs2
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
CHARSET(MONTHNAME(19700101))
|
||||
ucs2
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
LOWER(DAYNAME(19700101))
|
||||
четверг
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
LOWER(MONTHNAME(19700101))
|
||||
января
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
UPPER(DAYNAME(19700101))
|
||||
ЧЕТВЕРГ
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
UPPER(MONTHNAME(19700101))
|
||||
ЯНВАРЯ
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
HEX(MONTHNAME(19700101))
|
||||
042F043D043204300440044F
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
HEX(DAYNAME(19700101))
|
||||
0427043504420432043504400433
|
||||
SET character_set_connection=latin1;
|
||||
End of 5.0 tests
|
||||
|
@ -107,3 +107,51 @@ X X X X X X X X X
|
||||
X X X X X X X X X Range checked for each record (index map: 0xFFFFFFFFFF)
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT);
|
||||
CREATE TABLE t2(a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
|
||||
2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
2 DERIVED t2 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1`
|
||||
EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
|
||||
2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
2 DERIVED t2 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1`
|
||||
prepare s1 from
|
||||
'EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1';
|
||||
execute s1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
|
||||
2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
2 DERIVED t2 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1`
|
||||
prepare s1 from
|
||||
'EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1';
|
||||
execute s1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
|
||||
2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
2 DERIVED t2 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1`
|
||||
execute s1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
|
||||
2 DERIVED t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
2 DERIVED t2 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1`
|
||||
DROP TABLE t1,t2;
|
||||
|
@ -497,3 +497,12 @@ WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref b b 5 const 4 Using where
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a CHAR(10));
|
||||
INSERT INTO t1 VALUES('aaa15');
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE)
|
||||
1
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE)
|
||||
2
|
||||
DROP TABLE t1;
|
||||
|
@ -176,4 +176,13 @@ IF((ROUND(t1.a,2)=1), 2,
|
||||
IF((ROUND(t1.a,2)=1), 2,
|
||||
IF((R
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c LONGTEXT);
|
||||
INSERT INTO t1 VALUES(1), (2), (3), (4), ('12345678901234567890');
|
||||
SELECT * FROM (SELECT MAX(IF(1, CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
MAX(IF(1, CAST(c AS UNSIGNED), 0))
|
||||
12345678901234567890
|
||||
SELECT * FROM (SELECT MAX(IFNULL(CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
MAX(IFNULL(CAST(c AS UNSIGNED), 0))
|
||||
12345678901234567890
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -717,8 +717,6 @@ insert(_latin2'abcd',2,3,_latin2'ef'),
|
||||
replace(_latin2'abcd',_latin2'b',_latin2'B'),
|
||||
encode('abcd','ab')
|
||||
;
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'format(130,10)' at row 1
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@ -727,7 +725,7 @@ t1 CREATE TABLE `t1` (
|
||||
`conv(130,16,10)` varchar(64) default NULL,
|
||||
`hex(130)` varchar(6) NOT NULL default '',
|
||||
`char(130)` varbinary(4) NOT NULL default '',
|
||||
`format(130,10)` varchar(4) NOT NULL default '',
|
||||
`format(130,10)` varchar(16) NOT NULL default '',
|
||||
`left(_latin2'a',1)` varchar(1) character set latin2 NOT NULL default '',
|
||||
`right(_latin2'a',1)` varchar(1) character set latin2 NOT NULL default '',
|
||||
`lcase(_latin2'a')` varchar(1) character set latin2 NOT NULL default '',
|
||||
@ -2175,4 +2173,12 @@ SELECT HEX(c1) from v1;
|
||||
HEX(c1)
|
||||
414243
|
||||
DROP VIEW v1;
|
||||
create table t1(a float);
|
||||
insert into t1 values (1.33);
|
||||
select format(a, 2) from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def format(a, 2) 253 20 4 Y 0 2 8
|
||||
format(a, 2)
|
||||
1.33
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
|
@ -592,6 +592,21 @@ unix_timestamp('1970-01-01 03:00:01')
|
||||
select unix_timestamp('2038-01-19 07:14:07');
|
||||
unix_timestamp('2038-01-19 07:14:07')
|
||||
0
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
CHARSET(DAYNAME(19700101))
|
||||
latin1
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
CHARSET(MONTHNAME(19700101))
|
||||
latin1
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
LOWER(DAYNAME(19700101))
|
||||
thursday
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
LOWER(MONTHNAME(19700101))
|
||||
january
|
||||
SELECT COERCIBILITY(MONTHNAME('1970-01-01')),COERCIBILITY(DAYNAME('1970-01-01'));
|
||||
COERCIBILITY(MONTHNAME('1970-01-01')) COERCIBILITY(DAYNAME('1970-01-01'))
|
||||
4 4
|
||||
CREATE TABLE t1 (datetime datetime, timestamp timestamp, date date, time time);
|
||||
INSERT INTO t1 values ("2001-01-02 03:04:05", "2002-01-02 03:04:05", "2003-01-02", "06:07:08");
|
||||
SELECT * from t1;
|
||||
|
@ -1151,4 +1151,9 @@ drop user 'greg'@'localhost';
|
||||
drop view v1;
|
||||
drop table test;
|
||||
drop function test_function;
|
||||
SELECT CURRENT_USER();
|
||||
CURRENT_USER()
|
||||
root@localhost
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("");
|
||||
End of 5.0 tests
|
||||
|
@ -527,4 +527,32 @@ b a
|
||||
y
|
||||
z
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# BUG#40974: Incorrect query results when using clause evaluated using range check
|
||||
#
|
||||
create table t0 (a int);
|
||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
create table t2(a int, b int);
|
||||
insert into t2 values (1,1), (2, 1000);
|
||||
create table t3 (a int, b int, filler char(100), key(a), key(b));
|
||||
insert into t3 select 1000, 1000,'filler' from t0 A, t0 B, t0 C;
|
||||
insert into t3 values (1,1,'data');
|
||||
insert into t3 values (1,1,'data');
|
||||
The plan should be ALL/ALL/ALL(Range checked for each record (index map: 0x3)
|
||||
explain select * from t1
|
||||
where exists (select 1 from t2, t3
|
||||
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DEPENDENT SUBQUERY t3 ALL a,b NULL NULL NULL 1002 Range checked for each record (index map: 0x3)
|
||||
select * from t1
|
||||
where exists (select 1 from t2, t3
|
||||
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
|
||||
a
|
||||
1
|
||||
2
|
||||
drop table t0, t1, t2, t3;
|
||||
End of 5.0 tests
|
||||
|
@ -180,4 +180,10 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
1
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
delimiter
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
End of 5.0 tests
|
||||
|
@ -23,39 +23,9 @@ SET @@global.max_allowed_packet=4096;
|
||||
SET @@global.net_buffer_length=4096;
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
CREATE TABLe `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
|
||||
show slave status;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_Port MASTER_MYPORT
|
||||
Connect_Retry 1
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 2138
|
||||
Relay_Log_File #
|
||||
Relay_Log_Pos #
|
||||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running #
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
Replicate_Ignore_Table
|
||||
Replicate_Wild_Do_Table
|
||||
Replicate_Wild_Ignore_Table
|
||||
Last_Errno 0
|
||||
Last_Error
|
||||
Skip_Counter 0
|
||||
Exec_Master_Log_Pos 2138
|
||||
Relay_Log_Space #
|
||||
Until_Condition None
|
||||
Until_Log_File
|
||||
Until_Log_Pos 0
|
||||
Master_SSL_Allowed No
|
||||
Master_SSL_CA_File
|
||||
Master_SSL_CA_Path
|
||||
Master_SSL_Cert
|
||||
Master_SSL_Cipher
|
||||
Master_SSL_Key
|
||||
Seconds_Behind_Master #
|
||||
Slave_IO_Running = No (expect No)
|
||||
==== clean up ====
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
@ -4355,4 +4355,37 @@ Handler_read_prev 0
|
||||
Handler_read_rnd 0
|
||||
Handler_read_rnd_next 6
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (f1 bigint(20) NOT NULL default '0',
|
||||
f2 int(11) NOT NULL default '0',
|
||||
f3 bigint(20) NOT NULL default '0',
|
||||
f4 varchar(255) NOT NULL default '',
|
||||
PRIMARY KEY (f1),
|
||||
KEY key1 (f4),
|
||||
KEY key2 (f2));
|
||||
CREATE TABLE t2 (f1 int(11) NOT NULL default '0',
|
||||
f2 enum('A1','A2','A3') NOT NULL default 'A1',
|
||||
f3 int(11) NOT NULL default '0',
|
||||
PRIMARY KEY (f1),
|
||||
KEY key1 (f3));
|
||||
CREATE TABLE t3 (f1 bigint(20) NOT NULL default '0',
|
||||
f2 datetime NOT NULL default '1980-01-01 00:00:00',
|
||||
PRIMARY KEY (f1));
|
||||
insert into t1 values (1, 1, 1, 'abc');
|
||||
insert into t1 values (2, 1, 2, 'def');
|
||||
insert into t1 values (3, 1, 2, 'def');
|
||||
insert into t2 values (1, 'A1', 1);
|
||||
insert into t3 values (1, '1980-01-01');
|
||||
SELECT a.f3, cr.f4, count(*) count
|
||||
FROM t2 a
|
||||
STRAIGHT_JOIN t1 cr ON cr.f2 = a.f1
|
||||
LEFT JOIN
|
||||
(t1 cr2
|
||||
JOIN t3 ae2 ON cr2.f3 = ae2.f1
|
||||
) ON a.f1 = cr2.f2 AND ae2.f2 < now() - INTERVAL 7 DAY AND
|
||||
cr.f4 = cr2.f4
|
||||
GROUP BY a.f3, cr.f4;
|
||||
f3 f4 count
|
||||
1 abc 1
|
||||
1 def 2
|
||||
drop table t1, t2, t3;
|
||||
End of 5.0 tests
|
||||
|
@ -91,3 +91,28 @@ SHOW SESSION STATUS LIKE 'Last_query_cost';
|
||||
Variable_name Value
|
||||
Last_query_cost 4.805836
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
CREATE FUNCTION f1() RETURNS INTEGER
|
||||
BEGIN
|
||||
DECLARE foo INTEGER;
|
||||
DECLARE bar INTEGER;
|
||||
SET foo=1;
|
||||
SET bar=2;
|
||||
RETURN foo;
|
||||
END $$
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
SELECT 1;
|
||||
END $$
|
||||
SELECT f1();
|
||||
f1()
|
||||
1
|
||||
CALL p1();
|
||||
1
|
||||
1
|
||||
SELECT 9;
|
||||
9
|
||||
9
|
||||
DROP PROCEDURE p1;
|
||||
DROP FUNCTION f1;
|
||||
|
@ -1348,6 +1348,13 @@ t1 CREATE TABLE `t1` (
|
||||
`i` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='123456789*123456789*123456789*123456789*123456789*123456789*'
|
||||
drop table t1;
|
||||
CREATE TABLE t3 (f1 INT) COMMENT 'כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן';
|
||||
SHOW CREATE TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`f1` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן'
|
||||
DROP TABLE t3;
|
||||
set sql_mode= 'traditional';
|
||||
create table t1(col1 tinyint, col2 tinyint unsigned,
|
||||
col3 smallint, col4 smallint unsigned,
|
||||
|
@ -708,4 +708,45 @@ HEX(b1) HEX(b2) i2
|
||||
1 0 100
|
||||
1 0 200
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b'10',
|
||||
f2 bit(14) NOT NULL default b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` bit(2) NOT NULL default b'10',
|
||||
`f2` bit(14) NOT NULL default b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
ERROR 42000: Invalid default value for 'f1'
|
||||
create table t1bit7 (a1 bit(7) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(7)) engine=MyISAM;
|
||||
insert into t1bit7 values (b'1100000');
|
||||
insert into t1bit7 values (b'1100001');
|
||||
insert into t1bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100001');
|
||||
insert into t2bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100110');
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
bin(a1)
|
||||
1100001
|
||||
1100010
|
||||
drop table t1bit7, t2bit7;
|
||||
create table t1bit7 (a1 bit(15) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(15)) engine=MyISAM;
|
||||
insert into t1bit7 values (b'110000011111111');
|
||||
insert into t1bit7 values (b'110000111111111');
|
||||
insert into t1bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110000111111111');
|
||||
insert into t2bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110011011111111');
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
bin(a1)
|
||||
110000111111111
|
||||
110001011111111
|
||||
drop table t1bit7, t2bit7;
|
||||
End of 5.0 tests
|
||||
|
@ -392,4 +392,13 @@ f1 + 0e0
|
||||
1.0000000150475e+30
|
||||
-1.0000000150475e+30
|
||||
drop table t1;
|
||||
create table t1(d double, u bigint unsigned);
|
||||
insert into t1(d) values (9.22337203685479e18),
|
||||
(1.84e19);
|
||||
update t1 set u = d;
|
||||
select u from t1;
|
||||
u
|
||||
9223372036854790144
|
||||
18400000000000000000
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
|
@ -696,3 +696,16 @@ unlock tables;
|
||||
select * from t1;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#31291 ALTER TABLE CONVERT TO CHARACTER SET does not change some data types
|
||||
#
|
||||
create table t1 (a tinytext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
create table t1 (a mediumtext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
@ -1460,4 +1460,47 @@ insert into t1 values();
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #39616 Missing quotes from .CSV crashes server
|
||||
#
|
||||
# Editing the .CSV file and leaving out quotes from around an integer field
|
||||
# crashes the server.
|
||||
#
|
||||
|
||||
#
|
||||
# Test for the integers and strings enclosed in quotes, not enclosed in quotes,
|
||||
# \X characters.
|
||||
#
|
||||
create table bug39616_1(id int NOT NULL, d varchar(50) NOT NULL) ENGINE=csv;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug39616_1.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/bug39616_1.CSV
|
||||
1,"integer sans quotes"
|
||||
1,string sans quotes
|
||||
1,string end quotes"
|
||||
1,quotes"in between" strings
|
||||
"1",Integer with quote and string with no quote
|
||||
1,"escape sequence \n \" \\ \r \a within quotes"
|
||||
EOF
|
||||
|
||||
select * from bug39616_1;
|
||||
|
||||
drop table bug39616_1;
|
||||
|
||||
#
|
||||
# Test for he case when a field begins with a quote, but does not end in a
|
||||
# quote.
|
||||
# Note: This results in an empty set.
|
||||
#
|
||||
create table bug39616_1(id int NOT NULL, d varchar(50) NOT NULL) ENGINE=csv;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/test/bug39616_1.CSV
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/test/bug39616_1.CSV
|
||||
1,"string only at the beginning quotes
|
||||
EOF
|
||||
|
||||
select * from bug39616_1;
|
||||
|
||||
drop table bug39616_1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -685,4 +685,29 @@ set names latin1;
|
||||
#
|
||||
select hex(char(0x41 using ucs2));
|
||||
|
||||
#
|
||||
# Bug#37575: UCASE fails on monthname
|
||||
#
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
SET LC_TIME_NAMES=ru_RU;
|
||||
SET NAMES utf8;
|
||||
SET character_set_connection=ucs2;
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
SELECT UPPER(DAYNAME(19700101));
|
||||
SELECT UPPER(MONTHNAME(19700101));
|
||||
SELECT HEX(MONTHNAME(19700101));
|
||||
SELECT HEX(DAYNAME(19700101));
|
||||
SET character_set_connection=latin1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -94,4 +94,33 @@ EXPLAIN SELECT 1 FROM
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #34773: query with explain extended and derived table / other table
|
||||
# crashes server
|
||||
#
|
||||
|
||||
CREATE TABLE t1(a INT);
|
||||
CREATE TABLE t2(a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
|
||||
EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1;
|
||||
|
||||
EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1;
|
||||
|
||||
prepare s1 from
|
||||
'EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1';
|
||||
execute s1;
|
||||
|
||||
prepare s1 from
|
||||
'EXPLAIN EXTENDED SELECT 1
|
||||
FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1';
|
||||
execute s1;
|
||||
execute s1;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
# End of 5.0 tests.
|
||||
|
@ -423,3 +423,12 @@ EXPLAIN SELECT * FROM t1 FORCE INDEX(b)
|
||||
WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# BUG#37245 - Full text search problem
|
||||
#
|
||||
CREATE TABLE t1(a CHAR(10));
|
||||
INSERT INTO t1 VALUES('aaa15');
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
@ -150,4 +150,18 @@ FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #40761: Assert on sum func on IF(..., CAST(longtext AS UNSIGNED), signed)
|
||||
# (was: LEFT JOIN on inline view crashes server)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c LONGTEXT);
|
||||
INSERT INTO t1 VALUES(1), (2), (3), (4), ('12345678901234567890');
|
||||
|
||||
SELECT * FROM (SELECT MAX(IF(1, CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
SELECT * FROM (SELECT MAX(IFNULL(CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1149,4 +1149,14 @@ CREATE VIEW v1 AS SELECT CHAR(0x414243) as c1;
|
||||
SELECT HEX(c1) from v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
#
|
||||
# Bug #35558 Wrong server metadata blows up the client
|
||||
#
|
||||
create table t1(a float);
|
||||
insert into t1 values (1.33);
|
||||
--enable_metadata
|
||||
select format(a, 2) from t1;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -304,6 +304,15 @@ select unix_timestamp('1970-01-01 03:00:01');
|
||||
# check bad date, close to the boundary (we cut them off in the very end)
|
||||
select unix_timestamp('2038-01-19 07:14:07');
|
||||
|
||||
#
|
||||
# Bug #28759: DAYNAME() and MONTHNAME() return binary string
|
||||
#
|
||||
|
||||
SELECT CHARSET(DAYNAME(19700101));
|
||||
SELECT CHARSET(MONTHNAME(19700101));
|
||||
SELECT LOWER(DAYNAME(19700101));
|
||||
SELECT LOWER(MONTHNAME(19700101));
|
||||
SELECT COERCIBILITY(MONTHNAME('1970-01-01')),COERCIBILITY(DAYNAME('1970-01-01'));
|
||||
|
||||
#
|
||||
# Test types from + INTERVAL
|
||||
|
@ -1175,4 +1175,11 @@ drop view v1;
|
||||
drop table test;
|
||||
drop function test_function;
|
||||
|
||||
#
|
||||
# Bug#41456 SET PASSWORD hates CURRENT_USER()
|
||||
#
|
||||
SELECT CURRENT_USER();
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("");
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -477,4 +477,30 @@ SELECT b,a from t1 WHERE (b!='c' AND b!='f' && b!='h') OR
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#40974: Incorrect query results when using clause evaluated using range check
|
||||
--echo #
|
||||
create table t0 (a int);
|
||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
create table t2(a int, b int);
|
||||
insert into t2 values (1,1), (2, 1000);
|
||||
create table t3 (a int, b int, filler char(100), key(a), key(b));
|
||||
|
||||
insert into t3 select 1000, 1000,'filler' from t0 A, t0 B, t0 C;
|
||||
insert into t3 values (1,1,'data');
|
||||
insert into t3 values (1,1,'data');
|
||||
-- echo The plan should be ALL/ALL/ALL(Range checked for each record (index map: 0x3)
|
||||
explain select * from t1
|
||||
where exists (select 1 from t2, t3
|
||||
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
|
||||
|
||||
select * from t1
|
||||
where exists (select 1 from t2, t3
|
||||
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
|
||||
|
||||
drop table t0, t1, t2, t3;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -290,4 +290,23 @@ EOF
|
||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
|
||||
|
||||
#
|
||||
# Bug #33812: mysql client incorrectly parsing DELIMITER
|
||||
#
|
||||
# The space and ; after delimiter are important
|
||||
--exec $MYSQL -e "select 1 delimiter ;"
|
||||
|
||||
#
|
||||
# Bug #38158: mysql client regression, can't read dump files
|
||||
#
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/bug38158.sql
|
||||
-- Testing
|
||||
--
|
||||
delimiter ||
|
||||
select 2 ||
|
||||
EOF
|
||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
|
||||
--exec $MYSQL -c < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug38158.sql;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -73,16 +73,26 @@ disconnect master;
|
||||
connect (master, localhost, root);
|
||||
connection master;
|
||||
|
||||
CREATE TABLe `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
|
||||
sync_slave_with_master;
|
||||
|
||||
connection master;
|
||||
|
||||
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
|
||||
|
||||
# The slave I/O thread must stop after trying to read the above event
|
||||
connection slave;
|
||||
--source include/wait_for_slave_io_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
||||
# import is only the 11th column Slave_IO_Running
|
||||
--replace_column 1 # 8 # 9 # 12 # 23 # 33 #
|
||||
query_vertical show slave status;
|
||||
--source include/wait_for_slave_io_to_stop.inc
|
||||
let $slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
|
||||
--echo Slave_IO_Running = $slave_io_running (expect No)
|
||||
|
||||
|
||||
--echo ==== clean up ====
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
# slave is stopped
|
||||
connection slave;
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of tests
|
||||
|
@ -3701,4 +3701,40 @@ SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
|
||||
SHOW STATUS LIKE 'Handler_read%';
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug#40953 SELECT query throws "ERROR 1062 (23000): Duplicate entry..." error
|
||||
#
|
||||
CREATE TABLE t1 (f1 bigint(20) NOT NULL default '0',
|
||||
f2 int(11) NOT NULL default '0',
|
||||
f3 bigint(20) NOT NULL default '0',
|
||||
f4 varchar(255) NOT NULL default '',
|
||||
PRIMARY KEY (f1),
|
||||
KEY key1 (f4),
|
||||
KEY key2 (f2));
|
||||
CREATE TABLE t2 (f1 int(11) NOT NULL default '0',
|
||||
f2 enum('A1','A2','A3') NOT NULL default 'A1',
|
||||
f3 int(11) NOT NULL default '0',
|
||||
PRIMARY KEY (f1),
|
||||
KEY key1 (f3));
|
||||
CREATE TABLE t3 (f1 bigint(20) NOT NULL default '0',
|
||||
f2 datetime NOT NULL default '1980-01-01 00:00:00',
|
||||
PRIMARY KEY (f1));
|
||||
|
||||
insert into t1 values (1, 1, 1, 'abc');
|
||||
insert into t1 values (2, 1, 2, 'def');
|
||||
insert into t1 values (3, 1, 2, 'def');
|
||||
insert into t2 values (1, 'A1', 1);
|
||||
insert into t3 values (1, '1980-01-01');
|
||||
|
||||
SELECT a.f3, cr.f4, count(*) count
|
||||
FROM t2 a
|
||||
STRAIGHT_JOIN t1 cr ON cr.f2 = a.f1
|
||||
LEFT JOIN
|
||||
(t1 cr2
|
||||
JOIN t3 ae2 ON cr2.f3 = ae2.f1
|
||||
) ON a.f1 = cr2.f2 AND ae2.f2 < now() - INTERVAL 7 DAY AND
|
||||
cr.f4 = cr2.f4
|
||||
GROUP BY a.f3, cr.f4;
|
||||
|
||||
drop table t1, t2, t3;
|
||||
--echo End of 5.0 tests
|
||||
|
@ -171,4 +171,40 @@ SHOW SESSION STATUS LIKE 'Last_query_cost';
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#41131 "Questions" fails to increment - ignores statements instead stored procs
|
||||
#
|
||||
connect (con1,localhost,root,,);
|
||||
connection con1;
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
--enable_warnings
|
||||
DELIMITER $$;
|
||||
CREATE FUNCTION f1() RETURNS INTEGER
|
||||
BEGIN
|
||||
DECLARE foo INTEGER;
|
||||
DECLARE bar INTEGER;
|
||||
SET foo=1;
|
||||
SET bar=2;
|
||||
RETURN foo;
|
||||
END $$
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
SELECT 1;
|
||||
END $$
|
||||
DELIMITER ;$$
|
||||
let $org_queries= `SHOW STATUS LIKE 'Queries'`;
|
||||
SELECT f1();
|
||||
CALL p1();
|
||||
let $new_queries= `SHOW STATUS LIKE 'Queries'`;
|
||||
--disable_log
|
||||
let $diff= `SELECT SUBSTRING('$new_queries',9)-SUBSTRING('$org_queries',9)`;
|
||||
--enable_log
|
||||
eval SELECT $diff;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
DROP PROCEDURE p1;
|
||||
DROP FUNCTION f1;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
@ -1199,6 +1199,15 @@ comment '123456789*123456789*123456789*123456789*123456789*123456789*';
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #39591: Crash if table comment is longer than 62 characters
|
||||
#
|
||||
|
||||
#60 chars, 120 (+1) bytes (UTF-8 with 2-byte chars)
|
||||
CREATE TABLE t3 (f1 INT) COMMENT 'כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן';
|
||||
SHOW CREATE TABLE t3;
|
||||
DROP TABLE t3;
|
||||
|
||||
#
|
||||
# Bug #26359: Strings becoming truncated and converted to numbers under STRICT mode
|
||||
#
|
||||
|
@ -352,4 +352,49 @@ SELECT HEX(b1), HEX(b2), i2 FROM t2
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #35796 SHOW CREATE TABLE and default value for BIT field
|
||||
#
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b'10',
|
||||
f2 bit(14) NOT NULL default b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--error ER_INVALID_DEFAULT
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
|
||||
|
||||
#
|
||||
# Bug#31399 Wrong query result when doing join buffering over BIT fields
|
||||
#
|
||||
create table t1bit7 (a1 bit(7) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(7)) engine=MyISAM;
|
||||
|
||||
insert into t1bit7 values (b'1100000');
|
||||
insert into t1bit7 values (b'1100001');
|
||||
insert into t1bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100001');
|
||||
insert into t2bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100110');
|
||||
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
drop table t1bit7, t2bit7;
|
||||
|
||||
create table t1bit7 (a1 bit(15) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(15)) engine=MyISAM;
|
||||
|
||||
insert into t1bit7 values (b'110000011111111');
|
||||
insert into t1bit7 values (b'110000111111111');
|
||||
insert into t1bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110000111111111');
|
||||
insert into t2bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110011011111111');
|
||||
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
drop table t1bit7, t2bit7;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -252,4 +252,19 @@ insert into t1 values (2e30), (-2e30);
|
||||
select f1 + 0e0 from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #27483: Casting 'scientific notation type' to 'unsigned bigint' fails on
|
||||
# windows.
|
||||
#
|
||||
|
||||
create table t1(d double, u bigint unsigned);
|
||||
|
||||
insert into t1(d) values (9.22337203685479e18),
|
||||
(1.84e19);
|
||||
|
||||
update t1 set u = d;
|
||||
select u from t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user