summaryrefslogtreecommitdiff
path: root/include/mysql
diff options
context:
space:
mode:
authorVasil Dimov <vasil.dimov@oracle.com>2010-12-27 19:24:05 +0200
committerVasil Dimov <vasil.dimov@oracle.com>2010-12-27 19:24:05 +0200
commit57c910ff6c417664710d24f74412aa0d0346c4c3 (patch)
treecedcd58bbc7f680f9bd46ca8b34d3c16f2da3869 /include/mysql
parentc9951393a895772f8c62c76b3e85cfe2f3ebda67 (diff)
parent0a1433d7b0aa2c2d38169922817ab5010ec8e399 (diff)
downloadmariadb-git-57c910ff6c417664710d24f74412aa0d0346c4c3.tar.gz
Merge mysql-5.5-bugteam -> mysql-5.5-innodb
Diffstat (limited to 'include/mysql')
-rw-r--r--include/mysql/plugin_audit.h40
-rw-r--r--include/mysql/plugin_audit.h.pp21
-rw-r--r--include/mysql/psi/mysql_file.h2
3 files changed, 63 insertions, 0 deletions
diff --git a/include/mysql/plugin_audit.h b/include/mysql/plugin_audit.h
index 41505da64af..8811c832949 100644
--- a/include/mysql/plugin_audit.h
+++ b/include/mysql/plugin_audit.h
@@ -42,6 +42,8 @@ struct mysql_event
LOG events occurs before emitting to the general query log.
ERROR events occur before transmitting errors to the user.
RESULT events occur after transmitting a resultset to the user.
+ STATUS events occur after transmitting a resultset or errors
+ to the user.
*/
#define MYSQL_AUDIT_GENERAL_CLASS 0
@@ -49,6 +51,7 @@ struct mysql_event
#define MYSQL_AUDIT_GENERAL_LOG 0
#define MYSQL_AUDIT_GENERAL_ERROR 1
#define MYSQL_AUDIT_GENERAL_RESULT 2
+#define MYSQL_AUDIT_GENERAL_STATUS 3
struct mysql_event_general
{
@@ -68,6 +71,43 @@ struct mysql_event_general
};
+/*
+ AUDIT CLASS : CONNECTION
+
+ CONNECT occurs after authentication phase is completed.
+ DISCONNECT occurs after connection is terminated.
+ CHANGE_USER occurs after COM_CHANGE_USER RPC is completed.
+*/
+
+#define MYSQL_AUDIT_CONNECTION_CLASS 1
+#define MYSQL_AUDIT_CONNECTION_CLASSMASK (1 << MYSQL_AUDIT_CONNECTION_CLASS)
+#define MYSQL_AUDIT_CONNECTION_CONNECT 0
+#define MYSQL_AUDIT_CONNECTION_DISCONNECT 1
+#define MYSQL_AUDIT_CONNECTION_CHANGE_USER 2
+
+struct mysql_event_connection
+{
+ unsigned int event_class;
+ unsigned int event_subclass;
+ int status;
+ unsigned long thread_id;
+ const char *user;
+ unsigned int user_length;
+ const char *priv_user;
+ unsigned int priv_user_length;
+ const char *external_user;
+ unsigned int external_user_length;
+ const char *proxy_user;
+ unsigned int proxy_user_length;
+ const char *host;
+ unsigned int host_length;
+ const char *ip;
+ unsigned int ip_length;
+ const char *database;
+ unsigned int database_length;
+};
+
+
/*************************************************************************
Here we define the descriptor structure, that is referred from
st_mysql_plugin.
diff --git a/include/mysql/plugin_audit.h.pp b/include/mysql/plugin_audit.h.pp
index b48cbca2e87..0e5b97d8717 100644
--- a/include/mysql/plugin_audit.h.pp
+++ b/include/mysql/plugin_audit.h.pp
@@ -208,6 +208,27 @@ struct mysql_event_general
unsigned long long general_time;
unsigned long long general_rows;
};
+struct mysql_event_connection
+{
+ unsigned int event_class;
+ unsigned int event_subclass;
+ int status;
+ unsigned long thread_id;
+ const char *user;
+ unsigned int user_length;
+ const char *priv_user;
+ unsigned int priv_user_length;
+ const char *external_user;
+ unsigned int external_user_length;
+ const char *proxy_user;
+ unsigned int proxy_user_length;
+ const char *host;
+ unsigned int host_length;
+ const char *ip;
+ unsigned int ip_length;
+ const char *database;
+ unsigned int database_length;
+};
struct st_mysql_audit
{
int interface_version;
diff --git a/include/mysql/psi/mysql_file.h b/include/mysql/psi/mysql_file.h
index de145f642e1..6fc6689c47d 100644
--- a/include/mysql/psi/mysql_file.h
+++ b/include/mysql/psi/mysql_file.h
@@ -16,6 +16,8 @@
#ifndef MYSQL_FILE_H
#define MYSQL_FILE_H
+#include <my_global.h>
+
/* For strlen() */
#include <string.h>
/* For MY_STAT */