~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_plugin.cc

  • Committer: Brian Aker
  • Date: 2009-01-06 09:02:30 UTC
  • mfrom: (758.1.5 devel)
  • Revision ID: brian@tangent.org-20090106090230-ov94my79hsiz4bes
Merge from Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
367
367
    if (report & REPORT_TO_USER)
368
368
      my_error(ER_UDF_NO_PATHS, MYF(0));
369
369
    if (report & REPORT_TO_LOG)
370
 
      sql_print_error("%s",ER(ER_UDF_NO_PATHS));
 
370
      errmsg_printf(ERRMSG_LVL_ERROR, "%s",ER(ER_UDF_NO_PATHS));
371
371
    return(0);
372
372
  }
373
373
  /* If this dll is already loaded just increase ref_count. */
396
396
    if (report & REPORT_TO_USER)
397
397
      my_error(ER_CANT_OPEN_LIBRARY, MYF(0), dlpath.c_str(), errno, errmsg);
398
398
    if (report & REPORT_TO_LOG)
399
 
      sql_print_error(ER(ER_CANT_OPEN_LIBRARY), dlpath.c_str(), errno, errmsg);
 
399
      errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_CANT_OPEN_LIBRARY), dlpath.c_str(), errno, errmsg);
400
400
    return(0);
401
401
  }
402
402
 
407
407
    if (report & REPORT_TO_USER)
408
408
      my_error(ER_CANT_FIND_DL_ENTRY, MYF(0), plugin_declarations_sym);
409
409
    if (report & REPORT_TO_LOG)
410
 
      sql_print_error(ER(ER_CANT_FIND_DL_ENTRY), plugin_declarations_sym);
 
410
      errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_CANT_FIND_DL_ENTRY), plugin_declarations_sym);
411
411
    return(0);
412
412
  }
413
413
 
421
421
    if (report & REPORT_TO_USER)
422
422
      my_error(ER_OUTOFMEMORY, MYF(0), plugin_dl.dl.length);
423
423
    if (report & REPORT_TO_LOG)
424
 
      sql_print_error(ER(ER_OUTOFMEMORY), plugin_dl.dl.length);
 
424
      errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_OUTOFMEMORY), plugin_dl.dl.length);
425
425
    return(0);
426
426
  }
427
427
  plugin_dl.dl.length= copy_and_convert(plugin_dl.dl.str, plugin_dl.dl.length,
435
435
    if (report & REPORT_TO_USER)
436
436
      my_error(ER_OUTOFMEMORY, MYF(0), sizeof(struct st_plugin_dl));
437
437
    if (report & REPORT_TO_LOG)
438
 
      sql_print_error(ER(ER_OUTOFMEMORY), sizeof(struct st_plugin_dl));
 
438
      errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_OUTOFMEMORY), sizeof(struct st_plugin_dl));
439
439
    return(0);
440
440
  }
441
441
  return(tmp);
603
603
    if (report & REPORT_TO_USER)
604
604
      my_error(ER_UDF_EXISTS, MYF(0), name->str);
605
605
    if (report & REPORT_TO_LOG)
606
 
      sql_print_error(ER(ER_UDF_EXISTS), name->str);
 
606
      errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_UDF_EXISTS), name->str);
607
607
    return(true);
608
608
  }
609
609
  /* Clear the whole struct to catch future extensions. */
650
650
  if (report & REPORT_TO_USER)
651
651
    my_error(ER_CANT_FIND_DL_ENTRY, MYF(0), name->str);
652
652
  if (report & REPORT_TO_LOG)
653
 
    sql_print_error(ER(ER_CANT_FIND_DL_ENTRY), name->str);
 
653
    errmsg_printf(ERRMSG_LVL_ERROR, ER(ER_CANT_FIND_DL_ENTRY), name->str);
654
654
err:
655
655
  plugin_dl_del(dl);
656
656
  return(true);
683
683
  {
684
684
    if ((*plugin_type_deinitialize[plugin->plugin->type])(plugin))
685
685
    {
686
 
      sql_print_error(_("Plugin '%s' of type %s failed deinitialization"),
 
686
      errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' of type %s failed deinitialization"),
687
687
                      plugin->name.str, plugin_type_names[plugin->plugin->type].str);
688
688
    }
689
689
  }
