~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.cc

  • Committer: Monty Taylor
  • Date: 2009-05-29 01:48:05 UTC
  • mto: This revision was merged to the branch mainline in revision 1044.
  • Revision ID: mordred@inaugust.com-20090529014805-5rtk8blns6kj6x4o
Changed name to std::string.

Show diffs side-by-side

added added

removed removed

Lines of Context:
111
111
static bool get_unsigned32(Session *session, set_var *var);
112
112
static bool get_unsigned64(Session *session, set_var *var);
113
113
bool throw_bounds_warning(Session *session, bool fixed, bool unsignd,
114
 
                          const char *name, int64_t val);
 
114
                          const std::string &name, int64_t val);
115
115
static KEY_CACHE *create_key_cache(const char *name, uint32_t length);
116
116
static unsigned char *get_error_count(Session *session);
117
117
static unsigned char *get_warning_count(Session *session);
405
405
 
406
406
  if ((res=(*check_func)(session, var)) < 0)
407
407
    my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0),
408
 
             name, var->value->str_value.ptr());
 
408
             name.c_str(), var->value->str_value.ptr());
409
409
  return res;
410
410
}
411
411
 
463
463
  if (val < 0 || val > 2)
464
464
  {
465
465
    char buf[64];
466
 
    my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), var->var->name, llstr(val, buf));
 
466
    my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0),
 
467
             var->var->name.c_str(), llstr(val, buf));
467
468
    return 1;
468
469
  }
469
470
  return 0;
535
536
 
536
537
 
537
538
bool throw_bounds_warning(Session *session, bool fixed, bool unsignd,
538
 
                          const char *name, int64_t val)
 
539
                          const std::string &name, int64_t val)
539
540
{
540
541
  if (fixed)
541
542
  {
548
549
 
549
550
    push_warning_printf(session, DRIZZLE_ERROR::WARN_LEVEL_ERROR,
550
551
                        ER_TRUNCATED_WRONG_VALUE,
551
 
                        ER(ER_TRUNCATED_WRONG_VALUE), name, buf);
 
552
                        ER(ER_TRUNCATED_WRONG_VALUE), name.c_str(), buf);
552
553
  }
553
554
  return false;
554
555
}
1004
1005
  return 0;
1005
1006
 
1006
1007
err:
1007
 
  my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, value);
 
1008
  my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name.c_str(), value);
1008
1009
  return 1;
1009
1010
}
1010
1011
 
1072
1073
  return 0;
1073
1074
 
1074
1075
err:
1075
 
  my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, buff);
 
1076
  my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name.c_str(), buff);
1076
1077
  return 1;
1077
1078
}
1078
1079
 
1092
1093
    if (var_type != OPT_DEFAULT)
1093
1094
    {
1094
1095
      my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0),
1095
 
               name, var_type == OPT_GLOBAL ? "SESSION" : "GLOBAL");
 
1096
               name.c_str(), var_type == OPT_GLOBAL ? "SESSION" : "GLOBAL");
1096
1097
      return 0;
1097
1098
    }
1098
1099
    /* As there was no local variable, return the global value */
1185
1186
    return tmp;
1186
1187
  }
1187
1188
  default:
1188
 
    my_error(ER_VAR_CANT_BE_READ, MYF(0), name);
 
1189
    my_error(ER_VAR_CANT_BE_READ, MYF(0), name.c_str());
1189
1190
  }
1190
1191
  return 0;
1191
1192
}
1262
1263
    String str(buff,sizeof(buff), system_charset_info), *res;
1263
1264
    if (!(res=var->value->val_str(&str)))
1264
1265
    {
1265
 
      my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, "NULL");
 
1266
      my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name.c_str(), "NULL");
1266
1267
      return 1;
1267
1268
    }
1268
1269
    if (!(tmp=get_charset_by_name(res->c_ptr())))
1631
1632
    String str(buff, sizeof(buff), &my_charset_utf8_general_ci), *res;
1632
1633
    if (!(res=var->value->val_str(&str)))
1633
1634
    {
1634
 
      my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, "NULL");
 
1635
      my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name.c_str(), "NULL");
1635
1636
      return 1;
1636
1637
    }
1637
1638
    const char *locale_str= res->c_ptr();
1887
1888
      return 1;
1888
1889
    } 
1889
1890
    if (long_options)
1890
 
      var->option_limits= find_option(long_options, var->name);
 
1891
      var->option_limits= find_option(long_options, var->name.c_str());
1891
1892
  }
1892
1893
  return 0;
1893
1894
 
1951
1952
        iter++)
1952
1953
    {
1953
1954
      sys_var *var= *iter;
1954
 
      show->name= var->name;
 
1955
      show->name= var->name.c_str();
1955
1956
      show->value= (char*) var;
1956
1957
      show->type= SHOW_SYS;
1957
1958
      show++;
2132
2133
{
2133
2134
  if (var->is_readonly())
2134
2135
  {
2135
 
    my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), var->name, "read only");
 
2136
    my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0),
 
2137
             var->name.c_str(), "read only");
2136
2138
    return -1;
2137
2139
  }
2138
2140
  if (var->check_type(type))
2139
2141
  {
2140
2142
    int err= type == OPT_GLOBAL ? ER_LOCAL_VARIABLE : ER_GLOBAL_VARIABLE;
2141
 
    my_error(err, MYF(0), var->name);
 
2143
    my_error(err, MYF(0), var->name.c_str());
2142
2144
    return -1;
2143
2145
  }
2144
2146
  /* value is a NULL pointer if we are using SET ... = DEFAULT */
2146
2148
  {
2147
2149
    if (var->check_default(type))
2148
2150
    {
2149
 
      my_error(ER_NO_DEFAULT, MYF(0), var->name);
 
2151
      my_error(ER_NO_DEFAULT, MYF(0), var->name.c_str());
2150
2152
      return -1;
2151
2153
    }
2152
2154
    return 0;
2157
2159
    return -1;
2158
2160
  if (var->check_update_type(value->result_type()))
2159
2161
  {
2160
 
    my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), var->name);
 
2162
    my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), var->name.c_str());
2161
2163
    return -1;
2162
2164
  }
2163
2165
  return var->check(session, this) ? -1 : 0;