MDEV-13861 Assertion `0' failed in Protocol::end_statement

followup for 378beed0a68 - only count WARN_LEVEL_ERROR,
not warnings or notes.
This commit is contained in:
Sergei Golubchik 2017-09-21 18:05:07 +02:00
parent cb1b466c0c
commit 8d0448d507
3 changed files with 18 additions and 1 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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) {}