mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-26147: The test main.sp-row fails in case it is run in PS mode
In case a stored procedure is invoked in PS mode with argument of type ROW() like the following one: CALL p1(ROW(10,20)) such statement fails with the error ER_OPERAND_COLUMNS (1241): Operand should contain 1 column(s) The reason of emitting the error is that wrong method was invoked on fixing an item corresponding to an argument of stored procedure - the method fix_fields_if_needed_for_scalar() was called instead of fix_fields_if_needed() that should be called.
This commit is contained in:
parent
de85e29436
commit
efa311ab8e
3 changed files with 31 additions and 1 deletions
|
@ -5553,3 +5553,17 @@ DEALLOCATE PREPARE stmt;
|
|||
DROP TABLE t1, t2, t3;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
# MDEV-26147: The test main.sp-row fails in case it is run in PS mode
|
||||
#
|
||||
CREATE PROCEDURE p1(a ROW(a INT,b INT))
|
||||
BEGIN
|
||||
SELECT a.a, a.b;
|
||||
END;
|
||||
$$
|
||||
PREPARE stmt FROM 'CALL p1(ROW(10, 20))';
|
||||
EXECUTE stmt;
|
||||
a.a a.b
|
||||
10 20
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP PROCEDURE p1;
|
||||
|
|
|
@ -5000,3 +5000,19 @@ DROP TABLE t1, t2, t3;
|
|||
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-26147: The test main.sp-row fails in case it is run in PS mode
|
||||
--echo #
|
||||
DELIMITER $$;
|
||||
CREATE PROCEDURE p1(a ROW(a INT,b INT))
|
||||
BEGIN
|
||||
SELECT a.a, a.b;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
PREPARE stmt FROM 'CALL p1(ROW(10, 20))';
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
|
|
@ -1741,7 +1741,7 @@ static bool mysql_test_call_fields(Prepared_statement *stmt,
|
|||
|
||||
while ((item= it++))
|
||||
{
|
||||
if (item->fix_fields_if_needed_for_scalar(thd, it.ref()))
|
||||
if (item->fix_fields_if_needed(thd, it.ref()))
|
||||
goto err;
|
||||
}
|
||||
DBUG_RETURN(FALSE);
|
||||
|
|
Loading…
Reference in a new issue