~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzletest.cc

  • Committer: Mark Atwood
  • Date: 2011-08-21 06:56:57 UTC
  • mfrom: (2385.3.34 rf)
  • Revision ID: me@mark.atwood.name-20110821065657-vk2at03z9u17mf1d
mergeĀ lp:~olafvdspek/drizzle/refactor7

Show diffs side-by-side

added added

removed removed

Lines of Context:
2789
2789
static void do_sync_with_master2(long offset)
2790
2790
{
2791
2791
  drizzle::connection_c& con= *cur_con;
2792
 
  char query_buf[FN_REFLEN+128];
2793
2792
 
2794
2793
  if (!master_pos.file[0])
2795
2794
    die("Calling 'sync_with_master' without calling 'save_master_pos'");
2796
2795
 
 
2796
  char query_buf[FN_REFLEN+128];
2797
2797
  snprintf(query_buf, sizeof(query_buf), "select master_pos_wait('%s', %ld)", master_pos.file, master_pos.pos + offset);
2798
 
  int tries= 0;
2799
 
 
2800
 
wait_for_position:
2801
 
 
2802
 
  drizzle::result_c res;
2803
 
  dt_query(con, res, query_buf);
2804
 
 
2805
 
  drizzle_row_t row= res.row_next();
2806
 
  if (!row)
2807
 
  {
2808
 
    die("empty result in %s", query_buf);
2809
 
  }
2810
 
  if (!row[0])
2811
 
  {
 
2798
  for (int tries= 0; tries < 30; tries++)
 
2799
  {
 
2800
    drizzle::result_c res;
 
2801
    dt_query(con, res, query_buf);
 
2802
 
 
2803
    drizzle_row_t row= res.row_next();
 
2804
    if (not row)
 
2805
      die("empty result in %s", query_buf);
 
2806
    if (row[0])
 
2807
      return;
2812
2808
    /*
2813
 
      It may be that the slave SQL thread has not started yet, though START
2814
 
      SLAVE has been issued ?
 
2809
    It may be that the slave SQL thread has not started yet, though START
 
2810
    SLAVE has been issued ?
2815
2811
    */
2816
 
    if (tries++ == 30)
2817
 
    {
2818
 
      show_query(con, "SHOW MASTER STATUS");
2819
 
      show_query(con, "SHOW SLAVE STATUS");
2820
 
      die("could not sync with master ('%s' returned NULL)", query_buf);
2821
 
    }
2822
2812
    sleep(1); /* So at most we will wait 30 seconds and make 31 tries */
2823
 
    goto wait_for_position;
2824
2813
  }
 
2814
  show_query(con, "SHOW MASTER STATUS");
 
2815
  show_query(con, "SHOW SLAVE STATUS");
 
2816
  die("could not sync with master ('%s' returned NULL)", query_buf);
2825
2817
}
2826
2818
 
2827
2819
static void do_sync_with_master(st_command* command)