This directory contains the C++ implementation of TsFile. The C++ version currently supports the query and write functions of TsFile, including time filtering queries.
The source code can be found in the ./src
directory. C/C++ examples are located in the ./examples
directory, and a benchmark for TsFile_cpp can be found in the ./bench_mark
directory. Additionally, a C function wrapper is available in the ./src/cwrapper
directory, which the Python tool relies on.
We use clang-format
to ensure that our C++ code adheres to a consistent set of rules defined in ./clang-format
. This is similar to the Google style.
Feature List:
Bug List:
We welcome any bug reports. You can open an issue with a title starting with [CPP] to describe the bug, like: https://github.com/apache/tsfile/issues/94
sudo apt-get update sudo apt-get install -y cmake make g++ clang-format
To build tsfile, you can run: bash build.sh
. If you have Maven tools, you can run: mvn package -P with-cpp clean verify
. Then, you can find the shared object at ./build
.
Before you submit your code to GitHub, please ensure that the mvn
compilation is correct.
If you compile using MinGW on windows and encounter an error, you can try replacing MinGW with the following version that we have tried without problems:
You can find examples on how to read and write data in demo_read.cpp
and demo_write.cpp
located under ./examples/cpp_examples
. There are also examples under ./examples/c_examples
on how to use a C-style API to read and write data in a C environment. You can run bash build.sh
under ./examples
to generate an executable output under ./examples/build
.