Files
2026-06-01 12:46:52 +02:00

79 lines
1.5 KiB
C++

#include "../../include/rdu/IndexSchema.h"
INDEX_SCHEMA::COLUMN_INFO::COLUMN_INFO()
{
}
INDEX_SCHEMA::COLUMN_INFO::COLUMN_INFO( const char* _pszName, bool _bIsDescending )
{
if( _pszName != NULL )
{
strName = _pszName;
}
if( _bIsDescending == true )
{
StatusFlag.Set( STATUS_FLAG_DESCENDING );
}
}
INDEX_SCHEMA::COLUMN_INFO::COLUMN_INFO( const COLUMN_INFO& rhs )
: strName( rhs.strName )
{
StatusFlag.SetRawData( rhs.StatusFlag.GetRawData() );
}
INDEX_SCHEMA::INDEX_SCHEMA()
: nID( 0 )
, eType( TYPE_UNKNOWN )
{
}
INDEX_SCHEMA::INDEX_SCHEMA( short _nID, _TYPE _eType, bool _bIsClustered, const char* _pszName )
: nID( _nID )
, eType( _eType )
{
if( _bIsClustered == true )
{
StatusFlag.Set( STATUS_FLAG_CLUSTERED );
}
if( _pszName != NULL )
{
strName = _pszName;
}
}
INDEX_SCHEMA::INDEX_SCHEMA( const INDEX_SCHEMA& rhs )
: nID( rhs.nID )
, eType( rhs.eType )
{
StatusFlag.SetRawData( rhs.StatusFlag.GetRawData() );
strName = rhs.strName;
std::vector< COLUMN_INFO* >::const_iterator pos = rhs.vColumnInfo.begin();
std::vector< COLUMN_INFO* >::const_iterator end = rhs.vColumnInfo.end();
for( ; pos != end; ++pos )
{
const COLUMN_INFO* pColumn = (*pos);
vColumnInfo.push_back( new COLUMN_INFO( *pColumn ) );
}
}
INDEX_SCHEMA::~INDEX_SCHEMA()
{
std::vector< COLUMN_INFO* >::const_iterator pos = vColumnInfo.begin();
std::vector< COLUMN_INFO* >::const_iterator end = vColumnInfo.end();
for( ; pos != end; ++pos )
{
const COLUMN_INFO* pColumn = (*pos);
delete pColumn;
}
vColumnInfo.clear();
}