This module contains system views manager implementation. The document provides some low-level implementation details that may be of interest to the maintainers of this module. For information about using the system views API, see the system-views-api
module documentation.
Registration of system views occurs during node startup. The system view cannot be registered after the system views manager is started.
System views registration in the cluster involve next steps, which are performed during node startup.
register
method.CreateSystemViewCommand
catalog command. This command adds non-existent system views into the catalog.ClusterNodeMessage
. with system attributes containing the names of locally residing system views.From the query engine perspective the system view is an unmodifiable table that is located in SYSTEM
schema. System views don't support transactions. With each query, the sql engine requests data from the system view data provider, which does not have transaction integration. That is, regardless of whether a transaction has started or not, each query to the system view may return a different set of data.
Cluster-wide view data can be obtained on any node so the view of this type has a single distribution.
Local node view data must be obtained on every node where view is registered, so it uses special identity-distribution, that calculates destinations based on a value of the row field.