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
to S
(null-terminated character array).