Commit 0327d05c authored by unknown's avatar unknown
Browse files

Fixed core dump with long timezone names

Don't abort on bootstrap if a wrong --default-storage-engine is specified


sql/handler.cc:
  Combined code
sql/mysqld.cc:
  Fixed core dump with long timezone names
  Don't abort on bootstrap if a wrong --default-storage-engine is specified
  Don't print strange messages if one sends 'kill' to a mysqld --bootstrap
sql/set_var.cc:
  Indentaion change
parent bd4c929b
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -163,13 +163,8 @@ my_bool ha_storage_engine_is_enabled(enum db_type database_type)

enum db_type ha_checktype(enum db_type database_type)
{
  show_table_type_st *types;
  for (types= sys_table_types; types->type; types++)
  {
    if ((database_type == types->db_type) && 
	(*types->value == SHOW_OPTION_YES))
  if (ha_storage_engine_is_enabled(database_type))
    return database_type;
  }

  switch (database_type) {
#ifndef NO_HASH
+17 −9
Original line number Diff line number Diff line
@@ -2426,7 +2426,9 @@ static int init_common_variables(const char *conf_file_name, int argc,
  {
    struct tm tm_tmp;
    localtime_r(&start_time,&tm_tmp);
    strmov(system_time_zone, tzname[tm_tmp.tm_isdst != 0 ? 1 : 0]);
    strmake(system_time_zone, tzname[tm_tmp.tm_isdst != 0 ? 1 : 0],
            sizeof(system_time_zone)-1);

 }
#endif
  /*
@@ -3081,6 +3083,7 @@ we force server id to 2, but this MySQL server will not act as a slave.");

  if (opt_bootstrap)
  {
    select_thread_in_use= 0;                    // Allow 'kill' to work
    int error= bootstrap(stdin);
    end_thr_alarm(1);				// Don't allow alarms
    unireg_abort(error ? 1 : 0);
@@ -6184,9 +6187,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
  case OPT_STORAGE_ENGINE:
  {
    if ((enum db_type)((global_system_variables.table_type=
	  ha_resolve_by_name(argument, strlen(argument)))) == DB_TYPE_UNKNOWN)
                        ha_resolve_by_name(argument, strlen(argument)))) ==
        DB_TYPE_UNKNOWN)
    {
      fprintf(stderr,"Unknown table type: %s\n",argument);
      fprintf(stderr,"Unknown/unsupported table type: %s\n",argument);
      exit(1);
    }
    break;
@@ -6441,12 +6445,16 @@ static void get_options(int argc,char **argv)
  */
  if (!ha_storage_engine_is_enabled((enum db_type)
                                    global_system_variables.table_type))
  {
    if (!opt_bootstrap)
    {
      sql_print_error("Default storage engine (%s) is not available",
                      ha_get_storage_engine((enum db_type)
                                            global_system_variables.table_type));
      exit(1);
    }
    global_system_variables.table_type= DB_TYPE_MYISAM;
  }

  if (argc > 0)
  {
+2 −2

File changed.

Contains only whitespace changes.