mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-4824 userstats - wrong user statistics
(and valgrind warnings) * move thd userstat initialization to the same function that was adding thd userstat to global counters. * initialize thd->start_bytes_received in THD::init (when thd->userstat_running is set)
This commit is contained in:
16
mysql-test/r/userstat-badlogin-4824.result
Normal file
16
mysql-test/r/userstat-badlogin-4824.result
Normal file
@ -0,0 +1,16 @@
|
||||
create user foo@localhost identified by 'foo';
|
||||
flush user_statistics;
|
||||
set global userstat=1;
|
||||
select 1;
|
||||
1
|
||||
1
|
||||
select user, bytes_received from information_schema.user_statistics where user = 'foo';
|
||||
user bytes_received
|
||||
foo 18
|
||||
connect(localhost,foo,bar,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'foo'@'localhost' (using password: YES)
|
||||
select user, bytes_received from information_schema.user_statistics where user = 'foo';
|
||||
user bytes_received
|
||||
foo 18
|
||||
drop user foo@localhost;
|
||||
set global userstat=0;
|
33
mysql-test/t/userstat-badlogin-4824.test
Normal file
33
mysql-test/t/userstat-badlogin-4824.test
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# MDEV-4824 userstats - wrong user statistics
|
||||
#
|
||||
--source include/not_embedded.inc
|
||||
|
||||
create user foo@localhost identified by 'foo';
|
||||
flush user_statistics;
|
||||
set global userstat=1;
|
||||
|
||||
connect(foo, localhost, foo, foo);
|
||||
select 1;
|
||||
disconnect foo;
|
||||
connection default;
|
||||
|
||||
# wait for user_statistics changes to become visible
|
||||
let $wait_condition= select count(*) = 1 from information_schema.processlist;
|
||||
--source include/wait_condition.inc
|
||||
|
||||
# 41 is for ps-procotol
|
||||
--replace_result 41 18
|
||||
select user, bytes_received from information_schema.user_statistics where user = 'foo';
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
connect(foo, localhost, foo, bar);
|
||||
|
||||
connection default;
|
||||
|
||||
--replace_result 41 18
|
||||
select user, bytes_received from information_schema.user_statistics where user = 'foo';
|
||||
|
||||
drop user foo@localhost;
|
||||
set global userstat=0;
|
Reference in New Issue
Block a user