C++ driver for Cassandra/Scylla based on seastar framework
This is a cassandra/scylla driver written in c++ based on seastar framework, it's fast and easy to use.
For seastar framework please see here.
It's new and has not been extensively tested, you should use it carefully.
- Futures based API
- Connection pooling
- Connection multiplexing
- Automatic retry
- Load balancing
- Batch operation
- Hello World
- Batch Execute
- Column Types
Install from ubuntu ppa
Supported version: 18.04 (bionic)
sudo apt-get install software-properties-common sudo add-apt-repository ppa:compiv/cpv-project sudo apt-get update sudo apt-get install cqldriver
In addition, you have to install gcc-9 because the seastar package is built with it.
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get install g++-9
Install from source
Before build the source code of this project you should:
- install seastar on system
- install gcc 9 if you're using seastar package from ppa
pkg-config --cflags seastarworks
pkg-config --libs seastarworks
mkdir -p build/cqldriver-custom cd build/cqldriver-custom cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ ../../src make V=1 make install V=1
Build and run hello world example
Please check run.sh for the complete build command, and check the documents for more information.
cd examples/HelloWorld sh run.sh
Please check travis_run_tests.sh, tests are written with google test and require 3 scylla or cassandra instances to work.
You should follow these rules when contributing code, pull request or patch is welcome.
- Use tabs instead of spaces
- For class names, use camel case and start with a upper case (e.g. SomeClass)
- For function names, use camel case and start with a lower case (e.g. someFunction)
- For local variable names, use camel case and start with a lower case (e.g. someInt)
- For global variable names, use camel case and start with a upper case (e.g. SomeGlobalValue)
- For class member names, use camel case and start with a lower case and ends with
- Write comments for every public class and function, keep the code as simple as possible
LICENSE: MIT LICENSE
Copyright © 2017-2019 303248153@github
If you have any license issue please contact email@example.com.