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 + -
显示快捷键?