예제 #1
0
void
Dbtup::execALTER_TAB_CONF(Signal* signal)
{
  jamEntry();
  AlterTabConf* conf = (AlterTabConf*)signal->getDataPtr();

  BuildIndexPtr buildPtr;
  buildPtr.i = conf->senderData;
  c_buildIndexList.getPtr(buildPtr);


  if (buildPtr.p->m_fragNo == 0)
  {
    jam();
    buildIndexOffline_table_readonly(signal, conf->senderData);
    return;
  }
  else
  {
    jam();
    TablerecPtr tablePtr;
    (void)tablePtr; // hide unused warning
    ndbrequire(buildPtr.p->m_fragNo >= NDB_ARRAY_SIZE(tablePtr.p->fragid));
    buildIndexReply(signal, buildPtr.p);
    c_buildIndexList.release(buildPtr);
    return;
  }
}
예제 #2
0
파일: DbtupIndex.cpp 프로젝트: jimodb/codes
void
Dbtup::execALTER_TAB_CONF(Signal* signal)
{
    jamEntry();
    AlterTabConf* conf = (AlterTabConf*)signal->getDataPtr();

    BuildIndexPtr buildPtr;
    buildPtr.i = conf->senderData;
    c_buildIndexList.getPtr(buildPtr);


    if (buildPtr.p->m_fragNo == 0)
    {
        jam();
        buildIndexOffline_table_readonly(signal, conf->senderData);
        return;
    }
    else
    {
        jam();
        ndbrequire(buildPtr.p->m_fragNo >= MAX_FRAG_PER_NODE);
        buildIndexReply(signal, buildPtr.p);
        c_buildIndexList.release(buildPtr);
        return;
    }
}
예제 #3
0
void
Dbtup::execBUILD_INDX_IMPL_CONF(Signal* signal)
{
  jamEntry();
  BuildIndxImplConf* conf = (BuildIndxImplConf*)signal->getDataPtrSend();
  Uint32 ptr = conf->senderData;

  BuildIndexPtr buildPtr;
  c_buildIndexList.getPtr(buildPtr, ptr);
  ndbrequire(buildPtr.p->m_outstanding);
  buildPtr.p->m_outstanding--;
  buildPtr.p->m_fragNo++;

  buildIndexOffline_table_readonly(signal, ptr);
}
예제 #4
0
파일: DbtupIndex.cpp 프로젝트: jimodb/codes
void
Dbtup::execBUILD_INDX_IMPL_REF(Signal* signal)
{
    jamEntry();
    BuildIndxImplRef* ref = (BuildIndxImplRef*)signal->getDataPtrSend();
    Uint32 ptr = ref->senderData;
    Uint32 err = ref->errorCode;

    BuildIndexPtr buildPtr;
    c_buildIndexList.getPtr(buildPtr, ptr);
    ndbrequire(buildPtr.p->m_outstanding);
    buildPtr.p->m_outstanding--;

    buildPtr.p->m_errorCode = (BuildIndxImplRef::ErrorCode)err;
    buildPtr.p->m_fragNo = MAX_FRAG_PER_NODE; // No point in starting any more
    buildIndexOffline_table_readonly(signal, ptr);
}
예제 #5
0
void
Dbtup::execBUILD_INDX_IMPL_REF(Signal* signal)
{
  jamEntry();
  BuildIndxImplRef* ref = (BuildIndxImplRef*)signal->getDataPtrSend();
  Uint32 ptr = ref->senderData;
  Uint32 err = ref->errorCode;

  BuildIndexPtr buildPtr;
  c_buildIndexList.getPtr(buildPtr, ptr);
  ndbrequire(buildPtr.p->m_outstanding);
  buildPtr.p->m_outstanding--;

  TablerecPtr tablePtr;
  (void)tablePtr; // hide unused warning
  buildPtr.p->m_errorCode = (BuildIndxImplRef::ErrorCode)err;
  // No point in starting any more
  buildPtr.p->m_fragNo = NDB_ARRAY_SIZE(tablePtr.p->fragrec);
  buildIndexOffline_table_readonly(signal, ptr);
}