Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

IDSSTable Interface Reference

Inherited by IDSSTable2.

List of all members.


Detailed Description

This interface is the internal version of IDSSDimensionWrapper.

See also:
IDSSDimensionWrapper


Public Member Functions

HRESULT AttributeInfos ([out, retval] IDSSAttributeInfos ppAttributeInfos)
 Collection of AttributeInfos in this table.
HRESULT DbTable ([in] IDSSDBTable *pDbTable)
 Returns the IDSSDbTable interfaces to describe the physical table.
HRESULT DbTable ([out, retval] IDSSDBTable ppDbTable)
 Returns the IDSSDbTable interfaces to describe the physical table.
HRESULT Extensions ([out, retval] IDSSExtensions ppExtensions)
 Collection of IDSSExtension interfaces for this table.
HRESULT FactGroups ([out, retval] IDSSFactGroups ppFactGroups)
 Collection of FactGroup objects in this table.
HRESULT FactInfos ([out, retval] IDSSFactGroup ppFactInfos)
 All the FactInfos.
HRESULT HomogeneousDefn ([in] VARIANT_BOOL HomogeneousDefn)
 True = all tables in partition have same structure.
HRESULT HomogeneousDefn ([out, retval] VARIANT_BOOL *pHomogeneousDefn)
 True = all tables in partition have same structure.
HRESULT Info ([out, retval] IDSSObjectInfo ppInfo)
 Return the IDSSObjectInfo interface to give a name and ID.
HRESULT IsPartOfPartition ([in] VARIANT_BOOL IsPartOfPartition)
 Whether this table is part of a partition.
HRESULT IsPartOfPartition ([out, retval] VARIANT_BOOL *pIsPartOfPartition)
 Whether this table is part of a partition.
HRESULT IsTrueKey ([in] VARIANT_BOOL IsTrueKey)
 True if this collection really is the key (of a physical table).
HRESULT IsTrueKey ([out, retval] VARIANT_BOOL *pIsTrueKey)
 True if this collection really is the key (of a physical table).
HRESULT PartitionFilter ([in] IDSSFilter *pFilter)
 A filter describing the contents of a table.
HRESULT PartitionFilter ([out, retval] IDSSFilter ppFilter)
 A filter describing the contents of a table.
HRESULT PartitionLevel ([out, retval] IDSSAttributes ppPartitionLevel)
 Collection of attributes defining how table is partitioned.
HRESULT PartitionTables ([out, retval] IDSSTables ppPartitionTables)
 The tables that are part of a partitioning scheme.
HRESULT Populate ([in] IDSSTable *pOriginal)
 Populate this table's value from an existing table.
HRESULT PrimaryDBRole ([in] IDSSDBRole *pPrimaryDBRole)
 The main DBRole to be used for this table.
HRESULT PrimaryDBRole ([out, retval] IDSSDBRole ppPrimaryDBRole)
 The main DBRole to be used for this table.
HRESULT PrimaryTable ([in] IDSSTable *pPrimaryTable)
 Reference to the primary table for this table.
HRESULT PrimaryTable ([out, retval] IDSSTable ppPrimaryTable)
 Reference to the primary table for this table.
HRESULT SecondaryDBRoles ([out, retval] IDSSDBRoles ppSecondaryDBRoles)
 DBRole collection - includes all DBRoles containing this table, does not include PrimaryDBRole.
HRESULT Size ([in] Int32 Size)
 The size of the table.
HRESULT Size ([out, retval] Int32 *pSize)
 The size of the table.
HRESULT TableKey ([out, retval] IDSSAttributes ppTableKey)
 Collection of attributes used to key this table.
HRESULT TableType ([in] EnumDSSTableType TableType)
 The type of this table (physical/logical/partitioned).
HRESULT TableType ([out, retval] EnumDSSTableType *pTableType)
 The type of this table (physical/logical/partitioned).


Member Function Documentation

HRESULT IDSSTable::AttributeInfos [out, retval] IDSSAttributeInfos   ppAttributeInfos  ) 
 

Collection of AttributeInfos in this table.

This property returns a collection of AttributeInfo objects. Each object gives information about one of the attributes available from this table. It may override the usual definition of the attribute.

