Tables
Stream | ActiveEvent | |
UserNotification | SystemNotification | JobNotification |
Stream
STREAM
Table |
||
cname | Component name. | String |
cuid | Component UID. Globally unique. | String |
cid | Component ID. Unique within an organization. This is an optional field. If a component is created without a specific ID, this field will be a blank string (''), not NULL." | String |
ccreatedDate | Component creation date as epoch milliseconds. | Long |
ctemplateUid | Component Template UID. This is an optional field. If a component is created without a specific Template UID, this field will be a blank string (''), not NULL. | String |
folderPath | Component repository folder path. Example: /Components/West. | String |
name | Stream name. | String |
uid | Stream UID. Indexed. Globally unique. | String |
id | Stream ID. Indexed. Unique within a component. This is an optional field. If a stream is created without a specific ID, this field will be a blank string (''), not NULL. | String |
description | Stream description. Optional. When missing it will be ('') not NULL. | String |
timeZoneId | The Time Zone Id. List of Time Zones | String |
unitUid | Unit UID. Optional. When missing it will be ('') not NULL. | String |
streamType | Stream type: intvl_stream, rdm_stream, point_stream. | String |
derivationType | Stream derivation type: NONE, FROM_EXPRESSION, FROM_RSS, FROM_AGGREGATION. | String |
baseCycleUid | Stream base cycle UID. Optional for rdm_stream streams. When missing it will be ('') not NULL. | String |
rollupCalendarUid | Stream rollup calendar UID. Optional. When missing it will be ('') not NULL. | String |
timeFilterUid | Stream time filter UID. Optional. When missing it will be ('') not NULL. | String |
defaultRollupMethod | Stream default rollup method. | String |
sampleValueType | Stream sample value type. | String |
startDate | Stream's earliest sample datetime as epoch milliseconds. The first interval's start datetime for intervals streams. | Long |
endDate | Stream's latest sample datetime as epoch milliseconds.. The last interval's end datetime for intervals streams. | Long |
completedDate | Stream completed date as epoch milliseconds. This usually matches a stream's endDate unless it is a derived stream and it has dependents with cycles smaller than its base cycle. The completed date tracks the datetime the stream was derived up to. | Long |
lastUpdated | The datetime any stream sample was added, updated, or deleted. | Long |
lastValue | Stream's latest sample value | Varies |
lastValueType | Stream's latest sample's value type: Double, Long, String, Boolean, BigDecimal. | String |
sample | Stream sample value. | Varies |
time | Stream sample datetime as epoch milliseconds. Will be the interval end datetime for interval streams. | Long |
timeSd | Stream interval sample start datetime as epoch milliseconds. | Long |
timeEd | Stream interval sample end datetime as epoch milliseconds. | Long |
About the STREAM Table
GroveStreams stores production stream data in three columnar tables: Component, Stream, and Sample tablesThis table respects component content store security.
Querying for data in three tables can be difficult for SQL novices as it would involve a lot of joins. We have created one table to simplify queries called the STREAM table. It has all three table's information contained within it.
The STREAM table is created just for GS SQL queries and is automatically updated as information changes in the production tables. The sample and sample time columns are not actually stored in the STREAM table but are the actual production sample tables. The GS SQL engine will automatically modify query statements injecting an inner join with the sample table so that you don't have to.
This design has many benefits, but has a couple of quirks:
1. Error messages may refer to the sample table
2. The data in the stream table is not replicated for each sample, but only for each stream. For example, a query for all individual component names, such as "SELECT cname FROM Stream", will return the same component name for each of its streams. It will not return a component name for each sample belonging to the component's streams.
Tip: Add DISTINCT to eliminate duplicate component names: "SELECT DISTINCT cname FROM Stream"
ActiveEvent
ACTIVEEVENT
Table |
||
componentName | Component name. | String |
componentUid | Component UID. Globally unique. | String |
componentId | Component ID. Unique within an organization. Optional. When missing it will be ('') not NULL. | String |
componentIcon | Component icon. | String |
streamName | Stream name. | String |
streamUid | Stream UID. Globally unique. | String |
sampleTime | Stream sample datetime, as epoch milliseconds, that triggered the event. Will be the interval end datetime for interval streams. | Long |
sampleTimeSd | Stream interval sample start datetime, as epoch milliseconds, that triggered the event. | Long |
sampleTimeEd | Stream interval sample end datetime, as epoch milliseconds, that triggered the event. | Long |
sampleValue | Stream sample value that triggered the event. | String |
sampleValueType | Stream sample value type (INTEGER, DOUBLE, DATETIME, ...) | String |
eventLocationLatitude | The component location's latitude. | Double |
eventLocationLongitude | The component's location's longitude. | Double |
eventLocationElevation | The component's location's elevation. | Double |
eventLocationHasElevation | The component location elevation indicator. | Boolean |
eventLocationDescription | The component location's description. Optional. When missing it will be ('') not NULL. | String |
eventLocationStreet | The component location's street. Optional. When missing it will be ('') not NULL. | String |
eventLocationCity | The component's locations's city. Optional. When missing it will be ('') not NULL. | String |
eventLocationStateProv | The component location's state or province. Optional. When missing it will be ('') not NULL. | String |
eventLocationPostalCode | The component location's postal code. Optional. When missing it will be ('') not NULL. | String |
eventLocationCountry | The component location's country. Optional. When missing it will be ('') not NULL. | String |
eventUid | The event UID. Globally unique. | String |
eventTriggerDate | The event's datetime as epoch milliseconds. Could be different than the sampleTime if the stream is an interval stream. | Long |
eventDeliveryState | NO_TRIGGER, DELAYING, TRIGGERED | String |
eventDeliveryDate | The event's delivery date datetime as epoch milliseconds. Could be later than the actual eventTriggerDate if delay is used. | Long |
eventDeliveryFrequency | The event's delivery frequency in milliseconds. | Long |
eventDeliveryDwell | The event's dwelling time in milliseconds. | Long |
eventDelayAmount | The event's delay amount in milliseconds. | Long |
eventCategory | INFO, WARN, CRITICAL | String |
eventName | The name of the event. | String |
eventIcon | The icon of the event. | String |
About the ACTIVEEVENT Table
The ActiveEvent table hold component stream events that are active. An event row will be removed when the event is no longer active. This table respects component content store security.UserNotification
USERNOTIFICATION
Table |
||
uid | Notification UID. Globally unique. | String |
date | Notification date as epoch milliseconds. | Long |
subject | Notification subject. | String |
body | Notification body. | String |
acknowledge | Whether the notification has been acknowledged by the user. | Boolean |
componentUid | Associated event stream's component UID. | String |
streamUid | Associated event component stream's UID. | String |
categoryType | Message category type (e.g. INFO, WARN, CRITICAL). | String |
eventUid | Associated component event UID. | String |
actionUid | Associated action package UID. This is an optional field and will be '' (not NULL) when missing. | String |
About the USERNOTIFICATION Table
The UserNotification table holds component stream event notifications for users. Notifications can be acknowledged by users. This table is secured by user.SystemNotification
SYSTEMNOTIFICATION
Table |
||
uid | Notification UID. Globally unique. | String |
date | Notification date as epoch milliseconds. | Long |
subject | Notification subject. | String |
body | Notification body. | String |
categoryType | Message category type (e.g. INFO, WARN, CRITICAL). | String |
acknowledge | Whether the notification has been acknowledged by the user. | Boolean |
About the SYSTEMNOTIFICATION Table
The SystemNotification table holds system notifications and will be marked acknowledged if read by anyone. System notifications are used to indicate the starting and stopping of long system processes and to record any exceptions that occur. This table is secured by the Group 'System Notifications' capability (GSN_SYS).JobNotification
JOBNOTIFICATION
Table |
||
uid | Job UID. Globally unique. | String |
name | Job name. | String |
processQueueUid | Associated queue UID that started the job. This is an optional field and will be '' (not NULL) when missing. | String |
id | Job ID. Used by the underlying job infrastructure. | String |
startDate | Job start date as epoch milliseconds. | Long |
endDate | Job end date as epoch milliseconds. | Long |
status | Job status: SETTING_UP, RUNNING, CLEANING_UP, FINISHED_SUCCESS, FINISHED_FAILURE, FINISHED_CANCELLED | String |
acknowledged | Whether the job notification has been acknowledged. | Boolean |
cancelled | Whether the job has been cancelled. | Boolean |
progress | Job progress. Ranges from 0.0 to 1.0 | Double |
errorCount | Number of errors that occurred while processing the job. | Long |
About the JOBNOTIFICATION Table
The JobNotification table holds information in regards to Job processes which are long running, cpu/memory intensive and can be processed by many processes on many servers. Notification rows are created when a job starts. The row is updated as the job runs and finishes. The list of detailed job exceptions are not held within this table.Some job examples are: Importing, Reconciling, AI Forecast Training (or Fitting), Stream Aggregation, Stream Derivation