1
/* - mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2009 Sun Microsystems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23
* I_S plugin implementation.
27
#include "drizzled/session.h"
28
#include "drizzled/show.h"
30
#include "helper_methods.h"
32
#include "key_column_usage.h"
33
#include "referential_constraints.h"
34
#include "table_constraints.h"
35
#include "statistics.h"
37
#include "variables.h"
41
using namespace drizzled;
45
* Initialize the I_S plugin.
47
* @param[in] registry the drizzled::plugin::Registry singleton
48
* @return 0 on success; 1 on failure.
50
static int infoSchemaInit(drizzled::plugin::Registry& registry)
52
registry.add(ColumnsIS::getTable());
53
registry.add(GlobalStatusIS::getTable());
54
registry.add(SessionVariablesIS::getTable());
55
registry.add(GlobalVariablesIS::getTable());
56
registry.add(SessionStatusIS::getTable());
57
registry.add(ReferentialConstraintsIS::getTable());
58
registry.add(TableConstraintsIS::getTable());
59
registry.add(StatusIS::getTable());
60
registry.add(KeyColumnUsageIS::getTable());
61
registry.add(VariablesIS::getTable());
62
registry.add(StatisticsIS::getTable());
70
* Clean up the I_S plugin.
72
* @param[in] registry the drizzled::plugin::Registry singleton
73
* @return 0 on success; 1 on failure
75
static int infoSchemaDone(drizzled::plugin::Registry& registry)
77
registry.remove(ColumnsIS::getTable());
80
registry.remove(KeyColumnUsageIS::getTable());
81
KeyColumnUsageIS::cleanup();
83
registry.remove(GlobalStatusIS::getTable());
84
GlobalStatusIS::cleanup();
86
registry.remove(GlobalVariablesIS::getTable());
87
GlobalVariablesIS::cleanup();
89
registry.remove(ReferentialConstraintsIS::getTable());
90
ReferentialConstraintsIS::cleanup();
92
registry.remove(SessionStatusIS::getTable());
93
SessionStatusIS::cleanup();
95
registry.remove(SessionVariablesIS::getTable());
96
SessionVariablesIS::cleanup();
98
registry.remove(StatisticsIS::getTable());
99
StatisticsIS::cleanup();
101
registry.remove(StatusIS::getTable());
104
registry.remove(TableConstraintsIS::getTable());
105
TableConstraintsIS::cleanup();
107
registry.remove(VariablesIS::getTable());
108
VariablesIS::cleanup();
113
DRIZZLE_DECLARE_PLUGIN
118
"Padraig O'Sullivan",
127
DRIZZLE_DECLARE_PLUGIN_END;