quasardb C API: Options

quasardb C API

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

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Enumerations | Functions
Options

## Typedefs
typedef enum qdb_compression_t | qdb_compression_t
| An enumeration of compression parameters. More...
typedef enum qdb_encryption_t | qdb_encryption_t
| An enumeration of encryption parameters. More...

## Enumerations
enum | qdb_compression_t { qdb_comp_none = 0, qdb_comp_fast = 1, qdb_comp_best = 2 }
| An enumeration of compression parameters. More...
enum | qdb_encryption_t { qdb_crypt_none = 0, qdb_crypt_aes_gcm_256 = 1 }
| An enumeration of encryption parameters. More...

## Functions
QDB_API_LINKAGE qdb_error_t | qdb_option_set_timeout (qdb_handle_t handle, int timeout_ms)
| Sets the timeout of all network operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_timeout (qdb_handle_t handle, int *timeout_ms)
| Gets the timeout of all network operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_client_max_in_buf_size (qdb_handle_t handle, size_t max_size)
| Sets the maximum incoming buffer size for all network operations of the client. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_client_max_in_buf_size (qdb_handle_t handle, size_t *max_size)
| Gets the maximum incoming buffer size for all network operations of the client. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_cluster_max_in_buf_size (qdb_handle_t handle, size_t *max_size)
| Gets the maximum incoming buffer size for all network operations of the remote cluster. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_stabilization_max_wait (qdb_handle_t handle, int wait_ms)
| Sets the maximum stabilization waiting time for operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_stabilization_max_wait (qdb_handle_t handle, int *wait_ms)
| Gets the maximum stabilization waiting time for operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_transaction_max_wait (qdb_handle_t handle, int wait_ms)
| Sets the maximum transaction retry time for operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_transaction_max_wait (qdb_handle_t handle, int *wait_ms)
| Gets the maximum transaction retry time for operations. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_max_cardinality (qdb_handle_t handle, qdb_uint_t max_cardinality)
| Sets the maximum allowed cardinality of a quasardb query. The default value is 100'003. The minimum allowed value is 100. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_client_max_parallelism (qdb_handle_t handle, qdb_size_t thread_count)
| Sets the number of threads that will be used to execute queries by the current handle. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_client_max_parallelism (qdb_handle_t handle, qdb_size_t *thread_count)
| Gets the number of threads that will be used to execute queries by the current handle. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_client_load_balancing (qdb_handle_t handle, int *is_enabled)
| Gets the state of the load-balancing. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_enable_client_load_balancing (qdb_handle_t handle)
| Enables load-balancing for all threads. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_disable_client_load_balancing (qdb_handle_t handle)
| Disables load-balancing for all threads. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_compression (qdb_handle_t handle, qdb_compression_t comp_level)
| Set the compression level for all future messages emitted by the specified handle. Regardless of this parameter, the API will be able to read whatever compression the server uses. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_encryption (qdb_handle_t handle, qdb_encryption_t encryption)
| Set the encryption method for all future messages emitted by the specified handle. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_cluster_public_key (qdb_handle_t handle, const char *public_key)
| Set the public key of the cluster used for authentification of nodes on connection. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_user_credentials (qdb_handle_t handle, const char *user_name, const char *private_key)
| Set the user credentials (name and private key) used for authentification of the user on connection. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_load_security_files (qdb_handle_t handle, const char *cluster_public_key_file, const char *user_credentials_file)
| Set the user credentials and cluster public key used for authentification of the user on connection. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_set_ts_batch_push_async_timeout (qdb_handle_t handle, int timeout_ms)
| Sets the timeout of qdb_ts_batch_push_async operation. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_get_ts_batch_push_async_timeout (qdb_handle_t handle, int *timeout_ms)
| Gets the timeout of qdb_ts_batch_push_async operation. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_cluster_enable_auto_compaction (qdb_handle_t handle)
| Enables automatic compactions in the cluster's persistence. More...
QDB_API_LINKAGE qdb_error_t | qdb_option_cluster_disable_auto_compaction (qdb_handle_t handle)
| Disables automatic compactions in the cluster's persistence. Manual compaction is still possible. More...

## Detailed Description

## Typedef Documentation

typedef enum qdb_compression_t qdb_compression_t

An enumeration of compression parameters.

See Also
  qdb_option_set_compression

typedef enum qdb_encryption_t qdb_encryption_t

An enumeration of encryption parameters.

See Also
  qdb_option_set_encryption

## Enumeration Type Documentation

enum qdb_compression_t

An enumeration of compression parameters.

See Also
  qdb_option_set_compression

