Coder Social home page Coder Social logo

cpv-cql-driver's Introduction

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 [email protected].

cpv-cql-driver's People

Contributors

dudes-come avatar compiv avatar 303248153 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.