按任务分类的时间系列 API 例程

时间系列 API 例程基于任务类型进行分类,从而划分为各个逻辑区域。

下表显示按任务类型列出的时间系列接口例程。大写例程名称(如 TS_ELEM_NULL)表示宏。
表 1. 按任务分类的时间系列 API 例程
任务类型 描述
打开和关闭时间系列 打开时间系列:ts_open() 函数

关闭时间系列:ts_close() 函数

返回与指定时间系列描述符关联的时间系列的指针:ts_get_ts() 函数

创建和复制时间系列 创建时间系列:ts_create() 函数

创建包含元数据的时间系列:ts_create_with_metadata() 函数

复制时间系列:ts_copy() 函数

释放与使用 ts_copy()ts_create() 创建的时间系列关联的所有内存:ts_free() 过程

将一个时间系列的所有元素复制到另一个时间系列:ts_put_ts() 函数

扫描时间系列 启动扫描:ts_begin_scan() 函数

从扫描检索下一个元素:ts_next() 函数

结束扫描:ts_end_scan() 过程

查找从扫描检索到的最后一个元素的时间戳记:ts_current_timestamp() 函数

返回 ts_next() 所返回的最后一个元素的偏移量(规则时间系列):ts_current_offset() 函数

使元素对扫描可见或不可见 使元素不可见:ts_hide_elem() 函数

使元素可见:ts_reveal_elem() 函数

从时间系列选择个别元素 获取最接近指定时间戳记的元素:ts_closest_elem() 函数

获取与指定时间戳记关联的元素:ts_elem() 函数

获取指定位置上的元素:ts_nth_elem() 函数

获取第一个元素:ts_first_elem() 函数

获取最后一个元素:ts_last_elem() 函数

查找指定时间戳记后的下一个元素:ts_next_valid() 函数

查找指定时间戳记前的最后一个元素:ts_previous_valid() 函数

查找指定时间戳记之时或之前的最后一个元素:ts_last_valid() 函数

更新时间系列 插入元素:ts_ins_elem() 函数

更新元素:ts_upd_elem() 函数

删除元素:ts_del_elem() 函数

将元素放在时间戳记指定的位置:ts_put_elem() 函数ts_put_elem_no_dups() 函数

附加元素(规则时间系列):ts_put_last_elem() 函数

将元素放在偏移量指定的位置(规则时间系列):ts_put_nth_elem() 函数

修改元数据 更新元数据:ts_update_metadata() 函数
在索引与时间戳记之间进行转换 将时间戳记转换为索引(规则时间系列):ts_index() 函数

将索引转换为时间戳记(规则时间系列):ts_time() 函数

变换元素 从值和空值的数组创建元素:ts_make_elem() 函数ts_make_elem_with_buf() 函数

将 MI_ROW 值转换为元素:ts_row_to_elem() 函数

将元素转换为 MI_ROW 值:ts_elem_to_row() 函数

ts_make_elem()ts_row_to_elem() 创建的时间系列元素释放内存:ts_free_elem() 过程

从元素抽取列数据 按名称从元素获取列:ts_colinfo_name() 函数

按编号从元素获取列:ts_colinfo_number() 函数

将列从元素拉到 valuesnulls 数组:ts_get_all_cols() 过程

使用时间戳记创建并执行计算 比较两个时间戳记:ts_datetime_cmp() 函数

从时间戳记获取字段:ts_get_stamp_fields() 过程

创建时间戳记:ts_make_stamp() 函数

计算两个时间戳记之间的时间间隔数:ts_tstamp_difference() 函数

从时间戳记减去 N 个时间间隔:ts_tstamp_minus() 函数

N 个时间间隔添加到时间戳记:ts_tstamp_plus() 函数

获取元素数据的信息 查找某个列的编号:ts_col_id() 函数

返回每个元素中包含的列数:ts_col_cnt() 函数

获取按编号指定的列的类型信息:ts_colinfo_number() 函数

获取按名称指定的列的类型信息:ts_colinfo_name() 函数

确定某个元素是否隐藏:TS_ELEM_HIDDEN 宏

确定某个元素是否为 NULLTS_ELEM_NULL 宏

获取时间系列的信息 获取与时间系列关联的日历的名称:ts_get_calname() 函数

返回时间系列中的元素数:ts_nelems() 函数

返回与时间系列关联的标志:ts_get_flags() 函数

获取容器的名称:ts_get_containername() 函数

确定时间系列是否在容器中:TS_IS_INCONTAINER 宏

获取时间系列的原点:ts_get_origin() 函数

获取与时间系列关联的元数据:ts_get_metadata() 函数

确定时间系列是否不规则:TS_IS_IRREGULAR 宏

获取日历的信息 返回两个时间戳记之间的有效时间间隔数:ts_cal_index() 函数

返回两个时间戳记之间的所有有效时间点:ts_cal_range() 函数

返回从指定时间戳记开始的指定时间戳记数:ts_cal_range_index() 函数

返回从指定时间戳记起指定时间间隔数后的时间戳记:ts_cal_stamp() 函数

以下函数仅用于规则的时间系列:
  • ts_current_offset()
  • ts_index()
  • ts_nth_elem()
  • ts_put_last_elem()
  • ts_put_nth_elem()
  • ts_time()
某些 API 例程与 SQL 例程几乎相同。下表显示的是两者之间的映射。
API 例程 SQL 例程
ts_cal_index() CalIndex
ts_cal_range() CalRange
ts_cal_stamp() CalStamp
ts_create() TSCreate, TSCreateIrr
ts_create_with_metadata() TSCreate, TSCreateIrr
ts_del_elem() DelElem
ts_elem() GetElem
ts_first_elem() GetFirstElem
ts_get_calname() GetCalendarName
ts_get_containername() GetContainerName
ts_get_metadata() GetMetaData
ts_get_origin() GetOrigin
ts_hide_elem() HideElem
ts_index() GetIndex
ts_ins_elem() InsElem
ts_last_elem() GetLastElem
ts_nelems() GetNelems
ts_next_valid() GetNextValid
ts_nth_elem() GetNthElem
ts_previous_valid() GetPreviousValid
ts_put_elem() PutElem
ts_put_elem_no_dups() PutElemNoDups
ts_put_ts() PutTimeSeries
ts_reveal_elem() RevealElem
ts_time() GetStamp
ts_update_metadata() UpdMetaData
ts_upd_elem() UpdElem