Enumerator
qdb_comp_none | No compression.
qdb_comp_fast | Maximum compression speed, potentially minimum compression ratio. This is currently the default.
qdb_comp_best | Maximum compression ratio, potentially minimum compression speed. This is currently not implemented.

enum qdb_encryption_t

An enumeration of encryption parameters.

See Also
  qdb_option_set_encryption

Enumerator
qdb_crypt_none | No encryption.
qdb_crypt_aes_gcm_256 | AEC-GCM 256-bit encryption.

## Function Documentation

QDB_API_LINKAGE qdb_error_t qdb_option_cluster_disable_auto_compaction | ( | qdb_handle_t | handle | ) |

Disables automatic compactions in the cluster's persistence. Manual compaction is still possible.

Returns
  A qdb_error_t code indicating success or failure.

See Also
  A qdb_option_cluster_enable_auto_compaction

QDB_API_LINKAGE qdb_error_t qdb_option_cluster_enable_auto_compaction | ( | qdb_handle_t | handle | ) |

Enables automatic compactions in the cluster's persistence.

Returns
  A qdb_error_t code indicating success or failure.

See Also
  A qdb_option_cluster_disable_auto_compaction

QDB_API_LINKAGE qdb_error_t qdb_option_disable_client_load_balancing | ( | qdb_handle_t | handle | ) |

Disables load-balancing for all threads.

By default the client will not use automatic load-balancing.

Parameters

  handle | A valid handle previously initialized by qdb_open or qdb_open_tcp.

Returns
  A qdb_error_t code indicating success or failure.

See Also
  qdb_option_enable_client_load_balancing

QDB_API_LINKAGE qdb_error_t qdb_option_enable_client_load_balancing | ( | qdb_handle_t | handle | ) |

Enables load-balancing for all threads.

By default the client will not use automatic load-balancing.

Parameters

  handle | A valid handle previously initialized by qdb_open or qdb_open_tcp.

Returns
  A qdb_error_t code indicating success or failure.

See Also
  qdb_option_disable_client_load_balancing

QDB_API_LINKAGE qdb_error_t qdb_option_get_client_load_balancing | ( | qdb_handle_t | handle,
|  | int * | is_enabled
| ) |  |

Gets the state of the load-balancing.

By default the client will not use automatic load-balancing.

Parameters

  | handle | A valid handle previously initialized by qdb_open or qdb_open_tcp.
  [out] | is_enabled | A pointer to variable that will receive an integer indicating whether the load-balacing is enabled (positive) or disabled (zero).

Returns
  A qdb_error_t code indicating success or failure.

See Also
  qdb_option_disable_client_load_balancing

QDB_API_LINKAGE qdb_error_t qdb_option_get_client_max_in_buf_size | ( | qdb_handle_t | handle,
|  | size_t * | max_size
| ) |  |

Gets the maximum incoming buffer size for all network operations of the client.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  max_size | A pointer that will receive the current maximum incoming buffer size.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_get_client_max_parallelism | ( | qdb_handle_t | handle,
|  | qdb_size_t * | thread_count
| ) |  |

Gets the number of threads that will be used to execute queries by the current handle.

Parameters

  | handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp
  [out] | thread_count | A pointer to variable that will receive the number of threads.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  Improper usage of this function may cause performance issues.

QDB_API_LINKAGE qdb_error_t qdb_option_get_cluster_max_in_buf_size | ( | qdb_handle_t | handle,
|  | size_t * | max_size
| ) |  |

Gets the maximum incoming buffer size for all network operations of the remote cluster.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  max_size | A pointer that will receive the current maximum incoming buffer size.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_get_stabilization_max_wait | ( | qdb_handle_t | handle,
|  | int * | wait_ms
| ) |  |

Gets the maximum stabilization waiting time for operations.

Parameters

  | handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  [out] | wait_ms | A pointer to the variable that will receive the waiting value, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_get_timeout | ( | qdb_handle_t | handle,
|  | int * | timeout_ms
| ) |  |

Gets the timeout of all network operations.

Parameters

  | handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  [out] | timeout_ms | A pointer to the variable that will receive the timeout value, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_get_transaction_max_wait | ( | qdb_handle_t | handle,
|  | int * | wait_ms
| ) |  |

Gets the maximum transaction retry time for operations.

Parameters

  | handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  [out] | wait_ms | A pointer to the variable that will receive the waiting value, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_get_ts_batch_push_async_timeout | ( | qdb_handle_t | handle,
|  | int * | timeout_ms
| ) |  |

Gets the timeout of qdb_ts_batch_push_async operation.

Parameters

  | handle | The handle on which to get the batch async push timeout
  [out] | timeout_ms | A pointer to the timeout, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

