コード例 #1
0
ファイル: RdbUtility.cpp プロジェクト: nightstyles/focp
static bool UnPackFieldDefine(CMemoryStream & oStream, CRdbFieldDef& oDefine)
{
	uint32 nLen;
	if(!oStream.Read(nLen))
		return false;
	oDefine.sFieldName = new char[nLen+1];
	if(!oStream.Read(oDefine.sFieldName, nLen+1))
		return false;
	if(!oStream.Read(nLen))
		return false;
	if(nLen)
	{
		oDefine.sDefault = new char[nLen+1];
		if(!oStream.Read(oDefine.sDefault, nLen+1))
			return false;
	}
	if(!oStream.Read(oDefine.nType))
		return false;
	if(!oStream.Read(oDefine.nLen))
		return false;
	if(!oStream.Read(oDefine.bNotNull))
		return false;
	if(!oStream.Read(oDefine.nRecSize))
		return false;
	return true;
}
コード例 #2
0
ファイル: RdbUtility.cpp プロジェクト: nightstyles/focp
bool UnPackTableDefine(CMemoryStream & oStream, CRdbTableDef& oDefine)
{
	uint32 nLen;
	CBinary::MemorySet(&oDefine, 0, sizeof(oDefine));
	if(!oStream.Read(nLen))
		return false;
	oDefine.sTableName = new char[nLen+1];
	if(!oStream.Read(oDefine.sTableName, nLen+1))
		return false;
	if(!oStream.Read(oDefine.nFieldCount))
		return false;
	oDefine.pFieldDefines = new CRdbFieldDef[oDefine.nFieldCount];
	CBinary::MemorySet(oDefine.pFieldDefines, 0, oDefine.nFieldCount*sizeof(CRdbFieldDef));
	for(uint32 i=0; i<oDefine.nFieldCount; ++i)
	{
		if(!UnPackFieldDefine(oStream, oDefine.pFieldDefines[i]))
			return false;
	}
	if(!oStream.Read(oDefine.nStorage))
		return false;
	return true;
}
コード例 #3
0
ファイル: RdbUtility.cpp プロジェクト: nightstyles/focp
bool UnPackIndexDefine(CMemoryStream & oStream, CRdbIndexDef &oDefine)
{
	uint32 nLen;
	CBinary::MemorySet(&oDefine, 0, sizeof(oDefine));
	if(!oStream.Read(nLen))
		return false;
	oDefine.sIndexName = new char[nLen+1];
	if(!oStream.Read(oDefine.sIndexName, nLen+1))
		return false;
	if(!oStream.Read(nLen))
		return false;
	oDefine.sTableName = new char[nLen+1];
	if(!oStream.Read(oDefine.sTableName, nLen+1))
		return false;
	if(!oStream.Read(nLen))
		return false;
	if(nLen)
	{
		oDefine.sPrimaryIndex = new char[nLen+1];
		if(!oStream.Read(oDefine.sPrimaryIndex, nLen+1))
			return false;
	}
	if(!oStream.Read(nLen))
		return false;
	oDefine.pFieldList = new char[nLen+1];
	if(!oStream.Read(oDefine.pFieldList, nLen+1))
		return false;
	if(!oStream.Read(oDefine.nQualifier))
		return false;
	if(!oStream.Read(oDefine.nArithmetic))
		return false;
	if(!oStream.Read(oDefine.nHashRate))
		return false;
	return true;
}