21
21
#ifndef DRIZZLED_OPEN_TABLES_STATE_H
22
22
#define DRIZZLED_OPEN_TABLES_STATE_H
24
#include <drizzled/lock.h>
25
#include <drizzled/query_id.h>
24
#include "drizzled/lock.h"
30
class CachedDirectory;
33
30
Class that holds information about tables which were opened and locked
34
31
by the thread. It is also used to save/restore this information in
87
84
/* Work with temporary tables */
88
Table *find_temporary_table(const identifier::Table &identifier);
85
Table *find_temporary_table(const TableIdentifier &identifier);
90
87
void dumpTemporaryTableNames(const char *id);
91
int drop_temporary_table(const drizzled::identifier::Table &identifier);
92
bool rm_temporary_table(plugin::StorageEngine *base, const identifier::Table &identifier);
93
bool rm_temporary_table(const drizzled::identifier::Table &identifier, bool best_effort= false);
94
Table *open_temporary_table(const drizzled::identifier::Table &identifier,
88
int drop_temporary_table(const drizzled::TableIdentifier &identifier);
89
bool rm_temporary_table(plugin::StorageEngine *base, const TableIdentifier &identifier);
90
bool rm_temporary_table(const drizzled::TableIdentifier &identifier, bool best_effort= false);
91
Table *open_temporary_table(const drizzled::TableIdentifier &identifier,
95
92
bool link_in_list= true);
97
94
virtual query_id_t getQueryId() const= 0;
158
155
virtual ~Open_tables_state() {}
160
157
void doGetTableNames(CachedDirectory &directory,
161
const identifier::Schema &schema_identifier,
158
const SchemaIdentifier &schema_identifier,
162
159
std::set<std::string>& set_of_names);
163
void doGetTableNames(const identifier::Schema &schema_identifier,
160
void doGetTableNames(const SchemaIdentifier &schema_identifier,
164
161
std::set<std::string>& set_of_names);
166
163
void doGetTableIdentifiers(CachedDirectory &directory,
167
const identifier::Schema &schema_identifier,
168
identifier::Table::vector &set_of_identifiers);
169
void doGetTableIdentifiers(const identifier::Schema &schema_identifier,
170
identifier::Table::vector &set_of_identifiers);
164
const SchemaIdentifier &schema_identifier,
165
TableIdentifier::vector &set_of_identifiers);
166
void doGetTableIdentifiers(const SchemaIdentifier &schema_identifier,
167
TableIdentifier::vector &set_of_identifiers);
172
int doGetTableDefinition(const drizzled::identifier::Table &identifier,
169
int doGetTableDefinition(const drizzled::TableIdentifier &identifier,
173
170
message::Table &table_proto);
174
bool doDoesTableExist(const drizzled::identifier::Table &identifier);
171
bool doDoesTableExist(const drizzled::TableIdentifier &identifier);
177
174
Open_tables_state(uint64_t version_arg);