See Also
  qdb_ts_batch_push_async.

QDB_API_LINKAGE qdb_error_t qdb_option_load_security_files | ( | qdb_handle_t | handle,
|  | const char * | cluster_public_key_file,
|  | const char * | user_credentials_file
| ) |  |

Set the user credentials and cluster public key used for authentification of the user on connection.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_set_client_max_in_buf_size | ( | qdb_handle_t | handle,
|  | size_t | max_size
| ) |  |

Sets the maximum incoming buffer size for all network operations of the client.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  max_size | The maximum input size in bytes

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  Only modify this setting if you expect to receive very large answers from the server.

QDB_API_LINKAGE qdb_error_t qdb_option_set_client_max_parallelism | ( | qdb_handle_t | handle,
|  | qdb_size_t | thread_count
| ) |  |

Sets the number of threads that will be used to execute queries by the current handle.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp
  thread_count | Number of threads. Value of 0 means the number of logical processor cores.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  Improper usage of this function may cause performance issues.

QDB_API_LINKAGE qdb_error_t qdb_option_set_cluster_public_key | ( | qdb_handle_t | handle,
|  | const char * | public_key
| ) |  |

Set the public key of the cluster used for authentification of nodes on connection.

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_set_compression | ( | qdb_handle_t | handle,
|  | qdb_compression_t | comp_level
| ) |  |

Set the compression level for all future messages emitted by the specified handle. Regardless of this parameter, the API will be able to read whatever compression the server uses.

Parameters

  handle | The handle on which to set the compression level
  comp_level | The compression level to use

Returns
  A qdb_error_t code indicating success or failure.

See Also
  qdb_compression_t

Remarks
  For better performance, consider disabling compression if your data is already compressed.

QDB_API_LINKAGE qdb_error_t qdb_option_set_encryption | ( | qdb_handle_t | handle,
|  | qdb_encryption_t | encryption
| ) |  |

Set the encryption method for all future messages emitted by the specified handle.

See Also
  qdb_encryption_t

Returns
  A qdb_error_t code indicating success or failure.

QDB_API_LINKAGE qdb_error_t qdb_option_set_max_cardinality | ( | qdb_handle_t | handle,
|  | qdb_uint_t | max_cardinality
| ) |  |

Sets the maximum allowed cardinality of a quasardb query. The default value is 100'003. The minimum allowed value is 100.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp
  max_cardinality | The maximum cardinality of a query.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  Improper usage of this function may cause a denial of service on the client.

QDB_API_LINKAGE qdb_error_t qdb_option_set_stabilization_max_wait | ( | qdb_handle_t | handle,
|  | int | wait_ms
| ) |  |

Sets the maximum stabilization waiting time for operations.

This value has no impact for operations on a stable cluster. It must higher than the timeout value.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  wait_ms | The maximum amount of time to wait, in ms.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  The lower the value, the higher the chance of having "cluster unstable" errors

QDB_API_LINKAGE qdb_error_t qdb_option_set_timeout | ( | qdb_handle_t | handle,
|  | int | timeout_ms
| ) |  |

Sets the timeout of all network operations.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  timeout_ms | The timeout of network operation, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  The lower the timeout, the higher the risk of having timeout errors.

QDB_API_LINKAGE qdb_error_t qdb_option_set_transaction_max_wait | ( | qdb_handle_t | handle,
|  | int | wait_ms
| ) |  |

Sets the maximum transaction retry time for operations.

This value has no impact when transaction do not conflict.

Parameters

  handle | The qdb_handle_t that was initialized with qdb_open or qdb_open_tcp.
  wait_ms | The maximum amount of time to wait, in ms.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  The lower the value, the higher the chance of having "conflicting transactions" errors.

QDB_API_LINKAGE qdb_error_t qdb_option_set_ts_batch_push_async_timeout | ( | qdb_handle_t | handle,
|  | int | timeout_ms
| ) |  |

Sets the timeout of qdb_ts_batch_push_async operation.

Parameters

  handle | The handle on which to set the batch async push timeout
  timeout_ms | The timeout to set, in milliseconds.

Returns
  A qdb_error_t code indicating success or failure.

Remarks
  The lower the timeout, the higher the risk of having timeout errors.

See Also
  qdb_ts_batch_push_async.

QDB_API_LINKAGE qdb_error_t qdb_option_set_user_credentials | ( | qdb_handle_t | handle,
|  | const char * | user_name,
|  | const char * | private_key
| ) |  |

Set the user credentials (name and private key) used for authentification of the user on connection.

Returns
  A qdb_error_t code indicating success or failure.