GroveStreams Help Center
Tables





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 tables

This 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