~patrick-crews/drizzle/beta-multi-master-tests

« back to all changes in this revision

Viewing changes to plugin/slave/queue_producer.cc

  • Committer: Monty Taylor
  • Date: 2011-03-07 21:37:51 UTC
  • mfrom: (2221.2.4 build)
  • Revision ID: mordred@inaugust.com-20110307213751-uhic4rghe4dmdi8d
Merge Monty - Pandora-build updates. Allow building of only libdrizzle.
Merge Andrew - libdrizzle result reuse problem.
Merge David - Slave plugin bugfixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
71
71
    }
72
72
  }
73
73
 
74
 
  if (not queryForReplicationEvents(_saved_max_commit_id))
 
74
  /* Keep getting events until caught up */
 
75
  enum drizzled::error_t err;
 
76
  while ((err= (queryForReplicationEvents(_saved_max_commit_id))) == EE_OK)
 
77
  {}
 
78
 
 
79
  if (err == ER_YES)  /* We encountered an error */
75
80
  {
76
81
    if (_last_return == DRIZZLE_RETURN_LOST_CONNECTION)
77
82
    {
368
373
}
369
374
 
370
375
 
371
 
bool QueueProducer::queryForReplicationEvents(uint64_t max_commit_id)
 
376
enum drizzled::error_t QueueProducer::queryForReplicationEvents(uint64_t max_commit_id)
372
377
{
373
378
  vector<uint64_t> trx_id_list;
374
379
 
375
380
  if (not queryForTrxIdList(max_commit_id, trx_id_list))
376
 
    return false;
 
381
    return ER_YES;
377
382
 
378
383
  if (trx_id_list.size() == 0)    /* nothing to get from the master */
379
384
  {
380
 
    return true;
 
385
    return ER_NO;
381
386
  }
382
387
 
383
388
  /*
406
411
    _last_error_message.append(drizzle_error(&_drizzle));
407
412
    errmsg_printf(error::ERROR, _("%s"), _last_error_message.c_str());
408
413
    drizzle_result_free(&result);
409
 
    return false;
 
414
    return ER_YES;
410
415
  }
411
416
 
412
417
  /* TODO: Investigate 1-row-at-a-time buffering */
420
425
    _last_error_message.append(drizzle_error(&_drizzle));
421
426
    errmsg_printf(error::ERROR, _("%s"), _last_error_message.c_str());
422
427
    drizzle_result_free(&result);
423
 
    return false;
 
428
    return ER_YES;
424
429
  }
425
430
 
426
431
  drizzle_row_t row;
432
437
      errmsg_printf(error::ERROR,
433
438
                    _("Replication slave: Unable to insert into queue."));
434
439
      drizzle_result_free(&result);
435
 
      return false;
 
440
      return ER_YES;
436
441
    }
437
442
  }
438
443
 
439
444
  drizzle_result_free(&result);
440
445
 
441
 
  return true;
 
446
  return EE_OK;
442
447
}
443
448
 
444
449