Mobile API Reference  MicroStrategy 2019
DFCAttrGroup Class Reference

#include <DFCAttrGroup.h>

Classes

struct  DFCAttrIdComp
 
class  Iterator
 

Public Types

enum  AttrGroupCompRes { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 
typedef set< DFCAttr *, DFCAttrIdComp, MBase::Allocator< DFCAttr * > > SetDataType
 

Public Member Functions

 DFCAttrGroup (MBase::Buffer *iBuffer, const DFCAttrGroup &right)
 
 DFCAttrGroup (MBase::Buffer *iBuffer)
 
virtual ~DFCAttrGroup ()
 
const DFCAttrGroupoperator= (const DFCAttrGroup &right)
 
Int32 operator== (const DFCAttrGroup &right) const
 
Int32 operator!= (const DFCAttrGroup &right) const
 
virtual void InsertAttr (DFCAttr *iAttr)
 
virtual void Print (ostream &iOstream, DFCOutCtrlType iCtrl=OUT_DEFAULT) const
 
void GetBitVector (DFCBitVectorBase &oBV, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer) const
 
void GetHierarchyBitVector (DFCBitVectorBase &oBV, DFCSchemaInterface *ipSchema, MBase::Buffer *ipBuffer) const
 
bool HasAttr (DFCAttr *iAttr) const
 
DFCAttrGroup::Iterator IteratorBegin () const
 
DFCAttrGroup::Iterator IteratorEnd () const
 
void InsertAttrs (DFCAttrGroup *iAttrs)
 
void GenAttrGroup (DFCBitVectorBase &iBV, DFCSchemaInterface &iSchema)
 
void Reduce (DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
void Reduce2HCD (DFCSchemaInterface &iSchema, MBase::Buffer *iBuffer, bool iTransformationProcessing=false)
 
void Reduce2Highest (DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
DFCAttrGroupoperator-= (DFCAttr *iAttr)
 
DFCAttrGroupoperator-= (const DFCAttrGroup &iAttrs)
 
DFCAttrGroupoperator+= (DFCAttr *iAttr)
 
DFCAttrGroupoperator+= (const DFCAttrGroup &iAttrs)
 
bool Empty () const
 
Int32 Compare (const DFCAttrGroup &iAttrs) const
 
void AddRef ()
 
void Release ()
 
bool Above (const DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer) const
 
bool HasAttrBelow (const DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer) const
 
bool OpLessThan (const DFCAttrGroup &iRight, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool OpGreaterThan (const DFCAttrGroup &iRight, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool LessThanOrEqualTo (const DFCAttrGroup &right, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer) const
 
bool GreaterThanOrEqualTo (const DFCAttrGroup &right, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer) const
 
bool OR (const DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool AnyRelated (DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool RefineRelated (DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool AnyRefineRelated (DFCAttrGroup &iAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
void Reduce (VLDBInfo *iVLDBInfo, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
void InsertAttrs (vector< DFCAttr *, MBase::Allocator< DFCAttr *> > &iAttrVec)
 
bool NeedRaise (DFCAttrGroup &iFilteringKey, DFCAttrGroup &iIgnoringAttrs, DFCSchemaInterface *iSchema, MBase::Buffer *iBuffer)
 
void FindRaiseToLevel (DFCAttrGroup &iFilteringKey, DFCAttrGroup &iIgnoringAttrs, VLDBInfo *iVLDBInfo, DFCSchemaInterface *iSchema, DFCAttrGroup &oLevel, MBase::Buffer *iBuffer)
 
bool NeedApply (DFCAttrGroup &iFilteringKey, DFCAttrGroup &iIgnoringAttrs, DFCSchemaInterface *iSchema, MBase::Buffer *iBuffer)
 
void GroupAttrs (MBase::Buffer *iBuffer, DFCSchemaInterface *iSchema, vector< DFCAttrGroup *, MBase::Allocator< DFCAttrGroup *> > &oAGVec)
 
void DivideAttrs2DiffDims (MBase::Buffer *iBuffer, DFCSchemaInterface *ipSchema, vector< DFCAttrGroup *, MBase::Allocator< DFCAttrGroup *> > &oDims)
 
DFCBitVectorBase * GetAttrsInSameDim (DFCAttr *lAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool isSameDimsion (DFCAttrGroup *lAttrs, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
void RemDuplicatedAttrs (DFCAttrGroup &ioAttrs, map< DFCAttr *, DFCAttr *> &ioDuplicatedAttrsMap, MBase::Buffer *iBuffer)
 
bool Intersect (DFCAttrGroup &iAG, DFCAttrGroup &oAG)
 
bool GetRelatedSubset (const DFCAttrGroup &iTargetAttrs, DFCAttrGroup &oAG, MBase::Buffer *iBuffer, DFCSchemaInterface *iSchema)
 
Int32 Size ()
 
void Clear ()
 
void SupportedBy (DFCAttrGroup &iAG, DFCAttrGroup &oAG, MBase::Buffer *iBuffer, DFCSchemaInterface *iSchema)
 
bool OJ2LkupRelated (DFCAttr *iAttr, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
bool ContainChildOf (const DFCAttr *ipAttr, DFCSchemaInterface *ipSchema, MBase::Buffer *wpBuffer) const
 
bool ContainAncestorOf (const DFCAttr *ipAttr, DFCSchemaInterface *ipSchema, MBase::Buffer *wpBuffer) const
 
bool ContainMMDescendentsOf (const DFCAttr *opAttr, DFCSchemaInterface *ipschema, MBase::Buffer *iBuffer) const
 
bool ContainMMAncestorOf (const DFCAttr *opAttr, DFCSchemaInterface *ipschema, MBase::Buffer *iBuffer) const
 
DFCBitVectorBase * GetUnionAllChildrenVect (DFCSchemaInterface *ipSchema, MBase::Buffer *ipBuffer) const
 
bool ContainsAllAttributesOf (DFCAttrGroup *iRight) const
 
bool ContainsAllAttributesOf (DFCAttrGroup *iRight, DFCAttr **oMissingAttr) const
 
void AdjustByFactTableKey (DFCAttrGroup &iKeys, DFCSchemaInterface *ipSchema, MBase::Buffer *iBuffer)
 
virtual bool GOEqual (DFCAttrGroup *iAttrGroup)
 
virtual void GOFUHashAppend2Str (DFCString &oHashStr, MBase::Buffer *iBuffer)
 
void Serialize (ICDSSWriteBlockStream *ipStream, EnumSchemaSerializationLevel iLevel)
 
void GetAsString (DFCString *ioStr) const
 
void SerializeForSmartClient (ICDSSWriteBlockStream *ipWriteBlockStream, map< Int32, Int32, less< Int32 >, MBase::Allocator< pair< const Int32, Int32 > > > *ipAttrFilter)
 

Static Public Member Functions

static DFCAttrGroupUnserializeForSmartClient (ICDSSReadBlockStream *ipReadBlockStream, MBase::Buffer *ipBuffer)
 

Public Attributes

class DLL_SCHEMA_EXIM Iterator
 

Protected Member Functions

void MarkParent (DFCSchemaInterface *ipSchema, vector< Int32 > &oMarks, MBase::Buffer *iBuffer)
 
void MarkChildren (const DFCBitVectorBase &iCD, vector< Int32 > &oMarks, MBase::Buffer *iBuffer, DFCSchemaInterface *ipSchema)
 
void ElimMarkedAttr (const vector< Int32 > &iMarks)
 

Protected Attributes

SetDataType mAttrList
 

Member Typedef Documentation

◆ SetDataType

Member Enumeration Documentation

◆ AttrGroupCompRes

Enumerator
LessThan 
EqualTo 
GreaterThan 

Constructor & Destructor Documentation

◆ DFCAttrGroup() [1/2]

DFCAttrGroup::DFCAttrGroup ( MBase::Buffer iBuffer,
const DFCAttrGroup right 
)

◆ DFCAttrGroup() [2/2]

DFCAttrGroup::DFCAttrGroup ( MBase::Buffer iBuffer)

◆ ~DFCAttrGroup()

virtual DFCAttrGroup::~DFCAttrGroup ( )
virtual

Member Function Documentation

◆ Above()

bool DFCAttrGroup::Above ( const DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
) const

◆ AddRef()

void DFCAttrGroup::AddRef ( )

◆ AdjustByFactTableKey()

void DFCAttrGroup::AdjustByFactTableKey ( DFCAttrGroup iKeys,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ AnyRefineRelated()

bool DFCAttrGroup::AnyRefineRelated ( DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ AnyRelated()

bool DFCAttrGroup::AnyRelated ( DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ Clear()

void DFCAttrGroup::Clear ( )

◆ Compare()

Int32 DFCAttrGroup::Compare ( const DFCAttrGroup iAttrs) const

◆ ContainAncestorOf()

bool DFCAttrGroup::ContainAncestorOf ( const DFCAttr ipAttr,
DFCSchemaInterface ipSchema,
MBase::Buffer wpBuffer 
) const

◆ ContainChildOf()

bool DFCAttrGroup::ContainChildOf ( const DFCAttr ipAttr,
DFCSchemaInterface ipSchema,
MBase::Buffer wpBuffer 
) const

◆ ContainMMAncestorOf()

bool DFCAttrGroup::ContainMMAncestorOf ( const DFCAttr opAttr,
DFCSchemaInterface ipschema,
MBase::Buffer iBuffer 
) const

◆ ContainMMDescendentsOf()

bool DFCAttrGroup::ContainMMDescendentsOf ( const DFCAttr opAttr,
DFCSchemaInterface ipschema,
MBase::Buffer iBuffer 
) const

◆ ContainsAllAttributesOf() [1/2]

bool DFCAttrGroup::ContainsAllAttributesOf ( DFCAttrGroup iRight) const

◆ ContainsAllAttributesOf() [2/2]

bool DFCAttrGroup::ContainsAllAttributesOf ( DFCAttrGroup iRight,
DFCAttr **  oMissingAttr 
) const

◆ DivideAttrs2DiffDims()

void DFCAttrGroup::DivideAttrs2DiffDims ( MBase::Buffer iBuffer,
DFCSchemaInterface ipSchema,
vector< DFCAttrGroup *, MBase::Allocator< DFCAttrGroup *> > &  oDims 
)

◆ ElimMarkedAttr()

void DFCAttrGroup::ElimMarkedAttr ( const vector< Int32 > &  iMarks)
protected

◆ Empty()

bool DFCAttrGroup::Empty ( ) const

◆ FindRaiseToLevel()

void DFCAttrGroup::FindRaiseToLevel ( DFCAttrGroup iFilteringKey,
DFCAttrGroup iIgnoringAttrs,
VLDBInfo *  iVLDBInfo,
DFCSchemaInterface iSchema,
DFCAttrGroup oLevel,
MBase::Buffer iBuffer 
)

◆ GenAttrGroup()

void DFCAttrGroup::GenAttrGroup ( DFCBitVectorBase &  iBV,
DFCSchemaInterface iSchema 
)

◆ GetAsString()

void DFCAttrGroup::GetAsString ( DFCString *  ioStr) const

◆ GetAttrsInSameDim()

DFCBitVectorBase* DFCAttrGroup::GetAttrsInSameDim ( DFCAttr lAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ GetBitVector()

void DFCAttrGroup::GetBitVector ( DFCBitVectorBase &  oBV,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
) const

◆ GetHierarchyBitVector()

void DFCAttrGroup::GetHierarchyBitVector ( DFCBitVectorBase &  oBV,
DFCSchemaInterface ipSchema,
MBase::Buffer ipBuffer 
) const

◆ GetRelatedSubset()

bool DFCAttrGroup::GetRelatedSubset ( const DFCAttrGroup iTargetAttrs,
DFCAttrGroup oAG,
MBase::Buffer iBuffer,
DFCSchemaInterface iSchema 
)

◆ GetUnionAllChildrenVect()

DFCBitVectorBase* DFCAttrGroup::GetUnionAllChildrenVect ( DFCSchemaInterface ipSchema,
MBase::Buffer ipBuffer 
) const

◆ GOEqual()

virtual bool DFCAttrGroup::GOEqual ( DFCAttrGroup iAttrGroup)
virtual

◆ GOFUHashAppend2Str()

virtual void DFCAttrGroup::GOFUHashAppend2Str ( DFCString &  oHashStr,
MBase::Buffer iBuffer 
)
virtual

◆ GreaterThanOrEqualTo()

bool DFCAttrGroup::GreaterThanOrEqualTo ( const DFCAttrGroup right,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
) const

◆ GroupAttrs()

void DFCAttrGroup::GroupAttrs ( MBase::Buffer iBuffer,
DFCSchemaInterface iSchema,
vector< DFCAttrGroup *, MBase::Allocator< DFCAttrGroup *> > &  oAGVec 
)

◆ HasAttr()

bool DFCAttrGroup::HasAttr ( DFCAttr iAttr) const

◆ HasAttrBelow()

bool DFCAttrGroup::HasAttrBelow ( const DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
) const

◆ InsertAttr()

virtual void DFCAttrGroup::InsertAttr ( DFCAttr iAttr)
virtual

◆ InsertAttrs() [1/2]

void DFCAttrGroup::InsertAttrs ( DFCAttrGroup iAttrs)

◆ InsertAttrs() [2/2]

void DFCAttrGroup::InsertAttrs ( vector< DFCAttr *, MBase::Allocator< DFCAttr *> > &  iAttrVec)

◆ Intersect()

bool DFCAttrGroup::Intersect ( DFCAttrGroup iAG,
DFCAttrGroup oAG 
)

◆ isSameDimsion()

bool DFCAttrGroup::isSameDimsion ( DFCAttrGroup lAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ IteratorBegin()

DFCAttrGroup::Iterator DFCAttrGroup::IteratorBegin ( ) const

◆ IteratorEnd()

DFCAttrGroup::Iterator DFCAttrGroup::IteratorEnd ( ) const

◆ LessThanOrEqualTo()

bool DFCAttrGroup::LessThanOrEqualTo ( const DFCAttrGroup right,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
) const

◆ MarkChildren()

void DFCAttrGroup::MarkChildren ( const DFCBitVectorBase &  iCD,
vector< Int32 > &  oMarks,
MBase::Buffer iBuffer,
DFCSchemaInterface ipSchema 
)
protected

◆ MarkParent()

void DFCAttrGroup::MarkParent ( DFCSchemaInterface ipSchema,
vector< Int32 > &  oMarks,
MBase::Buffer iBuffer 
)
protected

◆ NeedApply()

bool DFCAttrGroup::NeedApply ( DFCAttrGroup iFilteringKey,
DFCAttrGroup iIgnoringAttrs,
DFCSchemaInterface iSchema,
MBase::Buffer iBuffer 
)

◆ NeedRaise()

bool DFCAttrGroup::NeedRaise ( DFCAttrGroup iFilteringKey,
DFCAttrGroup iIgnoringAttrs,
DFCSchemaInterface iSchema,
MBase::Buffer iBuffer 
)

◆ OJ2LkupRelated()

bool DFCAttrGroup::OJ2LkupRelated ( DFCAttr iAttr,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ operator!=()

Int32 DFCAttrGroup::operator!= ( const DFCAttrGroup right) const

◆ operator+=() [1/2]

DFCAttrGroup& DFCAttrGroup::operator+= ( DFCAttr iAttr)

◆ operator+=() [2/2]

DFCAttrGroup& DFCAttrGroup::operator+= ( const DFCAttrGroup iAttrs)

◆ operator-=() [1/2]

DFCAttrGroup& DFCAttrGroup::operator-= ( DFCAttr iAttr)

◆ operator-=() [2/2]

DFCAttrGroup& DFCAttrGroup::operator-= ( const DFCAttrGroup iAttrs)

◆ operator=()

const DFCAttrGroup& DFCAttrGroup::operator= ( const DFCAttrGroup right)

◆ operator==()

Int32 DFCAttrGroup::operator== ( const DFCAttrGroup right) const

◆ OpGreaterThan()

bool DFCAttrGroup::OpGreaterThan ( const DFCAttrGroup iRight,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ OpLessThan()

bool DFCAttrGroup::OpLessThan ( const DFCAttrGroup iRight,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ OR()

bool DFCAttrGroup::OR ( const DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ Print()

virtual void DFCAttrGroup::Print ( ostream &  iOstream,
DFCOutCtrlType  iCtrl = OUT_DEFAULT 
) const
virtual

◆ Reduce() [1/2]

void DFCAttrGroup::Reduce ( DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ Reduce() [2/2]

void DFCAttrGroup::Reduce ( VLDBInfo *  iVLDBInfo,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ Reduce2HCD()

void DFCAttrGroup::Reduce2HCD ( DFCSchemaInterface iSchema,
MBase::Buffer iBuffer,
bool  iTransformationProcessing = false 
)

◆ Reduce2Highest()

void DFCAttrGroup::Reduce2Highest ( DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ RefineRelated()

bool DFCAttrGroup::RefineRelated ( DFCAttrGroup iAttrs,
DFCSchemaInterface ipSchema,
MBase::Buffer iBuffer 
)

◆ Release()

void DFCAttrGroup::Release ( )

◆ RemDuplicatedAttrs()

void DFCAttrGroup::RemDuplicatedAttrs ( DFCAttrGroup ioAttrs,
map< DFCAttr *, DFCAttr *> &  ioDuplicatedAttrsMap,
MBase::Buffer iBuffer 
)

◆ Serialize()

void DFCAttrGroup::Serialize ( ICDSSWriteBlockStream ipStream,
EnumSchemaSerializationLevel  iLevel 
)

◆ SerializeForSmartClient()

void DFCAttrGroup::SerializeForSmartClient ( ICDSSWriteBlockStream ipWriteBlockStream,
map< Int32, Int32, less< Int32 >, MBase::Allocator< pair< const Int32, Int32 > > > *  ipAttrFilter 
)

◆ Size()

Int32 DFCAttrGroup::Size ( )

◆ SupportedBy()

void DFCAttrGroup::SupportedBy ( DFCAttrGroup iAG,
DFCAttrGroup oAG,
MBase::Buffer iBuffer,
DFCSchemaInterface iSchema 
)

◆ UnserializeForSmartClient()

static DFCAttrGroup* DFCAttrGroup::UnserializeForSmartClient ( ICDSSReadBlockStream ipReadBlockStream,
MBase::Buffer ipBuffer 
)
static

Member Data Documentation

◆ Iterator

class DLL_SCHEMA_EXIM DFCAttrGroup::Iterator

◆ mAttrList

SetDataType DFCAttrGroup::mAttrList
protected