quasardb C API
|
Data Structures | |
struct | qdb_ts_double_point |
A timestamped data with a double-precision floating-point value. More... | |
struct | qdb_ts_blob_point |
A timestamped data with a binary content. More... | |
struct | qdb_ts_int64_point |
A timestamped data with a signed 64-bit integer value. More... | |
struct | qdb_ts_timestamp_point |
A timestamped data with a signed 64-bit integer value. More... | |
struct | qdb_ts_string_point |
A timestamped data with a string content. More... | |
struct | qdb_ts_range_t |
Time interval. More... | |
struct | qdb_ts_blob_aggregation_t |
Aggregation input and result for columns of blobs. More... | |
struct | qdb_ts_double_aggregation_t |
Aggregation input and result for columns of numeric floating-point values. More... | |
struct | qdb_ts_int64_aggregation_t |
Aggregation input and result for columns of numeric integer values. More... | |
struct | qdb_ts_string_aggregation_t |
Aggregation input and result for columns of strings. More... | |
struct | qdb_ts_timestamp_aggregation_t |
Aggregation input and result for columns of timestamp values. More... | |
struct | qdb_ts_column_info_t |
Description of a time series column. More... | |
struct | qdb_ts_column_info_ex_t |
Description of a time series column, perhaps with its symtable. More... | |
struct | qdb_ts_batch_column_info_t |
Description of a batch column info. More... | |
struct | qdb_ts_batch_unchecked_column_info_t |
Description of a batch column that will not be checked. More... | |
struct | qdb_blob_t |
A representation of binary data. More... | |
struct | qdb_exp_batch_push_column_t |
Column sent to the server in a batch. More... | |
struct | qdb_exp_batch_push_column_schema_t |
Schema of a column sent to the server in a batch. More... | |
struct | qdb_exp_batch_push_table_data_t |
Data of a table sent to the server in a batch. More... | |
struct | qdb_string_array_t |
String array. More... | |
struct | qdb_exp_batch_push_table_t |
Data and metadata of a table sent to the server in a batch. More... | |
struct | qdb_exp_batch_push_table_schema_t |
Schema of a table sent to the server in a batch. Indexed by the table and column names given in qdb_exp_batch_push_table_t. More... | |
struct | qdb_exp_batch_options_t |
Options that apply to all tables being pushed in this call. More... | |
struct | qdb_arrow_column_t |
Holds a column in Arrow format. More... | |
struct | qdb_exp_batch_push_arrow_data_t |
Holds the table in Arrow format. More... | |
struct | qdb_exp_batch_push_arrow_table_t |
Data and metadata of a table sent to the server in a batch. More... | |
struct | qdb_ts_aggregated_column_info_t |
Description of a time series aggregated column. More... | |
struct | qdb_aggregated_table_t |
The aggregated table parameters. More... | |
struct | qdb_ts_metadata_t |
A time series metadata. More... | |
Macros | |
#define | QDB_IS_NULL_DOUBLE(pt) (isnan(pt.value)) |
True if and only if the qdb_ts_double_point represents a null value. | |
#define | QDB_IS_NULL_BLOB(pt) (pt.content_length == 0) |
True if and only if the qdb_ts_blob_point represents a null value. | |
#define | QDB_IS_NULL_INT64(pt) (pt.value == ((qdb_int_t)0x8000000000000000ll)) |
True if and only if the qdb_ts_int64_point represents a null value. | |
#define | QDB_IS_NULL_TIMESTAMP(pt) |
True if and only if the qdb_ts_timestamp_point represents a null value. | |
#define | QDB_IS_NULL_STRING(pt) (pt.content_length == 0) |
True if and only if the qdb_ts_string_point represents a null value. | |
Typedefs | |
typedef enum qdb_ts_aggregation_type_t | qdb_ts_aggregation_type_t |
Types of aggregations that can be computed on a time series. | |
typedef enum qdb_ts_column_type_t | qdb_ts_column_type_t |
Types of time series columns. | |
typedef qdb_uint_t | qdb_ts_column_index_t |
Index of a time series columns. Does not necessarily match the column position at table creation due to modifications to the table schema (by adding, renaming or removing columns). | |
typedef struct qdb_local_table_internal * | qdb_local_table_t |
An opaque local table structure used for bulk insertions. | |
typedef struct qdb_batch_table_internal * | qdb_batch_table_t |
An opaque batch table structure used for bulk insertions. | |
typedef struct qdb_bulk_reader_internal * | qdb_reader_handle_t |
An opaque bulk reader structure used for the data paging. | |
typedef qdb_exp_batch_push_table_data_t | qdb_bulk_reader_table_data_t |
A bulk reader data structure returned to user. | |
Functions | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_create (qdb_handle_t handle, const char *alias, qdb_duration_t shard_size_ms, const qdb_ts_column_info_t *columns, qdb_size_t column_count) |
Creates a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_create_ex (qdb_handle_t handle, const char *alias, qdb_duration_t shard_size_ms, const qdb_ts_column_info_ex_t *columns, qdb_size_t column_count, qdb_duration_t ttl) |
Creates a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_insert_columns (qdb_handle_t handle, const char *alias, const qdb_ts_column_info_t *columns, qdb_size_t column_count) |
Appends columns to an existing time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_insert_columns_ex (qdb_handle_t handle, const char *alias, const qdb_ts_column_info_ex_t *columns, qdb_size_t column_count) |
Appends columns to an existing time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_get_metadata (qdb_handle_t handle, char const *alias, qdb_ts_metadata_t **metadata) |
Returns a metadata information about a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_set_ttl (qdb_handle_t handle, const char *alias, qdb_duration_t ttl) |
Returns the time to live of a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_list_columns (qdb_handle_t handle, const char *alias, qdb_ts_column_info_t **columns, qdb_size_t *column_count) |
Returns all the columns of a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_list_columns_ex (qdb_handle_t handle, const char *alias, qdb_ts_column_info_ex_t **columns, qdb_size_t *column_count) |
Returns all the columns of a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_blob_insert (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_blob_point *values, qdb_size_t value_count) |
Inserts blob points in a time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_blob_insert_truncate (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, const qdb_ts_blob_point *values, qdb_size_t value_count) |
Inserts blob points in a time series and erases given ranges in the same transaction. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_double_insert (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_double_point *values, qdb_size_t value_count) |
Inserts double points in a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_double_insert_truncate (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, const qdb_ts_double_point *values, qdb_size_t value_count) |
Inserts double points in a time series and erases given ranges in the same transaction. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_int64_insert (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_int64_point *values, qdb_size_t value_count) |
Inserts int64 points in a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_int64_insert_truncate (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, const qdb_ts_int64_point *values, qdb_size_t value_count) |
Inserts int64 points in a time series and erases given ranges in the same transaction. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_string_insert (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_string_point *values, qdb_size_t value_count) |
Inserts string points in a time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_string_insert_truncate (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, const qdb_ts_string_point *values, qdb_size_t value_count) |
Inserts string points in a time series and erases given ranges in the same transaction. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_timestamp_insert (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_timestamp_point *values, qdb_size_t value_count) |
Inserts timestamp points in a time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_timestamp_insert_truncate (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, const qdb_ts_timestamp_point *values, qdb_size_t value_count) |
Inserts timestamp points in a time series and erases given ranges in the same transaction. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_blob_get_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_blob_point **points, qdb_size_t *point_count) |
Retrieves blobs in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_blob_get_ranges_no_copy (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_blob_point *points, qdb_size_t *point_count) |
Retrieves blobs in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_double_get_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_double_point **points, qdb_size_t *point_count) |
Retrieves doubles in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_double_get_ranges_no_copy (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_double_point *points, qdb_size_t *point_count) |
Retrieves doubles in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_int64_get_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_int64_point **points, qdb_size_t *point_count) |
Retrieves 64-bit integers in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_int64_get_ranges_no_copy (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_int64_point *points, qdb_size_t *point_count) |
Retrieves 64-bit integers in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_string_get_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_string_point **points, qdb_size_t *point_count) |
Retrieves strings in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_string_get_ranges_no_copy (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_string_point *points, qdb_size_t *point_count) |
Retrieves strings in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_timestamp_get_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_timestamp_point **points, qdb_size_t *point_count) |
Retrieves timestamps in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_timestamp_get_ranges_no_copy (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_ts_timestamp_point *points, qdb_size_t *point_count) |
Retrieves timestamps in the specified range of the time series column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_blob_aggregate (qdb_handle_t handle, const char *alias, const char *column, qdb_ts_blob_aggregation_t *aggregations, qdb_size_t aggregation_count) |
Aggregate a sub-part of a blob column of the time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_double_aggregate (qdb_handle_t handle, const char *alias, const char *column, qdb_ts_double_aggregation_t *aggregations, qdb_size_t aggregation_count) |
Aggregate a sub-part of the double column of the time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_int64_aggregate (qdb_handle_t handle, const char *alias, const char *column, qdb_ts_int64_aggregation_t *aggregations, qdb_size_t aggregation_count) |
Aggregate a sub-part of the int64 column of the time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_string_aggregate (qdb_handle_t handle, const char *alias, const char *column, qdb_ts_string_aggregation_t *aggregations, qdb_size_t aggregation_count) |
Aggregate a sub-part of a string column of the time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_timestamp_aggregate (qdb_handle_t handle, const char *alias, const char *column, qdb_ts_timestamp_aggregation_t *aggregations, qdb_size_t aggregation_count) |
Aggregate a sub-part of the timestamp column of the time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_get_timestamps (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_timespec_t **timestamps, qdb_size_t *timestamp_count) |
Retrieves the timestamps, not the values, for a given timeseries column or the aggregation of all columns. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_erase_ranges (qdb_handle_t handle, const char *alias, const char *column, const qdb_ts_range_t *ranges, qdb_size_t range_count, qdb_uint_t *erased_count) |
Erase all points in the specified range (left inclusive). More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_local_table_init (qdb_handle_t handle, const char *alias, const qdb_ts_column_info_t *columns, qdb_size_t column_count, qdb_local_table_t *table) |
Initialize a local table for bulk insertion in time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_blob (qdb_local_table_t table, qdb_size_t column_index, const void **content, qdb_size_t *content_length) |
Retrieves blob data from the current row at the specified column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_blob_no_copy (qdb_local_table_t table, qdb_size_t column_index, const void **content, qdb_size_t *content_length) |
Retrieves blob data from the current row at the specified column without performing copy of data internal to data. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_string (qdb_local_table_t table, qdb_size_t column_index, const char **content, qdb_size_t *content_length) |
Retrieves string data from the current row at the specified column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_string_no_copy (qdb_local_table_t table, qdb_size_t column_index, const char **content, qdb_size_t *content_length) |
Retrieves string data from the current row at the specified column without performing copy of data internal to data. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_double (qdb_local_table_t table, qdb_size_t column_index, double *value) |
Retrieves double value from the current row at the specified column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_int64 (qdb_local_table_t table, qdb_size_t column_index, qdb_int_t *value) |
Retrieves signed 64-bit integer value from the current row at the specified column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_row_get_timestamp (qdb_local_table_t table, qdb_size_t column_index, qdb_timespec_t *value) |
Retrieves timestamp value from the current row at the specified column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_table_next_row (qdb_local_table_t table, qdb_timespec_t *timestamp) |
Fetch data and advance to the next row. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_table_get_ranges (qdb_local_table_t table, const qdb_ts_range_t *ranges, qdb_size_t range_count) |
Retrieve all the specified rows from the database. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_table_stream_ranges (qdb_local_table_t table, const qdb_ts_range_t *ranges, qdb_size_t range_count) |
Retrieve shard by shard the specified rows from the database. The table is then seen as it was then this function was called. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_table_init (qdb_handle_t handle, const qdb_ts_batch_column_info_t *columns, qdb_size_t column_count, qdb_batch_table_t *table) |
Initialize a batch table for bulk insertion in time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_table_unchecked_init (qdb_handle_t handle, const qdb_ts_batch_unchecked_column_info_t *columns, qdb_size_t column_count, qdb_batch_table_t *table) |
Initialize a batch table for bulk insertion in time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_table_extra_columns (qdb_batch_table_t table, const qdb_ts_batch_column_info_t *columns, qdb_size_t column_count) |
Add extra columns to a batch table for bulk insertion in time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_table_unchecked_extra_columns (qdb_batch_table_t table, const qdb_ts_batch_unchecked_column_info_t *columns, qdb_size_t column_count) |
Add extra columns to a batch table for bulk insertion in time series. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_start_row (qdb_batch_table_t table, const qdb_timespec_t *timestamp) |
Start a new row to the outcoming data buffer. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_blob (qdb_batch_table_t table, qdb_size_t index, const void *content, qdb_size_t content_length) |
Set a value in the current row in a column of blobs. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_blob_no_copy (qdb_batch_table_t table, qdb_size_t index, const void *content, qdb_size_t content_length) |
Set a value in the current row in a column of blobs without copying data. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_string (qdb_batch_table_t table, qdb_size_t index, const char *content, qdb_size_t content_length) |
Set a value in the current row in a column of strings. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_string_no_copy (qdb_batch_table_t table, qdb_size_t index, const char *content, qdb_size_t content_length) |
Set a value in the current row in a column of strings without copying data. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_double (qdb_batch_table_t table, qdb_size_t index, double value) |
Set a value in the current row in a column of doubles. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_int64 (qdb_batch_table_t table, qdb_size_t index, qdb_int_t value) |
Set a value in the current row in a column of integers. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_row_set_timestamp (qdb_batch_table_t table, qdb_size_t index, const qdb_timespec_t *value) |
Set a value in the current row in a column of timestamps. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_pin_blob_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t capacity, qdb_timespec_t *timestamp, qdb_time_t **timeoffsets, qdb_blob_t **data) |
Resize and get direct access to a blob column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_pin_double_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t capacity, qdb_timespec_t *timestamp, qdb_time_t **timeoffsets, double **data) |
Resize and get direct access to a double column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_pin_int64_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t capacity, qdb_timespec_t *timestamp, qdb_time_t **timeoffsets, qdb_int_t **data) |
Resize and get direct access to a int64 column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_pin_string_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t capacity, qdb_timespec_t *timestamp, qdb_time_t **timeoffsets, qdb_string_t **data) |
Resize and get direct access to a string column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_pin_timestamp_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t capacity, qdb_timespec_t *timestamp, qdb_time_t **timeoffsets, qdb_timespec_t **data) |
Resize and get direct access to a timestamp column. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_shrink_pinned_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t size) |
Resize the column without invalidating the pointers. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_unsafe_resize_pinned_column (qdb_batch_table_t table, qdb_size_t index, qdb_size_t size) |
Resize the column with no guarantee the pointers will not be invalidated. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_release_columns_memory (qdb_batch_table_t table) |
Release memory of all cached columns. The tables metadata are kept. More... | |
qdb_time_t | qdb_ts_bucket_base_time (qdb_timespec_t timestamp, qdb_duration_t shard_size) |
Returns the base time of the bucket given a timestamp and the shard_size of the timeseries. More... | |
qdb_time_t | qdb_ts_bucket_offset (qdb_timespec_t timestamp, qdb_duration_t shard_size) |
Returns the offset of the bucket (from its base time) given a timestamp and the shard_size of the timeseries. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_push (qdb_batch_table_t table) |
Push the current batch table. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_push_fast (qdb_batch_table_t table) |
Push the current batch table, non transactional. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_push_async (qdb_batch_table_t table) |
Push asynchronously the current batch table. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_batch_push_truncate (qdb_batch_table_t table, const qdb_ts_range_t *ranges, qdb_size_t range_count) |
Push the current batch table, erasing previously stored points in the given ranges, transactionally. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_exp_batch_push (qdb_handle_t handle, qdb_exp_batch_push_mode_t mode, const qdb_exp_batch_push_table_t *tables, const qdb_exp_batch_push_table_schema_t **table_schemas, qdb_size_t table_count) |
Push the tables content to the server. Sort given rows if needed. Write table info if asked. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_exp_batch_push_with_options (qdb_handle_t handle, const qdb_exp_batch_options_t *options, const qdb_exp_batch_push_table_t *tables, const qdb_exp_batch_push_table_schema_t **table_schemas, qdb_size_t table_count) |
Push the tables content to the server. Sort given rows if needed. Write table info if asked. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_exp_batch_push_arrow (qdb_handle_t handle, qdb_exp_batch_push_mode_t mode, qdb_exp_batch_push_arrow_table_t *tables, const qdb_exp_batch_push_table_schema_t **table_schemas, qdb_size_t table_count) |
Push the tables content to the server in Arrow format. If needed, data rows will be sorted. Optionally, export table schemas. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_exp_batch_push_arrow_with_options (qdb_handle_t handle, const qdb_exp_batch_options_t *options, qdb_exp_batch_push_arrow_table_t *tables, const qdb_exp_batch_push_table_schema_t **table_schemas, qdb_size_t table_count) |
Push the tables content to the server in Arrow format. If needed, data rows will be sorted. Optionally, export table schemas. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_expire_by_size (qdb_handle_t handle, const char *alias, qdb_uint_t size) |
Trim the timeseries, so that it uses approximately the provided size. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_bucket_nuke_by_id (qdb_handle_t handle, const char *bucket_id) |
Remove the given shard. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_ts_bucket_nuke_by_name (qdb_handle_t handle, const char *table, qdb_time_t shard_base_time) |
Remove the given shard. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_bulk_reader_fetch (qdb_handle_t handle, const qdb_bulk_reader_table_t *tables, qdb_size_t table_count, qdb_reader_handle_t *reader) |
Initiate the bulk reader and collect data from the server. More... | |
QDB_API_LINKAGE qdb_error_t | qdb_bulk_reader_get_data (qdb_reader_handle_t reader, qdb_bulk_reader_table_data_t **data, qdb_size_t rows_to_get) |
Get a next portion of the collected by the bulk reader data. More... | |
Ways of creating tables and columns for timeseries with qdb_exp_batch_push.
How deduplication is handled by qdb_exp_batch_push.
Flags that control the global behavior of the push for all tables Unless otherwise noted flags can be combined.
Ways of pushing data to timeseries with qdb_exp_batch_push.
Enumerator | |
---|---|
qdb_exp_batch_push_transactional |
Standard way of pushing values, as a fully transactional operation. |
qdb_exp_batch_push_truncate |
Truncate previous data in the given ranges from qdb_exp_batch_push_table_t during the batch push transaction. Works otherwise like qdb_exp_batch_push_transactional. |
qdb_exp_batch_push_fast |
Update timeseries buckets inplace. Faster than qdb_exp_batch_push_transactional for small incremental writes. However, does not modify different tables at once and partial modifications are not rolled back. |
qdb_exp_batch_push_async |
Sent data are asynchronously updated by the server using qdb_exp_batch_push_fast strategy. Faster than qdb_exp_batch_push_fast when multiple clients are modifying the same tables simultaneously. However, the data are generally not yet inserted when the call returns. |
Types of aggregations that can be computed on a time series.
enum qdb_ts_column_type_t |
Types of time series columns.
QDB_API_LINKAGE qdb_error_t qdb_bulk_reader_fetch | ( | qdb_handle_t | handle, |
const qdb_bulk_reader_table_t * | tables, | ||
qdb_size_t | table_count, | ||
qdb_reader_handle_t * | reader | ||
) |
Initiate the bulk reader and collect data from the server.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
tables | A pointer to an array of structures that describes the requested data. | |
table_count | The number of tables structures. Currently the only one table supported. | |
[out] | reader | A pointer to a qdb_reader_handle_t that will be used to access collected data. |
QDB_API_LINKAGE qdb_error_t qdb_bulk_reader_get_data | ( | qdb_reader_handle_t | reader, |
qdb_bulk_reader_table_data_t ** | data, | ||
qdb_size_t | rows_to_get | ||
) |
Get a next portion of the collected by the bulk reader data.
reader | A valid handle previously initialized by qdb_bulk_reader_fetch | |
[out] | data | A pointer to an structure that will contain requested data. If NULL than the end of data reached. |
rows_to_get | The number of rows expected to read. if parameter is 0 than read all collected data |
QDB_API_LINKAGE qdb_error_t qdb_exp_batch_push | ( | qdb_handle_t | handle, |
qdb_exp_batch_push_mode_t | mode, | ||
const qdb_exp_batch_push_table_t * | tables, | ||
const qdb_exp_batch_push_table_schema_t ** | table_schemas, | ||
qdb_size_t | table_count | ||
) |
Push the tables content to the server. Sort given rows if needed. Write table info if asked.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
mode | Specifies how the data is pushed. |
tables | The tables to send. |
table_schemas | An optional pointer to the tables schema:
|
table_count | The number of tables. |
QDB_API_LINKAGE qdb_error_t qdb_exp_batch_push_arrow | ( | qdb_handle_t | handle, |
qdb_exp_batch_push_mode_t | mode, | ||
qdb_exp_batch_push_arrow_table_t * | tables, | ||
const qdb_exp_batch_push_table_schema_t ** | table_schemas, | ||
qdb_size_t | table_count | ||
) |
Push the tables content to the server in Arrow format. If needed, data rows will be sorted. Optionally, export table schemas.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
mode | Specifies how the data is pushed. |
tables | The tables to send. |
table_schemas | An optional pointer to the tables schemas:
|
table_count | The number of tables (and table schemas if present). |
QDB_API_LINKAGE qdb_error_t qdb_exp_batch_push_arrow_with_options | ( | qdb_handle_t | handle, |
const qdb_exp_batch_options_t * | options, | ||
qdb_exp_batch_push_arrow_table_t * | tables, | ||
const qdb_exp_batch_push_table_schema_t ** | table_schemas, | ||
qdb_size_t | table_count | ||
) |
Push the tables content to the server in Arrow format. If needed, data rows will be sorted. Optionally, export table schemas.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
options | A pointer to the options to use for the push, including push mode. Cannot be NULL. |
tables | The tables to send. |
table_schemas | An optional pointer to the tables schemas:
|
table_count | The number of tables (and table schemas if present). |
QDB_API_LINKAGE qdb_error_t qdb_exp_batch_push_with_options | ( | qdb_handle_t | handle, |
const qdb_exp_batch_options_t * | options, | ||
const qdb_exp_batch_push_table_t * | tables, | ||
const qdb_exp_batch_push_table_schema_t ** | table_schemas, | ||
qdb_size_t | table_count | ||
) |
Push the tables content to the server. Sort given rows if needed. Write table info if asked.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
options | A pointer to the options to use for the push, including push mode. Cannot be NULL. |
tables | The tables to send. |
table_schemas | An optional pointer to the tables schema:
|
table_count | The number of tables. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_pin_blob_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | capacity, | ||
qdb_timespec_t * | timestamp, | ||
qdb_time_t ** | timeoffsets, | ||
qdb_blob_t ** | data | ||
) |
Resize and get direct access to a blob column.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. | |
index | A valid index to the column you want to access. | |
capacity | A valid capacity to resize to. | |
timestamp | A valid timestamp in the shard you wish to pin. | |
[out] | timeoffsets | A pointer to access the time offsets of the column. |
[out] | data | A pointer to access the blob data of the column. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_pin_double_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | capacity, | ||
qdb_timespec_t * | timestamp, | ||
qdb_time_t ** | timeoffsets, | ||
double ** | data | ||
) |
Resize and get direct access to a double column.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. | |
index | A valid index to the column you want to access. | |
capacity | A valid capacity to resize to. | |
timestamp | A valid timestamp in the shard you wish to pin. | |
[out] | timeoffsets | A pointer to access the time offsets of the column. |
[out] | data | A pointer to access the double data of the column. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_pin_int64_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | capacity, | ||
qdb_timespec_t * | timestamp, | ||
qdb_time_t ** | timeoffsets, | ||
qdb_int_t ** | data | ||
) |
Resize and get direct access to a int64 column.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. | |
index | A valid index to the column you want to access. | |
capacity | A valid capacity to resize to. | |
timestamp | A valid timestamp in the shard you wish to pin. | |
[out] | timeoffsets | A pointer to access the time offsets of the column. |
[out] | data | A pointer to access the int64 data of the column. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_pin_string_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | capacity, | ||
qdb_timespec_t * | timestamp, | ||
qdb_time_t ** | timeoffsets, | ||
qdb_string_t ** | data | ||
) |
Resize and get direct access to a string column.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. | |
index | A valid index to the column you want to access. | |
capacity | A valid capacity to resize to. | |
timestamp | A valid timestamp in the shard you wish to pin. | |
[out] | timeoffsets | A pointer to access the time offsets of the column. |
[out] | data | A pointer to access the string data of the column. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_pin_timestamp_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | capacity, | ||
qdb_timespec_t * | timestamp, | ||
qdb_time_t ** | timeoffsets, | ||
qdb_timespec_t ** | data | ||
) |
Resize and get direct access to a timestamp column.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. | |
index | A valid index to the column you want to access. | |
capacity | A valid capacity to resize to. | |
timestamp | A valid timestamp in the shard you wish to pin. | |
[out] | timeoffsets | A pointer to access the time offsets of the column. |
[out] | data | A pointer to access the timestamp data of the column. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_push | ( | qdb_batch_table_t | table | ) |
Push the current batch table.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_push_async | ( | qdb_batch_table_t | table | ) |
Push asynchronously the current batch table.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_push_fast | ( | qdb_batch_table_t | table | ) |
Push the current batch table, non transactional.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_push_truncate | ( | qdb_batch_table_t | table, |
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count | ||
) |
Push the current batch table, erasing previously stored points in the given ranges, transactionally.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_release_columns_memory | ( | qdb_batch_table_t | table | ) |
Release memory of all cached columns. The tables metadata are kept.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_blob | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
const void * | content, | ||
qdb_size_t | content_length | ||
) |
Set a value in the current row in a column of blobs.
table | A valid local table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
content | A pointer to the data to be set in the chosen column. |
content_length | Length, in bytes, of the data pointed to by content . |
content
must be kept alive until the following qdb_ts_batch_push call returns. QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_blob_no_copy | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
const void * | content, | ||
qdb_size_t | content_length | ||
) |
Set a value in the current row in a column of blobs without copying data.
The data will NOT be copied and the user must ensure that the buffer pointed by content
is kept alive until the end of the corresponding call to qdb_ts_batch_push.
table | A valid local table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
content | A pointer to the data to be set in the chosen column in the current row. The pointed data must be kept alive until the following qdb_ts_batch_push call returns. |
content_length | Length, in bytes, of the data pointed to by content . |
content
must be kept alive until the following qdb_ts_batch_push call returns. QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_double | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
double | value | ||
) |
Set a value in the current row in a column of doubles.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
value | A value to be set in the chosen column in the current row. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_int64 | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_int_t | value | ||
) |
Set a value in the current row in a column of integers.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
value | A value to be set in the chosen column in the current row. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_string | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
const char * | content, | ||
qdb_size_t | content_length | ||
) |
Set a value in the current row in a column of strings.
table | A valid local table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
content | A pointer to the data to be set in the chosen column. |
content_length | Length, in bytes, of the data pointed to by content . |
content
must be kept alive until the following qdb_ts_batch_push call returns. QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_string_no_copy | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
const char * | content, | ||
qdb_size_t | content_length | ||
) |
Set a value in the current row in a column of strings without copying data.
The data will NOT be copied and the user must ensure that the buffer pointed by content
is kept alive until the end of the corresponding call to qdb_ts_batch_push.
table | A valid local table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
content | A pointer to the data to be set in the chosen column in the current row. The pointed data must be kept alive until the following qdb_ts_batch_push call returns. |
content_length | Length, in bytes, of the data pointed to by content . |
content
must be kept alive until the following qdb_ts_batch_push call returns. QDB_API_LINKAGE qdb_error_t qdb_ts_batch_row_set_timestamp | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
const qdb_timespec_t * | value | ||
) |
Set a value in the current row in a column of timestamps.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the value you want to modify. |
value | A pointer to the value to be set in the chosen column in the current row. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_shrink_pinned_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | size | ||
) |
Resize the column without invalidating the pointers.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the column you want to access. |
size | A valid size to shrink to. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_start_row | ( | qdb_batch_table_t | table, |
const qdb_timespec_t * | timestamp | ||
) |
Start a new row to the outcoming data buffer.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
timestamp | The timestamp used while appending values. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_table_extra_columns | ( | qdb_batch_table_t | table, |
const qdb_ts_batch_column_info_t * | columns, | ||
qdb_size_t | column_count | ||
) |
Add extra columns to a batch table for bulk insertion in time series.
It is an error to call this function on a nonexisting time series.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
columns | An array of columns descriptions to which data will be inserted. |
column_count | The number of columns. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_table_init | ( | qdb_handle_t | handle, |
const qdb_ts_batch_column_info_t * | columns, | ||
qdb_size_t | column_count, | ||
qdb_batch_table_t * | table | ||
) |
Initialize a batch table for bulk insertion in time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
columns | An array of columns descriptions to which data will be inserted. | |
column_count | The number of columns. | |
[out] | table | A pointer to a batch table that will be initialized if the function returns successfully. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_table_unchecked_extra_columns | ( | qdb_batch_table_t | table, |
const qdb_ts_batch_unchecked_column_info_t * | columns, | ||
qdb_size_t | column_count | ||
) |
Add extra columns to a batch table for bulk insertion in time series.
It is an error to call this function on a nonexisting time series.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
columns | An array of columns descriptions to which data will be inserted. |
column_count | The number of columns. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_table_unchecked_init | ( | qdb_handle_t | handle, |
const qdb_ts_batch_unchecked_column_info_t * | columns, | ||
qdb_size_t | column_count, | ||
qdb_batch_table_t * | table | ||
) |
Initialize a batch table for bulk insertion in time series.
The given information are assumed to be correct and describing existing timseries columns.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
columns | An array of unchecked columns descriptions to which data will be inserted. | |
column_count | The number of columns. | |
[out] | table | A pointer to a batch table that will be initialized if the function returns successfully. |
QDB_API_LINKAGE qdb_error_t qdb_ts_batch_unsafe_resize_pinned_column | ( | qdb_batch_table_t | table, |
qdb_size_t | index, | ||
qdb_size_t | size | ||
) |
Resize the column with no guarantee the pointers will not be invalidated.
table | A valid batch table previously initialized by qdb_ts_batch_table_init. |
index | A valid index to the column you want to access. |
size | A valid size to resize to. |
QDB_API_LINKAGE qdb_error_t qdb_ts_blob_aggregate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
qdb_ts_blob_aggregation_t * | aggregations, | ||
qdb_size_t | aggregation_count | ||
) |
Aggregate a sub-part of a blob column of the time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
[in,out] | aggregations | An array of structures representing the aggregations to compute and their results. |
aggregation_count | The number of elements in the aggregations array. |
QDB_API_LINKAGE qdb_error_t qdb_ts_blob_get_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_blob_point ** | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves blobs in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
[out] | points | A pointer to an array that will contain data points from all given ranges. |
[out] | point_count | A pointer to an integer that will receive the number of returned points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_blob_get_ranges_no_copy | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_blob_point * | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves blobs in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
points | An array in which the data points from all given ranges will be placed. | |
[in,out] | point_count | A pointer to an integer containing the size of the given array on entry, will receive the number of retrieved data points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_blob_insert | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_blob_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts blob points in a time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_blob_insert_truncate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
const qdb_ts_blob_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts blob points in a time series and erases given ranges in the same transaction.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
|
inline |
Returns the base time of the bucket given a timestamp and the shard_size of the timeseries.
timestamp | A timestamp for which the base time should be computed. |
shard_size | The shard_size of the timeseries in ms. |
QDB_API_LINKAGE qdb_error_t qdb_ts_bucket_nuke_by_id | ( | qdb_handle_t | handle, |
const char * | bucket_id | ||
) |
Remove the given shard.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
bucket_id | A pointer to a null-terminated UTF-8 string representing the bucket ID |
QDB_API_LINKAGE qdb_error_t qdb_ts_bucket_nuke_by_name | ( | qdb_handle_t | handle, |
const char * | table, | ||
qdb_time_t | shard_base_time | ||
) |
Remove the given shard.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
table | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
shard_base_time | The base time of the shard to remove, in milliseconds. |
|
inline |
Returns the offset of the bucket (from its base time) given a timestamp and the shard_size of the timeseries.
timestamp | A timestamp for which the offset should be computed. |
shard_size | The shard_size of the timeseries in ms. |
QDB_API_LINKAGE qdb_error_t qdb_ts_create | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_duration_t | shard_size_ms, | ||
const qdb_ts_column_info_t * | columns, | ||
qdb_size_t | column_count | ||
) |
Creates a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
shard_size_ms | A duration representing the time-span of a single shard (bucket) of the time series, in milliseconds. |
columns | An array of column descriptions that are to be added to the time series. |
column_count | The number of columns to add. |
QDB_API_LINKAGE qdb_error_t qdb_ts_create_ex | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_duration_t | shard_size_ms, | ||
const qdb_ts_column_info_ex_t * | columns, | ||
qdb_size_t | column_count, | ||
qdb_duration_t | ttl | ||
) |
Creates a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
shard_size_ms | A duration representing the time-span of a single shard (bucket) of the time series, in milliseconds. |
columns | An array of column descriptions that are to be added to the time series, along with their symbol tables. |
column_count | The number of columns to add. |
ttl | A time to live of a single shard (bucket) of the time series, in milliseconds. If set to qdb_ttl_disabled then not used |
QDB_API_LINKAGE qdb_error_t qdb_ts_double_aggregate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
qdb_ts_double_aggregation_t * | aggregations, | ||
qdb_size_t | aggregation_count | ||
) |
Aggregate a sub-part of the double column of the time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
[in,out] | aggregations | An array of structures representing the aggregations to compute and their results. |
aggregation_count | The number of elements in the aggregations array. |
QDB_API_LINKAGE qdb_error_t qdb_ts_double_get_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_double_point ** | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves doubles in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
[out] | points | A pointer to an array that will contain data points from all given ranges. |
[out] | point_count | A pointer to an integer that will receive the number of returned points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_double_get_ranges_no_copy | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_double_point * | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves doubles in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
points | An array in which the data points from all given ranges will be placed. | |
[in,out] | point_count | A pointer to an integer containing the size of the given array on entry, will receive the number of retrieved data points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_double_insert | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_double_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts double points in a time series.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_double_insert_truncate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
const qdb_ts_double_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts double points in a time series and erases given ranges in the same transaction.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_erase_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_uint_t * | erased_count | ||
) |
Erase all points in the specified range (left inclusive).
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be erased. | |
range_count | The number of ranges. | |
[out] | erased_count | A pointer to an integer that will receive the number of erased points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_expire_by_size | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_uint_t | size | ||
) |
Trim the timeseries, so that it uses approximately the provided size.
Trimming is done starting from the oldest entries, so that the most recent shards are retained in the database.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
size | The desired disk usage size after the operation, in bytes. |
QDB_API_LINKAGE qdb_error_t qdb_ts_get_metadata | ( | qdb_handle_t | handle, |
char const * | alias, | ||
qdb_ts_metadata_t ** | metadata | ||
) |
Returns a metadata information about a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
[out] | metadata | A pointer to an structure that will contain information about the time series. |
QDB_API_LINKAGE qdb_error_t qdb_ts_get_timestamps | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_timespec_t ** | timestamps, | ||
qdb_size_t * | timestamp_count | ||
) |
Retrieves the timestamps, not the values, for a given timeseries column or the aggregation of all columns.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. If this pointer is NULL, all columns will be aggregated in a single range. | |
ranges | An array of ranges (intervals) for which timestamps should be retrieved. | |
range_count | The number of ranges. | |
[out] | timestamps | A pointer to an array that will contain timestamps from all given ranges. |
[out] | timestamp_count | A pointer to an integer that will receive the number of returned timestamps. |
QDB_API_LINKAGE qdb_error_t qdb_ts_insert_columns | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const qdb_ts_column_info_t * | columns, | ||
qdb_size_t | column_count | ||
) |
Appends columns to an existing time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
columns | An array of column descriptions that are to be added to the time series. |
column_count | The number of columns to append. |
QDB_API_LINKAGE qdb_error_t qdb_ts_insert_columns_ex | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const qdb_ts_column_info_ex_t * | columns, | ||
qdb_size_t | column_count | ||
) |
Appends columns to an existing time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
columns | An array of column descriptions that are to be added to the time series, along with their symbol tables. |
column_count | The number of columns to append. |
QDB_API_LINKAGE qdb_error_t qdb_ts_int64_aggregate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
qdb_ts_int64_aggregation_t * | aggregations, | ||
qdb_size_t | aggregation_count | ||
) |
Aggregate a sub-part of the int64 column of the time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
[in,out] | aggregations | An array of structures representing the aggregations to compute and their results. |
aggregation_count | The number of elements in the aggregations array. |
QDB_API_LINKAGE qdb_error_t qdb_ts_int64_get_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_int64_point ** | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves 64-bit integers in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
[out] | points | A pointer to an array that will contain data points from all given ranges. |
[out] | point_count | A pointer to an integer that will receive the number of returned points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_int64_get_ranges_no_copy | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_int64_point * | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves 64-bit integers in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
points | An array in which the data points from all given ranges will be placed. | |
[in,out] | point_count | A pointer to an integer containing the size of the given array on entry, will receive the number of retrieved data points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_int64_insert | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_int64_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts int64 points in a time series.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_int64_insert_truncate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
const qdb_ts_int64_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts int64 points in a time series and erases given ranges in the same transaction.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_list_columns | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_ts_column_info_t ** | columns, | ||
qdb_size_t * | column_count | ||
) |
Returns all the columns of a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
[out] | columns | A pointer to an array that will contain descriptions of columns present in the time series. |
[out] | column_count | A pointer to an integer that will receive the number of columns. |
QDB_API_LINKAGE qdb_error_t qdb_ts_list_columns_ex | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_ts_column_info_ex_t ** | columns, | ||
qdb_size_t * | column_count | ||
) |
Returns all the columns of a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
[out] | columns | A pointer to an array that will contain descriptions of columns present in the time series, along with their symbol tables. |
[out] | column_count | A pointer to an integer that will receive the number of columns. |
QDB_API_LINKAGE qdb_error_t qdb_ts_local_table_init | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const qdb_ts_column_info_t * | columns, | ||
qdb_size_t | column_count, | ||
qdb_local_table_t * | table | ||
) |
Initialize a local table for bulk insertion in time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
columns | An array of column descriptions to which data will be inserted. | |
column_count | The number of columns. | |
[out] | table | A pointer to a local table that will be initialized if the function returns successfully. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_blob | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
const void ** | content, | ||
qdb_size_t * | content_length | ||
) |
Retrieves blob data from the current row at the specified column.
The retrieved data will be the copy of the internal data stored in qdb_local_table_t, so the user must ensure to call qdb_release when she/he no longer needs it in order to clean up the memory.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. |
[out] | content | A non-null pointer to a variable that will hold the retrieved data. |
[out] | content_length | A non-null pointer to a variable that will hold the size of the retrieved data. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_blob_no_copy | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
const void ** | content, | ||
qdb_size_t * | content_length | ||
) |
Retrieves blob data from the current row at the specified column without performing copy of data internal to data.
The retrieved data will be valid only until the next call of qdb_ts_table_get_ranges on the same qdb_local_table_t or until the deallocation thereof. If you want to keep the retrieved data for a longer time, you may call qdb_ts_row_get_blob instead or copy the data yourself.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. |
[out] | content | A non-null pointer to a variable that will hold the retrieved data. |
[out] | content_length | A non-null pointer to a variable that will hold the size of the retrieved data. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_double | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
double * | value | ||
) |
Retrieves double value from the current row at the specified column.
table | A valid local table previously initialized by qdb_ts_local_table_init. | |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. | |
[out] | value | A non-null pointer to a double that will hold the retrieved value. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_int64 | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
qdb_int_t * | value | ||
) |
Retrieves signed 64-bit integer value from the current row at the specified column.
table | A valid local table previously initialized by qdb_ts_local_table_init. | |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. | |
[out] | value | A non-null pointer to a signed 64-bit integer that will hold the retrieved value. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_string | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
const char ** | content, | ||
qdb_size_t * | content_length | ||
) |
Retrieves string data from the current row at the specified column.
The retrieved data will be the copy of the internal data stored in qdb_local_table_t, so the user must ensure to call qdb_release when she/he no longer needs it in order to clean up the memory.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. |
[out] | content | A non-null pointer to a variable that will hold the retrieved data. |
[out] | content_length | A non-null pointer to a variable that will hold the size of the retrieved data. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_string_no_copy | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
const char ** | content, | ||
qdb_size_t * | content_length | ||
) |
Retrieves string data from the current row at the specified column without performing copy of data internal to data.
The retrieved data will be valid only until the next call of qdb_ts_table_get_ranges on the same qdb_local_table_t or until the deallocation thereof. If you want to keep the retrieved data for a longer time, you may call qdb_ts_row_get_string instead or copy the data yourself.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. |
[out] | content | A non-null pointer to a variable that will hold the retrieved data. |
[out] | content_length | A non-null pointer to a variable that will hold the size of the retrieved data. |
QDB_API_LINKAGE qdb_error_t qdb_ts_row_get_timestamp | ( | qdb_local_table_t | table, |
qdb_size_t | column_index, | ||
qdb_timespec_t * | value | ||
) |
Retrieves timestamp value from the current row at the specified column.
table | A valid local table previously initialized by qdb_ts_local_table_init. | |
column_index | A zero-based index of the column from which the value should be retrieved. The index is based on the order of columns in the call to qdb_ts_local_table_init used to initialize table. | |
[out] | value | A non-null pointer to a timestamp that will hold the retrieved value. |
QDB_API_LINKAGE qdb_error_t qdb_ts_set_ttl | ( | qdb_handle_t | handle, |
const char * | alias, | ||
qdb_duration_t | ttl | ||
) |
Returns the time to live of a time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
ttl | Time to live of the timeseries, in ms. |
QDB_API_LINKAGE qdb_error_t qdb_ts_string_aggregate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
qdb_ts_string_aggregation_t * | aggregations, | ||
qdb_size_t | aggregation_count | ||
) |
Aggregate a sub-part of a string column of the time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
[in,out] | aggregations | An array of structures representing the aggregations to compute and their results. |
aggregation_count | The number of elements in the aggregations array. |
QDB_API_LINKAGE qdb_error_t qdb_ts_string_get_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_string_point ** | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves strings in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
[out] | points | A pointer to an array that will contain data points from all given ranges. |
[out] | point_count | A pointer to an integer that will receive the number of returned points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_string_get_ranges_no_copy | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_string_point * | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves strings in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
points | An array in which the data points from all given ranges will be placed. | |
[in,out] | point_count | A pointer to an integer containing the size of the given array on entry, will receive the number of retrieved data points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_string_insert | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_string_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts string points in a time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_string_insert_truncate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
const qdb_ts_string_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts string points in a time series and erases given ranges in the same transaction.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_table_get_ranges | ( | qdb_local_table_t | table, |
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count | ||
) |
Retrieve all the specified rows from the database.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
ranges | An array of ranges (intervals) for which data should be retrieved. |
range_count | The number of ranges. |
QDB_API_LINKAGE qdb_error_t qdb_ts_table_next_row | ( | qdb_local_table_t | table, |
qdb_timespec_t * | timestamp | ||
) |
Fetch data and advance to the next row.
table | A valid local table previously initialized by qdb_ts_local_table_init. | |
[out] | timestamp | A non-null pointer to a variable that will hold a timestamp for the fetched row. |
QDB_API_LINKAGE qdb_error_t qdb_ts_table_stream_ranges | ( | qdb_local_table_t | table, |
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count | ||
) |
Retrieve shard by shard the specified rows from the database. The table is then seen as it was then this function was called.
table | A valid local table previously initialized by qdb_ts_local_table_init. |
ranges | An array of ranges (intervals) for which data should be retrieved. |
range_count | The number of ranges. |
QDB_API_LINKAGE qdb_error_t qdb_ts_timestamp_aggregate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
qdb_ts_timestamp_aggregation_t * | aggregations, | ||
qdb_size_t | aggregation_count | ||
) |
Aggregate a sub-part of the timestamp column of the time series.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
[in,out] | aggregations | An array of structures representing the aggregations to compute and their results. |
aggregation_count | The number of elements in the aggregations array. |
QDB_API_LINKAGE qdb_error_t qdb_ts_timestamp_get_ranges | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_timestamp_point ** | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves timestamps in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
[out] | points | A pointer to an array that will contain data points from all given ranges. |
[out] | point_count | A pointer to an integer that will receive the number of returned points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_timestamp_get_ranges_no_copy | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
qdb_ts_timestamp_point * | points, | ||
qdb_size_t * | point_count | ||
) |
Retrieves timestamps in the specified range of the time series column.
It is an error to call this function on a nonexisting time series.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. | |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. | |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. | |
ranges | An array of ranges (intervals) for which data should be retrieved. | |
range_count | The number of ranges. | |
points | An array in which the data points from all given ranges will be placed. | |
[in,out] | point_count | A pointer to an integer containing the size of the given array on entry, will receive the number of retrieved data points. |
QDB_API_LINKAGE qdb_error_t qdb_ts_timestamp_insert | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_timestamp_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts timestamp points in a time series.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |
QDB_API_LINKAGE qdb_error_t qdb_ts_timestamp_insert_truncate | ( | qdb_handle_t | handle, |
const char * | alias, | ||
const char * | column, | ||
const qdb_ts_range_t * | ranges, | ||
qdb_size_t | range_count, | ||
const qdb_ts_timestamp_point * | values, | ||
qdb_size_t | value_count | ||
) |
Inserts timestamp points in a time series and erases given ranges in the same transaction.
Time series are distributed across the cluster and support efficient insertion anywhere within the time series as well as efficient lookup based on time.
handle | A valid handle previously initialized by qdb_open or qdb_open_tcp. |
alias | A pointer to a null-terminated UTF-8 string representing the alias of the time series. |
column | A pointer to a null-terminated UTF-8 string representing the name of the column to work on. |
ranges | An array of ranges (intervals) for which data should be erased. |
range_count | The number of ranges. |
values | An array of data points to be inserted. |
value_count | The number of data points to insert. |