Commit 4354d940 authored by unknown's avatar unknown
Browse files

Merge perch.ndb.mysql.com:/home/jonas/src/41-work

into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1

parents af751eeb 652a02f6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -232,6 +232,7 @@
#define ZSCAN_MARKERS 18
#define ZOPERATION_EVENT_REP 19
#define ZPREP_DROP_TABLE 20
#define ZENABLE_EXPAND_CHECK 21

/* ------------------------------------------------------------------------- */
/*        NODE STATE DURING SYSTEM RESTART, VARIABLES CNODES_SR_STATE        */
+41 −13
Original line number Diff line number Diff line
@@ -434,6 +434,33 @@ void Dblqh::execCONTINUEB(Signal* signal)
    checkDropTab(signal);
    return;
    break;
  case ZENABLE_EXPAND_CHECK:
  {
    jam();
    fragptr.i = signal->theData[1];
    if (fragptr.i != RNIL)
    {
      jam();
      ptrCheckGuard(fragptr, cfragrecFileSize, fragrecord);
      signal->theData[0] = fragptr.p->tabRef;
      signal->theData[1] = fragptr.p->fragId;
      sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB);
      
      signal->theData[0] = ZENABLE_EXPAND_CHECK;
      signal->theData[1] = fragptr.p->nextFrag;
      sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB);	
      return;
    }
    else
    {
      jam();
      StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
      conf->startingNodeId = getOwnNodeId();
      sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, 
		 StartRecConf::SignalLength, JBB);
      return;
    }
  }
  default:
    ndbrequire(false);
    break;
@@ -15503,20 +15530,21 @@ void Dblqh::srFourthComp(Signal* signal)
  } else if ((cstartType == NodeState::ST_NODE_RESTART) ||
             (cstartType == NodeState::ST_SYSTEM_RESTART)) {
    jam();
    if(cstartType == NodeState::ST_SYSTEM_RESTART)
    {
      jam();
      signal->theData[0] = ZENABLE_EXPAND_CHECK;
      signal->theData[1] = c_redo_log_complete_frags;
      sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB);
    }
    else
    {
      jam();
      StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
      conf->startingNodeId = getOwnNodeId();
      sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, 
		 StartRecConf::SignalLength, JBB);
    if(cstartType == NodeState::ST_SYSTEM_RESTART){
      fragptr.i = c_redo_log_complete_frags;
      while(fragptr.i != RNIL){
	ptrCheckGuard(fragptr, cfragrecFileSize, fragrecord);
	signal->theData[0] = fragptr.p->tabRef;
	signal->theData[1] = fragptr.p->fragId;
	sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB);
	fragptr.i = fragptr.p->nextFrag;
      }
    }
  } else {
    ndbrequire(false);