void CRULogCleanupSQLComposer::ComposeRangeLogCleanup()
{
	ComposeHeader(tbl_.GetRangeLogFullName(), CRULogCleanupTaskExecutor::CLEAN_IUD_FIRSTN);

	CDSString epochCol("EPOCH");
	epochCol = ComposeQuotedColName(CRUTbl::logCrtlColPrefix, epochCol);

	sql_ += "\nWHERE\n(" + epochCol + " <= ";
	// The largest obsolete epoch
	sql_ += CRUSQLComposer::TInt32ToStr(maxInapplicableEpoch_) + ");";
}
void CRULogCleanupSQLComposer::ComposeIUDLogCleanup(CRULogCleanupTaskExecutor::SQL_STATEMENT type)
{
	ComposeHeader(tbl_.GetIUDLogFullName(), type);

	CDSString epochCol("EPOCH");
	epochCol = ComposeQuotedColName(CRUTbl::logCrtlColPrefix, epochCol);

	// For single-row records
	sql_ += "\nWHERE\n(" + epochCol + " BETWEEN ";

	// MAX_SPECIAL_EPOCH+1 is the smallest non-special epoch
	sql_ += CRUSQLComposer::TInt32ToStr(MAX_SPECIAL_EPOCH+1) + " AND ";
	// The largest obsolete epoch
	sql_ += CRUSQLComposer::TInt32ToStr(maxInapplicableEpoch_) + ")\n";

	// For range records
	sql_ += "OR\n(" + epochCol + " BETWEEN ";
	sql_ += CRUSQLComposer::TInt32ToStr(-maxInapplicableEpoch_);
	sql_ += " AND 0);";
}
Esempio n. 3
0
bool EdiComposer::Compose(const Document& doc, const wxString& outFilename) {

    m_outputFile = new wxFile(outFilename, wxFile::write);
    if ( !m_outputFile ) {
        LOG_ERROR(wxGetApp().GetLogger(), 0, ADVPCS_COMPOSE_ERROR_OPEN_EDI_FILE + outFilename + "]");
        return false;
    }

    BufferAlloc();
    GetTrailer().Reset();

    LOG_INFO(wxGetApp().GetLogger(), 0, ADVPCS_COMPOSE_BUILD_HEADER);
    bool hr = ComposeHeader(doc);

    LOG_INFO(wxGetApp().GetLogger(), 0, ADVPCS_COMPOSE_BUILD_DETAIL);
    bool dr = ComposeDetail(doc);

    LOG_INFO(wxGetApp().GetLogger(), 0, ADVPCS_COMPOSE_ADDING_TRAILER);
    ComposeTrailer(doc);

    BufferFree();
    LOG_INFO(wxGetApp().GetLogger(), 0, wxString::Format(ADVPCS_COMPOSE_OK, outFilename) );
    return hr & dr;
};