mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-16708: Fixed ths issue with handling of ERR packet received by mysqltest
on response to COM_STMT_EXECUTE The test cases like the following one delimiter |; CREATE PROCEDURE SP001() BEGIN DECLARE C1 CURSOR FOR SELECT 1; OPEN C1; SELECT 1; CLOSE C1; CLOSE C1; END| delimiter ;| --error 1326 call SP001(); are failed since processing of ERR packet was missed by mysqltest in case it is run with --ps-protocol Additionally, the test sp-error was changed to don't run multi-statements since they are not supported by PS protocol
This commit is contained in:
committed by
Sergei Golubchik
parent
a72098421c
commit
fc71746a6a
@ -8324,6 +8324,7 @@ void run_query_stmt(struct st_connection *cn, struct st_command *command,
|
||||
goto end;
|
||||
}
|
||||
|
||||
int err;
|
||||
do
|
||||
{
|
||||
/*
|
||||
@ -8357,8 +8358,6 @@ void run_query_stmt(struct st_connection *cn, struct st_command *command,
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* If we got here the statement was both executed and read successfully */
|
||||
handle_no_error(command);
|
||||
if (!disable_result_log)
|
||||
{
|
||||
/*
|
||||
@ -8436,8 +8435,14 @@ void run_query_stmt(struct st_connection *cn, struct st_command *command,
|
||||
}
|
||||
}
|
||||
}
|
||||
} while ( !mysql_stmt_next_result(stmt));
|
||||
} while ( !(err= mysql_stmt_next_result(stmt)));
|
||||
|
||||
if (err > 0)
|
||||
/* We got an error from mysql_next_result, maybe expected */
|
||||
handle_error(command, mysql_errno(mysql), mysql_error(mysql),
|
||||
mysql_sqlstate(mysql), ds);
|
||||
else
|
||||
handle_no_error(command);
|
||||
end:
|
||||
if (!disable_warnings)
|
||||
{
|
||||
|
@ -2771,7 +2771,7 @@ DROP TABLE t2;
|
||||
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP PROCEDURE IF EXISTS p2;
|
||||
SET sql_mode = '';
|
||||
SET sql_mode = ''|
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE var1 INTEGER DEFAULT 'string';
|
||||
@ -2782,7 +2782,7 @@ CALL p1()|
|
||||
Warnings:
|
||||
Warning 1366 Incorrect integer value: 'string' for column ``.``.`var1` at row 1
|
||||
|
||||
SET sql_mode = DEFAULT;
|
||||
SET sql_mode = DEFAULT|
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
DECLARE EXIT HANDLER FOR SQLWARNING SELECT 'H2';
|
||||
|
@ -3711,7 +3711,7 @@ DROP PROCEDURE IF EXISTS p2;
|
||||
|
||||
delimiter |;
|
||||
|
||||
SET sql_mode = '';
|
||||
SET sql_mode = ''|
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE var1 INTEGER DEFAULT 'string';
|
||||
@ -3721,7 +3721,7 @@ END|
|
||||
--echo
|
||||
CALL p1()|
|
||||
--echo
|
||||
SET sql_mode = DEFAULT;
|
||||
SET sql_mode = DEFAULT|
|
||||
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
|
Reference in New Issue
Block a user