1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03: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:
Dmitry Shulga
2021-07-18 21:08:23 +07:00
parent de85e29436
commit efa311ab8e
3 changed files with 31 additions and 1 deletions

View File

@ -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;