syst_application_contexts


Description

Applications are written with certain security and connection characteristics in mind which correlate to database roles used by the application for establishing connections. This table defines the datastore contexts the application is expecting so that Instance records can be validated against the expectations.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()
syst_instance_contexts.application_context_id syst_instance_contexts_application_contexts_fk C
syst_instance_type_contexts.application_context_id syst_instance_type_contexts_application_contexts_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.

application_id uuid 2147483647 null
syst_applications.id syst_application_contexts_applications_fk C

References the ms_syst_data.syst_applications record which owns the context.

description text 2147483647 null

A user visible description of the application context, its role in the application, uses, and any other helpful text.

start_context bool 1 false

Indicates whether or not the system should start the context for any Instances of the application.

General Usage

If true, any Instance of the Application will start its associated context so long as it is enabled at the Instance level. If false, the context is disabled for all Instances in the Application regardless of their individual settings.

login_context bool 1 false

Indicates whether or not the Application Context is used for making connections to the database.

General Usage

If true, each associated Instance Context is created as a role in the database with the LOGIN privilege; if false, the role is created in the database as a NOLOGIN role. Most often non-login Application Contexts are created to serve as the database role owning database objects.

database_owner_context bool 1 false

Indicates if the Application Context represents the database role used for object ownership.

General Usage

If true, the Application Context does represent the ownership role and should also be defined as a login_context = FALSE context. If false, the role is not used for database object ownership. Note that there should only ever be one Application Context defined as database_owner_context = TRUE for any one Application.

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_application_contexts_pk Primary key Asc id
syst_application_contexts_display_name_udx Must be unique Asc display_name
syst_application_contexts_internal_name_udx Must be unique Asc internal_name

Relationships