mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge gleb.loc:/home/uchum/work/bk/5.0
into gleb.loc:/home/uchum/work/bk/5.0-opt
This commit is contained in:
@ -130,3 +130,21 @@ t
|
||||
2005-01-01 08:00:00
|
||||
drop table t1, t2;
|
||||
set global time_zone= @my_time_zone;
|
||||
End of 4.1 tests
|
||||
CREATE TABLE t1 (a INT, b TIMESTAMP);
|
||||
INSERT INTO t1 VALUES (1, NOW());
|
||||
SET @@session.time_zone='Japan';
|
||||
UPDATE t1 SET b= '1970-01-01 08:59:59' WHERE a= 1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value adjusted for column 'b' at row 1
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 0000-00-00 00:00:00
|
||||
SET @@session.time_zone='Japan';
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 0000-00-00 00:00:00
|
||||
SET @@session.time_zone = default;
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
End of 5.0 tests
|
||||
|
@ -3995,4 +3995,14 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE f1 index inx inx 10 NULL 7 Using where; Using index
|
||||
1 SIMPLE f2 ref inx inx 5 test.f1.b 1 Using where; Using index
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c1 INT, c2 INT);
|
||||
INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
|
||||
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2)))))))))))))))))))))))))))))))) > 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
31 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
32 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) > 0;
|
||||
ERROR HY000: Too high level of nesting for select
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -618,4 +618,28 @@ bit_field int_field
|
||||
2
|
||||
handler t1 close;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (b BIT(2), a VARCHAR(5));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a CHAR(5), b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, 1), (3, 2), (0, 3), (3, 4);
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -14,6 +14,22 @@ connection slave;
|
||||
reset slave;
|
||||
start slave io_thread;
|
||||
# Give the I/O thread time to block.
|
||||
let $run= 1;
|
||||
let $counter= 300;
|
||||
while ($run)
|
||||
{
|
||||
let $io_state= query_get_value("SHOW SLAVE STATUS", Slave_IO_State, 1);
|
||||
if (`SELECT '$io_state' = 'Waiting for the slave SQL thread to free enough relay log space'`){
|
||||
let $run= 0;
|
||||
}
|
||||
sleep 0.1;
|
||||
if (!$counter){
|
||||
--echo "Failed while waiting for slave IO thread block"
|
||||
SHOW SLAVE STATUS;
|
||||
exit;
|
||||
}
|
||||
dec $counter;
|
||||
}
|
||||
sleep 2;
|
||||
# A bug caused the I/O thread to refuse stopping.
|
||||
stop slave io_thread;
|
||||
|
@ -126,8 +126,33 @@ connection master;
|
||||
drop table t1, t2;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
# Restore original timezone
|
||||
connection master;
|
||||
set global time_zone= @my_time_zone;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
# Bug #29536: timestamp inconsistent in replication around 1970
|
||||
#
|
||||
connection master;
|
||||
|
||||
CREATE TABLE t1 (a INT, b TIMESTAMP);
|
||||
INSERT INTO t1 VALUES (1, NOW());
|
||||
|
||||
SET @@session.time_zone='Japan';
|
||||
UPDATE t1 SET b= '1970-01-01 08:59:59' WHERE a= 1;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
sync_slave_with_master;
|
||||
SET @@session.time_zone='Japan';
|
||||
# must procdure the same result as the SELECT on the master
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
SET @@session.time_zone = default;
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -3370,4 +3370,34 @@ EXPLAIN SELECT COUNT(*) FROM t1 f1 INNER JOIN t1 f2
|
||||
WHERE 1 AND f1.b NOT IN (100,2232,3343,51111);
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #27352: Incorrect result of nested selects instead of error reporting
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c1 INT, c2 INT);
|
||||
INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
|
||||
|
||||
let $n= 31;
|
||||
let $q= COUNT(c2);
|
||||
while ($n)
|
||||
{
|
||||
let $q= (SELECT $q);
|
||||
dec $n;
|
||||
}
|
||||
--disable_warnings
|
||||
eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0;
|
||||
--enable_warnings
|
||||
|
||||
let $n= 64;
|
||||
let $q= COUNT(c2);
|
||||
while ($n)
|
||||
{
|
||||
let $q= (SELECT $q);
|
||||
dec $n;
|
||||
}
|
||||
--error ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT
|
||||
eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -272,4 +272,23 @@ handler t1 read a=(1);
|
||||
handler t1 close;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #30219: GROUP BY a column of the BIT type
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (b BIT(2), a VARCHAR(5));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a CHAR(5), b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a INT, b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, 1), (3, 2), (0, 3), (3, 4);
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user