The Time Series Database Cache module supplies dataset manipulation and database query functions that are optimized for use with large and/or high-resolution database tables containing timestamped data.
Given multiple datasets of time series data, return a dataset with rows from the first dataset that do not exist in any of the other datasets.
Combine multiple datasets of time series data into a single dataset. Duplicate rows are discarded and the final dataset contains all of the unique timestamps from all of the supplied datasets. The final column list is taken from the first dataset given. Optionally filter the rows by starting vs. ending timestamps. Optionally insert null rows where timestamps are discontinuous.
Given a single dataset, return a new dataset with the rows in reverse order.
Query a table or view for time series data within a timestamp range, immediately returning any cached data when called, and automatically updating as data is delivered from the data source.
Given two or more datasets of time series data, return the rows in the first dataset that are not in any of the other datasets. Rows must have completely identical column values to be considered duplicates.
Create a new dataset from a template dataset, using its column names and data types, but omitting the rows. An efficient alternative to system.dataset.deleteRows(ds, range(ds.rowCount)).
Combine multiple datasets of time series data into a single dataset. Duplicate rows are discarded and the final dataset contains all of the unique timestamps from all of the supplied datasets. The final column list is taken from the first dataset given. Optionally filter the rows by starting vs. ending timestamps. Optionally insert null rows where timestamps are discontinuous.
Given a single dataset, return a new dataset with the rows in reverse order.
Specify a table or view containing time series data that is to be cached. Optionally include a WHERE clause to limit the data in the specific cache. Returns a numeric handle for use with system.db.getSeriesCache().
Query a registered time series cache for data within a timestamp range, immediately returning any cached data. Missing data is retrieved from the data source in the background. Call at short intervals to obtain additional data after it arrives.
Invalidate a cache's data for a specific time span for all consumers, causing a re-query in the gateway when next requested (if not immediately). Allows an application to run Update queries and then have the new data show up in a corresponding cache.
Dispose of a registered time series cache. Registered caches share data for common table/view and WHERE clause combinations. The cached data is held until all handles are released.
This composite type describes a span of time based on an inclusive start time and an exclusive end time. Either or both timestamps may be null, representing "unbounded" for that direction. A variety of comparison operations and composite operations are supplied as methods.
This composite type describes an ordered sequence of non-overlapping time spans, in the form of a list of DateSpan objects. The earliest DateSpan may have a null start timestamp, and the latest DateSpan may have a null end timestamp, each indicating "unbounded" in that direction. A variety of comparison operations, composite operations, and modification operations are supplied as methods.
This composite type extends the DateSpans type to include a dataset column name as a property. It is used to carry data present and/or data missing information for a single column.
This composite type holds a collection of ColumnSpans objects. It is used to carry data present and/or data missing information within the cache engine and result Datasets.
This composite type extends Ignition's Dataset type to include cache metadata that is likely to be useful to the end-user. In particular, the cache supplies the status of the data successfully delivered as a ColumnsSpans object.