288
288
class StorageEngineGetTableDefinition: public unary_function<StorageEngine *,bool>
290
290
Session& session;
293
const char *table_name;
295
291
TableIdentifier &identifier;
296
292
message::Table &table_message;
300
296
StorageEngineGetTableDefinition(Session& session_arg,
301
const char* path_arg,
303
const char *table_name_arg,
304
const bool is_tmp_arg,
305
297
TableIdentifier &identifier_arg,
306
298
message::Table &table_message_arg,
308
300
session(session_arg),
311
table_name(table_name_arg),
313
301
identifier(identifier_arg),
314
302
table_message(table_message_arg),
390
374
message::Table &table_message,
391
375
bool include_temporary_tables)
393
return getTableDefinition(session,
394
identifier.getPath(), identifier.getDBName(), identifier.getTableName(), identifier.isTmp(),
397
include_temporary_tables);
400
int StorageEngine::getTableDefinition(Session& session,
402
const char *schema_name,
403
const char *table_name,
405
TableIdentifier &identifier,
406
message::Table &table_message,
407
bool include_temporary_tables)
411
379
if (include_temporary_tables)
413
if (session.doGetTableDefinition(path, schema_name, table_name, false, table_message) == EEXIST)
381
if (session.doGetTableDefinition(identifier, table_message) == EEXIST)
417
385
EngineVector::iterator iter=
418
386
find_if(vector_of_engines.begin(), vector_of_engines.end(),
419
StorageEngineGetTableDefinition(session, path, NULL, NULL, true, identifier, table_message, &err));
387
StorageEngineGetTableDefinition(session, identifier, table_message, &err));
421
389
if (iter == vector_of_engines.end())