Parameters:
ppAttributeInfos Collection of attribute infos Never NULL
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::DbTable [in] IDSSDBTable pDbTable  ) 
 

Returns the IDSSDbTable interfaces to describe the physical table.

This property returns the DbTable object (if any) that this logical table is based on.

Parameters:
pDbTable The new DbTable for this logical table.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::DbTable [out, retval] IDSSDBTable   ppDbTable  ) 
 

Returns the IDSSDbTable interfaces to describe the physical table.

This property returns the DbTable object (if any) that this logical table is based on.

Parameters:
ppDbTable The DbTable corresponding to this table.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::Extensions [out, retval] IDSSExtensions   ppExtensions  ) 
 

Collection of IDSSExtension interfaces for this table.

This property is the collection of extension objects applicable to this table. Extensions at the table can be applied to all the facts in the table.

Parameters:
ppExtensions Collection of DSSExtension objects.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::FactGroups [out, retval] IDSSFactGroups   ppFactGroups  ) 
 

Collection of FactGroup objects in this table.

This property returns a collection of all the fact group objects available from this table. A fact group object is just a collection of fact info objects. We use fact groups because it is frequent that many tables share the same set of facts, and that these facts are defined in the same way in each table.

It is not defined what happens if a fact appears in two fact groups.
Parameters:
ppFactGroups A collection of fact group objects.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::FactInfos [out, retval] IDSSFactGroup   ppFactInfos  ) 
 

All the FactInfos.

It is permitted to add FactInfos not in any group.. This property returns a collection, which contains information about all the facts that are available from this table. A FactInfo may override the usual definition of a fact.

If information about a fact is stored in a fact group associated with this table, then this FactInfo object will be available in this collection. However it cannot be removed from the collection.
The user is allowed to insert additional FactInfo objects into this collection that do not appear in any of the FactGroups.
It is not defined what happens if a fact appears in two fact groups.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::HomogeneousDefn [in] VARIANT_BOOL  HomogeneousDefn  ) 
 

True = all tables in partition have same structure.

This property indicates whether the tables in this partition-mapping scheme have homogeneous definitions. This is always true for Abell. The SQL engine uses this property for optimizing the number of SQL statements produced when a report needs to use partitioned tables. This property is valid only for partition-mapping tables.

This property defaults to True.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::HomogeneousDefn [out, retval] VARIANT_BOOL *  pHomogeneousDefn  ) 
 

True = all tables in partition have same structure.

This property indicates whether the tables in this partition-mapping scheme have homogeneous definitions. This is always true for Abell. The SQL engine uses this property for optimizing the number of SQL statements produced when a report needs to use partitioned tables. This property is valid only for partition-mapping tables.

This property defaults to True.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::Info [out, retval] IDSSObjectInfo   ppInfo  ) 
 

Return the IDSSObjectInfo interface to give a name and ID.

This property returns the IDSSObjectInfo interface associated with this object. This interface contains many standard properties and methods. For example it contains a Name property and a Comments property. It contains methods to save the object.

It is up to the implementation to decide whether the same interface could be obtained by calling QueryInterface(IID_DSSObjectInfo, ...).
Parameters:
ppInfo The standard Info interface on this object.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::IsPartOfPartition [in] VARIANT_BOOL  IsPartOfPartition  ) 
 

Whether this table is part of a partition.

IsPartOfPartition is a Boolean property. The proprt records whether or not the table is part of a partition.

Parameters:
IsPartOfPartition New value of the property
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::IsPartOfPartition [out, retval] VARIANT_BOOL *  pIsPartOfPartition  ) 
 

Whether this table is part of a partition.

IsPartOfPartition is a Boolean property. The proprt records whether or not the table is part of a partition.

Parameters:
pIsPartOfPartition Value of the property
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::IsTrueKey [in] VARIANT_BOOL  IsTrueKey  ) 
 

True if this collection really is the key (of a physical table).

IsTrueKey is a Boolean property. The architect sets this property during specification of the schema. The property records whether or not the collection of attributes specified in the TableKey collection really does constitute the key columns of the table. If the collection of attributes does not really specify the key, then the SQL Engine inserts an extra GROUP BY into SQL to allow for the possibility that there are other key columns in the table that are not used as part of the data warehouse.

