Skip to content

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

License

Notifications You must be signed in to change notification settings

cpv-project/cpv-cql-driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages