~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/drizzled.cc

  • Committer: Lee
  • Date: 2009-01-06 20:24:58 UTC
  • mfrom: (759 drizzle)
  • mto: This revision was merged to the branch mainline in revision 763.
  • Revision ID: lbieber@lbieber-desktop-20090106202458-82n4kyftrnakvl4r
merge with latest from the trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
545
545
    }
546
546
#ifdef EXTRA_DEBUG
547
547
    if (error != 0 && !count++)
548
 
      sql_print_error(_("Got error %d from pthread_cond_timedwait"),error);
 
548
        errmsg_printf(ERRMSG_LVL_ERROR, _("Got error %d from pthread_cond_timedwait"),error);
549
549
#endif
550
550
    close_server_sock();
551
551
  }
624
624
    if (tmp->vio_ok())
625
625
    {
626
626
      if (global_system_variables.log_warnings)
627
 
        sql_print_warning(ER(ER_FORCING_CLOSE),my_progname,
 
627
            errmsg_printf(ERRMSG_LVL_WARN, ER(ER_FORCING_CLOSE),my_progname,
628
628
                          tmp->thread_id,
629
629
                          (tmp->security_ctx.user.c_str() ?
630
630
                           tmp->security_ctx.user.c_str() : ""));
686
686
  if (sig != 0) // 0 is not a valid signal number
687
687
    my_sigset(sig, SIG_IGN);                    /* purify inspected */
688
688
  if (sig == DRIZZLE_KILL_SIGNAL || sig == 0)
689
 
    sql_print_information(_(ER(ER_NORMAL_SHUTDOWN)),my_progname);
 
689
    errmsg_printf(ERRMSG_LVL_INFO, _(ER(ER_NORMAL_SHUTDOWN)),my_progname);
690
690
  else
691
 
    sql_print_error(_(ER(ER_GOT_SIGNAL)),my_progname,sig); /* purecov: inspected */
 
691
    errmsg_printf(ERRMSG_LVL_ERROR, _(ER(ER_GOT_SIGNAL)),my_progname,sig); /* purecov: inspected */
692
692
 
693
693
  close_connections();
694
694
  if (sig != DRIZZLE_KILL_SIGNAL &&
724
724
extern "C" RETSIGTYPE print_signal_warning(int sig)
725
725
{
726
726
  if (global_system_variables.log_warnings)
727
 
    sql_print_warning(_("Got signal %d from thread %"PRIu64), sig,my_thread_id());
 
727
    errmsg_printf(ERRMSG_LVL_WARN, _("Got signal %d from thread %"PRIu64), sig,my_thread_id());
728
728
#ifndef HAVE_BSD_SIGNALS
729
729
  my_sigset(sig,print_signal_warning);          /* int. thread system calls */
730
730
#endif
777
777
{
778
778
 
779
779
  if (exit_code)
780
 
    sql_print_error(_("Aborting\n"));
 
780
    errmsg_printf(ERRMSG_LVL_ERROR, _("Aborting\n"));
781
781
  else if (opt_help)
782
782
    usage();
783
783
  clean_up(!opt_help && (exit_code)); /* purecov: inspected */
841
841
  (void) my_delete(pidfile_name,MYF(0));        // This may not always exist
842
842
 
843
843
  if (print_message && server_start_time)
844
 
    sql_print_information(_(ER(ER_SHUTDOWN_COMPLETE)),my_progname);
 
844
    errmsg_printf(ERRMSG_LVL_INFO, _(ER(ER_SHUTDOWN_COMPLETE)),my_progname);
845
845
  thread_scheduler.end();
846
846
  /* Returns NULL on globerrs, we don't want to try to free that */
847
847
  //void *freeme=
951
951
      tmp_user_info= getpwnam(user);
952
952
      if ((!tmp_user_info || user_id != tmp_user_info->pw_uid) &&
953
953
          global_system_variables.log_warnings)
954
 
        sql_print_warning(_("One can only use the --user switch "
 
954
            errmsg_printf(ERRMSG_LVL_WARN, _("One can only use the --user switch "
955
955
                            "if running as root\n"));
956
956
      /* purecov: end */
957
957
    }
959
959
  }
960
960
  if (!user)
961
961
  {
962
 
    sql_print_error(_("Fatal error: Please read \"Security\" section of "
 
962
      errmsg_printf(ERRMSG_LVL_ERROR, _("Fatal error: Please read \"Security\" section of "
963
963
                      "the manual to find out how to run drizzled as root!\n"));
964
964
    unireg_abort(1);
965
965
 
983
983
  /* purecov: end */
984
984
 
985
985
err:
986
 
  sql_print_error(_("Fatal error: Can't change to run as user '%s' ;  "
 
986
  errmsg_printf(ERRMSG_LVL_ERROR, _("Fatal error: Can't change to run as user '%s' ;  "
987
987
                    "Please check that the user exists!\n"),user);
988
988
  unireg_abort(1);
989
989
 
1157
1157
          (errno != EADDRINUSE) ||
1158
1158
          (waited >= drizzled_port_timeout))
1159
1159
        break;
1160
 
      sql_print_information(_("Retrying bind on TCP/IP port %u"), drizzled_port);
 
1160
          errmsg_printf(ERRMSG_LVL_INFO, _("Retrying bind on TCP/IP port %u"), drizzled_port);
1161
1161
      this_wait= retry * retry / 3 + 1;
1162
1162
      sleep(this_wait);
1163
1163
    }
1164
1164
    if (ret < 0)
1165
1165
    {
1166
1166
      sql_perror(_("Can't start server: Bind on TCP/IP port"));
1167
 
      sql_print_error(_("Do you already have another drizzled server running "
 
1167
          errmsg_printf(ERRMSG_LVL_ERROR, _("Do you already have another drizzled server running "
1168
1168
                        "on port: %d ?"),drizzled_port);
1169
1169
      unireg_abort(1);
1170
1170
    }
1171
1171
    if (listen(ip_sock,(int) back_log) < 0)
1172
1172
    {
1173
1173
      sql_perror(_("Can't start server: listen() on TCP/IP port"));
1174
 
      sql_print_error(_("listen() on TCP/IP failed with error %d"),
 
1174
          errmsg_printf(ERRMSG_LVL_ERROR, _("listen() on TCP/IP failed with error %d"),
1175
1175
                      errno);
1176
1176
      unireg_abort(1);
1177
1177
    }
1444
1444
    STRUCT_RLIMIT rl;
1445
1445
    rl.rlim_cur = rl.rlim_max = RLIM_INFINITY;
1446
1446
    if (setrlimit(RLIMIT_CORE, &rl) && global_system_variables.log_warnings)
1447
 
      sql_print_warning(_("setrlimit could not change the size of core files "
 
1447
        errmsg_printf(ERRMSG_LVL_WARN, _("setrlimit could not change the size of core files "
1448
1448
                          "to 'infinity';  We may not be able to generate a "
1449
1449
                          "core file on signals"));
1450
1450
  }
1512
1512
  (void) pthread_mutex_lock(&LOCK_thread_count);
1513
1513
  if ((error=pthread_create(&signal_thread,&thr_attr,signal_hand,0)))
1514
1514
  {
1515
 
    sql_print_error(_("Can't create interrupt-thread (error %d, errno: %d)"),
 
1515
      errmsg_printf(ERRMSG_LVL_ERROR, _("Can't create interrupt-thread (error %d, errno: %d)"),
1516
1516
                    error,errno);
1517
1517
    exit(1);
1518
1518
  }
1600
1600
    case SIGQUIT:
1601
1601
    case SIGKILL:
1602
1602
#ifdef EXTRA_DEBUG
1603
 
      sql_print_information(_("Got signal %d to shutdown drizzled"),sig);
 
1603
        errmsg_printf(ERRMSG_LVL_INFO, _("Got signal %d to shutdown drizzled"),sig);
1604
1604
#endif
1605
1605
      /* switch to the old log message processing */
1606
1606
      if (!abort_loop)
1617
1617
        }
1618
1618
        if (pthread_create(&tmp,&connection_attrib, kill_server_thread,
1619
1619
                           (void*) &sig))
1620
 
          sql_print_error(_("Can't create thread to kill server"));
 
1620
              errmsg_printf(ERRMSG_LVL_ERROR, _("Can't create thread to kill server"));
1621
1621
#else
1622
1622
        kill_server((void*) sig);       // MIT THREAD has a alarm thread
1623
1623
#endif
1640
1640
#endif
1641
1641
    default:
1642
1642
#ifdef EXTRA_DEBUG
1643
 
      sql_print_warning(_("Got signal: %d  error: %d"),sig,error); /* purecov: tested */
 
1643
        errmsg_printf(ERRMSG_LVL_WARN, _("Got signal: %d  error: %d"),sig,error); /* purecov: tested */
1644
1644
#endif
1645
1645
      break;                                    /* purecov: tested */
1646
1646
    }
1712
1712
    }
1713
1713
  }
1714
1714
  if (!session || MyFlags & ME_NOREFRESH)
1715
 
    sql_print_error("%s: %s",my_progname,str); /* purecov: inspected */
 
1715
    errmsg_printf(ERRMSG_LVL_ERROR, "%s: %s",my_progname,str); /* purecov: inspected */
1716
1716
  return;;
1717
1717
}
1718
1718
 
1877
1877
  if (gethostname(glob_hostname,sizeof(glob_hostname)) < 0)
1878
1878
  {
1879
1879
    strncpy(glob_hostname, STRING_WITH_LEN("localhost"));
1880
 
    sql_print_warning(_("gethostname failed, using '%s' as hostname"),
 
1880
      errmsg_printf(ERRMSG_LVL_WARN, _("gethostname failed, using '%s' as hostname"),
1881
1881
                      glob_hostname);
1882
1882
    strncpy(pidfile_name, STRING_WITH_LEN("mysql"));
1883
1883
  }
1941
1941
                                          (uint32_t)TABLE_OPEN_CACHE_MIN),
1942
1942
                                      table_cache_size);
1943
1943
        if (global_system_variables.log_warnings)
1944
 
          sql_print_warning(_("Changed limits: max_open_files: %u  "
 
1944
              errmsg_printf(ERRMSG_LVL_WARN, _("Changed limits: max_open_files: %u  "
1945
1945
                              "max_connections: %"PRIu64"  table_cache: %"PRIu64""),
1946
1946
                            files, max_connections, table_cache_size);
1947
1947
      }
1948
1948
      else if (global_system_variables.log_warnings)
1949
 
        sql_print_warning(_("Could not increase number of max_open_files "
 
1949
          errmsg_printf(ERRMSG_LVL_WARN, _("Could not increase number of max_open_files "
1950
1950
                            "to more than %u (request: %u)"),
1951
1951
                          files, wanted_files);
1952
1952
    }
1996
1996
      get_charset_by_name(default_collation_name, MYF(0));
1997
1997
    if (!default_collation)
1998
1998
    {
1999
 
      sql_print_error(_(ER(ER_UNKNOWN_COLLATION)), default_collation_name);
 
1999
          errmsg_printf(ERRMSG_LVL_ERROR, _(ER(ER_UNKNOWN_COLLATION)), default_collation_name);
2000
2000
      return 1;
2001
2001
    }
2002
2002
    if (!my_charset_same(default_charset_info, default_collation))
2003
2003
    {
2004
 
      sql_print_error(_(ER(ER_COLLATION_CHARSET_MISMATCH)),
 
2004
          errmsg_printf(ERRMSG_LVL_ERROR, _(ER(ER_COLLATION_CHARSET_MISMATCH)),
2005
2005
                      default_collation_name,
2006
2006
                      default_charset_info->csname);
2007
2007
      return 1;
2024
2024
  if (!(my_default_lc_time_names=
2025
2025
        my_locale_by_name(lc_time_names_name)))
2026
2026
  {
2027
 
    sql_print_error(_("Unknown locale: '%s'"), lc_time_names_name);
 
2027
      errmsg_printf(ERRMSG_LVL_ERROR, _("Unknown locale: '%s'"), lc_time_names_name);
2028
2028
    return 1;
2029
2029
  }
2030
2030
  global_system_variables.lc_time_names= my_default_lc_time_names;
2093
2093
  if (pthread_key_create(&THR_Session,NULL) ||
2094
2094
      pthread_key_create(&THR_Mem_root,NULL))
2095
2095
  {
2096
 
    sql_print_error(_("Can't create thread-keys"));
 
2096
      errmsg_printf(ERRMSG_LVL_ERROR, _("Can't create thread-keys"));
2097
2097
    return 1;
2098
2098
  }
2099
2099
  return 0;
2117
2117
 
2118
2118
  if (xid_cache_init())
2119
2119
  {
2120
 
    sql_print_error(_("Out of memory"));
 
2120
      errmsg_printf(ERRMSG_LVL_ERROR, _("Out of memory"));
2121
2121
    unireg_abort(1);
2122
2122
  }
2123
2123
 
2124
2124
  if (opt_log_slave_updates && replicate_same_server_id)
2125
2125
  {
2126
 
    sql_print_error(_("using --replicate-same-server-id in conjunction with "
 
2126
      errmsg_printf(ERRMSG_LVL_ERROR, _("using --replicate-same-server-id in conjunction with "
2127
2127
                      "--log-slave-updates is impossible, it would lead to "
2128
2128
                      "infinite loops in this server."));
2129
2129
    unireg_abort(1);
2143
2143
        require a name. But as we don't want to break many existing setups, we
2144
2144
        only give warning, not error.
2145
2145
      */
2146
 
      sql_print_warning(_("No argument was provided to --log-bin, and "
 
2146
          errmsg_printf(ERRMSG_LVL_WARN, _("No argument was provided to --log-bin, and "
2147
2147
                          "--log-bin-index was not used; so replication "
2148
2148
                          "may break when this Drizzle server acts as a "
2149
2149
                          "master and has his hostname changed!! Please "
2155
2155
      opt_bin_logname=strdup(buf);
2156
2156
      if (opt_bin_logname == NULL)
2157
2157
      {
2158
 
        sql_print_error(_("Out of memory in init_server_components."));
 
2158
              errmsg_printf(ERRMSG_LVL_ERROR, _("Out of memory in init_server_components."));
2159
2159
        return(1);
2160
2160
      }
2161
2161
    }
2176
2176
                  (opt_noacl ? PLUGIN_INIT_SKIP_PLUGIN_TABLE : 0) |
2177
2177
                  (opt_help ? PLUGIN_INIT_SKIP_INITIALIZATION : 0)))
2178
2178
  {
2179
 
    sql_print_error(_("Failed to initialize plugins."));
 
2179
      errmsg_printf(ERRMSG_LVL_ERROR, _("Failed to initialize plugins."));
2180
2180
    unireg_abort(1);
2181
2181
  }
2182
2182
 
2217
2217
  /* We have to initialize the storage engines before CSV logging */
2218
2218
  if (ha_init())
2219
2219
  {
2220
 
    sql_print_error(_("Can't init databases"));
 
2220
      errmsg_printf(ERRMSG_LVL_ERROR, _("Can't init databases"));
2221
2221
    unireg_abort(1);
2222
2222
  }
2223
2223
 
2237
2237
    }
2238
2238
    else
2239
2239
    {
2240
 
      sql_print_error(_("Unknown/unsupported table type: %s"),
 
2240
          errmsg_printf(ERRMSG_LVL_ERROR, _("Unknown/unsupported table type: %s"),
2241
2241
                      default_storage_engine_str);
2242
2242
      unireg_abort(1);
2243
2243
    }
2244
2244
    if (!ha_storage_engine_is_enabled(hton))
2245
2245
    {
2246
 
      sql_print_error(_("Default storage engine (%s) is not available"),
 
2246
          errmsg_printf(ERRMSG_LVL_ERROR, _("Default storage engine (%s) is not available"),
2247
2247
                      default_storage_engine_str);
2248
2248
      unireg_abort(1);
2249
2249
      assert(global_system_variables.table_plugin);
2266
2266
 
2267
2267
  if (tc_log->open(opt_bin_log ? opt_bin_logname : opt_tc_log_file))
2268
2268
  {
2269
 
    sql_print_error(_("Can't initialize tc_log"));
 
2269
      errmsg_printf(ERRMSG_LVL_ERROR, _("Can't initialize tc_log"));
2270
2270
    unireg_abort(1);
2271
2271
  }
2272
2272
 
2297
2297
    if (mlockall(MCL_CURRENT))
2298
2298
    {
2299
2299
      if (global_system_variables.log_warnings)
2300
 
        sql_print_warning(_("Failed to lock memory. Errno: %d\n"),errno);
 
2300
            errmsg_printf(ERRMSG_LVL_WARN, _("Failed to lock memory. Errno: %d\n"),errno);
2301
2301
      locked_in_memory= 0;
2302
2302
    }
2303
2303
    if (user_info)
2358
2358
    {
2359
2359
      if (global_system_variables.log_warnings)
2360
2360
      {
2361
 
        sql_print_warning(_("Asked for %"PRIu64" thread stack, "
 
2361
            errmsg_printf(ERRMSG_LVL_WARN, _("Asked for %"PRIu64" thread stack, "
2362
2362
                            "but got %"PRIu64),
2363
2363
                          (uint64_t)my_thread_stack_size,
2364
2364
                          (uint64_t)stack_size);
2396
2396
  {
2397
2397
    server_id= 1;
2398
2398
#ifdef EXTRA_DEBUG
2399
 
    sql_print_warning(_("You have enabled the binary log, but you haven't set "
 
2399
      errmsg_printf(ERRMSG_LVL_WARN, _("You have enabled the binary log, but you haven't set "
2400
2400
                        "server-id to a non-zero value: we force server id to "
2401
2401
                        "1; updates will be logged to the binary log, but "
2402
2402
                        "connections from slaves will not be accepted."));
2440
2440
    unireg_abort(1);
2441
2441
  }
2442
2442
 
2443
 
  sql_print_information(_(ER(ER_STARTUP)),my_progname,server_version,
 
2443
  errmsg_printf(ERRMSG_LVL_INFO, _(ER(ER_STARTUP)),my_progname,server_version,
2444
2444
                        "", drizzled_port, COMPILATION_COMMENT);
2445
2445
 
2446
2446
 
2449
2449
 
2450
2450
 
2451
2451
#ifdef EXTRA_DEBUG2
2452
 
  sql_print_error(_("Before Lock_thread_count"));
 
2452
  errmsg_printf(ERRMSG_LVL_ERROR, _("Before Lock_thread_count"));
2453
2453
#endif
2454
2454
  (void) pthread_mutex_lock(&LOCK_thread_count);
2455
2455
  select_thread_in_use=0;                       // For close_connections
2456
2456
  (void) pthread_mutex_unlock(&LOCK_thread_count);
2457
2457
  (void) pthread_cond_broadcast(&COND_thread_count);
2458
2458
#ifdef EXTRA_DEBUG2
2459
 
  sql_print_error(_("After lock_thread_count"));
 
2459
  errmsg_printf(ERRMSG_LVL_ERROR, _("After lock_thread_count"));
2460
2460
#endif
2461
2461
 
2462
2462
  /* Wait until cleanup is done */
2562
2562
      if (errno != EINTR)
2563
2563
      {
2564
2564
        if (!select_errors++ && !abort_loop)    /* purecov: inspected */
2565
 
          sql_print_error(_("drizzled: Got error %d from select"),
 
2565
                errmsg_printf(ERRMSG_LVL_ERROR, _("drizzled: Got error %d from select"),
2566
2566
                          errno); /* purecov: inspected */
2567
2567
      }
2568
2568
      MAYBE_BROKEN_SYSCALL
3977
3977
    if (!drizzled_user || !strcmp(drizzled_user, argument))
3978
3978
      drizzled_user= argument;
3979
3979
    else
3980
 
      sql_print_warning(_("Ignoring user change to '%s' because the user was "
 
3980
      errmsg_printf(ERRMSG_LVL_WARN, _("Ignoring user change to '%s' because the user was "
3981
3981
                          "set to '%s' earlier on the command line\n"),
3982
3982
                        argument, drizzled_user);
3983
3983
    break;
4028
4028
 
4029
4029
      if (getaddrinfo(argument, NULL, &hints, &res_lst) != 0)
4030
4030
      {
4031
 
        sql_print_error(_("Can't start server: cannot resolve hostname!"));
 
4031
          errmsg_printf(ERRMSG_LVL_ERROR, _("Can't start server: cannot resolve hostname!"));
4032
4032
        exit(1);
4033
4033
      }
4034
4034
 
4035
4035
      if (res_lst->ai_next)
4036
4036
      {
4037
 
        sql_print_error(_("Can't start server: bind-address refers to "
 
4037
          errmsg_printf(ERRMSG_LVL_ERROR, _("Can't start server: bind-address refers to "
4038
4038
                          "multiple interfaces!"));
4039
4039
        exit(1);
4040
4040
      }