Skip to content

Commit d7b0c4f

Browse files
author
Christopher Powers
committed
Bug#19929832 EVENTS_STATEMENTS_HISTORY SHOWS ERRORS=0 WHEN THERE ARE ERRORS
Incremente statement error count in end_statement().
1 parent 0077d9c commit d7b0c4f

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

mysql-test/suite/perfschema/r/misc.result

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,18 @@ object_schema object_name index_name count_fetch count_insert count_update count
9292
test t_60905 i 2 0 0 1
9393
test t_60905 NULL 5 5 0 1
9494
DROP TABLE t_60905;
95+
use test;
96+
truncate performance_schema.events_statements_history;
97+
truncate performance_schema.events_statements_history_long;
98+
select * from t1;
99+
ERROR 42S02: Table 'test.t1' doesn't exist
100+
101+
select sql_text, mysql_errno, returned_sqlstate, message_text, errors, warnings
102+
from performance_schema.events_statements_history where errors > 0;
103+
sql_text mysql_errno returned_sqlstate message_text errors warnings
104+
select * from t1 1146 42S02 Table 'test.t1' doesn't exist 1 0
105+
106+
select sql_text, mysql_errno, returned_sqlstate, message_text, errors, warnings from
107+
performance_schema.events_statements_history_long where errors > 0;
108+
sql_text mysql_errno returned_sqlstate message_text errors warnings
109+
select * from t1 1146 42S02 Table 'test.t1' doesn't exist 1 0

mysql-test/suite/perfschema/t/misc.test

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,23 @@ SELECT object_schema,
168168

169169
DROP TABLE t_60905;
170170

171+
172+
#
173+
# Bug#11929832 - EVENTS_STATEMENTS_HISTORY HAS ERRORS=0 WHEN THERE ARE ERRORS
174+
#
175+
# Verify that SQL errors are properly counted.
176+
177+
use test;
178+
truncate performance_schema.events_statements_history;
179+
truncate performance_schema.events_statements_history_long;
180+
181+
--error ER_NO_SUCH_TABLE
182+
select * from t1;
183+
184+
--echo
185+
select sql_text, mysql_errno, returned_sqlstate, message_text, errors, warnings
186+
from performance_schema.events_statements_history where errors > 0;
187+
188+
--echo
189+
select sql_text, mysql_errno, returned_sqlstate, message_text, errors, warnings from
190+
performance_schema.events_statements_history_long where errors > 0;

storage/perfschema/pfs.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4832,6 +4832,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
48324832
memcpy(pfs->m_message_text, da->message(), MYSQL_ERRMSG_SIZE);
48334833
pfs->m_message_text[MYSQL_ERRMSG_SIZE]= 0;
48344834
pfs->m_sql_errno= da->sql_errno();
4835+
pfs->m_error_count++;
48354836
memcpy(pfs->m_sqlstate, da->get_sqlstate(), SQLSTATE_LENGTH);
48364837
break;
48374838
case Diagnostics_area::DA_DISABLED:

0 commit comments

Comments
 (0)