Retrieval across a data gap in classically stored data
- Last UpdatedMar 19, 2025
- 2 minute read
For blocks created by the Classic Storage subsystem, if the data to be retrieved spans more than one history block, and the start time of the later block is equal (within one tick) to the end time of the first block, you will not notice any difference than when querying within a single block.
However, if the system was stopped between history blocks, there will be a gap in the data, as shown in the following diagram:

Upon retrieval, additional data points (labeled A and B) will be added to mark the end of the first block's data and the beginning of the second block's data. Point C is a stored point generated by the Storage subsystem. (Upon a restart, the first value from each IDAS will be offset from the start time by 2 seconds and have a quality detail of 252.)
The following paragraphs explain this in more detail.
For delta retrieval, the data values in the first block are returned as stored. After the end of the block is reached and all of the points have been retrieved, an additional data point (A) will be inserted by retrieval to mark the end of the data. The value for point A will be
|
Point A attribute |
Value(Hex) |
Value(Dec) |
|
Value |
0 |
0 |
|
Quality |
100 |
256 |
|
Quality Detail |
0 |
0 |
If there is no value stored at the beginning of the next block, an initial data point (B) will be inserted by retrieval and will have the snapshot initial value as stored. The quality and quality detail values are as follows:
|
Point B attribute |
Value(Hex) |
Value(Dec) |
|
Value |
Snapshot |
Snapshot |
|
Quality |
0 |
0 |
|
Quality Detail |
96 |
150 |
In the case of cyclic retrieval, a point is required for each specified time. If the time coincides with the data gap, a NULL point for that time will be generated. The inserted points will have the values defined in the following table.
|
Cyclic NULL point |
Value(Hex) |
Value(Dec) |
|
Value |
0 |
0 |
|
Quality |
100 |
256 |
|
Quality Detail |
0 |
0 |
If you are using time or value deadbands for delta retrieval across a data gap, the behavior is as follows:
-
For a value deadband, all NULLs will be returned and all values immediately after a NULL will be returned. That is, the deadband is not applied to values separated by a NULL.
-
For a time deadband, null values are treated like any other value. Time deadbands are not affected by NULLs.