//--------------------------------------------------------------------------// // CRUTask::Dump() // // Called by CRUDependenceGraph::Dump() // // Prints the "standard" task's dump //--------------------------------------------------------------------------// // LCOV_EXCL_START :dpm void CRUTask::Dump(CDSString &to) { char idStr[10]; sprintf(idStr,"%d",GetId()); to += "\nTASK ID = " + CDSString(idStr); to += "\n\t" + GetTaskName() + "\n"; if (0 == pSuccList_->GetCount()) { to += "\tNo tasks depend on me.\n"; } else { to += "\tTasks that depend on me:\n"; DSListPosition pos = pSuccList_->GetHeadPosition(); while (NULL != pos) { CRUTask *pTask = pSuccList_->GetNext(pos); sprintf(idStr,"%d",pTask->GetId()); to += "\t\tTask id = " + CDSString(idStr) + "\n"; } } }
//--------------------------------------------------------------------------// // CRURefreshTaskExecutor::LoadRequest() //--------------------------------------------------------------------------// // LCOV_EXCL_START :cnu void CRURefreshTaskExecutor:: LoadRequest(CUOFsIpcMessageTranslator &translator) { inherited::LoadRequest(translator); translator.ReadBlock(&isRecompute_,sizeof(BOOL)); Int32 stringSize; char buffer[CUOFsIpcMessageTranslator::MaxMsgSize]; translator.ReadBlock(&stringSize, sizeof(Int32)); #pragma nowarn(1506) // warning elimination translator.ReadBlock(buffer, stringSize); #pragma warn(1506) // warning elimination rootMVName_ = CDSString(buffer); translator.ReadBlock(&stringSize, sizeof(Int32)); #pragma nowarn(1506) // warning elimination translator.ReadBlock(buffer, stringSize); #pragma warn(1506) // warning elimination rootMVSchema_ = CDSString(buffer); translator.ReadBlock(&stringSize, sizeof(Int32)); #pragma nowarn(1506) // warning elimination translator.ReadBlock(buffer, stringSize); #pragma warn(1506) // warning elimination rootMVCatalog_ = CDSString(buffer); translator.ReadBlock(&rootMVUID_, sizeof(TInt64)); translator.ReadBlock(&rootMVType_, sizeof(Int32)); translator.ReadBlock(&forceFlags_, sizeof(TInt32)); if (NO_FORCE != forceFlags_) { translator.ReadBlock(&numOfStmtInContainer_, sizeof(TInt32)); pRefreshTEDynamicContainer_ = #pragma nowarn(1506) // warning elimination new CRUSQLDynamicStatementContainer(numOfStmtInContainer_); #pragma warn(1506) // warning elimination // Handle refresh executor sql dynamic container pRefreshTEDynamicContainer_->LoadData(translator); } // Handle lock table dynamic container short lockTable; translator.ReadBlock(&lockTable, sizeof(short)); if (1 == lockTable) { tableLockProtocol_ = new CRUTableLockProtocol(); tableLockProtocol_->LoadData(translator); } }
void CRUJournal::Close() { SetTimePrint(TRUE); LogMessage(RefreshDiags[1] + CDSString("\n")); // if the user specified an OUTFILE option and the file is open if ((!emsOnlyLog_) && (logfile_.IsOpen())) logfile_.Close(); }
void CRULogCleanupTaskExecutor::Start() { CDSString msg; msg = RefreshDiags[17]; msg += GetLogCleanupTask()->GetTable().GetFullName(); msg += CDSString("...\n"); CRUGlobals::GetInstance()->GetJournal().LogMessage(msg); SetState(EX_CLEAN); }
CDSString CRUDupElimSQLComposer:: ComposeIUDLogKeyColName(const CRUKeyColumn *pKeyCol) { CDSString name(pKeyCol->GetName()); if (CDSString("SYSKEY") == name) { // If the original table has a syskey, it becomes @SYSKEY in the log // (the log has a syskey of its own). name = ComposeQuotedColName(name); } return name; }
void CRUJournal::Open() { RUASSERT(FALSE == logfile_.IsOpen()); // if the user does not specify an OUTFILE option REFRESH messages are only sent to EMS if (!emsOnlyLog_) { logfile_.OpenWOHeader(fname_.c_string(), CDSLogfile::eWrite); if (FALSE == logfile_.IsOpen()) { // Failed to open the file CDSException ex; ex.SetError(IDS_RU_OUTFILE_FAILED); ex.AddArgument(fname_); throw ex; } } LogMessage(CDSString(RefreshDiags[0] + CDSString("\n"))); SetTimePrint(FALSE); rowNum_ = 0; }
void CRULogCleanupTaskExecutor::Epilogue() { CRULogCleanupTask *pTask = GetLogCleanupTask(); RUASSERT(NULL != pTask); CRUTbl &tbl = pTask->GetTable(); // Update the T.MIN_EPOCH metadata variable BeginTransaction(); tbl.SetMinLogEpoch(pTask->GetMaxInapplicableEpoch()+1); tbl.SaveMetadata(); CommitTransaction(); CDSString msg(RefreshDiags[18]); msg += GetLogCleanupTask()->GetTable().GetFullName(); msg += CDSString(".\n"); CRUGlobals::GetInstance()->GetJournal().LogMessage(msg); SetState(EX_COMPLETE); }
void CRUTableSyncTaskExecutor:: LoadRequest(CUOFsIpcMessageTranslator &translator) { inherited::LoadRequest(translator); Int32 stringSize; Int32 const maxStringSize = CUOFsIpcMessageTranslator::MaxMsgSize; char buffer[maxStringSize]; translator.ReadBlock(&stringSize, sizeof(Int32)); RUASSERT(maxStringSize > stringSize); #pragma nowarn(1506) // warning elimination translator.ReadBlock(buffer, stringSize); #pragma warn(1506) // warning elimination tableName_ = CDSString(buffer); syncTableDynamicContainer_.LoadData(translator); }
//--------------------------------------------------------------------------// // CRUTask::DumpGraphNode() // // Called by CRUDependenceGraph::DumpGraph() // // Prints the task's edges dump acceptable for the Dotty GUI // //--------------------------------------------------------------------------// // LCOV_EXCL_START :dpm void CRUTask::DumpGraphEdges(CDSString &to) { if (0 == pSuccList_->GetCount()) { return; } char fromChr[10],toChr[10]; sprintf(fromChr,"%d",GetId()); CDSString fromStr(fromChr); fromStr = "\t\t" + fromStr + " -> "; DSListPosition pos = pSuccList_->GetHeadPosition(); while (NULL != pos) { CRUTask *pTask = pSuccList_->GetNext(pos); sprintf(toChr,"%d",pTask->GetId()); to += fromStr + CDSString(toChr) + ";\n"; } }
void CRUJournal::LogError(CDSException &ex) { enum { BUFSIZE = 4096 }; Int32 nerr = ex.GetNumErrors(); char buffer[BUFSIZE]; CDSString msg; for (Int32 i=0; i<nerr; i++) { ex.GetErrorMsg(i, buffer, BUFSIZE); if (buffer[0] != 0) { // Clear the trailing whitespace char *p = buffer + strlen(buffer) - 1; for (;buffer != p && isspace((unsigned char)*p); p--, *p=0); // For VS2003 } msg += buffer + CDSString("\n"); } LogMessage(msg, FALSE /* don't print row number */, TRUE /* it is an error msg */); }
void CRURefreshSQLComposer::AddPhaseParam() { sql_+= " \n\tPHASE "; sql_+= CDSString(CRUSQLDynamicStatementContainer::COMPILED_PARAM_TOKEN); sql_+= " "; }