void CIndexedFile::Dump(void)
{
	CChars		sz;
	int			i;
	filePos		iSizeOnDisk;
	filePos		iPos;
	BOOL		bDurable;
	char		pvData[80];
	int			iReadSize;

	iSizeOnDisk = mcFile.SizeFromFile();
	bDurable = mcFile.mbDurable;
	mcFile.mbDurable = FALSE;

	sz.Init();
	sz.Append("File Descriptor (");
	sz.Append(miFileIndex);
	sz.Append(")\n------------------\n");
	sz.Append("Primary Name: ");
	sz.Append(mszFileName);
	sz.AppendNewLine();
	sz.Append("Rewrite Name: ");
	sz.Append(mszRewriteName);
	sz.AppendNewLine();
	sz.Append("Durable: ");
	sz.AppendBool(bDurable);
	sz.AppendNewLine();
	sz.Append("Datas (A:");
	sz.Append(miNumDatas);
	sz.Append(", D:");
	sz.Append(mcFile.miLength/miDataSize);
	sz.Append(", F:");
	sz.Append(iSizeOnDisk/miDataSize);
	sz.Append(")\n\n");
	sz.Append("Data on Disk\n------------\n");

	iReadSize = 80;
	if (miDataSize < iReadSize)
	{
		iReadSize = miDataSize;
	}

	iPos = mcFile.Tell();
	for (i = 0; i < iSizeOnDisk/miDataSize; i++)
	{
		mcFile.Read(i*miDataSize, pvData, iReadSize, 1);
		sz.AppendData(pvData, iReadSize);
		sz.AppendNewLine();
	}
	sz.AppendNewLine();


	mcFile.Seek(EFSO_SET, iPos);
	sz.Dump();
	sz.Kill();

	mcFile.Dump();

	mcFile.mbDurable = bDurable;
}
Example #2
0
void CLogFile::Dump(void)
{
	CChars					sz;
	int						i;
	char*					pvData;
	CLogFileCommandWrite*	psWrite;
	filePos					iLen;

	sz.Init();
	sz.Append("Log File (?");
	sz.Append(")\n------------------\n");
	sz.Append("Commands: ");
	sz.Append(macCommands.NumElements());
	sz.AppendNewLine();

	for (i = 0; i < macCommands.NumElements(); i++)
	{
		macCommands.Get(i, (void**)&pvData);
		sz.Append("   ");
		sz.Append("Write: (");
		psWrite = (CLogFileCommandWrite*)pvData;
		sz.Append(psWrite->iPosition);
		sz.Append(", ");
		sz.Append(psWrite->iSize);
		sz.Append(") ");

		pvData = (char*)RemapSinglePointer(psWrite, sizeof(CLogFileCommandWrite));
		iLen = psWrite->iSize;
		sz.AppendData(pvData, 80);
		sz.AppendNewLine();
	}
	sz.AppendNewLine();
	sz.Dump();
	sz.Kill();
}
void CIndexedMemory::Dump(void)
{
	int					iNumElements;
	int					i;
	SIndexedMemory*		psIndexedMemory;
	void*				pvDest;
	CChars				sz;

	sz.Init();
	iNumElements = mcDatas.NumElements();

	sz.Append("Transaction Data (");
	sz.Append(iNumElements);
	sz.Append(") (Memory)\n-----------------\n");

	for (i = 0; i < iNumElements; i++)
	{
		mcDatas.Get(i, (void**)&psIndexedMemory);
		pvDest = RemapSinglePointer(psIndexedMemory, sizeof(SIndexedMemory));

		sz.Append("Index[");
		sz.Append((int)psIndexedMemory->oi);
		sz.Append("] Size[");
		sz.Append((int)psIndexedMemory->uiSize);
		sz.Append("] ");
		if (psIndexedMemory->uiSize > 0)
		{
			sz.Append("\"");
			sz.AppendData((char*)pvDest, 80);
			sz.Append("\" ");
		}
		if (psIndexedMemory->IsRemoved())
		{
			sz.Append("(Removed)");
		}
		sz.Append("\n");
	}
	sz.AppendNewLine();
	sz.Dump();
	sz.Kill();
}
void CTransientIndexedFile::Dump(void)
{
	int					iNumElements;
	int					i;
	SIndexedMemory*	psIndexedMemory;
	void*				pvDest;
	CChars				sz;

	sz.Init();
	iNumElements = NumDatas();

	sz.Append("Transaction Data (");
	sz.Append(iNumElements);
	sz.Append(") (Huge)\n-----------------\n");

	for (i = 0; i < iNumElements; i++)
	{
		psIndexedMemory = GetIndexedData(i);
		pvDest = GetData(psIndexedMemory);

		sz.Append("Index[");
		sz.Append((int)psIndexedMemory->oi);
		sz.Append("] Size[");
		sz.Append((int)psIndexedMemory->uiSize);
		sz.Append("] ");
		if (psIndexedMemory->uiSize > 0)
		{
			sz.Append("\"");
			sz.AppendData((char*)pvDest, 80);
			sz.Append("\" ");
		}
		if (psIndexedMemory->IsRemoved())
		{
			sz.Append("(Removed)");
		}
		sz.Append("\n");
	}
	sz.AppendNewLine();
	sz.Dump();
	sz.Kill();
}