697
697
    exit until NDB is shut down.
698
698
  */
699
699
  if (ref_check && plugin->ref_count)
700
 
    sql_print_error(_("Plugin '%s' has ref_count=%d after deinitialization."),
 
700
    errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' has ref_count=%d after deinitialization."),
701
701
                    plugin->name.str, plugin->ref_count);
702
702
}
703
703
 
784
784
  {
785
785
    if ((*plugin_type_initialize[plugin->plugin->type])(plugin))
786
786
    {
787
 
      sql_print_error(_("Plugin '%s' registration as a %s failed."),
 
787
      errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' registration as a %s failed."),
788
788
                      plugin->name.str, plugin_type_names[plugin->plugin->type].str);
789
789
      goto err;
790
790
    }
793
793
  {
794
794
    if (plugin->plugin->init(plugin))
795
795
    {
796
 
      sql_print_error(_("Plugin '%s' init function returned error."),
 
796
      errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' init function returned error."),
797
797
                      plugin->name.str);
798
798
      goto err;
799
799
    }
1023
1023
  {
1024
1024
    if (p == buffer + sizeof(buffer) - 1)
1025
1025
    {
1026
 
      sql_print_error(_("plugin-load parameter too long"));
 
1026
      errmsg_printf(ERRMSG_LVL_ERROR, _("plugin-load parameter too long"));
1027
1027
      return(true);
1028
1028
    }
1029
1029
 
1083
1083
  }
1084
1084
  return(false);
1085
1085
error:
1086
 
  sql_print_error(_("Couldn't load plugin named '%s' with soname '%s'."),
 
1086
  errmsg_printf(ERRMSG_LVL_ERROR, _("Couldn't load plugin named '%s' with soname '%s'."),
1087
1087
                  name.str, dl.str);
1088
1088
  return(true);
1089
1089
}
1136
1136
    }
1137
1137
 
1138
1138
    if (count > free_slots)
1139
 
      sql_print_warning(_("Forcing shutdown of %"PRIu64" plugins"),
 
1139
      errmsg_printf(ERRMSG_LVL_WARN, _("Forcing shutdown of %"PRIu64" plugins"),
1140
1140
                        (uint64_t)count - free_slots);
1141
1141
 
1142
1142
    plugins.reserve(count);
1159
1159
    for (idx= 0; idx < count; idx++)
1160
1160
      if (!(plugins[idx]->state & (PLUGIN_IS_UNINITIALIZED | PLUGIN_IS_FREED)))
1161
1161
      {
1162
 
        sql_print_information(_("Plugin '%s' will be forced to shutdown"),
 
1162
        errmsg_printf(ERRMSG_LVL_INFO, _("Plugin '%s' will be forced to shutdown"),
1163
1163
                              plugins[idx]->name.str);
1164
1164
        /*
1165
1165
          We are forcing deinit on plugins so we don't want to do a ref_count
1175
1175
    for (idx= 0; idx < count; idx++)
1176
1176
    {
1177
1177
      if (plugins[idx]->ref_count)
1178
 
        sql_print_error(_("Plugin '%s' has ref_count=%d after shutdown."),
 
1178
        errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' has ref_count=%d after shutdown."),
1179
1179
                        plugins[idx]->name.str, plugins[idx]->ref_count);
1180
1180
      if (plugins[idx]->state & PLUGIN_IS_UNINITIALIZED)
1181
1181
        plugin_del(plugins[idx]);
1565
1565
     * mess gets redesigned
1566
1566
     */
1567
1567
    if (tgt == NULL)
1568
 
      sql_print_error(_("Out of memory."));
 
1568
      errmsg_printf(ERRMSG_LVL_ERROR, _("Out of memory."));
1569
1569
 
1570
1570
  }
1571
1571
}
2414
2414
      (((sessionvar_set_t *)opt)->resolve)= mysql_sys_var_ptr_set;
2415
2415
      break;
2416
2416
    default:
2417
 
      sql_print_error(_("Unknown variable type code 0x%x in plugin '%s'."),
 
2417
      errmsg_printf(ERRMSG_LVL_ERROR, _("Unknown variable type code 0x%x in plugin '%s'."),
2418
2418
                      opt->flags, plugin_name);
2419
2419
      return(-1);
2420
2420
    };
2457
2457
        if ((opt->flags & (PLUGIN_VAR_MEMALLOC | PLUGIN_VAR_READONLY)) == false)
2458
2458
        {
2459
2459
          opt->flags|= PLUGIN_VAR_READONLY;
2460
 
          sql_print_warning(_("Server variable %s of plugin %s was forced "
 
2460
          errmsg_printf(ERRMSG_LVL_WARN, _("Server variable %s of plugin %s was forced "
2461
2461
                            "to be read-only: string variable without "
2462
2462
                            "update_func and PLUGIN_VAR_MEMALLOC flag"),
2463
2463
                            opt->name, plugin_name);
2477
2477
        opt->update= update_func_int64_t;
2478
2478
      break;
2479
2479
    default:
2480
 
      sql_print_error(_("Unknown variable type code 0x%x in plugin '%s'."),
 
2480
      errmsg_printf(ERRMSG_LVL_ERROR, _("Unknown variable type code 0x%x in plugin '%s'."),
2481
2481
                      opt->flags, plugin_name);
2482
2482
      return(-1);
2483
2483
    }
2488
2488
 
2489
2489
    if (!opt->name)
2490
2490
    {
2491
 
      sql_print_error(_("Missing variable name in plugin '%s'."),
 
2491
      errmsg_printf(ERRMSG_LVL_ERROR, _("Missing variable name in plugin '%s'."),
2492
2492
                      plugin_name);
2493
2493
      return(-1);
2494
2494
    }
2505
2505
      /* this should not fail because register_var should create entry */
2506
2506
      if (!(v= find_bookmark(name, opt->name, opt->flags)))
2507
2507
      {
2508
 
        sql_print_error(_("Thread local variable '%s' not allocated "
 
2508
        errmsg_printf(ERRMSG_LVL_ERROR, _("Thread local variable '%s' not allocated "
2509
2509
                        "in plugin '%s'."), opt->name, plugin_name);
2510
2510
        return(-1);
2511
2511
      }
2624
2624
  {
2625
2625
    if (!(opts= (my_option*) alloc_root(tmp_root, sizeof(my_option) * count)))
2626
2626
    {
2627
 
      sql_print_error(_("Out of memory for plugin '%s'."), tmp->name.str);
 
2627
      errmsg_printf(ERRMSG_LVL_ERROR, _("Out of memory for plugin '%s'."), tmp->name.str);
2628
2628
      return(-1);
2629
2629
    }
2630
2630
    memset(opts, 0, sizeof(my_option) * count);
2631
2631
 
2632
2632
    if (construct_options(tmp_root, tmp, opts, can_disable))
2633
2633
    {
2634
 
      sql_print_error(_("Bad options for plugin '%s'."), tmp->name.str);
 
2634
      errmsg_printf(ERRMSG_LVL_ERROR, _("Bad options for plugin '%s'."), tmp->name.str);
2635
2635
      return(-1);
2636
2636
    }
2637
2637
 
2640
2640
 
2641
2641
    if (error)
2642
2642
    {
2643
 
       sql_print_error(_("Parsing options for plugin '%s' failed."),
 
2643
       errmsg_printf(ERRMSG_LVL_ERROR, _("Parsing options for plugin '%s' failed."),
2644
2644
                       tmp->name.str);
2645
2645
       goto err;
2646
2646
    }
2683
2683
      chain.last->next = NULL;
2684
2684
      if (mysql_add_sys_var_chain(chain.first, NULL))
2685
2685
      {
2686
 
        sql_print_error(_("Plugin '%s' has conflicting system variables"),
 
2686
        errmsg_printf(ERRMSG_LVL_ERROR, _("Plugin '%s' has conflicting system variables"),
2687
2687
                        tmp->name.str);
2688
2688
        goto err;
2689
2689
      }
2693
2693
  }
2694
2694
 
2695
2695
  if (enabled_saved && global_system_variables.log_warnings)
2696
 
    sql_print_information(_("Plugin '%s' disabled by command line option"),
 
2696
    errmsg_printf(ERRMSG_LVL_INFO, _("Plugin '%s' disabled by command line option"),
2697
2697
                          tmp->name.str);
2698
2698
err:
2699
2699
  if (opts)