mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge trift-lap.fambruehe:/MySQL/M50/mysql-5.0
into trift-lap.fambruehe:/MySQL/M50/work-5.0 mysql-test/mysql-test-run.pl: Auto merged
This commit is contained in:
@ -1325,7 +1325,6 @@ set @a=repeat(' ',20);
|
||||
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'v' at row 1
|
||||
Note 1265 Data truncated for column 'c' at row 1
|
||||
select concat('*',v,'*',c,'*',t,'*') from t1;
|
||||
concat('*',v,'*',c,'*',t,'*')
|
||||
*+ *+*+ *
|
||||
|
@ -34,6 +34,6 @@ END|
|
||||
INSERT INTO t2 VALUES (2),(10+bug23333());
|
||||
SHOW MASTER STATUS;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
# 184136
|
||||
# 184141
|
||||
DROP FUNCTION bug23333;
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -34,12 +34,12 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 362 Query 1 528 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
|
||||
s2 CHAR(50) CHARACTER SET cp932,
|
||||
d DECIMAL(10,2))
|
||||
master-bin.000001 528 Query 1 776 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50),
|
||||
master-bin.000001 528 Query 1 777 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50),
|
||||
IN ins2 CHAR(50) CHARACTER SET cp932,
|
||||
IN ind DECIMAL(10,2))
|
||||
BEGIN
|
||||
INSERT INTO t4 VALUES (ins1, ins2, ind);
|
||||
END
|
||||
master-bin.000001 776 Query 1 987 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
|
||||
master-bin.000001 987 Query 1 1076 use `test`; DROP PROCEDURE bug18293
|
||||
master-bin.000001 1076 Query 1 1155 use `test`; DROP TABLE t4
|
||||
master-bin.000001 777 Query 1 988 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
|
||||
master-bin.000001 988 Query 1 1077 use `test`; DROP PROCEDURE bug18293
|
||||
master-bin.000001 1077 Query 1 1156 use `test`; DROP TABLE t4
|
||||
|
@ -247,4 +247,11 @@ t1 CREATE TABLE `t1` (
|
||||
`c2` text NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=gbk
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gbk,
|
||||
b MEDIUMTEXT CHARACTER SET big5);
|
||||
INSERT INTO t1 VALUES
|
||||
(REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', '');
|
||||
SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
|
||||
SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
|
||||
DROP TABLES t1;
|
||||
End of 5.0 tests
|
||||
|
@ -82,3 +82,10 @@ a
|
||||
1234562
|
||||
x
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (c1 varchar(100), c2 varchar(100));
|
||||
INSERT INTO t1 VALUES ('',''), ('','First'), ('Random','Random');
|
||||
SELECT * FROM t1 WHERE CONCAT(c1,' ',c2) REGEXP 'First.*';
|
||||
c1 c2
|
||||
First
|
||||
DROP TABLE t1;
|
||||
# End of 5.0 tests
|
||||
|
@ -946,4 +946,30 @@ GROUP BY 1
|
||||
d1
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT);
|
||||
INSERT INTO t1 VALUES(1);
|
||||
SELECT GROUP_CONCAT(DISTINCT t2.a) FROM t1 LEFT JOIN t2 ON t2.a = t1.a GROUP BY t1.a;
|
||||
GROUP_CONCAT(DISTINCT t2.a)
|
||||
NULL
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (a INT, KEY(a));
|
||||
CREATE TABLE t2 (b INT);
|
||||
INSERT INTO t1 VALUES (NULL), (8), (2);
|
||||
INSERT INTO t2 VALUES (4), (10);
|
||||
SELECT 1 FROM t1 WHERE t1.a NOT IN
|
||||
(
|
||||
SELECT GROUP_CONCAT(DISTINCT t1.a)
|
||||
FROM t1 WHERE t1.a IN
|
||||
(
|
||||
SELECT b FROM t2
|
||||
)
|
||||
AND NOT t1.a >= (SELECT t1.a FROM t1 LIMIT 1)
|
||||
GROUP BY t1.a
|
||||
);
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests
|
||||
|
@ -256,7 +256,6 @@ set @a=repeat(' ',20);
|
||||
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'v' at row 1
|
||||
Note 1265 Data truncated for column 'c' at row 1
|
||||
select concat('*',v,'*',c,'*',t,'*') from t1;
|
||||
concat('*',v,'*',c,'*',t,'*')
|
||||
*+ *+*+ *
|
||||
|
@ -1901,7 +1901,6 @@ set @a=repeat(' ',20);
|
||||
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'v' at row 1
|
||||
Note 1265 Data truncated for column 'c' at row 1
|
||||
select concat('*',v,'*',c,'*',t,'*') from t1;
|
||||
concat('*',v,'*',c,'*',t,'*')
|
||||
*+ *+*+ *
|
||||
|
45
mysql-test/r/multi_update_tiny_hash.result
Normal file
45
mysql-test/r/multi_update_tiny_hash.result
Normal file
@ -0,0 +1,45 @@
|
||||
drop table if exists t1, t2;
|
||||
#
|
||||
# Bug #36676: multiupdate using LEFT JOIN updates only
|
||||
# first row or fails with an error:
|
||||
# ERROR 1022 (23000): Can't write; duplicate key in table ''
|
||||
#
|
||||
|
||||
#
|
||||
# Multiupdate creates MyISAM temporary table without MEMORY table
|
||||
#
|
||||
CREATE TABLE t1 (ID INT);
|
||||
CREATE TABLE t2 (ID INT,
|
||||
s1 TEXT, s2 TEXT, s3 VARCHAR(10), s4 TEXT, s5 VARCHAR(10));
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
INSERT INTO t2 VALUES (1,'test', 'test', 'test', 'test', 'test'),
|
||||
(2,'test', 'test', 'test', 'test', 'test');
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(ID);
|
||||
ID s1 s2 s3 s4 s5
|
||||
1 test test test test test
|
||||
2 test test test test test
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed';
|
||||
UPDATE t1 JOIN t2 USING(ID) SET s2 = 'changed';
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s3 = 'changed';
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s4 = 'changed', s5 = 'changed';
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(ID);
|
||||
ID s1 s2 s3 s4 s5
|
||||
1 changed changed changed changed changed
|
||||
2 changed changed changed changed changed
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Multiupdate creates temporary MyISAM table from MEMORY table
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (id INT, s1 CHAR(255));
|
||||
INSERT INTO t1 VALUES (0), (0), (0), (0), (0), (0), (0), (0);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
INSERT INTO t2 (SELECT ID, 'a' FROM t1);
|
||||
UPDATE t1 LEFT JOIN t2 USING(id) SET s1 = 'b';
|
||||
SELECT DISTINCT s1 FROM t1 LEFT JOIN t2 USING(id);
|
||||
s1
|
||||
b
|
||||
DROP TABLE t1, t2;
|
||||
# End of 5.0 tests
|
@ -1104,7 +1104,6 @@ set @a=repeat(' ',20);
|
||||
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'v' at row 1
|
||||
Note 1265 Data truncated for column 'c' at row 1
|
||||
select concat('*',v,'*',c,'*',t,'*') from t1;
|
||||
concat('*',v,'*',c,'*',t,'*')
|
||||
*+ *+*+ *
|
||||
|
@ -268,7 +268,7 @@ SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.uniq
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` procedure p1()
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
begin
|
||||
select 1;
|
||||
end
|
||||
|
@ -115,3 +115,39 @@ SET myisam_repair_threads=@@global.myisam_repair_threads;
|
||||
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
# Test with a saved table from 4.1
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 9 Fixed 2 5 10 21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
|
||||
CHECK TABLE t1 FOR UPGRADE;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it!
|
||||
# REPAIR old table USE_FRM should fail
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
t1 repair error Failed reparing incompatible .FRM file
|
||||
# Run REPAIR TABLE to upgrade .frm file
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair warning Number of rows changed from 0 to 2
|
||||
test.t1 repair status OK
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
DROP TABLE t1;
|
||||
|
@ -386,7 +386,7 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # drop database if exists mysqltest1
|
||||
master-bin.000001 # Query 1 # create database mysqltest1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a varchar(100))
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo()
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
|
||||
begin
|
||||
declare b int;
|
||||
set b = 8;
|
||||
@ -396,20 +396,20 @@ end
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values ( NAME_CONST('b',8))
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (unix_timestamp())
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo2()
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo2`()
|
||||
select * from mysqltest1.t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; alter procedure foo2 contains sql
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a int)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; create table t2 like t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo3()
|
||||
deterministic
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo3`()
|
||||
DETERMINISTIC
|
||||
insert into t1 values (15)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` procedure foo4()
|
||||
deterministic
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` PROCEDURE `foo4`()
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t2 values(3);
|
||||
insert into t1 values (5);
|
||||
@ -423,8 +423,8 @@ master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (5)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo4
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo4()
|
||||
deterministic
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo4`()
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t2 values(20),(20);
|
||||
end
|
||||
@ -433,9 +433,8 @@ master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo4
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo2
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo3
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1(x int)
|
||||
returns int
|
||||
deterministic
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t1 values (x);
|
||||
return x+2;
|
||||
@ -444,32 +443,27 @@ master-bin.000001 # Query 1 # use `mysqltest1`; delete t1,t2 from t1,t2
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; SELECT `mysqltest1`.`fn1`(20)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; insert into t2 values(fn1(21))
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1()
|
||||
returns int
|
||||
no sql
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`() RETURNS int(11)
|
||||
NO SQL
|
||||
begin
|
||||
return unix_timestamp();
|
||||
end
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values(fn1())
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` function fn2()
|
||||
returns int
|
||||
no sql
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` FUNCTION `fn2`() RETURNS int(11)
|
||||
NO SQL
|
||||
begin
|
||||
return unix_timestamp();
|
||||
end
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn3()
|
||||
returns int
|
||||
not deterministic
|
||||
reads sql data
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS int(11)
|
||||
READS SQL DATA
|
||||
begin
|
||||
return 0;
|
||||
end
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` function fn1(x int)
|
||||
returns int
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
|
||||
begin
|
||||
insert into t2 values(x),(x);
|
||||
return 10;
|
||||
@ -482,15 +476,15 @@ master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (1)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop trigger trg
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; insert into t1 values (1)
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` procedure foo()
|
||||
not deterministic
|
||||
reads sql data
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
|
||||
READS SQL DATA
|
||||
select * from t1
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop procedure foo
|
||||
master-bin.000001 # Query 1 # use `mysqltest1`; drop function fn1
|
||||
master-bin.000001 # Query 1 # drop database mysqltest1
|
||||
master-bin.000001 # Query 1 # drop user "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` function f1() returns int reads sql data
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
READS SQL DATA
|
||||
begin
|
||||
declare var integer;
|
||||
declare c cursor for select a from v1;
|
||||
@ -499,19 +493,21 @@ fetch c into var;
|
||||
close c;
|
||||
return var;
|
||||
end
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 as a
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `a`
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 (a) values (f1())
|
||||
master-bin.000001 # Query 1 # use `test`; drop view v1
|
||||
master-bin.000001 # Query 1 # use `test`; drop function f1
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t1
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(col VARCHAR(10))
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE p1(arg VARCHAR(10))
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
|
||||
INSERT INTO t1 VALUES(arg)
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'))
|
||||
master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE p1() SET @a = 1
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION f1() RETURNS INT RETURN 0
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
SET @a = 1
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
RETURN 0
|
||||
master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
|
||||
master-bin.000001 # Query 1 # use `test`; DROP FUNCTION f1
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
@ -520,9 +516,10 @@ master-bin.000001 # Query 1 # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query 1 # create database mysqltest
|
||||
master-bin.000001 # Query 1 # create database mysqltest2
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; create table t ( t integer )
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` procedure mysqltest.test() begin end
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltest`.`test`()
|
||||
begin end
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; insert into t values ( 1 )
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` function f1 () returns int
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
begin
|
||||
insert into t values (1);
|
||||
return 0;
|
||||
@ -532,3 +529,407 @@ set global log_bin_trust_function_creators=0;
|
||||
set global log_bin_trust_function_creators=0;
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
use test;
|
||||
/*!50001 create procedure `mysqltestbug36570_p1`() */
|
||||
begin
|
||||
select 1;
|
||||
end|
|
||||
use mysql|
|
||||
create procedure test.` mysqltestbug36570_p2`(/*!50001 a int*/)`label`:
|
||||
begin
|
||||
select a;
|
||||
end|
|
||||
/*!50001 create function test.mysqltestbug36570_f1() */
|
||||
returns int
|
||||
/*!50001 deterministic */
|
||||
begin
|
||||
return 3;
|
||||
end|
|
||||
use test|
|
||||
show procedure status like '%mysqltestbug36570%';
|
||||
Db Name Type Definer Modified Created Security_type Comment
|
||||
test mysqltestbug36570_p2 PROCEDURE root@localhost t t DEFINER
|
||||
test mysqltestbug36570_p1 PROCEDURE root@localhost t t DEFINER
|
||||
show create procedure ` mysqltestbug36570_p2`;
|
||||
Procedure sql_mode Create Procedure
|
||||
mysqltestbug36570_p2 CREATE DEFINER=`root`@`localhost` PROCEDURE ` mysqltestbug36570_p2`(/*!50001 a int*/)
|
||||
`label`:
|
||||
begin
|
||||
select a;
|
||||
end
|
||||
show procedure status like '%mysqltestbug36570%';
|
||||
Db Name Type Definer Modified Created Security_type Comment
|
||||
test mysqltestbug36570_p2 PROCEDURE root@localhost t t DEFINER
|
||||
test mysqltestbug36570_p1 PROCEDURE root@localhost t t DEFINER
|
||||
show create procedure ` mysqltestbug36570_p2`;
|
||||
Procedure sql_mode Create Procedure
|
||||
mysqltestbug36570_p2 CREATE DEFINER=`root`@`localhost` PROCEDURE ` mysqltestbug36570_p2`(/*!50001 a int*/)
|
||||
`label`:
|
||||
begin
|
||||
select a;
|
||||
end
|
||||
call ` mysqltestbug36570_p2`(42);
|
||||
a
|
||||
42
|
||||
show function status like '%mysqltestbug36570%';
|
||||
Db Name Type Definer Modified Created Security_type Comment
|
||||
test mysqltestbug36570_f1 FUNCTION root@localhost t t DEFINER
|
||||
flush logs;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
drop database if exists mysqltest1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create database mysqltest1
|
||||
/*!*/;
|
||||
use mysqltest1/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t1 (a varchar(100))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
|
||||
begin
|
||||
declare b int;
|
||||
set b = 8;
|
||||
insert into t1 values (b);
|
||||
insert into t1 values (unix_timestamp());
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values ( NAME_CONST('b',8))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values (unix_timestamp())
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo2`()
|
||||
select * from mysqltest1.t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
alter procedure foo2 contains sql
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop table t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t1 (a int)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t2 like t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo3`()
|
||||
DETERMINISTIC
|
||||
insert into t1 values (15)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` PROCEDURE `foo4`()
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t2 values(3);
|
||||
insert into t1 values (5);
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t2 values(3)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values (15)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t2 values(3)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
alter procedure foo4 sql security invoker
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t2 values(3)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values (5)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t2
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
alter table t2 add unique (a)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo4
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo4`()
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t2 values(20),(20);
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t2 values(20),(20)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo4
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo2
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo3
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
|
||||
DETERMINISTIC
|
||||
begin
|
||||
insert into t1 values (x);
|
||||
return x+2;
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete t1,t2 from t1,t2
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SELECT `mysqltest1`.`fn1`(20)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t2 values(fn1(21))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop function fn1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`() RETURNS int(11)
|
||||
NO SQL
|
||||
begin
|
||||
return unix_timestamp();
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values(fn1())
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` FUNCTION `fn2`() RETURNS int(11)
|
||||
NO SQL
|
||||
begin
|
||||
return unix_timestamp();
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS int(11)
|
||||
READS SQL DATA
|
||||
begin
|
||||
return 0;
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t2
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
alter table t2 add unique (a)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop function fn1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `fn1`(x int) RETURNS int(11)
|
||||
begin
|
||||
insert into t2 values(x),(x);
|
||||
return 10;
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SELECT `mysqltest1`.`fn1`(100)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SELECT `mysqltest1`.`fn1`(20)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values (1)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
delete from t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop trigger trg
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 values (1)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
|
||||
READS SQL DATA
|
||||
select * from t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop procedure foo
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop function fn1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop database mysqltest1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop user "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
use test/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
READS SQL DATA
|
||||
begin
|
||||
declare var integer;
|
||||
declare c cursor for select a from v1;
|
||||
open c;
|
||||
fetch c into var;
|
||||
close c;
|
||||
return var;
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `a`
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t1 (a int)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t1 (a) values (f1())
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop view v1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop function f1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
DROP TABLE IF EXISTS t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE TABLE t1(col VARCHAR(10))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
|
||||
INSERT INTO t1 VALUES(arg)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'))
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
DROP PROCEDURE p1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
SET @a = 1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
RETURN 0
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
DROP PROCEDURE p1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
DROP FUNCTION f1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop table t1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop database if exists mysqltest
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop database if exists mysqltest2
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create database mysqltest
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create database mysqltest2
|
||||
/*!*/;
|
||||
use mysqltest2/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
create table t ( t integer )
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltest`.`test`()
|
||||
begin end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
insert into t values ( 1 )
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
begin
|
||||
insert into t values (1);
|
||||
return 0;
|
||||
end
|
||||
/*!*/;
|
||||
use mysqltest/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
SELECT `mysqltest2`.`f1`()
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop database mysqltest
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
drop database mysqltest2
|
||||
/*!*/;
|
||||
use test/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `mysqltestbug36570_p1`()
|
||||
begin
|
||||
select 1;
|
||||
end
|
||||
/*!*/;
|
||||
use mysql/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`.` mysqltestbug36570_p2`(/*!50001 a int*/)
|
||||
`label`:
|
||||
begin
|
||||
select a;
|
||||
end
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `test`.`mysqltestbug36570_f1`() RETURNS int(11)
|
||||
DETERMINISTIC
|
||||
begin
|
||||
return 3;
|
||||
end
|
||||
/*!*/;
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
use test;
|
||||
drop procedure mysqltestbug36570_p1;
|
||||
drop procedure ` mysqltestbug36570_p2`;
|
||||
drop function mysqltestbug36570_f1;
|
||||
|
@ -47,11 +47,11 @@ show binlog events limit 1,100;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
||||
slave-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
|
||||
slave-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a from t1
|
||||
slave-bin.000001 # Query 1 # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`a` AS `a` from `test`.`t1`
|
||||
slave-bin.000001 # Query 1 # use `test`; insert into v1 values (2)
|
||||
slave-bin.000001 # Query 1 # use `test`; update v1 set a=3 where a=1
|
||||
slave-bin.000001 # Query 1 # use `test`; delete from v1 where a=2
|
||||
slave-bin.000001 # Query 1 # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a as b from t1
|
||||
slave-bin.000001 # Query 1 # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`a` AS `b` from `test`.`t1`
|
||||
slave-bin.000001 # Query 1 # use `test`; drop view v1
|
||||
slave-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
|
||||
@ -112,4 +112,18 @@ CREATE VIEW v1 AS SELECT * FROM t1;
|
||||
ERROR 42S01: Table 'v1' already exists
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
# create view as output from mysqldump 10.11 (5.0.62)
|
||||
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
||||
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
||||
/*!50001 VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) */
|
||||
/*!50002 WITH CASCADED CHECK OPTION */;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) WITH CASCADED CHECK OPTION
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) WITH CASCADED CHECK OPTION
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -934,8 +934,6 @@ NULL NULL
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6));
|
||||
INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello ');
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'col1' at row 3
|
||||
INSERT INTO t1 (col1) VALUES ('hellobob');
|
||||
ERROR 22001: Data too long for column 'col1' at row 1
|
||||
INSERT INTO t1 (col2) VALUES ('hellobob');
|
||||
|
@ -4374,4 +4374,26 @@ a4 f3 a6
|
||||
1 NULL NULL
|
||||
2 NULL NULL
|
||||
DROP TABLE t1, t2, t3, t4;
|
||||
create table t1 (a float(5,4) zerofill);
|
||||
create table t2 (a float(5,4),b float(2,0));
|
||||
select t1.a from t1 where
|
||||
t1.a= (select b from t2 limit 1) and not
|
||||
t1.a= (select a from t2 limit 1) ;
|
||||
a
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from `test`.`t1` where <in_optimizer>(1,<exists>(select 1 AS `1` from `test`.`t1` group by `test`.`t1`.`a` having (<cache>(1) = <ref_null_helper>(1))))
|
||||
EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using where; Using temporary; Using filesort
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from `test`.`t1` where <in_optimizer>(1,<exists>(select 1 AS `1` from `test`.`t1` where (`test`.`t1`.`a` > 3) group by `test`.`t1`.`a` having (<cache>(1) = <ref_null_helper>(1))))
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
|
@ -770,4 +770,13 @@ SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2) FROM t1 GROUP BY t1.a;
|
||||
ROW(1, 2) IN (SELECT t1.a, 2 FROM t2)
|
||||
1
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0);
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests
|
||||
|
@ -125,7 +125,6 @@ create table t1 (c char(2), vc varchar(2));
|
||||
insert into t1 values(0x4120, 0x4120);
|
||||
insert into t1 values(0x412020, 0x412020);
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c' at row 1
|
||||
Note 1265 Data truncated for column 'vc' at row 1
|
||||
drop table t1;
|
||||
set @old_sql_mode= @@sql_mode, sql_mode= 'traditional';
|
||||
|
@ -946,4 +946,11 @@ SELECT ROUND(20061108085411.000002);
|
||||
ROUND(20061108085411.000002)
|
||||
20061108085411
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
create table t1(`c` decimal(9,2));
|
||||
insert into t1 values (300),(201.11);
|
||||
select max(case 1 when 1 then c else null end) from t1 group by c;
|
||||
max(case 1 when 1 then c else null end)
|
||||
201.11
|
||||
300.00
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
|
@ -305,7 +305,6 @@ set @q = repeat('q', 256);
|
||||
set sql_mode = '';
|
||||
insert into t1 values(@c, @c, @c);
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c_char' at row 1
|
||||
Note 1265 Data truncated for column 'c_varchar' at row 1
|
||||
Note 1265 Data truncated for column 'c_tinytext' at row 1
|
||||
insert into t2 values(@c);
|
||||
@ -322,7 +321,6 @@ Warning 1265 Data truncated for column 'c_tinyblob' at row 1
|
||||
set sql_mode = 'traditional';
|
||||
insert into t1 values(@c, @c, @c);
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c_char' at row 1
|
||||
Note 1265 Data truncated for column 'c_varchar' at row 1
|
||||
Note 1265 Data truncated for column 'c_tinytext' at row 1
|
||||
insert into t2 values(@c);
|
||||
|
BIN
mysql-test/std_data/bug36055.MYD
Normal file
BIN
mysql-test/std_data/bug36055.MYD
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug36055.MYI
Normal file
BIN
mysql-test/std_data/bug36055.MYI
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug36055.frm
Normal file
BIN
mysql-test/std_data/bug36055.frm
Normal file
Binary file not shown.
@ -53,4 +53,18 @@ alter table t1 change c1 c1 mediumtext character set gbk not null;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#35993: severe memory corruption and crash with multibyte conversion
|
||||
#
|
||||
|
||||
CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gbk,
|
||||
b MEDIUMTEXT CHARACTER SET big5);
|
||||
INSERT INTO t1 VALUES
|
||||
(REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', '');
|
||||
|
||||
SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
|
||||
SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
|
||||
|
||||
DROP TABLES t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -68,3 +68,13 @@ create table t1(f1 varchar(6)) charset=utf8;
|
||||
insert into t1 values ("123456");
|
||||
select concat(f1, 2) a from t1 union select 'x' a from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #36488: regexp returns false matches, concatenating with previous rows
|
||||
#
|
||||
CREATE TABLE t1 (c1 varchar(100), c2 varchar(100));
|
||||
INSERT INTO t1 VALUES ('',''), ('','First'), ('Random','Random');
|
||||
SELECT * FROM t1 WHERE CONCAT(c1,' ',c2) REGEXP 'First.*';
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 5.0 tests
|
||||
|
@ -657,4 +657,40 @@ SELECT s1.d1 FROM
|
||||
) AS s1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #35298: GROUP_CONCAT with DISTINCT can crash the server
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT);
|
||||
|
||||
INSERT INTO t1 VALUES(1);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT t2.a) FROM t1 LEFT JOIN t2 ON t2.a = t1.a GROUP BY t1.a;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #36024: group_concat distinct in subquery crash
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT, KEY(a));
|
||||
CREATE TABLE t2 (b INT);
|
||||
|
||||
INSERT INTO t1 VALUES (NULL), (8), (2);
|
||||
INSERT INTO t2 VALUES (4), (10);
|
||||
|
||||
SELECT 1 FROM t1 WHERE t1.a NOT IN
|
||||
(
|
||||
SELECT GROUP_CONCAT(DISTINCT t1.a)
|
||||
FROM t1 WHERE t1.a IN
|
||||
(
|
||||
SELECT b FROM t2
|
||||
)
|
||||
AND NOT t1.a >= (SELECT t1.a FROM t1 LIMIT 1)
|
||||
GROUP BY t1.a
|
||||
);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
1
mysql-test/t/multi_update_tiny_hash-master.opt
Normal file
1
mysql-test/t/multi_update_tiny_hash-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--set-variable=max_heap_table_size=16384
|
61
mysql-test/t/multi_update_tiny_hash.test
Normal file
61
mysql-test/t/multi_update_tiny_hash.test
Normal file
@ -0,0 +1,61 @@
|
||||
#
|
||||
# Test of update statement that uses many tables,
|
||||
# --max_heap_table_size=1
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
--echo #
|
||||
--echo # Bug #36676: multiupdate using LEFT JOIN updates only
|
||||
--echo # first row or fails with an error:
|
||||
--echo # ERROR 1022 (23000): Can't write; duplicate key in table ''
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Multiupdate creates MyISAM temporary table without MEMORY table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (ID INT);
|
||||
CREATE TABLE t2 (ID INT,
|
||||
s1 TEXT, s2 TEXT, s3 VARCHAR(10), s4 TEXT, s5 VARCHAR(10));
|
||||
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
INSERT INTO t2 VALUES (1,'test', 'test', 'test', 'test', 'test'),
|
||||
(2,'test', 'test', 'test', 'test', 'test');
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(ID);
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed';
|
||||
UPDATE t1 JOIN t2 USING(ID) SET s2 = 'changed';
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s3 = 'changed';
|
||||
UPDATE t1 LEFT JOIN t2 USING(ID) SET s4 = 'changed', s5 = 'changed';
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(ID);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # Multiupdate creates temporary MyISAM table from MEMORY table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (id INT, s1 CHAR(255));
|
||||
|
||||
# insert [1..64] into table `t1`
|
||||
INSERT INTO t1 VALUES (0), (0), (0), (0), (0), (0), (0), (0);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
INSERT INTO t1 (SELECT 0 FROM t1);
|
||||
|
||||
INSERT INTO t2 (SELECT ID, 'a' FROM t1);
|
||||
|
||||
UPDATE t1 LEFT JOIN t2 USING(id) SET s1 = 'b';
|
||||
|
||||
SELECT DISTINCT s1 FROM t1 LEFT JOIN t2 USING(id);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
||||
--echo # End of 5.0 tests
|
@ -113,3 +113,33 @@ SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
# BUG#36055 - mysql_upgrade doesn't really 'upgrade' tables
|
||||
#
|
||||
|
||||
--echo # Test with a saved table from 4.1
|
||||
--copy_file std_data/bug36055.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm
|
||||
--copy_file std_data/bug36055.MYD $MYSQLTEST_VARDIR/master-data/test/t1.MYD
|
||||
--copy_file std_data/bug36055.MYI $MYSQLTEST_VARDIR/master-data/test/t1.MYI
|
||||
|
||||
--replace_column 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo # Run CHECK TABLE, it should indicate table need a REPAIR TABLE
|
||||
CHECK TABLE t1 FOR UPGRADE;
|
||||
|
||||
--echo # REPAIR old table USE_FRM should fail
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
|
||||
--echo # Run REPAIR TABLE to upgrade .frm file
|
||||
REPAIR TABLE t1;
|
||||
--replace_column 12 # 13 #
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
SELECT * FROM t1;
|
||||
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -577,3 +577,55 @@ set global log_bin_trust_function_creators=0;
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
# Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on slave
|
||||
#
|
||||
connection master;
|
||||
use test;
|
||||
delimiter |;
|
||||
|
||||
/*!50001 create procedure `mysqltestbug36570_p1`() */
|
||||
begin
|
||||
select 1;
|
||||
end|
|
||||
|
||||
use mysql|
|
||||
create procedure test.` mysqltestbug36570_p2`(/*!50001 a int*/)`label`:
|
||||
begin
|
||||
select a;
|
||||
end|
|
||||
|
||||
/*!50001 create function test.mysqltestbug36570_f1() */
|
||||
returns int
|
||||
/*!50001 deterministic */
|
||||
begin
|
||||
return 3;
|
||||
end|
|
||||
use test|
|
||||
|
||||
delimiter ;|
|
||||
|
||||
--replace_column 5 t 6 t
|
||||
show procedure status like '%mysqltestbug36570%';
|
||||
show create procedure ` mysqltestbug36570_p2`;
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
|
||||
--replace_column 5 t 6 t
|
||||
show procedure status like '%mysqltestbug36570%';
|
||||
show create procedure ` mysqltestbug36570_p2`;
|
||||
call ` mysqltestbug36570_p2`(42);
|
||||
|
||||
--replace_column 5 t 6 t
|
||||
show function status like '%mysqltestbug36570%';
|
||||
|
||||
connection master;
|
||||
flush logs;
|
||||
--replace_regex s/$MYSQL_TEST_DIR/MYSQL_TEST_DIR/ s/TIMESTAMP=[0-9]*/TIMESTAMP=t/
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
|
||||
use test;
|
||||
drop procedure mysqltestbug36570_p1;
|
||||
drop procedure ` mysqltestbug36570_p2`;
|
||||
drop function mysqltestbug36570_f1;
|
||||
|
@ -161,4 +161,22 @@ DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
# Bug#32575 Parse error of stmt with extended comments on slave side
|
||||
# Verify that 'CREATE VIEW' with comments is properly logged to binlog
|
||||
connection master;
|
||||
CREATE TABLE t1 (a INT);
|
||||
--echo # create view as output from mysqldump 10.11 (5.0.62)
|
||||
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
||||
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
||||
/*!50001 VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) */
|
||||
/*!50002 WITH CASCADED CHECK OPTION */;
|
||||
SHOW CREATE VIEW v1;
|
||||
sync_slave_with_master;
|
||||
SHOW CREATE VIEW v1;
|
||||
connection master;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -3259,5 +3259,28 @@ GROUP BY a4;
|
||||
|
||||
DROP TABLE t1, t2, t3, t4;
|
||||
|
||||
#
|
||||
# BUG#36139 "float, zerofill, crash with subquery"
|
||||
#
|
||||
create table t1 (a float(5,4) zerofill);
|
||||
create table t2 (a float(5,4),b float(2,0));
|
||||
|
||||
select t1.a from t1 where
|
||||
t1.a= (select b from t2 limit 1) and not
|
||||
t1.a= (select a from t2 limit 1) ;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Bug #36011: Server crash with explain extended on query with dependent
|
||||
# subqueries
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a);
|
||||
EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
|
@ -605,4 +605,17 @@ SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2) FROM t1 GROUP BY t1.a;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #36005: crash in subselect with single row
|
||||
# (subselect_single_select_engine::exec)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
|
||||
SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -521,4 +521,12 @@ SELECT ROUND(20061108085411.000002);
|
||||
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
|
||||
#
|
||||
# Bug#36023: Incorrect handling of zero length caused an assertion to fail.
|
||||
#
|
||||
create table t1(`c` decimal(9,2));
|
||||
insert into t1 values (300),(201.11);
|
||||
select max(case 1 when 1 then c else null end) from t1 group by c;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user