This property defaults to True on a new DSS Table object. Clearly this property only makes sense for physical tables, since logical tables do not have key columns.
Parameters:
IsTrueKey New value of the property
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::IsTrueKey [out, retval] VARIANT_BOOL *  pIsTrueKey  ) 
 

True if this collection really is the key (of a physical table).

IsTrueKey is a Boolean property. The architect sets this property during specification of the schema. The property records whether or not the collection of attributes specified in the TableKey collection really does constitute the key columns of the table. If the collection of attributes does not really specify the key, then the SQL Engine inserts an extra GROUP BY into SQL to allow for the possibility that there are other key columns in the table that are not used as part of the data warehouse.

This property defaults to True on a new DSS Table object. Clearly this property only makes sense for physical tables, since logical tables do not have key columns.
Parameters:
pIsTrueKey Value of the property
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PartitionFilter [in] IDSSFilter pFilter  ) 
 

A filter describing the contents of a table.

The Partition Filter describes the contents of this table and is used to define a partition-mapping scheme. This property is set on tables that are a part of a metadata partition scheme.

This property defaults to NULL.
Parameters:
pFilter New value for partition filter May be NULL
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PartitionFilter [out, retval] IDSSFilter   ppFilter  ) 
 

A filter describing the contents of a table.

The Partition Filter describes the contents of this table and is used to define a partition-mapping scheme. This property is set on tables that are a part of a metadata partition scheme.

This property defaults to NULL.
Parameters:
ppFilter Value of the partition filter Could return NULL
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PartitionLevel [out, retval] IDSSAttributes   ppPartitionLevel  ) 
 

Collection of attributes defining how table is partitioned.

Partition level is a collection of attributes used to store the level of the partitioning scheme. By default the collection is empty.

This collection is used for both DSSTableTypePartitionMappingMD and DSSTableTypePartitionMappingWH.
Parameters:
ppPartitionLevel The collection of attributes that describes the level NULL if this table is not a partitioned table
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PartitionTables [out, retval] IDSSTables   ppPartitionTables  ) 
 

The tables that are part of a partitioning scheme.

This property is a collection of tables. The warehouse tables that make up a certain partitioning scheme are included in this collection. This property is set only for partition mapping tables. The partition mapping tables are denoted by a special enumeration on the table interface.

The get method returns NULL if this table is not a metadata partition-mapping table (i.e., the table type is DSSTableTypePartitionMappingMD).
Parameters:
ppPartitionTables Returns NULL if this is not a metadata partition-mapping table
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::Populate [in] IDSSTable pOriginal  ) 
 

Populate this table's value from an existing table.

This method acts like an assignment operator in C++. It replaces the definition of this object with the definition of the argument. It is used to implement cloning of the argument object.

Parameters:
pOriginal The original object.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PrimaryDBRole [in] IDSSDBRole pPrimaryDBRole  ) 
 

The main DBRole to be used for this table.

This is the primary DBRole that contains the table. The engine uses this DBRole in situations where it cannot figure out the exact DBRole to be used for the table (for example, when processing reports with no metrics).

Parameters:
pPrimaryDBRole PrimaryDBRole for this table.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PrimaryDBRole [out, retval] IDSSDBRole   ppPrimaryDBRole  ) 
 

The main DBRole to be used for this table.

This is the primary DBRole that contains the table. The engine uses this DBRole in situations where it cannot figure out the exact DBRole to be used for the table (for example, when processing reports with no metrics).

Parameters:
ppPrimaryDBRole PrimaryDBRole for this table. NULL if this is a secondary table (the DBRoles exist only in the SecondaryDBRoles collection in that case).
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PrimaryTable [in] IDSSTable pPrimaryTable  ) 
 

Reference to the primary table for this table.

If this object holds the alternative logical interface for the same main table object, this property indicates the primary table object. This situation occurs in distributed databases with replicated tables in different warehouses that may have a different logical interface. This property is NULL for tables that are primary tables themselves.

This property is persisted by storing the ObjectID of the table.
Using putref allows VB users to set this property using the Set keyword.
Parameters:
pPrimaryTable Primary Table for this table.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::PrimaryTable [out, retval] IDSSTable   ppPrimaryTable  ) 
 

