~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.cc

  • Committer: Stewart Smith
  • Date: 2009-07-20 13:29:16 UTC
  • mto: (1093.1.29 captain)
  • mto: This revision was merged to the branch mainline in revision 1102.
  • Revision ID: stewart@flamingspork.com-20090720132916-34ve6x6tucawnntl
refactor ha_resolve_by_name to accept std::string instead of LEX_STRING

Show diffs side-by-side

added added

removed removed

Lines of Context:
2203
2203
  var->save_result.storage_engine= NULL;
2204
2204
  if (var->value->result_type() == STRING_RESULT)
2205
2205
  {
2206
 
    LEX_STRING engine_name;
2207
 
    StorageEngine *engine;
2208
 
    if (!(res=var->value->val_str(&str)) ||
2209
 
        !(engine_name.str= (char *)res->ptr()) ||
2210
 
        !(engine_name.length= res->length()) ||
2211
 
              !(var->save_result.storage_engine=
2212
 
            ha_resolve_by_name(session, &engine_name)) ||
2213
 
        !(engine= var->save_result.storage_engine))
 
2206
    if (!(res= var->value->val_str(&str)) || !(res->ptr()))
2214
2207
    {
2215
 
      value= res ? res->c_ptr() : "NULL";
 
2208
      value= "NULL";
2216
2209
      goto err;
2217
2210
    }
 
2211
    else
 
2212
    {
 
2213
      const std::string engine_name(res->ptr());
 
2214
      StorageEngine *engine;
 
2215
      if (!(var->save_result.storage_engine=
 
2216
            ha_resolve_by_name(session, engine_name)) ||
 
2217
          !(engine= var->save_result.storage_engine))
 
2218
      {
 
2219
        value= res->c_ptr();
 
2220
        goto err;
 
2221
      }
 
2222
    }
2218
2223
    return 0;
2219
2224
  }
2220
2225
  value= "unknown";