71
71
DRIZZLE_TYPE_VARCHAR,
77
76
columns->push_back(new plugin::ColumnInfo("Table",
79
78
DRIZZLE_TYPE_VARCHAR,
85
83
columns->push_back(new plugin::ColumnInfo("In_use",
87
85
DRIZZLE_TYPE_LONGLONG,
93
90
columns->push_back(new plugin::ColumnInfo("Name_locked",
95
92
DRIZZLE_TYPE_LONGLONG,
140
inline bool open_list_store(Table *table, open_table_list_st& open_list);
141
inline bool open_list_store(Table *table, open_table_list_st& open_list)
136
inline bool open_list_store(Table *table,
137
open_table_list_st& open_list,
138
plugin::InfoSchemaTable *schema_table);
139
inline bool open_list_store(Table *table,
140
open_table_list_st& open_list,
141
plugin::InfoSchemaTable *schema_table)
143
143
table->restoreRecordAsDefault();
144
table->setWriteSet(0);
145
table->setWriteSet(1);
146
table->setWriteSet(2);
147
table->setWriteSet(3);
144
148
table->field[0]->store(open_list.db.c_str(), open_list.db.length(), system_charset_info);
145
149
table->field[1]->store(open_list.table.c_str(), open_list.table.length(), system_charset_info);
146
150
table->field[2]->store((int64_t) open_list.in_use, true);
147
151
table->field[3]->store((int64_t) open_list.locked, true);
148
if (schema_table_store_record(table->in_use, table))
152
schema_table->addRow(table->record[0], table->s->reclength);
154
int OpenTablesISMethods::fillTable(Session *session, TableList *tables)
157
int OpenTablesISMethods::fillTable(Session *session,
159
plugin::InfoSchemaTable *schema_table)
156
161
const char *wild= session->lex->wild ? session->lex->wild->ptr() : NULL;
158
if ((list_open_tables(session->lex->select_lex.db, wild, open_list_store, tables->table) == true) && session->is_fatal_error)
163
if ((list_open_tables(session->lex->select_lex.db, wild, open_list_store, table, schema_table) == true) && session->is_fatal_error)