mirror of
https://github.com/MariaDB/server.git
synced 2025-05-11 13:21:44 +03:00
This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
120 lines
5.1 KiB
SQL
120 lines
5.1 KiB
SQL
#### suite/funcs_1/storedproc/storedproc_08.inc
|
|
#
|
|
--source include/default_charset.inc
|
|
--source suite/funcs_1/storedproc/load_sp_tb.inc
|
|
|
|
# ==============================================================================
|
|
# (numbering from requirement document TP v1.0, Last updated: 25 Jan 2005 01:00)
|
|
#
|
|
# 3.1.8 SHOW statement checks:
|
|
#
|
|
#- 1. Ensure that the definition of a procedure is properly recorded and displayed when a SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS statement is executed.
|
|
#- 2. Ensure that the definition of a procedure is not displayed when a SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS statement is executed.
|
|
#- 3. Ensure that an attempt to execute SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS, with the name of a non-existent procedure, fails with an appropriate error message.
|
|
#- 4. Ensure that an attempt to execute SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS, with the name of a function, fails with an appropriate error message.
|
|
#- 5. Ensure that the definition of a function is properly recorded and displayed when a SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS statement is executed.
|
|
#- 6. Ensure that the definition of a function is not displayed when a SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS statement is executed.
|
|
#- 7. Ensure that an attempt to execute SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS, with the name of a non-existent function, fails with an appropriate error message.
|
|
#- 8. Ensure that an attempt to execute SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS, with the name of a procedure, fails with an appropriate error message.
|
|
## 9. Ensure that all stored procedure changes made with ALTER PROCEDURE or ALTER FUNCTION are properly recorded and displayed when a SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS statement, or a SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS statement (respectively) is executed.
|
|
#- 10. Ensure that, when a stored procedure is dropped, its definition no longer appears when a SHOW CREATE PROCEDURE or SHOW CREATE PROCEDURE STATUS statement, or a SHOW CREATE FUNCTION or SHOW CREATE FUNCTION STATUS statement (respectively) is executed.
|
|
#
|
|
# ==============================================================================
|
|
let $message= Section 3.1.8 - SHOW statement checks:;
|
|
--source include/show_msg80.inc
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
let $message= Testcase 3.1.8.9:;
|
|
--source include/show_msg.inc
|
|
let $message=
|
|
Ensure that all stored procedure changes made with ALTER PROCEDURE or ALTER
|
|
FUNCTION are properly recorded and displayed when a SHOW CREATE PROCEDURE or
|
|
SHOW CREATE PROCEDURE STATUS statement, or a SHOW CREATE FUNCTION or SHOW CREATE
|
|
FUNCTION STATUS statement (respectively) is executed.;
|
|
--source include/show_msg80.inc
|
|
|
|
--disable_warnings
|
|
DROP FUNCTION IF EXISTS fn_1;
|
|
DROP FUNCTION IF EXISTS fn_2;
|
|
DROP PROCEDURE IF EXISTS sp_1;
|
|
DROP PROCEDURE IF EXISTS sp_2;
|
|
--enable_warnings
|
|
|
|
delimiter //;
|
|
CREATE PROCEDURE sp_1 (i1 int)
|
|
BEGIN
|
|
set @x=i1;
|
|
END//
|
|
|
|
CREATE PROCEDURE sp_2 (i1 int) SQL SECURITY INVOKER COMMENT 'created with INVOKER'
|
|
BEGIN
|
|
set @x=i1;
|
|
END//
|
|
|
|
CREATE FUNCTION fn_1 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) returns year
|
|
BEGIN
|
|
set @x=i1;
|
|
set @y=@x;
|
|
return i4;
|
|
END//
|
|
|
|
CREATE FUNCTION fn_2 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
|
|
RETURNS YEAR
|
|
SQL SECURITY INVOKER
|
|
COMMENT 'created with INVOKER'
|
|
BEGIN
|
|
set @x=i1;
|
|
set @y=@x;
|
|
return i4;
|
|
END//
|
|
delimiter ;//
|
|
|
|
--source suite/funcs_1/storedproc/storedproc_08_show.inc
|
|
|
|
let $message= ... now change some stuff:;
|
|
--source include/show_msg.inc
|
|
# some of the changes might be 'strange' here, but they are used here ONLY to
|
|
# check that the changes are recorded / showd correct
|
|
ALTER PROCEDURE sp_1 SQL SECURITY INVOKER;
|
|
ALTER PROCEDURE sp_1 COMMENT 'new comment, SP changed to INVOKER';
|
|
|
|
ALTER PROCEDURE sp_2 SQL SECURITY DEFINER;
|
|
ALTER PROCEDURE sp_2 DROP COMMENT;
|
|
ALTER PROCEDURE sp_2 COMMENT 'SP changed to DEFINER';
|
|
ALTER PROCEDURE sp_2 READS SQL DATA;
|
|
|
|
ALTER FUNCTION fn_1 SQL SECURITY INVOKER;
|
|
ALTER FUNCTION fn_1 COMMENT 'new comment, FN changed to INVOKER';
|
|
ALTER FUNCTION fn_1 NO SQL;
|
|
|
|
ALTER FUNCTION fn_2 SQL SECURITY DEFINER;
|
|
ALTER FUNCTION fn_2 COMMENT 'FN changed to DEFINER';
|
|
ALTER FUNCTION fn_2 MODIFIES SQL DATA;
|
|
|
|
--source suite/funcs_1/storedproc/storedproc_08_show.inc
|
|
|
|
|
|
let $message= ... change back to default and check result:;
|
|
--source include/show_msg.inc
|
|
ALTER FUNCTION fn_2 CONTAINS SQL;
|
|
--source suite/funcs_1/storedproc/storedproc_08_show.inc
|
|
|
|
|
|
# cleanup 3.1.8.9
|
|
let $message= ... cleanup;
|
|
--source include/show_msg.inc
|
|
DROP FUNCTION fn_1;
|
|
DROP FUNCTION fn_2;
|
|
DROP PROCEDURE sp_1;
|
|
|
|
|
|
# ==============================================================================
|
|
# USE the same .inc to cleanup before and after the test
|
|
--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
|
|
|
|
# ==============================================================================
|
|
let $message= . +++ END OF SCRIPT +++;
|
|
--source include/show_msg80.inc
|
|
# ==============================================================================
|