mirror of
https://github.com/MariaDB/server.git
synced 2025-07-18 23:03:28 +03:00
is inconsistent + several improvements Details: - The subtest with assignment of floating point numbers to DECIMAL parameters in functions and procedures checks now that the final DECIMAL value is the same as if we assign the floating point numbers to columns, user variables etc. = The impact of math libs or truncation must be the same. - Remove storage engine variants of this test because the stored procedure properties tested do not depend on the storage engine. Use the fastest storage engine (MEMORY) for any tables needed. - reset global sort_buffer_size to startup value - Partially improved formatting.
34 lines
1.1 KiB
SQL
34 lines
1.1 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
|
|
#
|
|
|
|
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;
|
|
|
|
eval UPDATE t1_aux SET f1 = $test_value;
|
|
SELECT f1 INTO @v1_tab FROM t1_aux;
|
|
eval CALL sproc_1($test_value, @v1_proc);
|
|
eval SET @v1_func = func_1($test_value);
|
|
|
|
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;
|
|
}
|