diff options
author | Dmitry Shulga <dmitry.shulga@mariadb.com> | 2021-07-14 22:48:15 +0700 |
---|---|---|
committer | Dmitry Shulga <dmitry.shulga@mariadb.com> | 2021-07-14 22:48:15 +0700 |
commit | 939ee8dbc5edb7b2b1062d0e3836e88bc9646e4b (patch) | |
tree | 7bacb1cab63d978e56e883deb5d4ab72f850a79c /sql/sql_prepare.cc | |
parent | 04369f9cee4e2ce7562d42344cd59683b5fbb8ae (diff) | |
download | mariadb-git-bb-10.6-MDEV-26147.tar.gz |
MDEV-26147: The test main.sp-row fails in case it is run in PS modebb-10.6-MDEV-26147
In case 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.
Diffstat (limited to 'sql/sql_prepare.cc')
-rw-r--r-- | sql/sql_prepare.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 2f5470db123..31d27779def 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -1731,7 +1731,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); |