~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.cc

  • Committer: Brian Aker
  • Date: 2009-04-08 06:32:01 UTC
  • mfrom: (971.1.20 mordred)
  • Revision ID: brian@gaz-20090408063201-2wfvc8pfqtbyid1z
Merge Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
2351
2351
        !(engine_name.str= (char *)res->ptr()) ||
2352
2352
        !(engine_name.length= res->length()) ||
2353
2353
        !(var->save_result.plugin= ha_resolve_by_name(session, &engine_name)) ||
2354
 
        !(engine= plugin_data(var->save_result.plugin, StorageEngine *)))
 
2354
        !(engine= static_cast<StorageEngine *>(var->save_result.plugin->data)))
2355
2355
    {
2356
2356
      value= res ? res->c_ptr() : "NULL";
2357
2357
      goto err;
2373
2373
  unsigned char* result;
2374
2374
  StorageEngine *engine;
2375
2375
  string engine_name;
2376
 
  plugin_ref plugin= session->variables.*offset;
 
2376
  st_plugin_int *plugin= session->variables.*offset;
2377
2377
  if (type == OPT_GLOBAL)
2378
 
    plugin= plugin_lock(&(global_system_variables.*offset));
2379
 
  engine= plugin_data(plugin, StorageEngine*);
 
2378
    plugin= global_system_variables.*offset;
 
2379
  engine= static_cast<StorageEngine*>(plugin->data);
2380
2380
  engine_name= engine->getName();
2381
2381
  result= (unsigned char *) session->strmake(engine_name.c_str(),
2382
2382
                                             engine_name.size());
2386
2386
 
2387
2387
void sys_var_session_storage_engine::set_default(Session *session, enum_var_type type)
2388
2388
{
2389
 
  plugin_ref old_value, new_value, *value;
 
2389
  st_plugin_int *old_value, *new_value, **value;
2390
2390
  if (type == OPT_GLOBAL)
2391
2391
  {
2392
2392
    value= &(global_system_variables.*offset);
2395
2395
  else
2396
2396
  {
2397
2397
    value= &(session->variables.*offset);
2398
 
    new_value= plugin_lock(&(global_system_variables.*offset));
 
2398
    new_value= global_system_variables.*offset;
2399
2399
  }
2400
2400
  assert(new_value);
2401
2401
  old_value= *value;
2405
2405
 
2406
2406
bool sys_var_session_storage_engine::update(Session *session, set_var *var)
2407
2407
{
2408
 
  plugin_ref *value= &(global_system_variables.*offset), old_value;
 
2408
  st_plugin_int **value= &(global_system_variables.*offset), *old_value;
2409
2409
   if (var->type != OPT_GLOBAL)
2410
2410
     value= &(session->variables.*offset);
2411
2411
  old_value= *value;
2412
2412
  if (old_value != var->save_result.plugin)
2413
2413
  {
2414
 
    *value= plugin_lock(&var->save_result.plugin);
 
2414
    *value= var->save_result.plugin;
2415
2415
  }
2416
2416
  return 0;
2417
2417
}