Skip to content
C++ driver for Cassandra/Scylla based on seastar framework
C++ Other
  1. C++ 98.7%
  2. Other 1.3%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
debian
docs
examples
include/CQLDriver use Reusable instead of Object Aug 8, 2019
src
tests use Reusable instead of Object Aug 8, 2019
tmp
.gitignore
.travis.yml
LICENSE
README.md
build.sh
clean.sh update build script and cmake files, build as shared library Dec 31, 2018

README.md

C++ driver for Cassandra/Scylla based on seastar framework

Codacy Badge Build Status license GitHub release

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.

Features

Documents

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
  • ensure pkg-config --cflags seastar works
  • ensure pkg-config --libs seastar works
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

Running tests

Please check travis_run_tests.sh, tests are written with google test and require 3 scylla or cassandra instances to work.

Contribution

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 _ (e.g. someMember_)
  • Write comments for every public class and function, keep the code as simple as possible

License

LICENSE: MIT LICENSE
Copyright © 2017-2019 303248153@github
If you have any license issue please contact 303248153@qq.com.

You can’t perform that action at this time.