~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzletest.cc

  • Committer: Olaf van der Spek
  • Date: 2011-06-15 15:41:02 UTC
  • mto: (2318.6.3 refactor7)
  • mto: This revision was merged to the branch mainline in revision 2340.
  • Revision ID: olafvdspek@gmail.com-20110615154102-mnog9vucbzq4ux32
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
2971
2971
*/
2972
2972
static void do_save_master_pos()
2973
2973
{
2974
 
  drizzle_result_st res;
2975
 
  drizzle_return_t ret;
2976
 
  drizzle_row_t row;
2977
2974
  drizzle_con_st *con= &cur_con->con;
2978
 
  const char *query;
2979
 
 
2980
 
 
2981
 
  if (drizzle_query_str(con, &res, query= "show master status", &ret) == NULL ||
2982
 
      ret != DRIZZLE_RETURN_OK)
 
2975
  const char *query= "show master status";
 
2976
 
 
2977
  drizzle::result_c res;
 
2978
  if (drizzle_return_t ret= drizzle::query(con, res, query))
2983
2979
  {
2984
2980
    if (ret == DRIZZLE_RETURN_ERROR_CODE)
2985
2981
    {
2986
 
      die("failed in '%s': %d: %s", query, drizzle_result_error_code(&res),
2987
 
           drizzle_result_error(&res));
2988
 
      drizzle_result_free(&res);
 
2982
      die("failed in '%s': %d: %s", query, res.error_code(), res.error());
2989
2983
    }
2990
2984
    else
2991
2985
      die("failed in '%s': %d: %s", query, ret, drizzle_con_error(con));
2992
2986
  }
2993
2987
 
2994
 
  if (drizzle_result_column_count(&res) == 0 ||
2995
 
      drizzle_result_buffer(&res) != DRIZZLE_RETURN_OK)
 
2988
  if (res.column_count() == 0)
2996
2989
    die("drizzleclient_store_result() retuned NULL for '%s'", query);
2997
 
  if (!(row = drizzle_row_next(&res)))
 
2990
  drizzle_row_t row= res.row_next();
 
2991
  if (!row)
2998
2992
    die("empty result in show master status");
2999
2993
  strncpy(master_pos.file, row[0], sizeof(master_pos.file)-1);
3000
2994
  master_pos.pos = strtoul(row[1], (char**) 0, 10);
3001
 
  drizzle_result_free(&res);
3002
2995
}
3003
2996
 
3004
2997
 
3152
3145
 
3153
3146
static void fill_global_error_names()
3154
3147
{
3155
 
  drizzle_result_st res;
3156
 
  drizzle_return_t ret;
3157
3148
  drizzle_con_st *con= &cur_con->con;
3158
3149
 
3159
3150
  global_error_names.clear();
3160
3151
 
 
3152
  drizzle::result_c res;
3161
3153
  const std::string ds_query("select error_name, error_code from data_dictionary.errors");
3162
 
  if (drizzle_query_str(con, &res, ds_query.c_str(), &ret) == NULL ||
3163
 
      ret != DRIZZLE_RETURN_OK)
 
3154
  if (drizzle_return_t ret= drizzle::query(con, res, ds_query))
3164
3155
  {
3165
3156
    if (ret == DRIZZLE_RETURN_ERROR_CODE)
3166
3157
    {
3167
 
      die("Error running query '%s': %d %s", ds_query.c_str(), drizzle_result_error_code(&res), drizzle_result_error(&res));
 
3158
      die("Error running query '%s': %d %s", ds_query.c_str(), res.error_code(), res.error());
3168
3159
    }
3169
3160
    else
3170
3161
    {
3171
3162
      die("Error running query '%s': %d %s", ds_query.c_str(), ret, drizzle_con_error(con));
3172
3163
    }
3173
3164
  }
3174
 
  if (drizzle_result_column_count(&res) == 0 ||
3175
 
      drizzle_result_buffer(&res) != DRIZZLE_RETURN_OK)
 
3165
  if (res.column_count() == 0)
3176
3166
  {
3177
 
    drizzle_result_free(&res);
3178
3167
    die("Query '%s' didn't return a result set", ds_query.c_str());
3179
3168
  }
3180
3169
 
3181
 
  while (drizzle_row_t row= drizzle_row_next(&res))
 
3170
  while (drizzle_row_t row= res.row_next())
3182
3171
  {
3183
3172
    if (not row[0])
3184
3173
      break;
3186
3175
      Concatenate all fields in the first row with tab in between
3187
3176
      and assign that string to the $variable
3188
3177
    */
3189
 
    size_t *lengths= drizzle_row_field_sizes(&res);
 
3178
    size_t *lengths= drizzle_row_field_sizes(&res.b_);
3190
3179
    try
3191
3180
    {
3192
3181
      global_error_names[string(row[0], lengths[0])] = boost::lexical_cast<uint32_t>(string(row[1], lengths[1]));
3193
3182
    }
3194
3183
    catch (boost::bad_lexical_cast &ex)
3195
3184
    {
3196
 
      drizzle_result_free(&res);
3197
3185
      die("Invalid error_code from Drizzle: %s", ex.what());
3198
3186
    }
3199
 
 
3200
3187
  }
3201
 
 
3202
 
  drizzle_result_free(&res);
3203
3188
}
3204
3189
 
3205
3190
static uint32_t get_errcode_from_name(const char *error_name, const char *error_end)