~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: lbieber
  • Date: 2010-10-07 15:39:23 UTC
  • mfrom: (1819.1.2 build)
  • Revision ID: lbieber@orisndriz08-20101007153923-e9rwa9ha5oyhjdc2
Merge Monty - Bug 655294: load_data() function returns null if file is invalid 
Merge Monty - Bug 655342: select into outfile creates a garbage file on no results
Merge Monty - Fixes the haildb build

Show diffs side-by-side

added added

removed removed

Lines of Context:
90
90
 
91
91
#include <boost/algorithm/string.hpp>
92
92
#include <boost/program_options.hpp>
 
93
#include <boost/filesystem.hpp>
93
94
#include <drizzled/module/option_map.h>
94
95
#include <iostream>
95
96
 
96
97
namespace po= boost::program_options;
 
98
namespace fs=boost::filesystem;
97
99
using namespace std;
98
100
 
99
101
/** @file ha_innodb.cc */
307
309
    
308
310
    /* These get strdup'd from vm variables */
309
311
    free(innobase_data_home_dir);
 
312
    free(innobase_log_group_home_dir);
310
313
 
311
314
  }
312
315
 
1839
1842
  }
1840
1843
  else
1841
1844
  {
1842
 
    innobase_data_home_dir= strdup(getDataHome().c_str());
 
1845
    innobase_data_home_dir= strdup(getDataHome().file_string().c_str());
1843
1846
  }
1844
1847
 
1845
1848
  if (vm.count("fast-shutdown"))
2160
2163
 
2161
2164
  if (vm.count("log-group-home-dir"))
2162
2165
  {
2163
 
    innobase_log_group_home_dir= const_cast<char *>(vm["log-group-home-dir"].as<string>().c_str());
 
2166
    innobase_log_group_home_dir= strdup(vm["log-group-home-dir"].as<string>().c_str());
2164
2167
  }
2165
2168
  else
2166
2169
  {
2167
 
    innobase_log_group_home_dir = const_cast<char *>(getDataHome().c_str());
 
2170
    innobase_log_group_home_dir = strdup(getDataHome().file_string().c_str());
2168
2171
  }
2169
2172
 
2170
2173
#ifdef UNIV_LOG_ARCHIVE
6435
6438
  ib_int64_t  n_rows;
6436
6439
  ulong   j;
6437
6440
  ulong   i;
6438
 
  char    path[FN_REFLEN];
6439
6441
  os_file_stat_t  stat_info;
6440
6442
 
6441
6443
  /* If we are forcing recovery at a high level, we will suppress
6479
6481
      prebuilt->trx->op_info = "returning various info to MySQL";
6480
6482
    }
6481
6483
 
6482
 
    snprintf(path, sizeof(path), "%s/%s%s",
6483
 
             getDataHomeCatalog().c_str(), ib_table->name, ".dfe");
6484
 
 
6485
 
    internal::unpack_filename(path,path);
 
6484
    fs::path get_status_path(getDataHomeCatalog());
 
6485
    get_status_path /= ib_table->name;
 
6486
    fs::change_extension(get_status_path, "dfe");
6486
6487
 
6487
6488
    /* Note that we do not know the access time of the table,
6488
6489
    nor the CHECK TABLE time, nor the UPDATE or INSERT time. */
6489
6490
 
6490
 
    if (os_file_get_status(path,&stat_info)) {
 
6491
    if (os_file_get_status(get_status_path.file_string().c_str(), &stat_info)) {
6491
6492
      stats.create_time = (ulong) stat_info.ctime;
6492
6493
    }
6493
6494
  }