mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 23:34:34 +01:00
4a3b1575e3
Altered param_check to disable warnings on system-sensitive operations and added some notes / possible TODO Re-recorded.result file to account for change
50 lines
1.8 KiB
SQL
50 lines
1.8 KiB
SQL
# suite/funcs_1/storedproc/param_check.inc
|
|
#
|
|
# Auxiliary routine to be sourced by
|
|
# suite/funcs_1/t/storedproc.test
|
|
#
|
|
# Purpose:
|
|
# The assignment of float values to objects of type DECIMAL causes
|
|
# conversions and in some cases an adjustment of the value to
|
|
# a border of the value range.
|
|
# Try to reveal that function and procedure parameters get a similar
|
|
# mangling of the value like columns.
|
|
#
|
|
# Variables to be set before sourcing this routine
|
|
# $test_value - value to be checked
|
|
#
|
|
# Created:
|
|
# 2008-08-27 mleich
|
|
#
|
|
# Modified:
|
|
# 2008-11-17 pcrews
|
|
# added --disable / --enable_warning statements to minimize differences
|
|
# between platforms (Bug#40177 Test funcs_1.storedproc failing on Pushbuild)
|
|
#
|
|
# TODO: (After 5.1 GA)
|
|
# 1) Examine reordering statements in this file to minimize the number of
|
|
# --disable / --enable_warning statements. Unsure if performance gains
|
|
# warrant the working time
|
|
# 2) We could probably add a comparison of the # of warnings before the
|
|
# assignment of @v1_proc and @v1_func to the # of warnings after assignment
|
|
# The difference of these values should be zero
|
|
# Refer to Bug#40177 - http://bugs.mysql.com/bug.php?id=40177 for notes as well
|
|
|
|
eval UPDATE t1_aux SET f1 = NULL;
|
|
# Enforce that all user variables have the same data type and initial value.
|
|
SELECT f1,f1,f1,f1 INTO @v1_tab,@v1_proc,@v2_proc,@v1_func FROM t1_aux;
|
|
|
|
--disable_warnings
|
|
eval UPDATE t1_aux SET f1 = $test_value;
|
|
--enable_warnings
|
|
SELECT f1 INTO @v1_tab FROM t1_aux;
|
|
--disable_warnings
|
|
eval CALL sproc_1($test_value, @v1_proc);
|
|
eval SET @v1_func = func_1($test_value);
|
|
--enable_warnings
|
|
|
|
if (`SELECT @v1_tab <> @v1_proc OR @v1_tab <> @v2_proc OR @v1_tab <> @v1_func`)
|
|
{
|
|
--echo Error: @v1_tab, @v1_proc, @v2_proc, @v1_func are not all equal
|
|
SELECT @v1_tab, @v1_proc, @v2_proc, @v1_func;
|
|
}
|