# ESS_PARTOTL_CHANGE_API_T

    typedef struct ESS_PARTOTL_CHANGE_API_T
    {
       ESS_ULONG_T                   ulDimensionCount;
       ESS_PPARTOTL_DIMCHG_API_T     pDimchg;
       ESS_ULONG_T                   ulAliasTableCount;
       ESS_PPARTOTL_NAMEMAP_API_T    pAliasTableChg;
    }  ESS_PARTOTL_CHANGE_API_T, *ESS_PPARTOTL_CHANGE_API_T, **ESS_PPPARTOTL_CHANGE_API_T;

Data Type | Field | Descriptions
ESS_ULONG_T | ulDimensionCount | Number of dimension changes.
ESS_PPARTOTL_DIMCHG_API_T | pDimchg | Pointer to a link list of dimension changes.
ESS_ULONG_T | ulAliasTableCount | Count of alias table changes.
ESS_PPARTOTL_NAMEMAP_API_T | pAliasTableChg | Linked list of table changes.

### Notes

The ESS_PARTOTL_CHANGE_API_T structure categorizes database outline changes by dimensions. This structure is passed in when EssSmDbOtlRestruct() is called. An outline change is composed of a set of dimension changes and a set of alias table changes. Dimension changes are passed as a linked list pointed to by pDimChg. Each item in the linked list represents the changes made to the dimension; it also has a root pointer pMemberChange which points to a linked list of member changes.

Alias table changes are passed as a linked list pointed to by pAliasTableChg. Each item in the linked list represents the changes in an alias table. Currently, only Add, and Delete operations are supported. The following highlights the alias table change operations

When an alias table is deleted, changed records show an alias table deletion. There is no change record for any alias which is deleted along with the alias table. Alias changes are recorded as member updates. Alias changes are reflected regardless of the status of the alias table, that is, the alias table does not have to be "active".

Renaming an alias table is interpreted as deleting an alias table with the old name and adding an alias table with the new name. Aliases in the renamed alias table are new aliases.