18
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
#ifndef PLUGIN_INFO_SCHEMA_INFO_SCHEMA_METHODS_H
22
#define PLUGIN_INFO_SCHEMA_INFO_SCHEMA_METHODS_H
21
#ifndef PLUGIN_INFO_SCHEMA_HELPER_METHODS_H
22
#define PLUGIN_INFO_SCHEMA_HELPER_METHODS_H
24
24
#include "drizzled/plugin/info_schema_table.h"
27
* @class CharSetISMethods
29
* Class which implements any methods that the
30
* CHARACTER_SET I_S table needs besides the default
33
class CharSetISMethods : public drizzled::plugin::InfoSchemaMethods
36
virtual int fillTable(Session *session,
38
virtual int oldFormat(Session *session,
39
drizzled::plugin::InfoSchemaTable *schema_table) const;
43
* @class CollationISMethods
45
* Class which implements any methods that the Collations
46
* I_S table needs besides the default methods
48
class CollationISMethods : public drizzled::plugin::InfoSchemaMethods
51
virtual int fillTable(Session *session,
56
* @class CollCharISMethods
58
* Class which implements any methods that the collation char set
59
* I_S table needs besides the default methods
61
class CollCharISMethods : public drizzled::plugin::InfoSchemaMethods
64
virtual int fillTable(Session *session,
69
* @class ColumnsISMethods
71
* Class which implements any methods that the COLUMNS
72
* I_S table needs besides the default methods
74
class ColumnsISMethods : public drizzled::plugin::InfoSchemaMethods
77
virtual int oldFormat(Session *session,
78
drizzled::plugin::InfoSchemaTable *schema_table) const;
82
* @class KeyColUsageISMethods
84
* Class which implements any methods that the key column usage
85
* I_S table needs besides the default methods
87
class KeyColUsageISMethods : public drizzled::plugin::InfoSchemaMethods
90
virtual int processTable(Session *session, TableList *tables,
91
Table *table, bool res, LEX_STRING *db_name,
92
LEX_STRING *table_name) const;
96
* @class OpenTablesISMethods
98
* Class which implements any methods that the OPEN_TABLES
99
* I_S table needs besides the default methods
101
class OpenTablesISMethods : public drizzled::plugin::InfoSchemaMethods
104
virtual int fillTable(Session *session,
109
* @class ModulesISMethods
111
* Class which implements any methods that the MODULES
112
* I_S table needs besides the default methods
114
class ModulesISMethods : public drizzled::plugin::InfoSchemaMethods
117
virtual int fillTable(Session *session,
122
* @class PluginsISMethods
124
* Class which implements any methods that the PLUGINS
125
* I_S table needs besides the default methods
127
class PluginsISMethods : public drizzled::plugin::InfoSchemaMethods
130
virtual int fillTable(Session *session,
135
* @class ProcessListISMethods
137
* Class which implements any methods that the PROCESSLIST
138
* I_S table needs besides the default methods
140
class ProcessListISMethods : public drizzled::plugin::InfoSchemaMethods
143
virtual int fillTable(Session *session,
148
* @class RefConstraintISMethods
150
* Class which implements any methods that the REFERENTIAL_CONSTRAINTS
151
* I_S table needs besides the default methods
153
class RefConstraintsISMethods : public drizzled::plugin::InfoSchemaMethods
157
* Fill and store records into I_S.referential_constraints table
159
* @param[in] session thread handle
160
* @param[in] tables table list struct(processed table)
161
* @param[in] table I_S table
162
* @param[in] res 1 means the error during opening of the processed table
163
* 0 means processed table is opened without error
164
* @param[in] base_name db name
165
* @param[in] file_name table name
167
* @return 0 on success; 1 on failure
169
virtual int processTable(Session *session, TableList *tables,
170
Table *table, bool res, LEX_STRING *db_name,
171
LEX_STRING *table_name) const;
175
* @class SchemataISMethods
177
* Class which implements any methods that the SCHEMATA
178
* I_S table needs besides the default methods
180
class SchemataISMethods : public drizzled::plugin::InfoSchemaMethods
183
virtual int fillTable(Session *session,
185
virtual int oldFormat(Session *session,
186
drizzled::plugin::InfoSchemaTable *schema_table) const;
190
* @class StatsISMethods
192
* Class which implements any methods that the SCHEMATA
193
* I_S table needs besides the default methods
195
class StatsISMethods : public drizzled::plugin::InfoSchemaMethods
198
virtual int processTable(Session *session, TableList *tables,
199
Table *table, bool res, LEX_STRING *db_name,
200
LEX_STRING *table_name) const;
204
* @class StatusISMethods
206
* Class which implements any methods that the STATUS
207
* I_S table needs besides the default methods
209
class StatusISMethods : public drizzled::plugin::InfoSchemaMethods
212
virtual int fillTable(Session *session,
217
* @class TabConstraintsISMethods
219
* Class which implements any methods that the TABLE_CONSTRAINTS
220
* I_S table needs besides the default methods
222
class TabConstraintsISMethods : public drizzled::plugin::InfoSchemaMethods
225
virtual int processTable(Session *session, TableList *tables,
226
Table *table, bool res, LEX_STRING *db_name,
227
LEX_STRING *table_name) const;
231
* @class TablesISMethods
233
* Class which implements any methods that the TABLE_NAMES
234
* I_S table needs besides the default methods
236
class TablesISMethods : public drizzled::plugin::InfoSchemaMethods
239
virtual int processTable(Session *session, TableList *tables,
240
Table *table, bool res, LEX_STRING *db_name,
241
LEX_STRING *table_name) const;
245
* @class TabNamesISMethods
247
* Class which implements any methods that the TABLE_NAMES
248
* I_S table needs besides the default methods
250
class TabNamesISMethods : public drizzled::plugin::InfoSchemaMethods
253
virtual int oldFormat(Session *session,
254
drizzled::plugin::InfoSchemaTable *schema_table) const;
258
* @class VariablesISMethods
260
* Class which implements any methods that the VARIABLES
261
* I_S table needs besides the default methods
263
class VariablesISMethods : public drizzled::plugin::InfoSchemaMethods
266
virtual int fillTable(Session *session,
270
#endif /* PLUGIN_INFO_SCHEMA_INFO_SCHEMA_METHODS_H */
26
bool show_status_array(Session *session,
29
enum enum_var_type value_type,
30
struct system_status_var *status_var,
31
const char *prefix, Table *table,
34
void store_key_column_usage(Table *table,
36
LEX_STRING *table_name,
44
* Iterate through the given vector of columns and delete the memory that
45
* has been allocated for them.
47
* @param[out] cols vector to clear and de-allocate memory from
49
void clearColumns(std::vector<const drizzled::plugin::ColumnInfo *> &cols);
51
#endif /* PLUGIN_INFO_SCHEMA_HELPER_METHODS_H */