quasardb C API: qdb/ts.h File Reference

quasardb C API

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
ts.h File Reference
`#include "arrow_abi.h"`
`#include "client.h"`
`#include <math.h>`

## 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_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...

## 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.

## Enumerations
enum | qdb_ts_aggregation_type_t { qdb_agg_first = 0, qdb_agg_last = 1, qdb_agg_min = 2, qdb_agg_max = 3, qdb_agg_arithmetic_mean = 4, qdb_agg_harmonic_mean = 5, qdb_agg_geometric_mean = 6, qdb_agg_quadratic_mean = 7, qdb_agg_count = 8, qdb_agg_sum = 9, qdb_agg_sum_of_squares = 10, qdb_agg_spread = 11, qdb_agg_sample_variance = 12, qdb_agg_sample_stddev = 13, qdb_agg_population_variance = 14, qdb_agg_population_stddev = 15, qdb_agg_abs_min = 16, qdb_agg_abs_max = 17, qdb_agg_product = 18, qdb_agg_skewness = 19, qdb_agg_kurtosis = 20, qdb_agg_none = 21, qdb_agg_distinct_count = 22, qdb_agg_adjacent_count = 29, qdb_agg_sum_of_abs = 32, qdb_agg_sum_of_abs_changes }
| Types of aggregations that can be computed on a time series. More...
enum | qdb_ts_column_type_t { , qdb_ts_column_double = 0, qdb_ts_column_blob = 1, qdb_ts_column_int64 = 2, qdb_ts_column_timestamp, qdb_ts_column_string = 4, qdb_ts_column_symbol }
| Types of time series columns. More...
enum | qdb_exp_batch_push_options_t { qdb_exp_batch_option_standard = 0, qdb_exp_batch_option_unique = 1 }
| Ways of working with duplicated data in qdb_exp_batch_push. More...
enum | qdb_exp_batch_push_mode_t { qdb_exp_batch_push_transactional = 0, qdb_exp_batch_push_truncate = 1, qdb_exp_batch_push_fast = 2, qdb_exp_batch_push_async = 3 }
| Ways of pushing data to timeseries with qdb_exp_batch_push. More...

## Functions
QDB_API_LINKAGE qdb_error_t | qdb_ts_create (qdb_handle_t handle, const char *alias, qdb_uint_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_uint_t shard_size_ms, const qdb_ts_column_info_ex_t *columns, qdb_size_t column_count)
| 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_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_shard_size (qdb_handle_t handle, const char *alias, qdb_uint_t *shard_size)
| Returns the shard size 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_copy_buffer (qdb_batch_table_t table, const void *source_buffer, qdb_size_t source_buffer_size, const void **dest_buffer)
| Copy efficiently a buffer that will live until the next push. Useful to avoid tracking temporary blob or string lifetimes. 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_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_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...

## Function Documentation

QDB_API_LINKAGE qdb_error_t qdb_ts_batch_copy_buffer | ( | qdb_batch_table_t | table,
|  | const void * | source_buffer,
|  | qdb_size_t | source_buffer_size,
|  | const void ** | dest_buffer
| ) |  |

Copy efficiently a buffer that will live until the next push. Useful to avoid tracking temporary blob or string lifetimes.

Parameters

  | table | A valid batch table previously initialized by qdb_ts_batch_table_init.
  | source_buffer | A valid pointer to the buffer you want to copy.
  | source_buffer_size | The buffer size.
  [out] | dest_buffer | A pointer to access the copied buffer.

Returns
  A qdb_error_t code indicating success or failure.