memory_storedproc_10.result

来自「这个文件是windows mysql源码」· RESULT 代码 · 共 405 行

RESULT
405
字号
--source suite/funcs_1/storedproc/load_sp_tb.inc----------------------------------------------------------------------------------source suite/funcs_1/storedproc/cleanup_sp_tb.inc--------------------------------------------------------------------------------DROP DATABASE IF EXISTS db_storedproc;DROP DATABASE IF EXISTS db_storedproc_1;CREATE DATABASE db_storedproc;CREATE DATABASE db_storedproc_1;USE db_storedproc;create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t1;create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t2;create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t3.txt' into table t3;create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t4;USE db_storedproc_1;create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t6;USE db_storedproc;create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t7.txt' into table t7;Warnings:Warning	1265	Data truncated for column 'f3' at row 1Warning	1265	Data truncated for column 'f3' at row 2Warning	1265	Data truncated for column 'f3' at row 3Warning	1265	Data truncated for column 'f3' at row 4Warning	1265	Data truncated for column 'f3' at row 5Warning	1265	Data truncated for column 'f3' at row 6Warning	1265	Data truncated for column 'f3' at row 7Warning	1265	Data truncated for column 'f3' at row 8Warning	1265	Data truncated for column 'f3' at row 9Warning	1265	Data truncated for column 'f3' at row 10create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t7.txt' into table t8;Warnings:Warning	1265	Data truncated for column 'f3' at row 1Warning	1265	Data truncated for column 'f3' at row 2Warning	1265	Data truncated for column 'f3' at row 3Warning	1265	Data truncated for column 'f3' at row 4Warning	1265	Data truncated for column 'f3' at row 5Warning	1265	Data truncated for column 'f3' at row 6Warning	1265	Data truncated for column 'f3' at row 7Warning	1265	Data truncated for column 'f3' at row 8Warning	1265	Data truncated for column 'f3' at row 9Warning	1265	Data truncated for column 'f3' at row 10create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t9.txt' into table t9;create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t10;create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)engine = <engine_to_be_tested>;load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/t4.txt' into table t11;Section 3.1.10 - CALL checks:--------------------------------------------------------------------------------USE db_storedproc;Testcase 3.1.10.2 + 3.1.10.5:-----------------------------2. Ensure that a procedure cannot be called if the appropriate privileges do notexist.5. Ensure that a function cannot be executed if the appropriate privileges donot exist.--------------------------------------------------------------------------------DROP PROCEDURE IF EXISTS sp31102;DROP FUNCTION  IF EXISTS fn31105;create user 'user_1'@'localhost';create user 'user_2'@'localhost';GRANT CREATE ROUTINE ON db_storedproc.* TO 'user_1'@'localhost';GRANT SELECT         ON db_storedproc.* TO 'user_2'@'localhost';FLUSH PRIVILEGES;connect(localhost,user_1,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);	user_1@localhost	db_storedprocCREATE PROCEDURE sp31102 () SQL SECURITY INVOKERBEGINSELECT * FROM db_storedproc.t1 WHERE f4=-5000 LIMIT 1;END//CREATE FUNCTION fn31105(n INT) RETURNS INTBEGINDECLARE res INT;SET res = n * n;RETURN res;END//connect(localhost,user_2,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);	user_2@localhost	db_storedprocCALL sp31102();ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.sp31102'SELECT fn31105( 9 );ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.fn31105'connection default;USE db_storedproc;	root@localhost	db_storedprocCALL sp31102();f1	f2	f3	f4	f5	f6a`	a`	1000-01-01	-5000	a`	-5000SELECT fn31105( 9 );fn31105( 9 )81GRANT EXECUTE ON db_storedproc.* TO 'user_2'@'localhost';FLUSH PRIVILEGES;connect(localhost,user_2,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);	user_2@localhost	db_storedprocCALL sp31102();f1	f2	f3	f4	f5	f6a`	a`	1000-01-01	-5000	a`	-5000SELECT fn31105( 9 );fn31105( 9 )81connection default;USE db_storedproc;	root@localhost	db_storedprocREVOKE EXECUTE ON db_storedproc.* FROM 'user_2'@'localhost';FLUSH PRIVILEGES;CALL sp31102();f1	f2	f3	f4	f5	f6a`	a`	1000-01-01	-5000	a`	-5000SELECT fn31105( 9 );fn31105( 9 )81connect(localhost,user_2,,db_storedproc,MYSQL_PORT,MYSQL_SOCK);	user_2@localhost	db_storedprocCALL sp31102();ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.sp31102'SELECT fn31105( 9 );ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.fn31105'USE db_storedproc;	root@localhost	db_storedprocDROP PROCEDURE sp31102;DROP FUNCTION  fn31105;DROP USER 'user_1'@'localhost';DROP USER 'user_2'@'localhost';Testcase 3.1.10.3:------------------Ensure that a function can never be called.--------------------------------------------------------------------------------DROP FUNCTION IF EXISTS fn1;CREATE FUNCTION fn1(a int) returns intBEGINset @b = 0.9 * a;return @b;END//CALL fn1();ERROR 42000: PROCEDURE db_storedproc.fn1 does not existDROP FUNCTION fn1;Testcase 3.1.10.6:------------------Ensure that a procedure can never be executed.--------------------------------------------------------------------------------DROP PROCEDURE IF EXISTS sp1;DROP FUNCTION IF EXISTS sp1;CREATE PROCEDURE sp1()BEGINSELECT * from t10;END//SELECT sp1();ERROR 42000: FUNCTION db_storedproc.sp1 does not existDROP PROCEDURE sp1;Testcase 3.1.10.7:------------------Ensure that the ROW_COUNT() SQL function always returns the correct number ofrows affected by the execution of a stored procedure.--------------------------------------------------------------------------------DROP PROCEDURE IF EXISTS sp_ins_1;DROP PROCEDURE IF EXISTS sp_ins_3;DROP PROCEDURE IF EXISTS sp_upd;DROP PROCEDURE IF EXISTS sp_ins_upd;DROP PROCEDURE IF EXISTS sp_del;DROP PROCEDURE IF EXISTS sp_with_rowcount;CREATE TABLE temp(f1 CHAR(20),f2 CHAR(25),f3 DATE,f4 INT,f5 CHAR(25),f6 INT);INSERT INTO temp SELECT * FROM t10;CREATE PROCEDURE sp_ins_1()BEGININSERT INTO temp VALUES ('abc', 'abc', '20051003', 100, 'uvw', 1000);END//CREATE PROCEDURE sp_ins_3()BEGININSERT INTO temp VALUES  ('abc', 'xyz', '19490523',   100, 'uvw', 1000);INSERT INTO temp VALUES  ('abc', 'xyz', '1989-11-09', 100, 'uvw', 1000);INSERT INTO temp VALUES  ('abc', 'xyz', '2005-10-24', 100, 'uvw', 1000);END//CREATE PROCEDURE sp_upd()BEGINUPDATE temp SET temp.f1 = 'updated' WHERE temp.f1 ='abc';END//CREATE PROCEDURE sp_ins_upd()BEGINBEGININSERT INTO temp VALUES  ('qwe', 'abc', '1989-11-09', 100, 'uvw', 1000);INSERT INTO temp VALUES  ('qwe', 'xyz', '1998-03-26', 100, 'uvw', 1000);INSERT INTO temp VALUES  ('qwe', 'abc', '2000-11-09', 100, 'uvw', 1000);INSERT INTO temp VALUES  ('qwe', 'abc', '2005-11-07', 100, 'uvw', 1000);END;SELECT COUNT( f1 ), f1 FROM temp GROUP BY f1;UPDATE temp SET temp.f1 = 'updated_2' WHERE temp.f1 ='qwe' AND temp.f2 = 'abc';END//CREATE PROCEDURE sp_del()BEGINDELETE FROM temp WHERE temp.f1 ='qwe' OR temp.f1 = 'updated_2';END//CREATE PROCEDURE sp_with_rowcount()BEGINBEGININSERT INTO temp VALUES  ('qwe', 'abc', '1989-11-09', 100, 'uvw', 1000),('qwe', 'xyz', '1998-03-26', 100, 'uvw', 1000),('qwe', 'abc', '2000-11-09', 100, 'uvw', 1000),('qwe', 'xyz', '2005-11-07', 100, 'uvw', 1000);END;SELECT row_count() AS 'row_count() after insert';SELECT row_count() AS 'row_count() after select row_count()';SELECT f1,f2,f3 FROM temp ORDER BY f1,f2,f3;UPDATE temp SET temp.f1 = 'updated_2' WHERE temp.f2 = 'abc';SELECT row_count() AS 'row_count() after update';SELECT f1,f2,f3 FROM temp ORDER BY f1,f2,f3;DELETE FROM temp WHERE temp.f1 = 'updated_2';SELECT row_count() AS 'row_count() after delete';END//CALL sp_ins_1();SELECT row_count();row_count()1SELECT * FROM temp;f1	f2	f3	f4	f5	f6a^aaaaaaaa	a^aaaaaaaa	1000-01-09	-4992	a^aaaaaaaa	-4992a_aaaaaaaaa	a_aaaaaaaaa	1000-01-10	-4991	a_aaaaaaaaa	-4991a`	a`	1000-01-01	-5000	a`	-5000aaa	aaa	1000-01-02	-4999	aaa	-4999abaa	abaa	1000-01-03	-4998	abaa	-4998abc	abc	2005-10-03	100	uvw	1000acaaa	acaaa	1000-01-04	-4997	acaaa	-4997adaaaa	adaaaa	1000-01-05	-4996	adaaaa	-4996aeaaaaa	aeaaaaa	1000-01-06	-4995	aeaaaaa	-4995afaaaaaa	afaaaaaa	1000-01-07	-4994	afaaaaaa	-4994agaaaaaaa	agaaaaaaa	1000-01-08	-4993	agaaaaaaa	-4993CALL sp_ins_3();SELECT row_count();row_count()1SELECT * FROM temp;f1	f2	f3	f4	f5	f6a^aaaaaaaa	a^aaaaaaaa	1000-01-09	-4992	a^aaaaaaaa	-4992a_aaaaaaaaa	a_aaaaaaaaa	1000-01-10	-4991	a_aaaaaaaaa	-4991a`	a`	1000-01-01	-5000	a`	-5000aaa	aaa	1000-01-02	-4999	aaa	-4999abaa	abaa	1000-01-03	-4998	abaa	-4998abc	abc	2005-10-03	100	uvw	1000abc	xyz	1949-05-23	100	uvw	1000abc	xyz	1989-11-09	100	uvw	1000abc	xyz	2005-10-24	100	uvw	1000acaaa	acaaa	1000-01-04	-4997	acaaa	-4997adaaaa	adaaaa	1000-01-05	-4996	adaaaa	-4996aeaaaaa	aeaaaaa	1000-01-06	-4995	aeaaaaa	-4995afaaaaaa	afaaaaaa	1000-01-07	-4994	afaaaaaa	-4994agaaaaaaa	agaaaaaaa	1000-01-08	-4993	agaaaaaaa	-4993CALL sp_upd();SELECT row_count();row_count()4SELECT * FROM temp;f1	f2	f3	f4	f5	f6a^aaaaaaaa	a^aaaaaaaa	1000-01-09	-4992	a^aaaaaaaa	-4992a_aaaaaaaaa	a_aaaaaaaaa	1000-01-10	-4991	a_aaaaaaaaa	-4991a`	a`	1000-01-01	-5000	a`	-5000aaa	aaa	1000-01-02	-4999	aaa	-4999abaa	abaa	1000-01-03	-4998	abaa	-4998acaaa	acaaa	1000-01-04	-4997	acaaa	-4997adaaaa	adaaaa	1000-01-05	-4996	adaaaa	-4996aeaaaaa	aeaaaaa	1000-01-06	-4995	aeaaaaa	-4995afaaaaaa	afaaaaaa	1000-01-07	-4994	afaaaaaa	-4994agaaaaaaa	agaaaaaaa	1000-01-08	-4993	agaaaaaaa	-4993updated	abc	2005-10-03	100	uvw	1000updated	xyz	1949-05-23	100	uvw	1000updated	xyz	1989-11-09	100	uvw	1000updated	xyz	2005-10-24	100	uvw	1000CALL sp_ins_upd();COUNT( f1 )	f11	aaa1	abaa1	acaaa1	adaaaa1	aeaaaaa1	afaaaaaa1	agaaaaaaa1	a^aaaaaaaa1	a_aaaaaaaaa1	a`4	qwe4	updatedSELECT row_count();row_count()3SELECT * FROM temp;f1	f2	f3	f4	f5	f6a^aaaaaaaa	a^aaaaaaaa	1000-01-09	-4992	a^aaaaaaaa	-4992a_aaaaaaaaa	a_aaaaaaaaa	1000-01-10	-4991	a_aaaaaaaaa	-4991a`	a`	1000-01-01	-5000	a`	-5000aaa	aaa	1000-01-02	-4999	aaa	-4999abaa	abaa	1000-01-03	-4998	abaa	-4998acaaa	acaaa	1000-01-04	-4997	acaaa	-4997adaaaa	adaaaa	1000-01-05	-4996	adaaaa	-4996aeaaaaa	aeaaaaa	1000-01-06	-4995	aeaaaaa	-4995afaaaaaa	afaaaaaa	1000-01-07	-4994	afaaaaaa	-4994agaaaaaaa	agaaaaaaa	1000-01-08	-4993	agaaaaaaa	-4993qwe	xyz	1998-03-26	100	uvw	1000updated	abc	2005-10-03	100	uvw	1000updated	xyz	1949-05-23	100	uvw	1000updated	xyz	1989-11-09	100	uvw	1000updated	xyz	2005-10-24	100	uvw	1000updated_2	abc	1989-11-09	100	uvw	1000updated_2	abc	2000-11-09	100	uvw	1000updated_2	abc	2005-11-07	100	uvw	1000CALL sp_del();SELECT row_count();row_count()4SELECT * FROM temp;f1	f2	f3	f4	f5	f6a^aaaaaaaa	a^aaaaaaaa	1000-01-09	-4992	a^aaaaaaaa	-4992a_aaaaaaaaa	a_aaaaaaaaa	1000-01-10	-4991	a_aaaaaaaaa	-4991a`	a`	1000-01-01	-5000	a`	-5000aaa	aaa	1000-01-02	-4999	aaa	-4999abaa	abaa	1000-01-03	-4998	abaa	-4998acaaa	acaaa	1000-01-04	-4997	acaaa	-4997adaaaa	adaaaa	1000-01-05	-4996	adaaaa	-4996aeaaaaa	aeaaaaa	1000-01-06	-4995	aeaaaaa	-4995afaaaaaa	afaaaaaa	1000-01-07	-4994	afaaaaaa	-4994agaaaaaaa	agaaaaaaa	1000-01-08	-4993	agaaaaaaa	-4993updated	abc	2005-10-03	100	uvw	1000updated	xyz	1949-05-23	100	uvw	1000updated	xyz	1989-11-09	100	uvw	1000updated	xyz	2005-10-24	100	uvw	1000DELETE FROM temp;CALL sp_with_rowcount();row_count() after insert4row_count() after select row_count()-1f1	f2	f3qwe	abc	1989-11-09qwe	abc	2000-11-09qwe	xyz	1998-03-26qwe	xyz	2005-11-07row_count() after update2f1	f2	f3qwe	xyz	1998-03-26qwe	xyz	2005-11-07updated_2	abc	1989-11-09updated_2	abc	2000-11-09row_count() after delete2SELECT row_count();row_count()-1SELECT * FROM temp;f1	f2	f3	f4	f5	f6qwe	xyz	1998-03-26	100	uvw	1000qwe	xyz	2005-11-07	100	uvw	1000DROP PROCEDURE sp_ins_1;DROP PROCEDURE sp_ins_3;DROP PROCEDURE sp_upd;DROP PROCEDURE sp_ins_upd;DROP PROCEDURE sp_del;DROP PROCEDURE sp_with_rowcount;DROP TABLE temp;Testcase 3.1.10.8:------------------Ensure that the mysql_affected_rows() C API function always returns the correctnumber of rows affected by the execution of a stored procedure.----------------------------------------------------------------------------------source suite/funcs_1/storedproc/cleanup_sp_tb.inc--------------------------------------------------------------------------------DROP DATABASE IF EXISTS db_storedproc;DROP DATABASE IF EXISTS db_storedproc_1;.                               +++ END OF SCRIPT +++--------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?