21
#ifndef DRIZZLED_OPEN_TABLES_STATE_H
22
#define DRIZZLED_OPEN_TABLES_STATE_H
24
#include "drizzled/lock.h"
23
#include <drizzled/lock.h>
30
28
Class that holds information about tables which were opened and locked
72
71
void close_temporary_tables();
74
74
void close_temporary_table(Table *table);
75
77
// The method below just handles the de-allocation of the table. In
76
78
// a better memory type world, this would not be needed.
78
79
void nukeTable(Table *table);
81
82
/* Work with temporary tables */
82
Table *find_temporary_table(const TableIdentifier &identifier);
83
Table *find_temporary_table(const identifier::Table &identifier);
84
85
void dumpTemporaryTableNames(const char *id);
85
int drop_temporary_table(const drizzled::TableIdentifier &identifier);
86
bool rm_temporary_table(plugin::StorageEngine *base, const TableIdentifier &identifier);
87
bool rm_temporary_table(const drizzled::TableIdentifier &identifier, bool best_effort= false);
88
Table *open_temporary_table(const drizzled::TableIdentifier &identifier,
86
int drop_temporary_table(const drizzled::identifier::Table &identifier);
87
bool rm_temporary_table(plugin::StorageEngine&, const identifier::Table&);
88
bool rm_temporary_table(const drizzled::identifier::Table &identifier, bool best_effort= false);
89
Table *open_temporary_table(const drizzled::identifier::Table &identifier,
89
90
bool link_in_list= true);
91
92
virtual query_id_t getQueryId() const= 0;
152
153
virtual ~Open_tables_state() {}
154
155
void doGetTableNames(CachedDirectory &directory,
155
const SchemaIdentifier &schema_identifier,
156
const identifier::Schema &schema_identifier,
156
157
std::set<std::string>& set_of_names);
157
void doGetTableNames(const SchemaIdentifier &schema_identifier,
158
void doGetTableNames(const identifier::Schema &schema_identifier,
158
159
std::set<std::string>& set_of_names);
160
161
void doGetTableIdentifiers(CachedDirectory &directory,
161
const SchemaIdentifier &schema_identifier,
162
TableIdentifier::vector &set_of_identifiers);
163
void doGetTableIdentifiers(const SchemaIdentifier &schema_identifier,
164
TableIdentifier::vector &set_of_identifiers);
162
const identifier::Schema &schema_identifier,
163
identifier::table::vector &set_of_identifiers);
164
void doGetTableIdentifiers(const identifier::Schema &schema_identifier,
165
identifier::table::vector &set_of_identifiers);
166
int doGetTableDefinition(const drizzled::TableIdentifier &identifier,
167
int doGetTableDefinition(const drizzled::identifier::Table &identifier,
167
168
message::Table &table_proto);
168
bool doDoesTableExist(const drizzled::TableIdentifier &identifier);
169
bool doDoesTableExist(const drizzled::identifier::Table &identifier);
171
172
Open_tables_state(uint64_t version_arg);