40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
#
|
|
# Bug#28509306 - DIAGNOSTIC AREA NOT POPULATED ON PREPARE STATEMENT ERROR 1615
|
|
#
|
|
CREATE TABLE t1 (f1 INT);
|
|
CREATE PROCEDURE p1()
|
|
BEGIN
|
|
INSERT INTO t1 VALUES(1);
|
|
END|
|
|
PREPARE stmt FROM 'INSERT INTO t1 VALUES (1)';
|
|
CALL p1();
|
|
EXECUTE stmt;
|
|
FLUSH TABLES;
|
|
SET DEBUG='+d,simulate_max_reprepare_attempts_hit_case';
|
|
CALL p1();
|
|
ERROR HY000: Prepared statement needs to be re-prepared
|
|
# Without fix, Sql condition for ER_NEED_REPREPARE error is not pushed to
|
|
# the diagnostics area. Hence following SELECT statement returns NULL
|
|
# value result set.
|
|
# Withfix, Sql condition is pushed and following SELECT statement returns
|
|
# expected values.
|
|
GET DIAGNOSTICS CONDITION 1 @varErrorMessage = message_text, @varErrorNo = mysql_errno;
|
|
SELECT @varErrorMessage, @varErrorNo;
|
|
@varErrorMessage @varErrorNo
|
|
Prepared statement needs to be re-prepared 1615
|
|
EXECUTE stmt;
|
|
ERROR HY000: Prepared statement needs to be re-prepared
|
|
# Without fix, Sql condition for ER_NEED_REPREPARE error is not pushed to
|
|
# the diagnostics area. Hence following SELECT statement returns NULL
|
|
# value result set.
|
|
# Withfix, Sql condition is pushed and following SELECT statement returns
|
|
# expected values.
|
|
GET DIAGNOSTICS CONDITION 1 @varErrorMessage = message_text, @varErrorNo = mysql_errno;
|
|
SELECT @varErrorMessage, @varErrorNo;
|
|
@varErrorMessage @varErrorNo
|
|
Prepared statement needs to be re-prepared 1615
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
DROP PREPARE stmt;
|
|
SET DEBUG='-d,simulate_max_reprepare_attempts_hit_case';
|