1
/*****************************************************************************
3
Copyright (C) 2007, 2009, Innobase Oy. All Rights Reserved.
5
This program is free software; you can redistribute it and/or modify it under
6
the terms of the GNU General Public License as published by the Free Software
7
Foundation; version 2 of the License.
9
This program is distributed in the hope that it will be useful, but WITHOUT
10
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
You should have received a copy of the GNU General Public License along with
14
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15
St, Fifth Floor, Boston, MA 02110-1301 USA
17
*****************************************************************************/
21
#include "internal_dictionary.h"
23
#include <drizzled/current_session.h>
28
#include "os0thread.h"
29
#include "srv0start.h"
36
#include "row0mysql.h"
40
#include "lock0lock.h"
41
#include "dict0crea.h"
45
#include "sync0sync.h"
48
#include "row0merge.h"
50
#include "dict0boot.h"
51
#include "ha_prototypes.h"
53
#include "ibuf0ibuf.h"
54
#include "handler0vars.h"
56
using namespace drizzled;
59
* Fill the dynamic table data_dictionary.INNODB_CMP and INNODB_CMP_RESET
62
InnodbInternalTables::InnodbInternalTables() :
63
plugin::TableFunction("DATA_DICTIONARY", "INNODB_INTERNAL_TABLES")
65
add_field("TABLE_NAME");
68
static void my_dict_print_callback(void *ptr, const char *table_name)
70
Recorder *myrec= static_cast<Recorder *>(ptr);
72
myrec->push(table_name);
75
InnodbInternalTables::Generator::Generator(Field **arg) :
76
plugin::TableFunction::Generator(arg)
78
dict_print_with_callback(my_dict_print_callback, &recorder);
82
bool InnodbInternalTables::Generator::populate()
84
std::string table_name;
85
bool more= recorder.next(table_name);