mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Pull from mysql-5.0-bugteam.
This commit is contained in:
@@ -2380,13 +2380,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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user