FETCH function interacts with the Warp 10 Storage Engine to retrieve data according to given criteria.
FETCH either accepts a list of 5 parameters or a map with the parameters. Those are defining the read access rights, the concerned Geo Time Series and the time window.
A valid read token is needed to read data with fetch. If you use a metaset and also specify a token, the token included in the metaset will be ignored.
Concerned Geo Time Series
FETCH selects Geo Time Series according to:
selectorsparameter, which is a list of selector.
selectorsis not found,
selectorparameter which is a single selector.
selectoris not found,
FETCH begins from the newest value and stop when the oldest value is collected. Thus,
end must be defined in your request and defines the newest included value in your time window. If
end is anterior to your oldest value, the result will be empty (no Geo Time Series). The span of the time window ending at
end is then defined according to:
timespanis not defined,
FETCHcollects a maximum of
countis not defined,
startis more recent than
startare permuted internally. Be careful, this means
endis included but
startis excluded from the time window.
Since version 2.3.0, you can define boundaries around the requested data. When fetching data based on a time range, both a pre and post boundaries can be specified. When fetching by count, only a pre boundary can be requested.
Boundaries are a number of datapoints which are either before (pre boundary) or after (post boundary) the fetched data. Fetching boundaries is very useful when storing only the changes of values as they enable you to always fetch datapoints even if the requested time range does not contain any. They can also be used to fetch the first
N datapoints after a given timestamp.
Note that fetching post boundaries is less efficient than fetching the requested range or a pre boundary as the data has to be scanned in reverse order which has an impact on I/Os and ultimately on performance.
If you want to read only Geo Time Series attributes or labels, using FIND is more efficient than fetching the last value.