summaryrefslogtreecommitdiff
path: root/sql/sql_prepare.cc
diff options
context:
space:
mode:
authorDmitry Shulga <dmitry.shulga@mariadb.com>2021-07-14 22:48:15 +0700
committerDmitry Shulga <dmitry.shulga@mariadb.com>2021-07-14 22:48:15 +0700
commit939ee8dbc5edb7b2b1062d0e3836e88bc9646e4b (patch)
tree7bacb1cab63d978e56e883deb5d4ab72f850a79c /sql/sql_prepare.cc
parent04369f9cee4e2ce7562d42344cd59683b5fbb8ae (diff)
downloadmariadb-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.cc2
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);