~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/drizzled.cc

  • Committer: Monty Taylor
  • Date: 2008-11-07 04:42:46 UTC
  • mfrom: (575.4.1 drizzle)
  • mto: This revision was merged to the branch mainline in revision 579.
  • Revision ID: monty@inaugust.com-20081107044246-n8hnlrzsjn0uvca0
Merged from ysano. Reverted changes to storage/innobase/handler, which is not built by drizzle.

Show diffs side-by-side

added added

removed removed

Lines of Context:
374
374
 
375
375
time_t server_start_time, flush_status_time;
376
376
 
377
 
char mysql_home[FN_REFLEN], pidfile_name[FN_REFLEN], system_time_zone[30];
 
377
char drizzle_home[FN_REFLEN], pidfile_name[FN_REFLEN], system_time_zone[30];
378
378
char *default_tz_name;
379
379
char log_error_file[FN_REFLEN], glob_hostname[FN_REFLEN];
380
 
char mysql_real_data_home[FN_REFLEN],
 
380
char drizzle_real_data_home[FN_REFLEN],
381
381
     language[FN_REFLEN], reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN],
382
382
     *opt_init_file, *opt_tc_log_file;
383
 
char mysql_unpacked_real_data_home[FN_REFLEN];
 
383
char drizzle_unpacked_real_data_home[FN_REFLEN];
384
384
uint32_t reg_ext_length;
385
385
const key_map key_map_empty(0);
386
386
key_map key_map_full(0);                        // Will be initialized later
387
387
 
388
388
const char *opt_date_time_formats[3];
389
389
 
390
 
uint32_t mysql_data_home_len;
391
 
char mysql_data_home_buff[2], *mysql_data_home=mysql_real_data_home;
 
390
uint32_t drizzle_data_home_len;
 
391
char mysql_data_home_buff[2], *drizzle_data_home=drizzle_real_data_home;
392
392
char server_version[SERVER_VERSION_LENGTH];
393
393
char *opt_mysql_tmpdir;
394
394
const char *myisam_recover_options_str="OFF";
2184
2184
  if (opt_error_log && !opt_help)
