~patrick-crews/drizzle/qp-initial-cleanup

« back to all changes in this revision

Viewing changes to plugin/innobase/handler/ha_innodb.cc

  • Committer: Continuous Integration
  • Date: 2012-04-23 09:10:11 UTC
  • mfrom: (2546.1.6 drizzle-greenlake)
  • Revision ID: ci@drizzle.org-20120423091011-occ5xj26cv99opu6
modified:
  client/conclusions.h
  client/drizzledump.cc
  client/drizzledump_data.h
  client/drizzledump_drizzle.cc
  client/drizzledump_mysql.cc
  client/drizzleimport.cc
  client/include.am
  client/option_string.h
  client/server_detect.cc
  client/statement.h
  client/stats.h
  client/thread_context.h
  drizzled/identifier/catalog.cc
  drizzled/identifier/constants/schema.cc
  drizzled/identifier/schema.cc
  drizzled/identifier/table.cc
  drizzled/include.am
  drizzled/main.cc
  plugin/innobase/dict/dict0dict.cc
  plugin/innobase/handler/ha_innodb.cc
  plugin/innobase/plugin.am
  plugin/innobase/tests/r/innodb-system-table-view.result
  plugin/tableprototester/tableprototester.cc
  tests/r/broken_table_proto_file.result
  unittests/include.am
pending merge tips: (use -v to see all merge revisions)
  Brian Aker 2012-04-23 Update to add in dependency for unittest

Show diffs side-by-side

added added

removed removed

Lines of Context:
1799
1799
  const char* bufend  = buf + buflen;
1800
1800
 
1801
1801
  if (table_id) {
 
1802
    const char* catalog_skip= (const char*) memchr(id, '/', idlen);
 
1803
    if (catalog_skip)
 
1804
    {
 
1805
      idlen = idlen - (catalog_skip - id);
 
1806
      id = catalog_skip + 1;
 
1807
    }
1802
1808
    const char* slash = (const char*) memchr(id, '/', idlen);
1803
1809
    if (!slash) {
1804
1810
 
3521
3527
  else
3522
3528
  {
3523
3529
    ib_table = dict_table_get(identifier.getKeyPath().c_str(), TRUE);
 
3530
    if (ib_table == NULL
 
3531
        && drizzled::identifier::Catalog(identifier.getCatalogName())==drizzled::catalog::local_identifier())
 
3532
    {
 
3533
      std::string table_path_no_catalog(identifier.getKeyPath());
 
3534
      table_path_no_catalog.erase(0, drizzled::catalog::local_identifier().getPath().length()+1);
 
3535
      /* We try without local/ as old InnoDB data dictionary (pre CATALOG)
 
3536
         did not have local/ in data dict, just in filesystem path */
 
3537
      ib_table = dict_table_get(table_path_no_catalog.c_str(), TRUE);
 
3538
    }
3524
3539
  }
3525
3540
  
3526
3541
  if (NULL == ib_table) {
6668
6683
                                   session.getSqlCommand()
6669
6684
                                   == SQLCOM_DROP_DB);
6670
6685
 
 
6686
  if (error == ENOENT
 
6687
      && drizzled::identifier::Catalog(identifier.getCatalogName())==drizzled::catalog::local_identifier())
 
6688
  {
 
6689
    std::string table_path_no_catalog(identifier.getKeyPath());
 
6690
    table_path_no_catalog.erase(0, drizzled::catalog::local_identifier().getPath().length()+1);
 
6691
  error = row_drop_table_for_mysql(table_path_no_catalog.c_str(), trx,
 
6692
                                   session.getSqlCommand()
 
6693
                                   == SQLCOM_DROP_DB);
 
6694
  }
 
6695
 
6671
6696
  session.setXaId(trx->id);
6672
6697
 
6673
6698
  /* Flush the log to reduce probability that the .frm files and