mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge next-mr -> next-4284.
mysql-test/t/disabled.def: Restore disabled ssl tests: SSL certificates were updated. Disable sp_sync.test, the test case can't work in next-4284. mysql-test/t/partition_innodb.test: Disable parsing of the test case for Bug#47343, the test can not work in next-4284. mysql-test/t/ps_ddl.test: Update results (CREATE TABLE IF NOT EXISTS takes into account existence of the temporary table).
This commit is contained in:
@ -1061,6 +1061,18 @@ ALTER TABLE t1 CHANGE COLUMN f1 f1_no_real_change TIMESTAMP NULL DEFAULT NULL;
|
||||
--disable_info
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux)
|
||||
--echo # or freezes (win) the server
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a TEXT, id INT, b INT);
|
||||
ALTER TABLE t1 DROP COLUMN a, ADD COLUMN c TEXT FIRST;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
#
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
--source include/have_debug.inc
|
||||
|
||||
call mtr.add_suppression("Out of memory at line .*, 'my_alloc.c'");
|
||||
call mtr.add_suppression("needed .* byte .*k., memory in use: .* bytes .*k");
|
||||
call mtr.add_suppression("Out of memory at line .*, '.*my_alloc.c'");
|
||||
call mtr.add_suppression("needed .* byte (.*k)., memory in use: .* bytes (.*k)");
|
||||
|
||||
CREATE TABLE t1(a CHAR(255));
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
|
@ -35,6 +35,25 @@ insert into t1 values ('NYC Lib','New York');
|
||||
select t2.isbn,city,t1.libname,count(t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city,t1.libname;
|
||||
select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct t1.libname) > 1;
|
||||
select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct concat(t1.libname,'a')) > 1;
|
||||
|
||||
select t2.isbn,city,@bar:=t1.libname,count(distinct t1.libname) as a
|
||||
from t3 left join t1 on t3.libname=t1.libname left join t2
|
||||
on t3.isbn=t2.isbn group by city having count(distinct
|
||||
t1.libname) > 1;
|
||||
#
|
||||
# Wrong result, see bug#49872
|
||||
#
|
||||
SELECT @bar;
|
||||
|
||||
select t2.isbn,city,concat(@bar:=t1.libname),count(distinct t1.libname) as a
|
||||
from t3 left join t1 on t3.libname=t1.libname left join t2
|
||||
on t3.isbn=t2.isbn group by city having count(distinct
|
||||
t1.libname) > 1;
|
||||
#
|
||||
# Wrong result, see bug#49872
|
||||
#
|
||||
SELECT @bar;
|
||||
|
||||
drop table t1, t2, t3;
|
||||
|
||||
#
|
||||
|
@ -725,16 +725,15 @@ drop table t1;
|
||||
# Base vs temporary tables dillema (a.k.a. bug#24508 "Inconsistent
|
||||
# results of CREATE TABLE ... SELECT when temporary table exists").
|
||||
# In this situation we either have to create non-temporary table and
|
||||
# insert data in it or insert data in temporary table without creation
|
||||
# of permanent table. Since currently temporary tables always shadow
|
||||
# permanent tables we adopt second approach.
|
||||
# insert data in it or insert data in temporary table without creation of
|
||||
# permanent table. After patch for Bug#47418, we create the base table and
|
||||
# instert data into it, even though a temporary table exists with the same
|
||||
# name.
|
||||
create temporary table t1 (j int);
|
||||
create table if not exists t1 select 1;
|
||||
select * from t1;
|
||||
drop temporary table t1;
|
||||
--error ER_NO_SUCH_TABLE
|
||||
select * from t1;
|
||||
--error ER_BAD_TABLE_ERROR
|
||||
drop table t1;
|
||||
|
||||
|
||||
|
@ -510,4 +510,21 @@ END |
|
||||
--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
|
||||
DELETE IGNORE FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49552 : sql_buffer_result cause crash + not found records
|
||||
--echo # in multitable delete/subquery
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
SET SESSION SQL_BUFFER_RESULT=1;
|
||||
DELETE t1 FROM (SELECT SUM(a) a FROM t1) x,t1;
|
||||
|
||||
SET SESSION SQL_BUFFER_RESULT=DEFAULT;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -11,11 +11,7 @@
|
||||
##############################################################################
|
||||
kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild.
|
||||
query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically
|
||||
openssl_1 : SSL certificates expired
|
||||
ssl : SSL certificates expired
|
||||
ssl_8k_key : SSL certificates expired
|
||||
ssl_compress : SSL certificates expired
|
||||
ssl_connect : SSL certificates expired
|
||||
sp_sync : Bug#48157 2010-02-06 5.5-m3 demands a differnt solution
|
||||
innodb-autoinc : Bug#49267 2009-12-02 test fails on windows because of different case mode
|
||||
innodb : Bug#49396 2009-12-03 test fails in embedded mode
|
||||
plugin_load : Bug#42144 2009-12-21 alik plugin_load fails
|
||||
|
@ -554,4 +554,14 @@ SELECT count(*) FROM t1 WHERE
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with
|
||||
--echo # fulltext search and row op
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(a CHAR(1),FULLTEXT(a));
|
||||
SELECT 1 FROM t1 WHERE MATCH(a) AGAINST ('') AND ROW(a,a) > ROW(1,1);
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -80,7 +80,7 @@ CREATE TABLE t3 (
|
||||
FULLTEXT KEY betreff (betreff)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=996 ;
|
||||
|
||||
--error 1054
|
||||
--error ER_CANT_USE_OPTION_HERE
|
||||
select a.text, b.id, b.betreff
|
||||
from
|
||||
t2 a inner join t3 b on a.id = b.forum inner join
|
||||
@ -100,7 +100,7 @@ group by
|
||||
order by
|
||||
match(b.betreff) against ('+abc' in boolean mode) desc;
|
||||
|
||||
--error 1054
|
||||
--error ER_CANT_USE_OPTION_HERE
|
||||
select a.text, b.id, b.betreff
|
||||
from
|
||||
t2 a inner join t3 b on a.id = b.forum inner join
|
||||
@ -117,6 +117,7 @@ where
|
||||
order by
|
||||
match(b.betreff) against ('+abc' in boolean mode) desc;
|
||||
|
||||
--error ER_CANT_USE_OPTION_HERE
|
||||
select a.text, b.id, b.betreff
|
||||
from
|
||||
t2 a inner join t3 b on a.id = b.forum inner join
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1 ( number INT NOT NULL, alpha CHAR(6) NOT NULL );
|
||||
@ -111,4 +112,16 @@ EXPLAIN SELECT CONCAT('gui_', t2.a), t1.d FROM t2
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #50096: CONCAT_WS inside procedure returning wrong data
|
||||
--echo #
|
||||
|
||||
CREATE PROCEDURE p1(a varchar(255), b int, c int)
|
||||
SET @query = CONCAT_WS(",", a, b, c);
|
||||
|
||||
CALL p1("abcde", "0", "1234");
|
||||
SELECT @query;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
--echo # End of 5.1 tests
|
||||
|
@ -1390,6 +1390,33 @@ SET TIMESTAMP=@@TIMESTAMP + 10000000;
|
||||
SELECT 'OK' AS TEST_RESULT FROM INFORMATION_SCHEMA.PROCESSLIST WHERE time < 0;
|
||||
SET TIMESTAMP=DEFAULT;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #50276: Security flaw in INFORMATION_SCHEMA.TABLES
|
||||
--echo #
|
||||
CREATE DATABASE db1;
|
||||
USE db1;
|
||||
CREATE TABLE t1 (id INT);
|
||||
CREATE USER nonpriv;
|
||||
USE test;
|
||||
|
||||
connect (nonpriv_con, localhost, nonpriv,,);
|
||||
connection nonpriv_con;
|
||||
--echo # connected as nonpriv
|
||||
--echo # Should return 0
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
USE INFORMATION_SCHEMA;
|
||||
--echo # Should return 0
|
||||
SELECT COUNT(*) FROM TABLES WHERE TABLE_NAME='t1';
|
||||
|
||||
connection default;
|
||||
--echo # connected as root
|
||||
disconnect nonpriv_con;
|
||||
DROP USER nonpriv;
|
||||
DROP TABLE db1.t1;
|
||||
DROP DATABASE db1;
|
||||
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
--echo #
|
||||
|
@ -420,5 +420,10 @@ insert into t1 values ('\0b\0');
|
||||
--exec $MYSQL --xml test -e "select a from t1"
|
||||
drop table t1;
|
||||
|
||||
--echo
|
||||
--echo Bug #47147: mysql client option --skip-column-names does not apply to vertical output
|
||||
--echo
|
||||
--exec $MYSQL --skip-column-names --vertical test -e "select 1 as a"
|
||||
|
||||
--echo End of 5.0 tests
|
||||
--echo
|
||||
--echo End of tests
|
||||
|
@ -71,7 +71,7 @@ select "--- --position --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=1072 $MYSQLD_DATADIR/master-bin.000002
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=1074 $MYSQLD_DATADIR/master-bin.000002
|
||||
|
||||
# These are tests for remote binlog.
|
||||
# They should return the same as previous test.
|
||||
@ -107,7 +107,7 @@ select "--- --position --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=1072 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=1074 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
|
||||
|
||||
|
||||
# Bug#7853 mysqlbinlog does not accept input from stdin
|
||||
|
@ -15,8 +15,8 @@ insert into t1 values (5);
|
||||
|
||||
grant select on test.* to ssl_user1@localhost require SSL;
|
||||
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com";
|
||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
|
||||
|
@ -5,6 +5,8 @@
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
#
|
||||
# BUG#47774, Assertion failure in InnoDB using column list partitioning
|
||||
#
|
||||
@ -344,6 +346,49 @@ CREATE TABLE t1 (a INT) ENGINE=InnoDB
|
||||
PARTITION BY list(a) (PARTITION p1 VALUES IN (1));
|
||||
CREATE INDEX i1 ON t1 (a);
|
||||
DROP TABLE t1;
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
# Before the fix it should show extra file like #sql-2405_2.par
|
||||
--list_files $MYSQLD_DATADIR/test/ *
|
||||
|
||||
--disable_parsing
|
||||
--echo #
|
||||
--echo # Bug#47343: InnoDB fails to clean-up after lock wait timeout on
|
||||
--echo # REORGANIZE PARTITION
|
||||
--echo #
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b DATE NOT NULL,
|
||||
PRIMARY KEY (a, b)
|
||||
) ENGINE=InnoDB
|
||||
PARTITION BY RANGE (a) (
|
||||
PARTITION pMAX VALUES LESS THAN MAXVALUE
|
||||
) ;
|
||||
|
||||
INSERT INTO t1 VALUES (1, '2001-01-01'), (2, '2002-02-02'), (3, '2003-03-03');
|
||||
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
|
||||
connect (con1, localhost, root,,);
|
||||
--echo # Connection con1
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
ALTER TABLE t1 REORGANIZE PARTITION pMAX INTO
|
||||
(PARTITION p3 VALUES LESS THAN (3),
|
||||
PARTITION pMAX VALUES LESS THAN MAXVALUE);
|
||||
SHOW WARNINGS;
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
ALTER TABLE t1 REORGANIZE PARTITION pMAX INTO
|
||||
(PARTITION p3 VALUES LESS THAN (3),
|
||||
PARTITION pMAX VALUES LESS THAN MAXVALUE);
|
||||
SHOW WARNINGS;
|
||||
|
||||
#Contents of the 'test' database directory:
|
||||
--list_files $MYSQLD_DATADIR/test
|
||||
|
||||
disconnect con1;
|
||||
connection default;
|
||||
--echo # Connection default
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
DROP TABLE t1;
|
||||
--enable_parsing
|
||||
|
@ -8,6 +8,166 @@
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
|
||||
--echo #
|
||||
--echo # Bug#49742: Partition Pruning not working correctly for RANGE
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY)
|
||||
PARTITION BY RANGE (a) (
|
||||
PARTITION p0 VALUES LESS THAN (1),
|
||||
PARTITION p1 VALUES LESS THAN (2),
|
||||
PARTITION p2 VALUES LESS THAN (3),
|
||||
PARTITION p3 VALUES LESS THAN (4),
|
||||
PARTITION p4 VALUES LESS THAN (5),
|
||||
PARTITION p5 VALUES LESS THAN (6),
|
||||
PARTITION max VALUES LESS THAN MAXVALUE);
|
||||
|
||||
INSERT INTO t1 VALUES (-1),(0),(1),(2),(3),(4),(5),(6),(7),(8);
|
||||
|
||||
SELECT * FROM t1 WHERE a < 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 1;
|
||||
SELECT * FROM t1 WHERE a < 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 2;
|
||||
SELECT * FROM t1 WHERE a < 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 3;
|
||||
SELECT * FROM t1 WHERE a < 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 4;
|
||||
SELECT * FROM t1 WHERE a < 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 5;
|
||||
SELECT * FROM t1 WHERE a < 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 6;
|
||||
SELECT * FROM t1 WHERE a < 7;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 7;
|
||||
SELECT * FROM t1 WHERE a <= 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 1;
|
||||
SELECT * FROM t1 WHERE a <= 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 2;
|
||||
SELECT * FROM t1 WHERE a <= 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 3;
|
||||
SELECT * FROM t1 WHERE a <= 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 4;
|
||||
SELECT * FROM t1 WHERE a <= 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 5;
|
||||
SELECT * FROM t1 WHERE a <= 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 6;
|
||||
SELECT * FROM t1 WHERE a <= 7;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 7;
|
||||
SELECT * FROM t1 WHERE a = 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 1;
|
||||
SELECT * FROM t1 WHERE a = 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 2;
|
||||
SELECT * FROM t1 WHERE a = 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 3;
|
||||
SELECT * FROM t1 WHERE a = 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 4;
|
||||
SELECT * FROM t1 WHERE a = 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 5;
|
||||
SELECT * FROM t1 WHERE a = 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 6;
|
||||
SELECT * FROM t1 WHERE a = 7;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 7;
|
||||
SELECT * FROM t1 WHERE a >= 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 1;
|
||||
SELECT * FROM t1 WHERE a >= 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 2;
|
||||
SELECT * FROM t1 WHERE a >= 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 3;
|
||||
SELECT * FROM t1 WHERE a >= 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 4;
|
||||
SELECT * FROM t1 WHERE a >= 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 5;
|
||||
SELECT * FROM t1 WHERE a >= 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 6;
|
||||
SELECT * FROM t1 WHERE a >= 7;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 7;
|
||||
SELECT * FROM t1 WHERE a > 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 1;
|
||||
SELECT * FROM t1 WHERE a > 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 2;
|
||||
SELECT * FROM t1 WHERE a > 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 3;
|
||||
SELECT * FROM t1 WHERE a > 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 4;
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 5;
|
||||
SELECT * FROM t1 WHERE a > 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 6;
|
||||
SELECT * FROM t1 WHERE a > 7;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 7;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY)
|
||||
PARTITION BY RANGE (a) (
|
||||
PARTITION p0 VALUES LESS THAN (1),
|
||||
PARTITION p1 VALUES LESS THAN (2),
|
||||
PARTITION p2 VALUES LESS THAN (3),
|
||||
PARTITION p3 VALUES LESS THAN (4),
|
||||
PARTITION p4 VALUES LESS THAN (5),
|
||||
PARTITION max VALUES LESS THAN MAXVALUE);
|
||||
|
||||
INSERT INTO t1 VALUES (-1),(0),(1),(2),(3),(4),(5),(6),(7);
|
||||
|
||||
SELECT * FROM t1 WHERE a < 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 1;
|
||||
SELECT * FROM t1 WHERE a < 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 2;
|
||||
SELECT * FROM t1 WHERE a < 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 3;
|
||||
SELECT * FROM t1 WHERE a < 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 4;
|
||||
SELECT * FROM t1 WHERE a < 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 5;
|
||||
SELECT * FROM t1 WHERE a < 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < 6;
|
||||
SELECT * FROM t1 WHERE a <= 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 1;
|
||||
SELECT * FROM t1 WHERE a <= 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 2;
|
||||
SELECT * FROM t1 WHERE a <= 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 3;
|
||||
SELECT * FROM t1 WHERE a <= 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 4;
|
||||
SELECT * FROM t1 WHERE a <= 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 5;
|
||||
SELECT * FROM t1 WHERE a <= 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= 6;
|
||||
SELECT * FROM t1 WHERE a = 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 1;
|
||||
SELECT * FROM t1 WHERE a = 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 2;
|
||||
SELECT * FROM t1 WHERE a = 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 3;
|
||||
SELECT * FROM t1 WHERE a = 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 4;
|
||||
SELECT * FROM t1 WHERE a = 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 5;
|
||||
SELECT * FROM t1 WHERE a = 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = 6;
|
||||
SELECT * FROM t1 WHERE a >= 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 1;
|
||||
SELECT * FROM t1 WHERE a >= 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 2;
|
||||
SELECT * FROM t1 WHERE a >= 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 3;
|
||||
SELECT * FROM t1 WHERE a >= 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 4;
|
||||
SELECT * FROM t1 WHERE a >= 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 5;
|
||||
SELECT * FROM t1 WHERE a >= 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= 6;
|
||||
SELECT * FROM t1 WHERE a > 1;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 1;
|
||||
SELECT * FROM t1 WHERE a > 2;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 2;
|
||||
SELECT * FROM t1 WHERE a > 3;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 3;
|
||||
SELECT * FROM t1 WHERE a > 4;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 4;
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 5;
|
||||
SELECT * FROM t1 WHERE a > 6;
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > 6;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#20577: Partitions: use of to_days() function leads to selection failures
|
||||
#
|
||||
|
@ -2014,6 +2014,22 @@ deallocate prepare stmt;
|
||||
drop table t1,t2;
|
||||
--echo #
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49570: Assertion failed: !(order->used & map)
|
||||
--echo # on re-execution of prepared statement
|
||||
--echo #
|
||||
CREATE TABLE t1(a INT PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES(0), (1);
|
||||
PREPARE stmt FROM
|
||||
"SELECT 1 FROM t1 JOIN t1 t2 USING(a) GROUP BY t2.a, t1.a";
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
#
|
||||
|
@ -1499,13 +1499,14 @@ call p_verify_reprepare_count(0);
|
||||
drop table t2;
|
||||
# Temporary table with name of table to be created exists
|
||||
create temporary table t2 (a int);
|
||||
# Temporary table and base table are not in the same name space.
|
||||
execute stmt;
|
||||
call p_verify_reprepare_count(0);
|
||||
--error ER_TABLE_EXISTS_ERROR
|
||||
execute stmt;
|
||||
call p_verify_reprepare_count(1);
|
||||
--error ER_TABLE_EXISTS_ERROR
|
||||
execute stmt;
|
||||
call p_verify_reprepare_count(0);
|
||||
drop temporary table t2;
|
||||
--error ER_TABLE_EXISTS_ERROR
|
||||
execute stmt;
|
||||
call p_verify_reprepare_count(0);
|
||||
drop table t2;
|
||||
|
@ -3841,6 +3841,46 @@ EXPLAIN EXTENDED SELECT x.a, y.a, z.a FROM t1 x
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49897: crash in ptr_compare when char(0) NOT NULL
|
||||
--echo # column is used for ORDER BY
|
||||
--echo #
|
||||
SET @old_sort_buffer_size= @@session.sort_buffer_size;
|
||||
SET @@sort_buffer_size= 40000;
|
||||
|
||||
CREATE TABLE t1(a CHAR(0) NOT NULL);
|
||||
--disable_warnings
|
||||
INSERT INTO t1 VALUES (0), (0), (0);
|
||||
--enable_warnings
|
||||
INSERT INTO t1 SELECT t11.a FROM t1 t11, t1 t12;
|
||||
INSERT INTO t1 SELECT t11.a FROM t1 t11, t1 t12;
|
||||
INSERT INTO t1 SELECT t11.a FROM t1 t11, t1 t12;
|
||||
EXPLAIN SELECT a FROM t1 ORDER BY a;
|
||||
--disable_result_log
|
||||
SELECT a FROM t1 ORDER BY a;
|
||||
--enable_result_log
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(a CHAR(0) NOT NULL, b CHAR(0) NOT NULL, c int);
|
||||
--disable_warnings
|
||||
INSERT INTO t1 VALUES (0, 0, 0), (0, 0, 2), (0, 0, 1);
|
||||
--enable_warnings
|
||||
INSERT INTO t1 SELECT t11.a, t11.b, t11.c FROM t1 t11, t1 t12;
|
||||
INSERT INTO t1 SELECT t11.a, t11.b, t11.c FROM t1 t11, t1 t12;
|
||||
INSERT INTO t1 SELECT t11.a, t11.b, t11.c FROM t1 t11, t1 t12;
|
||||
EXPLAIN SELECT a FROM t1 ORDER BY a LIMIT 5;
|
||||
SELECT a FROM t1 ORDER BY a LIMIT 5;
|
||||
EXPLAIN SELECT * FROM t1 ORDER BY a, b LIMIT 5;
|
||||
SELECT * FROM t1 ORDER BY a, b LIMIT 5;
|
||||
EXPLAIN SELECT * FROM t1 ORDER BY a, b, c LIMIT 5;
|
||||
SELECT * FROM t1 ORDER BY a, b, c LIMIT 5;
|
||||
EXPLAIN SELECT * FROM t1 ORDER BY c, a LIMIT 5;
|
||||
SELECT * FROM t1 ORDER BY c, a LIMIT 5;
|
||||
|
||||
SET @@sort_buffer_size= @old_sort_buffer_size;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -8244,6 +8244,25 @@ while ($tab_count)
|
||||
DROP PROCEDURE p1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#47649 crash during CALL procedure
|
||||
#
|
||||
CREATE TABLE t1 ( f1 integer, primary key (f1));
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
CREATE TEMPORARY TABLE t3 LIKE t1;
|
||||
delimiter |;
|
||||
CREATE PROCEDURE p1 () BEGIN SELECT f1 FROM t3 AS A WHERE A.f1 IN ( SELECT f1 FROM t3 ) ;
|
||||
END|
|
||||
delimiter ;|
|
||||
--error ER_CANT_REOPEN_TABLE
|
||||
CALL p1;
|
||||
CREATE VIEW t3 AS SELECT f1 FROM t2 A WHERE A.f1 IN ( SELECT f1 FROM t2 );
|
||||
DROP TABLE t3;
|
||||
CALL p1;
|
||||
CALL p1;
|
||||
DROP PROCEDURE p1;
|
||||
DROP TABLE t1, t2;
|
||||
DROP VIEW t3;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #46629: Item_in_subselect::val_int(): Assertion `0'
|
||||
|
58
mysql-test/t/sp_sync.test
Normal file
58
mysql-test/t/sp_sync.test
Normal file
@ -0,0 +1,58 @@
|
||||
# This test should work in embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--echo Tests of syncronization of stored procedure execution.
|
||||
|
||||
--source include/have_debug_sync.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#48157: crash in Item_field::used_tables
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 AS SELECT 1 AS a, 1 AS b;
|
||||
CREATE TABLE t2 AS SELECT 1 AS a, 1 AS b;
|
||||
|
||||
DELIMITER |;
|
||||
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
UPDATE t1 JOIN t2 USING( a, b ) SET t1.b = 1, t2.b = 1;
|
||||
END|
|
||||
|
||||
DELIMITER ;|
|
||||
|
||||
connect (con1,localhost,root,,);
|
||||
connect (con2,localhost,root,,);
|
||||
|
||||
connection con1;
|
||||
LOCK TABLES t1 WRITE, t2 WRITE;
|
||||
|
||||
connection con2;
|
||||
LET $ID= `select connection_id()`;
|
||||
SET DEBUG_SYNC = 'multi_update_reopen_tables SIGNAL parked WAIT_FOR go';
|
||||
--send CALL p1()
|
||||
|
||||
connection con1;
|
||||
let $wait_condition= SELECT 1 FROM information_schema.processlist WHERE ID = $ID AND
|
||||
state = "Waiting for table";
|
||||
--source include/wait_condition.inc
|
||||
DROP TABLE t1, t2;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR parked';
|
||||
CREATE TABLE t1 AS SELECT 1 AS a, 1 AS b;
|
||||
CREATE TABLE t2 AS SELECT 1 AS a, 1 AS b;
|
||||
SET DEBUG_SYNC = 'now SIGNAL go';
|
||||
|
||||
connection con2;
|
||||
--reap
|
||||
|
||||
disconnect con1;
|
||||
disconnect con2;
|
||||
connection default;
|
||||
|
||||
--echo # Without the DEBUG_SYNC supplied in the same patch as this test in the
|
||||
--echo # code, this test statement will hang.
|
||||
DROP TABLE t1, t2;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
|
@ -3805,4 +3805,19 @@ SELECT 1 FROM t1 GROUP BY
|
||||
(SELECT LAST_INSERT_ID() FROM t1 ORDER BY MIN(a) ASC LIMIT 1);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49512 : subquery with aggregate function crash
|
||||
--echo # subselect_single_select_engine::exec()
|
||||
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES();
|
||||
|
||||
--echo # should not crash
|
||||
SELECT 1 FROM t1 WHERE a <> SOME
|
||||
(
|
||||
SELECT MAX((SELECT a FROM t1 LIMIT 1)) AS d
|
||||
FROM t1,t1 a
|
||||
);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
@ -1062,3 +1062,58 @@ SELECT ( SELECT a UNION SELECT a ) INTO OUTFILE 'union.out.file3' FROM t1;
|
||||
SELECT ( SELECT a UNION SELECT a ) INTO DUMPFILE 'union.out.file4' FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY
|
||||
--echo # <any non-const-function>
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(10), FULLTEXT KEY a (a));
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
CREATE TABLE t2 (b INT);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
|
||||
--echo # Should not crash
|
||||
EXPLAIN EXTENDED
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
|
||||
|
||||
--echo # Should not crash
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12;
|
||||
|
||||
|
||||
--echo # Should not crash
|
||||
--error ER_CANT_USE_OPTION_HERE
|
||||
EXPLAIN EXTENDED
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1
|
||||
ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
|
||||
|
||||
--echo # Should not crash
|
||||
--error ER_CANT_USE_OPTION_HERE
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1
|
||||
ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
|
||||
|
||||
--echo # Should not crash
|
||||
(SELECT * FROM t1) UNION (SELECT * FROM t1)
|
||||
ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE);
|
||||
|
||||
|
||||
--echo # Should not crash
|
||||
EXPLAIN EXTENDED
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1
|
||||
ORDER BY (SELECT a FROM t2 WHERE b = 12);
|
||||
|
||||
--echo # Should not crash
|
||||
--disable_result_log
|
||||
SELECT * FROM t1 UNION SELECT * FROM t1
|
||||
ORDER BY (SELECT a FROM t2 WHERE b = 12);
|
||||
--enable_result_log
|
||||
|
||||
--echo # Should not crash
|
||||
SELECT * FROM t2 UNION SELECT * FROM t2
|
||||
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -293,6 +293,26 @@ SELECT @a, @b;
|
||||
SELECT a, b FROM t1 WHERE a=2 AND b=3 GROUP BY a, b;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#47371: reference by same column name
|
||||
#
|
||||
CREATE TABLE t1 (f1 int(11) default NULL, f2 int(11) default NULL);
|
||||
CREATE TABLE t2 (f1 int(11) default NULL, f2 int(11) default NULL, foo int(11));
|
||||
CREATE TABLE t3 (f1 int(11) default NULL, f2 int(11) default NULL);
|
||||
|
||||
INSERT INTO t1 VALUES(10, 10);
|
||||
INSERT INTO t1 VALUES(10, 10);
|
||||
INSERT INTO t2 VALUES(10, 10, 10);
|
||||
INSERT INTO t2 VALUES(10, 10, 10);
|
||||
INSERT INTO t3 VALUES(10, 10);
|
||||
INSERT INTO t3 VALUES(10, 10);
|
||||
|
||||
SELECT MIN(t2.f1),
|
||||
@bar:= (SELECT MIN(t3.f2) FROM t3 WHERE t3.f2 > foo)
|
||||
FROM t1,t2 WHERE t1.f1 = t2.f1 ORDER BY t2.f1;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user