summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-09-20 17:47:49 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-09-20 17:47:49 +0300
commitfc3b1a7d2fcc45c05aa19ea35e1d7978b4f90670 (patch)
treed3f4f28b6bb2ffa6e6c4b19e6c03f2e209590171 /plugin
parent4cfef2a5a4157269244923637032c21ff67b0161 (diff)
parent96f06f952d087bd47225cc2784edbb0510fad818 (diff)
downloadmariadb-git-fc3b1a7d2fcc45c05aa19ea35e1d7978b4f90670.tar.gz
Merge 10.2 into bb-10.2-ext
Diffstat (limited to 'plugin')
-rw-r--r--plugin/server_audit/server_audit.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/plugin/server_audit/server_audit.c b/plugin/server_audit/server_audit.c
index 65de695ac9e..51f616b9af4 100644
--- a/plugin/server_audit/server_audit.c
+++ b/plugin/server_audit/server_audit.c
@@ -15,7 +15,7 @@
#define PLUGIN_VERSION 0x104
-#define PLUGIN_STR_VERSION "1.4.1"
+#define PLUGIN_STR_VERSION "1.4.2"
#define _my_thread_var loc_thread_var
@@ -1089,6 +1089,7 @@ static void setup_connection_connect(struct connection_info *cn,
const struct mysql_event_connection *event)
{
cn->query_id= 0;
+ cn->query_length= 0;
cn->log_always= 0;
cn->thread_id= event->thread_id;
get_str_n(cn->db, &cn->db_length, sizeof(cn->db),
@@ -1130,6 +1131,7 @@ static void setup_connection_initdb(struct connection_info *cn,
cn->thread_id= event->general_thread_id;
cn->query_id= 0;
+ cn->query_length= 0;
cn->log_always= 0;
get_str_n(cn->db, &cn->db_length, sizeof(cn->db),
event->general_query, event->general_query_length);
@@ -1162,6 +1164,7 @@ static void setup_connection_table(struct connection_info *cn,
cn->thread_id= event->thread_id;
cn->query_id= query_counter++;
cn->log_always= 0;
+ cn->query_length= 0;
get_str_n(cn->db, &cn->db_length, sizeof(cn->db),
event->database, event->database_length);
get_str_n(cn->user, &cn->user_length, sizeof(cn->db),
@@ -1183,6 +1186,7 @@ static void setup_connection_query(struct connection_info *cn,
cn->thread_id= event->general_thread_id;
cn->query_id= query_counter++;
cn->log_always= 0;
+ cn->query_length= 0;
get_str_n(cn->db, &cn->db_length, sizeof(cn->db), "", 0);
if (get_user_host(event->general_user, event->general_user_length,
@@ -2007,6 +2011,7 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev)
event_query_command(event))
{
log_statement(cn, event, "QUERY");
+ cn->query_length= 0; /* So the log_current_query() won't log this again. */
}
}
else if (event_class == MYSQL_AUDIT_TABLE_CLASS && FILTER(EVENT_TABLE) && cn)
@@ -2522,7 +2527,8 @@ static void log_current_query(MYSQL_THD thd)
if (!thd)
return;
cn= get_loc_info(thd);
- if (!ci_needs_setup(cn) && FILTER(EVENT_QUERY) && do_log_user(cn->user))
+ if (!ci_needs_setup(cn) && cn->query_length &&
+ FILTER(EVENT_QUERY) && do_log_user(cn->user))
{
log_statement_ex(cn, cn->query_time, thd_get_thread_id(thd),
cn->query, cn->query_length, 0, "QUERY");