~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-16 12:54:52 UTC
  • mto: (2318.6.3 refactor7)
  • mto: This revision was merged to the branch mainline in revision 2340.
  • Revision ID: olafvdspek@gmail.com-20110616125452-pmha8npuxb3fm6cs
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
465
465
/* For replace_column */
466
466
static char *replace_column[MAX_COLUMNS];
467
467
static uint32_t max_replace_column= 0;
468
 
void do_get_replace_column(struct st_command*);
 
468
void do_get_replace_column(st_command*);
469
469
void free_replace_column();
470
470
 
471
471
/* For replace */
480
480
void replace_append_uint(string *ds, uint32_t val);
481
481
void append_sorted(string& ds, const string& ds_input);
482
482
 
483
 
void handle_error(struct st_command*,
 
483
void handle_error(st_command*,
484
484
                  unsigned int err_errno, const char *err_error,
485
485
                  const char *err_sqlstate, string *ds);
486
 
void handle_no_error(struct st_command*);
 
486
void handle_no_error(st_command*);
487
487
 
488
488
 
489
489
void do_eval(string *query_eval, const char *query,
1179
1179
 
1180
1180
*/
1181
1181
 
1182
 
static void show_diff(string* ds,
1183
 
                      const char* filename1, const char* filename2)
 
1182
static void show_diff(string* ds, const char* filename1, const char* filename2)
1184
1183
{
1185
 
 
1186
1184
  string ds_tmp;
1187
1185
 
1188
1186
  /* First try with unified diff */
1363
1361
  See 'compare_files2'
1364
1362
*/
1365
1363
 
1366
 
static int string_cmp(string* ds, const char *fname)
 
1364
static int string_cmp(const string& ds, const char *fname)
1367
1365
{
1368
1366
  char temp_file_path[FN_REFLEN];
1369
1367
 
1372
1370
    die("Failed to create temporary file for ds");
1373
1371
 
1374
1372
  /* Write ds to temporary file and set file pos to beginning*/
1375
 
  if (internal::my_write(fd, (unsigned char *) ds->c_str(), ds->length(), MYF(MY_FNABP | MY_WME)) ||
 
1373
  if (internal::my_write(fd, (unsigned char *) ds.data(), ds.length(), MYF(MY_FNABP | MY_WME)) ||
1376
1374
      lseek(fd, 0, SEEK_SET) == MY_FILEPOS_ERROR)
1377
1375
  {
1378
1376
    internal::my_close(fd, MYF(0));
1403
1401
 
1404
1402
*/
1405
1403
 
1406
 
static void check_result(string* ds)
 
1404
static void check_result(string& ds)
1407
1405
{
1408
1406
  const char* mess= "Result content mismatch\n";
1409
1407
 
1437
1435
      /* Put reject file in opt_logdir */
1438
1436
      internal::fn_format(reject_file, result_file_name.c_str(), opt_logdir.c_str(), ".reject", MY_REPLACE_DIR | MY_REPLACE_EXT);
1439
1437
    }
1440
 
    str_to_file(reject_file, ds->c_str(), ds->length());
 
1438
    str_to_file(reject_file, ds.data(), ds.length());
1441
1439
 
1442
 
    ds->erase(); /* Don't create a .log file */
 
1440
    ds.erase(); /* Don't create a .log file */
1443
1441
 
1444
1442
    show_diff(NULL, result_file_name.c_str(), reject_file);
1445
1443
    die("%s",mess);
1466
1464
 
1467
1465
*/
1468
1466
 
1469
 
static void check_require(string* ds, const string &fname)
 
1467
static void check_require(const string& ds, const string& fname)
1470
1468
{
1471
1469
  if (string_cmp(ds, fname.c_str()))
1472
1470
  {
2743
2741
 
2744
2742
*/
2745
2743
 
2746
 
static void do_change_user(struct st_command *)
 
2744
static void do_change_user(st_command *)
2747
2745
{
2748
2746
  assert(0);
2749
2747
}
3776
3774
 
3777
3775
*/
3778
3776
 
3779
 
static void do_block(enum block_cmd cmd, struct st_command* command)
 
3777
static void do_block(enum block_cmd cmd, st_command* command)
3780
3778
{
3781
3779
  char *p= command->first_argument;
3782
3780
  const char *expr_start, *expr_end;
3839
3837
}
3840
3838
 
3841
3839
 
3842
 
static void do_delimiter(struct st_command* command)
 
3840
static void do_delimiter(st_command* command)
3843
3841
{
3844
3842
  char* p= command->first_argument;
3845
3843
 
4270
4268
#define MAX_QUERY (768*1024*2) /* 256K -- a test in sp-big is >128K */
4271
4269
static char read_command_buf[MAX_QUERY];
4272
4270
 
4273
 
static int read_command(struct st_command** command_ptr)
 
4271
static int read_command(st_command** command_ptr)
4274
4272
{
4275
4273
  char *p= read_command_buf;
4276
 
  struct st_command* command;
 
4274
  st_command* command;
4277
4275
 
4278
4276
 
4279
4277
  if (parser.current_line < parser.read_lines)
4956
4954
       and the output should be checked against an already
4957
4955
       existing file which has been specified using --require or --result
4958
4956
    */
4959
 
    check_require(ds, command->require_file);
 
4957
    check_require(*ds, command->require_file);
4960
4958
  }
4961
4959
}
4962
4960
 
4963
4961
 
4964
4962
/****************************************************************************/
4965
4963
 
4966
 
static void get_command_type(struct st_command* command)
 
4964
static void get_command_type(st_command* command)
4967
4965
{
4968
4966
  if (*command->query == '}')
4969
4967
  {
5041
5039
 
5042
5040
*/
5043
5041
 
5044
 
static void mark_progress(struct st_command*, int line)
 
5042
static void mark_progress(st_command*, int line)
5045
5043
{
5046
5044
  uint64_t timer= timer_now();
5047
5045
  if (!progress_start)
5708
5706
  */
5709
5707
  if (ds_res.length())
5710
5708
  {
5711
 
    if (! result_file_name.empty())
 
5709
    if (not result_file_name.empty())
5712
5710
    {
5713
5711
      /* A result file has been specified */
5714
5712
 
5723
5721
           - detect missing result file
5724
5722
           - detect zero size result file
5725
5723
        */
5726
 
        check_result(&ds_res);
 
5724
        check_result(ds_res);
5727
5725
      }
5728
5726
    }
5729
5727
    else
5738
5736
  }
5739
5737
 
5740
5738
  struct stat res_info;
5741
 
  if (!command_executed &&
5742
 
      ! result_file_name.empty() && !stat(result_file_name.c_str(), &res_info))
 
5739
  if (!command_executed && not result_file_name.empty() && not stat(result_file_name.c_str(), &res_info))
5743
5740
  {
5744
5741
    /*
5745
5742
      my_stat() successful on result file. Check if we have not run a