From efa311ab8eaa40b0d27691bd70a2ccab343d5477 Mon Sep 17 00:00:00 2001 From: Dmitry Shulga Date: Sun, 18 Jul 2021 21:08:23 +0700 Subject: 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. --- mysql-test/main/ps.result | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'mysql-test/main/ps.result') diff --git a/mysql-test/main/ps.result b/mysql-test/main/ps.result index e1f8d03a156..051f40cfd78 100644 --- a/mysql-test/main/ps.result +++ b/mysql-test/main/ps.result @@ -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; -- cgit v1.2.1