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., 59 Temple
15
Place, Suite 330, Boston, MA 02111-1307 USA
17
*****************************************************************************/
21
#include "internal_dictionary.h"
23
#include "drizzled/current_session.h"
29
#include "os0thread.h"
30
#include "srv0start.h"
37
#include "row0mysql.h"
41
#include "lock0lock.h"
42
#include "dict0crea.h"
46
#include "sync0sync.h"
49
#include "row0merge.h"
51
#include "dict0boot.h"
52
#include "ha_prototypes.h"
54
#include "ibuf0ibuf.h"
55
#include "mysql_addons.h"
57
#include "handler0vars.h"
59
using namespace drizzled;
62
* Fill the dynamic table data_dictionary.INNODB_CMP and INNODB_CMP_RESET
65
InnodbInternalTables::InnodbInternalTables() :
66
plugin::TableFunction("DATA_DICTIONARY", "INNODB_INTERNAL_TABLES")
68
add_field("TABLE_NAME");
72
void my_dict_print_callback(void *ptr, const char *);
75
void my_dict_print_callback(void *ptr, const char *table_name)
77
Recorder *myrec= static_cast<Recorder *>(ptr);
79
myrec->push(table_name);
82
InnodbInternalTables::Generator::Generator(Field **arg) :
83
plugin::TableFunction::Generator(arg)
85
dict_print_with_callback(my_dict_print_callback, &recorder);
89
bool InnodbInternalTables::Generator::populate()
91
std::string table_name;
92
bool more= recorder.next(table_name);