~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/storage_engine.cc

  • Committer: Brian Aker
  • Date: 2010-03-19 01:45:58 UTC
  • mfrom: (1358.1.8 build)
  • Revision ID: brian@gaz-20100319014558-wq2snrpbdz3e8lwo
Merge Brian

Show diffs side-by-side

added added

removed removed

Lines of Context:
288
288
class StorageEngineGetTableDefinition: public unary_function<StorageEngine *,bool>
289
289
{
290
290
  Session& session;
291
 
  const char* path;
292
 
  const char *db;
293
 
  const char *table_name;
294
 
  const bool is_tmp;
295
291
  TableIdentifier &identifier;
296
292
  message::Table &table_message;
297
293
  int *err;
298
294
 
299
295
public:
300
296
  StorageEngineGetTableDefinition(Session& session_arg,
301
 
                                  const char* path_arg,
302
 
                                  const char *db_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,
307
299
                                  int *err_arg) :
308
300
    session(session_arg), 
309
 
    path(path_arg), 
310
 
    db(db_arg),
311
 
    table_name(table_name_arg),
312
 
    is_tmp(is_tmp_arg),
313
301
    identifier(identifier_arg),
314
302
    table_message(table_message_arg), 
315
303
    err(err_arg) {}
317
305
  result_type operator() (argument_type engine)
318
306
  {
319
307
    int ret= engine->doGetTableDefinition(session,
320
 
                                          path, 
321
 
                                          db,
322
 
                                          table_name,
323
 
                                          is_tmp,
324
308
                                          identifier,
325
309
                                          table_message);
326
310
 
390
374
                                      message::Table &table_message,
391
375
                                      bool include_temporary_tables)
392
376
{
393
 
  return getTableDefinition(session,
394
 
                            identifier.getPath(), identifier.getDBName(), identifier.getTableName(), identifier.isTmp(),
395
 
                            identifier,
396
 
                            table_message,
397
 
                            include_temporary_tables);
398
 
}
399
 
 
400
 
int StorageEngine::getTableDefinition(Session& session,
401
 
                                      const char* path,
402
 
                                      const char *schema_name,
403
 
                                      const char *table_name,
404
 
                                      const bool,
405
 
                                      TableIdentifier &identifier,
406
 
                                      message::Table &table_message,
407
 
                                      bool include_temporary_tables)
408
 
{
409
377
  int err= ENOENT;
410
378
 
411
379
  if (include_temporary_tables)
412
380
  {
413
 
    if (session.doGetTableDefinition(path, schema_name, table_name, false, table_message) == EEXIST)
 
381
    if (session.doGetTableDefinition(identifier, table_message) == EEXIST)
414
382
      return EEXIST;
415
383
  }
416
384
 
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));
420
388
 
421
389
  if (iter == vector_of_engines.end())
422
390
  {
589
557
    share.storage_engine->setTransactionReadWrite(session);
590
558
 
591
559
    error= share.storage_engine->doCreateTable(&session,
592
 
                                               identifier.getPath(),
593
560
                                               table,
594
561
                                               identifier,
595
562
                                               table_message);