Expand description
As Rust is becoming a popular programming language for its performance and type safety, the desire to use it with still a maniac time-series database kdb+ is brewing. The aspiration is understandable since we know kdb+ is fast and its interface or a shared library should be fast as well. This interface was created to satisfy such a natural demand, furthermore, in a manner users do not feel any pain to use. The notrious ethoteric function names of the q/kdb+ C API is not an interest of Rust developers.
“Give us a Rust interface!!”
Here is your choice.
This interface provides two features:
- IPC interface (Rust client of q/kdb+ process)
- API (build a shared library for q/kdb+)
You can find detail descriptions of each feature under corresponding module page.
Modules§
- This
api
module provides API mirroring the C API of q/kdb+. The expected usage is to build a shared library for q/kdb+ in Rust. - This
ipc
module provides an interface to interact with q/kdb+ via IPC. The expected usage is to send a (text) query to q/kdb+ process from Rust client and receive its response. Query to kdb+ is supported in two ways: - This module provides a list of q attributes. The motivation to contain them in a module is to tie them up as related items rather than scattered values. Hence user should use these indicators with
qattribute::
prefix, e.g.,qattribute::UNIQUE
. - This module provides a list of q null values. The motivation to contain them in a module is to tie them up as related items rather than scattered values. Hence user should use these indicators with
qnull::
prefix, e.g.,qinf_base::J
. - This module provides a list of q null values. The motivation to contain them in a module is to tie them up as related items rather than scattered values. Hence user should use these indicators with
qnull::
prefix, e.g.,qninf_base::I
. - This module provides a list of underlying null values of q objects. The motivation to contain them in a module is to tie them up as related items rather than scattered values. Hence user should use these indicators with
qnull::
prefix, e.g.,qnull_base::F
. - This module provides a list of q types. The motivation to contain them in a module is to tie them up as related items rather than scattered values. Hence user should use these indicators with
qtype::
prefix, e.g.,qtype::BOOL_LIST
.
Macros§
- Convert
&str
toS
(null-terminated character array).