syst_hierarchies


Description

Establishes a hierarchical template for parent/child relationships to follow. The hierarchies relation creates a type of hierarchy which is linked to a specific feature or functional area of the application via a record’s hierarchy_type_id reference. Hierarchies is also the parent relation of Hierarchy Items relation (ms_syst_data.syst_hierarchy_items) records where each Hierarchy Items record represents a level of the hierarchy.

General Usage

Note that once the Hierarchy is active and in use by Hierarchy implementing Components, most changes to the Hierarchy records will not be allowed to ensure the consistency of currently used data.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()
syst_hierarchy_items.hierarchy_id syst_hierarchy_items_hierarchy_fk C

The record’s primary key. The definitive identifier of the record in the system.

General Usage

This column is system maintained and should be considered read only in normal operations.

internal_name text 2147483647 null

A candidate key useful for programmatic references to individual records.

General Usage

This column is system maintained and should be considered read only in normal operations.

display_name text 2147483647 null

A friendly name and candidate key for the record, suitable for use in user interactions

General Usage

This column is system maintained and should be considered read only in normal operations.

hierarchy_type_id uuid 2147483647 null
syst_enum_items.id syst_hierarchies_hierarchy_type_fk C

A reference indicating in which specific functional area or with which feature of the application the Hierarchy is associated with.

hierarchy_state_id uuid 2147483647 null
syst_enum_items.id syst_hierarchies_hierarchy_state_fk R

A reference indicating at which point in the Hierarchy life-cycle the record sits.

General Usage

The record may only be set in an active state if the record and any associated Hierarchy Item records are in a consistent, valid state. Similarly, the record may only be set to an inactive state if the Hierarchy record is not in use, which is defined as the record being referenced by an Hierarchy implementing Component’s records.

syst_defined bool 1 false

Values of TRUE in this column indicate that the record is considered a “System Defined” record, a record which is created and primarily maintained by the system using automated processes. A value of FALSE indicates that the record is considered a “User Defined” record which is maintained by user actions in the application.

General Usage

This column is system maintained and should be considered read only in normal operations.

user_maintainable bool 1 true

If a record is system defined (see the syst_defined column), there may be some user data maintenance operations permitted in some cases. If the value of this column for a record is TRUE and the record is also “System Defined”, then permitted user maintenance operations are available for the record. If the record is system defined and the value of this column is FALSE, no user maintenance is allowed. If the record is not system defined, the value in this column will have no meaning or effect; user defined records may set this value TRUE as a simple information point indicating that the record is user maintainable.

General Usage

This column is system maintained and should be considered read only in normal operations.

structured bool 1 true

A flag indicating whether or not the Hierarchy actually defines a structure, or if the any implementations allow fully ad hoc structuring within the implementing Component.

General Usage

This configuration exists for cases where a Component implements Hierarchy functionality, but can also operate while bypassing any hierarchy checks at all; this way we can still require a Hierarchy record reference in the implementation while allowing the Hierarchy definition itself be the configuration point for determining whether or not hierarchical structure is required.

syst_description text 2147483647 null

A system defined description indicating the purpose and use cases of a given record. Text defined in this column is system maintained and should not be changed under normal circumstances.

General Usage

This column is system maintained and should be considered read only in normal operations.

user_description text 2147483647 null

An optional user defined description of the record and its use cases. If this value is not NULL, the value will override any syst_description defined text in application user interfaces and other presentations.

diag_timestamp_created timestamptz 35,6 now()

The database server date/time when the transaction which created the record started.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_created text 2147483647 null

The database role which created the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_timestamp_modified timestamptz 35,6 now()

The database server date/time when the transaction which modified the record started. This field will be the same as diag_timestamp_created for inserted records.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_wallclock_modified timestamptz 35,6 clock_timestamp()

The database server date/time at the moment the record was actually modified. For long running transactions this time may be significantly later than the value of diag_timestamp_modified.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_modified text 2147483647 null

The database role which modified the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_row_version int8 19 1

The current version of the row. The value here indicates how many actual data changes have been made to the row. If an update of the row leaves all data fields the same, disregarding the updates to the diag_* columns, the row version is not updated, nor are any updates made to the other diag_* columns other than diag_update_count.

General Usage

This column is system maintained and should be considered read only in normal operations.

Direct Usage

This column is frequently used by by application logic to resolve the “dirty write” issues which can arise from concurrent data changes. As such any administrative override of automatic system maintenance of this value should consider the ramifications on application function.

diag_update_count int8 19 0

Records the number of times the record has been updated regardless as to if the update actually changed any data. In this way needless or redundant record updates can be found. This row starts at 0 and therefore may be the same as the diag_row_version - 1.

General Usage

This column is system maintained and should be considered read only in normal operations.

Indexes

Constraint Name Type Sort Column(s)
syst_hierarchies_pk Primary key Asc id
syst_hierarchies_display_name_udx Must be unique Asc display_name
syst_hierarchies_internal_name_udx Must be unique Asc internal_name

Relationships