~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.cc

  • Committer: Brian Aker
  • Date: 2008-11-04 15:35:55 UTC
  • Revision ID: brian@tangent.org-20081104153555-oqcbyo49ps58ykzk
ulong conversion work

Show diffs side-by-side

added added

removed removed

Lines of Context:
736
736
bool sys_var_set::update(Session *session __attribute__((unused)),
737
737
                         set_var *var)
738
738
{
739
 
  *value= var->save_result.ulong_value;
 
739
  *value= var->save_result.uint32_t_value;
740
740
  return 0;
741
741
}
742
742
 
776
776
{
777
777
  bool rc=  sys_var_set::check(session, var);
778
778
  if (!rc &&
779
 
      bit_is_set(var->save_result.ulong_value, SLAVE_EXEC_MODE_STRICT) == 1 &&
780
 
      bit_is_set(var->save_result.ulong_value, SLAVE_EXEC_MODE_IDEMPOTENT) == 1)
 
779
      bit_is_set(var->save_result.uint32_t_value, SLAVE_EXEC_MODE_STRICT) == 1 &&
 
780
      bit_is_set(var->save_result.uint32_t_value, SLAVE_EXEC_MODE_IDEMPOTENT) == 1)
781
781
  {
782
782
    rc= true;
783
783
    my_error(ER_SLAVE_AMBIGOUS_EXEC_MODE, MYF(0), "");
1028
1028
 
1029
1029
bool sys_var_bool_ptr::update(Session *session __attribute__((unused)), set_var *var)
1030
1030
{
1031
 
  *value= (bool) var->save_result.ulong_value;
 
1031
  *value= (bool) var->save_result.uint32_t_value;
1032
1032
  return 0;
1033
1033
}
1034
1034
 
1041
1041
 
1042
1042
bool sys_var_enum::update(Session *session __attribute__((unused)), set_var *var)
1043
1043
{
1044
 
  *value= (uint) var->save_result.ulong_value;
 
1044
  *value= (uint) var->save_result.uint32_t_value;
1045
1045
  return 0;
1046
1046
}
1047
1047
 
1223
1223
bool sys_var_session_bool::update(Session *session,  set_var *var)
1224
1224
{
1225
1225
  if (var->type == OPT_GLOBAL)
1226
 
    global_system_variables.*offset= (bool) var->save_result.ulong_value;
 
1226
    global_system_variables.*offset= (bool) var->save_result.uint32_t_value;
1227
1227
  else
1228
 
    session->variables.*offset= (bool) var->save_result.ulong_value;
 
1228
    session->variables.*offset= (bool) var->save_result.uint32_t_value;
1229
1229
  return 0;
1230
1230
}
1231
1231
 
1257
1257
 
1258
1258
  if (var->value->result_type() == STRING_RESULT)
1259
1259
  {
1260
 
    if (!(res=var->value->val_str(&str)) ||
1261
 
        ((long) (var->save_result.ulong_value=
1262
 
                 (ulong) find_type(enum_names, res->ptr(),
1263
 
                                   res->length(),1)-1)) < 0)
 
1260
    if (!(res=var->value->val_str(&str)))
1264
1261
    {
1265
1262
      value= res ? res->c_ptr() : "NULL";
1266
1263
      goto err;
1275
1272
      value=buff;                               // Wrong value is here
1276
1273
      goto err;
1277
1274
    }
1278
 
    var->save_result.ulong_value= (ulong) tmp;  // Save for update
 
1275
    var->save_result.uint32_t_value= (uint32_t) tmp;    // Save for update
1279
1276
  }
1280
1277
  return 0;
1281
1278
 
1308
1305
      goto err;
1309
1306
    }
1310
1307
 
1311
 
    var->save_result.ulong_value= ((ulong)
 
1308
    var->save_result.uint32_t_value= ((uint32_t)
1312
1309
                                   find_set(enum_names, res->c_ptr(),
1313
1310
                                            res->length(),
1314
1311
                                            NULL,
1342
1339
      llstr(tmp, buff);
1343
1340
      goto err;
1344
1341
    }
1345
 
    var->save_result.ulong_value= (ulong) tmp;  // Save for update
 
1342
    var->save_result.uint32_t_value= (uint32_t) tmp;  // Save for update
1346
1343
  }
1347
1344
  return 0;
1348
1345
 
1384
1381
  }
1385
1382
  case SHOW_LONG:
1386
1383
  {
1387
 
    ulong value;
 
1384
    uint32_t value;
1388
1385
    pthread_mutex_lock(&LOCK_global_system_variables);
1389
 
    value= *(ulong*) value_ptr(session, var_type, base);
 
1386
    value= *(uint32_t*) value_ptr(session, var_type, base);
1390
1387
    pthread_mutex_unlock(&LOCK_global_system_variables);
1391
1388
    return new Item_uint((uint64_t) value);
1392
1389
  }
1468
1465
bool sys_var_session_enum::update(Session *session, set_var *var)
1469
1466
{
1470
1467
  if (var->type == OPT_GLOBAL)
1471
 
    global_system_variables.*offset= var->save_result.ulong_value;
 
1468
    global_system_variables.*offset= var->save_result.uint32_t_value;
1472
1469
  else
1473
 
    session->variables.*offset= var->save_result.ulong_value;
 
1470
    session->variables.*offset= var->save_result.uint32_t_value;
1474
1471
  return 0;
1475
1472
}
1476
1473
 
1924
1921
{
1925
1922
  bool res;
1926
1923
  pthread_mutex_lock(&LOCK_global_system_variables);
1927
 
  if (!var->save_result.ulong_value)
 
1924
  if (!var->save_result.uint32_t_value)
1928
1925
    res= false;
1929
1926
  else
1930
1927
    res= true;
1992
1989
{
1993
1990
  pthread_mutex_lock(&LOCK_global_system_variables);
1994
1991
  logger.lock_exclusive();
1995
 
  *value= var->save_result.ulong_value;
 
1992
  *value= var->save_result.uint32_t_value;
1996
1993
  logger.unlock();
1997
1994
  pthread_mutex_unlock(&LOCK_global_system_variables);
1998
1995
  return 0;
2390
2387
static bool set_option_bit(Session *session, set_var *var)
2391
2388
{
2392
2389
  sys_var_session_bit *sys_var= ((sys_var_session_bit*) var->var);
2393
 
  if ((var->save_result.ulong_value != 0) == sys_var->reverse)
 
2390
  if ((var->save_result.uint32_t_value != 0) == sys_var->reverse)
2394
2391
    session->options&= ~sys_var->bit_flag;
2395
2392
  else
2396
2393
    session->options|= sys_var->bit_flag;
2404
2401
 
2405
2402
  uint64_t org_options= session->options;
2406
2403
 
2407
 
  if (var->save_result.ulong_value != 0)
 
2404
  if (var->save_result.uint32_t_value != 0)
2408
2405
    session->options&= ~((sys_var_session_bit*) var->var)->bit_flag;
2409
2406
  else
2410
2407
    session->options|= ((sys_var_session_bit*) var->var)->bit_flag;