Reference to the primary table for this table.

If this object holds the alternative logical interface for the same main table object, this property indicates the primary table object. This situation occurs in distributed databases with replicated tables in different warehouses that may have a different logical interface. This property is NULL for tables that are primary tables themselves.

This property is persisted by storing the ObjectID of the table.
Using putref allows VB users to set this property using the Set keyword.
Parameters:
ppPrimaryTable Primary Table for this table. NULL if this table is a primary table itself.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::SecondaryDBRoles [out, retval] IDSSDBRoles   ppSecondaryDBRoles  ) 
 

DBRole collection - includes all DBRoles containing this table, does not include PrimaryDBRole.

In addition to the primary DBRole a table can be contained in other DBRoles. These are recorded in the SecondaryDBRole property. This property is a standard collection interface. This collection DOES NOT include the PrimaryDBRole.

Parameters:
ppSecondaryDBRoles Collection of secondary DBRoles for this table
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::Size [in] Int32  Size  ) 
 

The size of the table.

Size is an integer property. It records the estimated size of the table.

The Castor engine requires this.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::Size [out, retval] Int32 *  pSize  ) 
 

The size of the table.

Size is an integer property. It records the estimated size of the table.

The Castor engine requires this.
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::TableKey [out, retval] IDSSAttributes   ppTableKey  ) 
 

Collection of attributes used to key this table.

TableKey is an attribute collection property. The TableKey collection of a table contains the set of attributes that act as a key to the table.

If this collection is empty the SQL Engine is able to deduce a TableKey for the table by extracting the set of attributes from the AttributeInfos property, and then reducing the list to its canonical form by removing parent attributes of any related attributes found in the list.
This collection is useful for situations in which a designer wants the SQL Engine to treat the table as if it had a non-standard set of key attributes. Also by populating the collection to the standard set of keys, the architect can slightly reduce the time that it takes the engine to load the schema.
Parameters:
ppTableKey Collection of table keys Never NULL
Returns:
Usual COM result code:
  • S_OK

HRESULT IDSSTable::TableType [in] EnumDSSTableType  TableType  ) 
 

The type of this table (physical/logical/partitioned).

Indicates the type of the tables. We have three types - logical table, physical table and partition mapping table.

When we create a new table object the property defaults to DSSTableTypePhysical.
Here are the values of the enumeration:
Symbol Value Meaning
DssTableTypeReserved 0 Never used
DssTableTypeLogical 1 Logical table
DssTableTypePartitionMappingMD 2 Partitioned table. The partitioning is stored in metadata (in the PartitionTables collection)
DssTableTypePartitionMappingWH 3 Partitioned table. The partitioning is stored in the warehouse (as in Abell.)
Changing the setting of this property may cause some other properties to also change their value. For example we do not have a PartitionTables object unless this property has value DssTableTypePartitionMapping.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_RESERVED_VALUE Cannot assign the property to its reserved value
  • E_INVALIDARG Value was not in range used by the enumeration

HRESULT IDSSTable::TableType [out, retval] EnumDSSTableType pTableType  ) 
 

The type of this table (physical/logical/partitioned).

Indicates the type of the tables. We have three types - logical table, physical table and partition mapping table.

When we create a new table object the property defaults to DSSTableTypePhysical.
Here are the values of the enumeration:
Symbol Value Meaning
DssTableTypeReserved 0 Never used
DssTableTypeLogical 1 Logical table
DssTableTypePartitionMappingMD 2 Partitioned table. The partitioning is stored in metadata (in the PartitionTables collection)
DssTableTypePartitionMappingWH 3 Partitioned table. The partitioning is stored in the warehouse (as in Abell.)
Changing the setting of this property may cause some other properties to also change their value. For example we do not have a PartitionTables object unless this property has value DssTableTypePartitionMapping.
Returns:
Usual COM result code:
  • S_OK
  • DSSCOM_E_RESERVED_VALUE Cannot assign the property to its reserved value
  • E_INVALIDARG Value was not in range used by the enumeration


Copyright © 1996-2018 MicroStrategy Inc. All Rights Reserved.