summaryrefslogtreecommitdiff
path: root/storage/perfschema/pfs_defaults.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/perfschema/pfs_defaults.cc')
-rw-r--r--storage/perfschema/pfs_defaults.cc89
1 files changed, 62 insertions, 27 deletions
diff --git a/storage/perfschema/pfs_defaults.cc b/storage/perfschema/pfs_defaults.cc
index f6183349884..0b615773089 100644
--- a/storage/perfschema/pfs_defaults.cc
+++ b/storage/perfschema/pfs_defaults.cc
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
@@ -28,12 +28,15 @@
#include <my_global.h>
#include "pfs.h"
#include "pfs_defaults.h"
+#include "pfs_instr_class.h"
#include "pfs_instr.h"
#include "pfs_setup_actor.h"
#include "pfs_setup_object.h"
-static PSI_thread_key key;
-static PSI_thread_info info= { &key, "setup", PSI_FLAG_GLOBAL };
+static PSI_thread_key thread_key;
+static PSI_thread_info thread_info= { &thread_key, "setup", PSI_FLAG_GLOBAL };
+
+const char* pfs_category= "performance_schema";
void install_default_setup(PSI_bootstrap *boot)
{
@@ -41,30 +44,62 @@ void install_default_setup(PSI_bootstrap *boot)
if (psi == NULL)
return;
- psi->register_thread("performance_schema", &info, 1);
- PSI_thread *psi_thread= psi->new_thread(key, NULL, 0);
- if (psi_thread == NULL)
- return;
-
- /* LF_HASH needs a thread, for PINS */
- psi->set_thread(psi_thread);
-
- String percent("%", 1, &my_charset_utf8mb3_bin);
- /* Enable all users on all hosts by default */
- insert_setup_actor(&percent, &percent, &percent);
-
- /* Disable system tables by default */
- String mysql_db("mysql", 5, &my_charset_utf8mb3_bin);
- insert_setup_object(OBJECT_TYPE_TABLE, &mysql_db, &percent, false, false);
-
- /* Disable performance/information schema tables. */
- String PS_db("performance_schema", 18, &my_charset_utf8mb3_bin);
- String IS_db("information_schema", 18, &my_charset_utf8mb3_bin);
- insert_setup_object(OBJECT_TYPE_TABLE, &PS_db, &percent, false, false);
- insert_setup_object(OBJECT_TYPE_TABLE, &IS_db, &percent, false, false);
-
- /* Enable every other tables */
- insert_setup_object(OBJECT_TYPE_TABLE, &percent, &percent, true, true);
+ psi->register_thread(pfs_category, &thread_info, 1);
+ PSI_thread *psi_thread= psi->new_thread(thread_key, NULL, 0);
+
+ if (psi_thread != NULL)
+ {
+ /* LF_HASH needs a thread, for PINS */
+ psi->set_thread(psi_thread);
+
+ String percent("%", 1, &my_charset_utf8mb3_bin);
+ /* Enable all users on all hosts by default */
+ insert_setup_actor(&percent, &percent, &percent, true, true);
+
+ String mysql_db("mysql", 5, &my_charset_utf8mb3_bin);
+ String PS_db("performance_schema", 18, &my_charset_utf8mb3_bin);
+ String IS_db("information_schema", 18, &my_charset_utf8mb3_bin);
+
+ /* Disable sp by default in mysql. */
+ insert_setup_object(OBJECT_TYPE_EVENT, &mysql_db, &percent, false, false);
+ /* Disable sp in performance/information schema. */
+ insert_setup_object(OBJECT_TYPE_EVENT, &PS_db, &percent, false, false);
+ insert_setup_object(OBJECT_TYPE_EVENT, &IS_db, &percent, false, false);
+ /* Enable every other sp. */
+ insert_setup_object(OBJECT_TYPE_EVENT, &percent, &percent, true, true);
+
+ /* Disable sp by default in mysql. */
+ insert_setup_object(OBJECT_TYPE_FUNCTION, &mysql_db, &percent, false, false);
+ /* Disable sp in performance/information schema. */
+ insert_setup_object(OBJECT_TYPE_FUNCTION, &PS_db, &percent, false, false);
+ insert_setup_object(OBJECT_TYPE_FUNCTION, &IS_db, &percent, false, false);
+ /* Enable every other sp. */
+ insert_setup_object(OBJECT_TYPE_FUNCTION, &percent, &percent, true, true);
+
+ /* Disable sp by default in mysql. */
+ insert_setup_object(OBJECT_TYPE_PROCEDURE, &mysql_db, &percent, false, false);
+ /* Disable sp in performance/information schema. */
+ insert_setup_object(OBJECT_TYPE_PROCEDURE, &PS_db, &percent, false, false);
+ insert_setup_object(OBJECT_TYPE_PROCEDURE, &IS_db, &percent, false, false);
+ /* Enable every other sp. */
+ insert_setup_object(OBJECT_TYPE_PROCEDURE, &percent, &percent, true, true);
+
+ /* Disable system tables by default */
+ insert_setup_object(OBJECT_TYPE_TABLE, &mysql_db, &percent, false, false);
+ /* Disable performance/information schema tables. */
+ insert_setup_object(OBJECT_TYPE_TABLE, &PS_db, &percent, false, false);
+ insert_setup_object(OBJECT_TYPE_TABLE, &IS_db, &percent, false, false);
+ /* Enable every other tables */
+ insert_setup_object(OBJECT_TYPE_TABLE, &percent, &percent, true, true);
+
+ /* Disable sp by default in mysql. */
+ insert_setup_object(OBJECT_TYPE_TRIGGER, &mysql_db, &percent, false, false);
+ /* Disable sp in performance/information schema. */
+ insert_setup_object(OBJECT_TYPE_TRIGGER, &PS_db, &percent, false, false);
+ insert_setup_object(OBJECT_TYPE_TRIGGER, &IS_db, &percent, false, false);
+ /* Enable every other sp. */
+ insert_setup_object(OBJECT_TYPE_TRIGGER, &percent, &percent, true, true);
+ }
psi->delete_current_thread();
}