2185
2185
  {
2186
2186
    if (!log_error_file_ptr[0])
2187
 
      fn_format(log_error_file, pidfile_name, mysql_data_home, ".err",
 
2187
      fn_format(log_error_file, pidfile_name, drizzle_data_home, ".err",
2188
2188
                MY_REPLACE_EXT); /* replace '.<domain>' by '.err', bug#4997 */
2189
2189
    else
2190
 
      fn_format(log_error_file, log_error_file_ptr, mysql_data_home, ".err",
 
2190
      fn_format(log_error_file, log_error_file_ptr, drizzle_data_home, ".err",
2191
2191
                MY_UNPACK_FILENAME | MY_SAFE_PATH);
2192
2192
    if (!log_error_file[0])
2193
2193
      opt_error_log= 1;                         // Too long file name
2490
2490
  /*
2491
2491
    We have enough space for fiddling with the argv, continue
2492
2492
  */
2493
 
  check_data_home(mysql_real_data_home);
2494
 
  if (my_setwd(mysql_real_data_home,MYF(MY_WME)) && !opt_help)
 
2493
  check_data_home(drizzle_real_data_home);
 
2494
  if (my_setwd(drizzle_real_data_home,MYF(MY_WME)) && !opt_help)
2495
2495
    unireg_abort(1);                            /* purecov: inspected */
2496
 
  mysql_data_home= mysql_data_home_buff;
2497
 
  mysql_data_home[0]=FN_CURLIB;         // all paths are relative from here
2498
 
  mysql_data_home[1]=0;
2499
 
  mysql_data_home_len= 2;
 
2496
  drizzle_data_home= mysql_data_home_buff;
 
2497
  drizzle_data_home[0]=FN_CURLIB;               // all paths are relative from here
 
2498
  drizzle_data_home[1]=0;
 
2499
  drizzle_data_home_len= 2;
2500
2500
 
2501
2501
  if ((user_info= check_user(drizzled_user)))
2502
2502
  {
3012
3012
   NO_ARG, 0, 0, 0, 0, 0, 0},
3013
3013
  {"datadir", 'h',
3014
3014
   N_("Path to the database root."),
3015
 
   (char**) &mysql_data_home,
3016
 
   (char**) &mysql_data_home, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
 
3015
   (char**) &drizzle_data_home,
 
3016
   (char**) &drizzle_data_home, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3017
3017
  {"default-storage-engine", OPT_STORAGE_ENGINE,
3018
3018
   N_("Set the default storage engine (table type) for tables."),
3019
3019
   (char**)&default_storage_engine_str, (char**)&default_storage_engine_str,
4082
4082
{
4083
4083
  /* Things reset to zero */
4084
4084
  opt_skip_slave_start= opt_reckless_slave = 0;
4085
 
  mysql_home[0]= pidfile_name[0]= log_error_file[0]= 0;
 
4085
  drizzle_home[0]= pidfile_name[0]= log_error_file[0]= 0;
4086
4086
  log_output_options= find_bit_type(log_output_str, &log_output_typelib);
4087
4087
  opt_bin_log= 0;
4088
4088
  opt_skip_show_db=0;
4125
4125
  slave_exec_mode_options= 0;
4126
4126
  slave_exec_mode_options= (uint)
4127
4127
    find_bit_type_or_exit(slave_exec_mode_str, &slave_exec_mode_typelib, NULL);
4128
 
  drizzle_home_ptr= mysql_home;
 
4128
  drizzle_home_ptr= drizzle_home;
4129
4129
  pidfile_name_ptr= pidfile_name;
4130
4130
  log_error_file_ptr= log_error_file;
4131
4131
  language_ptr= language;
4132
 
  mysql_data_home= mysql_real_data_home;
 
4132
  drizzle_data_home= drizzle_real_data_home;
4133
4133
  session_startup_options= (OPTION_AUTO_IS_NULL | OPTION_BIN_LOG |
4134
4134
                        OPTION_QUOTE_SHOW_CREATE | OPTION_SQL_NOTES);
4135
4135
  protocol_version= PROTOCOL_VERSION;
4150
4150
 
4151
4151
  /* Set directory paths */
4152
4152
  strmake(language, LANGUAGE, sizeof(language)-1);
4153
 
  strmake(mysql_real_data_home, get_relative_path(DATADIR),
4154
 
          sizeof(mysql_real_data_home)-1);
 
4153
  strmake(drizzle_real_data_home, get_relative_path(DATADIR),
 
4154
          sizeof(drizzle_real_data_home)-1);
4155
4155
  mysql_data_home_buff[0]=FN_CURLIB;    // all paths are relative from here
4156
4156
  mysql_data_home_buff[1]=0;
4157
 
  mysql_data_home_len= 2;
 
4157
  drizzle_data_home_len= 2;
4158
4158
 
4159
4159
  /* Replication parameters */
4160
4160
  master_info_file= (char*) "master.info",
4200
4200
  const char *tmpenv;
4201
4201
  if (!(tmpenv = getenv("MY_BASEDIR_VERSION")))
4202
4202
    tmpenv = DEFAULT_DRIZZLE_HOME;
4203
 
  (void) strmake(mysql_home, tmpenv, sizeof(mysql_home)-1);
 
4203
  (void) strmake(drizzle_home, tmpenv, sizeof(drizzle_home)-1);
4204
4204
}
4205
4205
 
4206
4206
 
4217
4217
    global_system_variables.tx_isolation= ISO_SERIALIZABLE;
4218
4218
    break;
4219
4219
  case 'b':
4220
 
    strmake(mysql_home,argument,sizeof(mysql_home)-1);
 
4220
    strmake(drizzle_home,argument,sizeof(drizzle_home)-1);
4221
4221
    break;
4222
4222
  case 'C':
4223
4223
    if (default_collation_name == compiled_default_collation_name)
4224
4224
      default_collation_name= 0;
4225
4225
    break;
4226
4226
  case 'h':
4227
 
    strmake(mysql_real_data_home,argument, sizeof(mysql_real_data_home)-1);
 
4227
    strmake(drizzle_real_data_home,argument, sizeof(drizzle_real_data_home)-1);
4228
4228
    /* Correct pointer set by my_getopt (for embedded library) */
4229
 
    mysql_data_home= mysql_real_data_home;
4230
 
    mysql_data_home_len= strlen(mysql_data_home);
 
4229
    drizzle_data_home= drizzle_real_data_home;
 
4230
    drizzle_data_home_len= strlen(drizzle_data_home);
4231
4231
    break;
4232
4232
  case 'u':
4233
4233
    if (!drizzled_user || !strcmp(drizzled_user, argument))
4650
4650
static void fix_paths(void)
4651
4651
{
4652
4652
  char buff[FN_REFLEN],*pos;
4653
 
  convert_dirname(mysql_home,mysql_home,NULL);
4654
 
  /* Resolve symlinks to allow 'mysql_home' to be a relative symlink */
4655
 
  my_realpath(mysql_home,mysql_home,MYF(0));
4656
 
  /* Ensure that mysql_home ends in FN_LIBCHAR */
4657
 
  pos= strchr(mysql_home, '\0');
 
4653
  convert_dirname(drizzle_home,drizzle_home,NULL);
 
4654
  /* Resolve symlinks to allow 'drizzle_home' to be a relative symlink */
 
4655
  my_realpath(drizzle_home,drizzle_home,MYF(0));
 
4656
  /* Ensure that drizzle_home ends in FN_LIBCHAR */
 
4657
  pos= strchr(drizzle_home, '\0');
4658
4658
  if (pos[-1] != FN_LIBCHAR)
4659
4659
  {
4660
4660
    pos[0]= FN_LIBCHAR;
4661
4661
    pos[1]= 0;
4662
4662
  }
4663
 
  convert_dirname(mysql_real_data_home,mysql_real_data_home,NULL);
4664
 
  (void) fn_format(buff, mysql_real_data_home, "", "",
 
4663
  convert_dirname(drizzle_real_data_home,drizzle_real_data_home,NULL);
 
4664
  (void) fn_format(buff, drizzle_real_data_home, "", "",
4665
4665
                   (MY_RETURN_REAL_PATH|MY_RESOLVE_SYMLINKS));
4666
 
  (void) unpack_dirname(mysql_unpacked_real_data_home, buff);
 
4666
  (void) unpack_dirname(drizzle_unpacked_real_data_home, buff);
4667
4667
  convert_dirname(language,language,NULL);
4668
 
  (void) my_load_path(mysql_home,mysql_home,""); // Resolve current dir
4669
 
  (void) my_load_path(mysql_real_data_home,mysql_real_data_home,mysql_home);
4670
 
  (void) my_load_path(pidfile_name,pidfile_name,mysql_real_data_home);
 
4668
  (void) my_load_path(drizzle_home,drizzle_home,""); // Resolve current dir
 
4669
  (void) my_load_path(drizzle_real_data_home,drizzle_real_data_home,drizzle_home);
 
4670
  (void) my_load_path(pidfile_name,pidfile_name,drizzle_real_data_home);
4671
4671
  (void) my_load_path(opt_plugin_dir, opt_plugin_dir_ptr ? opt_plugin_dir_ptr :
4672
 
                                      get_relative_path(PLUGINDIR), mysql_home);
 
4672
                                      get_relative_path(PLUGINDIR), drizzle_home);
4673
4673
  opt_plugin_dir_ptr= opt_plugin_dir;
4674
4674
 
4675
4675
  char *sharedir=get_relative_path(SHAREDIR);
4677
4677
    strncpy(buff,sharedir,sizeof(buff)-1);              /* purecov: tested */
4678
4678
  else
4679
4679
  {
4680
 
    strcpy(buff, mysql_home);
4681
 
    strncat(buff, sharedir, sizeof(buff)-strlen(mysql_home)-1);
 
4680
    strcpy(buff, drizzle_home);
 
4681
    strncat(buff, sharedir, sizeof(buff)-strlen(drizzle_home)-1);
4682
4682
  }
4683
4683
  convert_dirname(buff,buff,NULL);
4684
4684
  (void) my_load_path(language,language,buff);