From 8d0448d5075fe822e37f81b740e83f03ab318448 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 21 Sep 2017 18:05:07 +0200 Subject: [PATCH] MDEV-13861 Assertion `0' failed in Protocol::end_statement followup for 378beed0a68 - only count WARN_LEVEL_ERROR, not warnings or notes. --- mysql-test/r/insert.result | 6 ++++++ mysql-test/t/insert.test | 10 ++++++++++ sql/sql_class.h | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result index 8b03a3363de..39cb4cac85d 100644 --- a/mysql-test/r/insert.result +++ b/mysql-test/r/insert.result @@ -745,3 +745,9 @@ f1 f2 drop view v1; drop table t1; SET @@sql_mode= @save_mode; +CREATE TABLE t1 (f INT); +CREATE VIEW v1 AS SELECT * FROM t1 WHERE f <=> 'foo' WITH CHECK OPTION; +REPLACE INTO v1 SET f = NULL; +ERROR HY000: CHECK OPTION failed 'test.v1' +DROP VIEW v1; +DROP TABLE t1; diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test index e28eeb9f876..9e84bf3ee5f 100644 --- a/mysql-test/t/insert.test +++ b/mysql-test/t/insert.test @@ -602,3 +602,13 @@ remove_file $MYSQLD_DATADIR/test/t1.txt; drop view v1; drop table t1; SET @@sql_mode= @save_mode; + +# +# MDEV-13861 Assertion `0' failed in Protocol::end_statement +# +CREATE TABLE t1 (f INT); +CREATE VIEW v1 AS SELECT * FROM t1 WHERE f <=> 'foo' WITH CHECK OPTION; +--error ER_VIEW_CHECK_FAILED +REPLACE INTO v1 SET f = NULL; +DROP VIEW v1; +DROP TABLE t1; diff --git a/sql/sql_class.h b/sql/sql_class.h index 7429ac586ea..3aeb8127030 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1483,7 +1483,8 @@ public: const char* msg, Sql_condition ** cond_hdl) { - errors++; + if (level == Sql_condition::WARN_LEVEL_ERROR) + errors++; return false; } Counting_error_handler() : errors(0) {}