syst_menu_items


Description

Individual menu entries which can serve as actionable menu items, grouping items, references to other menus to include recursively, or any appropriate combination thereof.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()
syst_menu_items.parent_menu_item_id syst_menu_items_parent_menu_item_fk R

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.

external_name text 2147483647 null

A non-unique/non-key value used to display to users and external parties where uniqueness is less of a concern than specific end user presentation.

menu_id uuid 2147483647 null
syst_menus.id syst_menu_items_menu_fk C

Identifies the Menu to which the menu item belongs.

parent_menu_item_id uuid 2147483647 null
syst_menu_items.id syst_menu_items_parent_menu_item_fk R

References the current Menu Item’s parent Menu Item record. If the current Menu Item record is at the root of the Menu, this value will be NULL.

sort_order int2 5 null

Establishes the current Menu Item’s sorting order relative to sibling Menu Item records

submenu_menu_id uuid 2147483647 null
syst_menus.id syst_menu_items_submenu_menu_fk R

When not null, indicates that the Menu Item record imports an independently defined Menu.

General Usage

An attempt to associate a Menu which recursively references the current Menu Item’s parent Menu will result in an exception being raised and the transaction attempting to make the association will be rolled back.

Note that the referenced Menu’s descriptive texts and naming will supersede the naming specified directly by this record or the text of any associated Menu Action referenced in the action_id column.

action_id uuid 2147483647 null
syst_actions.id syst_menu_items_action_fk R

Associates a specific action to be invoked when the Menu Item that the record represents is “selected”.

General Usage

Note that the referenced Action’s texts will supersede the Menu Item texts in any user facing situations, though if the Menu Item is also associated with a Menu (submenu_menu_id), the Menu’s text will prevail.

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_menu_items_pk Primary key Asc id
syst_menu_items_display_name_udx Must be unique Asc display_name
syst_menu_items_internal_name_udx Must be unique Asc internal_name
syst_menu_items_sort_ordering_udx Must be unique Asc/Asc/Asc menu_id + parent_menu_item_id + sort_order

Relationships