Orange-OpenSource / YACassandraPDO

Cassandra PDO Driver fork
Apache License 2.0
84 stars 32 forks source link

Introduction

PDO driver implementation for Cassandra CQL.

This repository is a fork of: https://code.google.com/a/apache-extras.org/p/cassandra-pdo/ We cloned it on GitHub because the original project seemed to be dead.

This version is developped for the CQL3 target only. We do not provide any support for former versions of CQL.

Cassandra versions support

NEW: The driver is compatible with versions of Cassandra up to 2.0.x

The support of Cassandra 2.0 is very new. So if you experience bugs, incorrect behavior or anything suspect, don't hesitate to fill a bug report.

For newer Cassandra versions and native protocol support, check the official Datastax driver: https://github.com/datastax/php-driver

What is different from the Datastax version?

Dependencies

How to build?

First install thrift from http://thrift.apache.org/download/. Thrift should depend on boost shared_ptr so while installing thrift you are installing rest of the dependencies for pdo_cassandra (apart from PHP and PDO of course).

pdo_cassandra ./configure script takes the following options:

Build steps:

$ phpize
$ ./configure
$ make
$ sudo make install 

Running tests

After a successful build tests can be executed using an instance of Cassandra. Default config for Cassandra should be fine.

Before make test:

$ cp tests/config.inc-dist tests/config.inc
$ $EDITOR tests/config.inc

This is to prevent accidentally dropping keyspaces that might in use.

Create a debian package from the sources

add "deb http://debian.datastax.com/community stable main" in your apt sources list
apt-get install libthrift0 libthrift-dev thrift-compiler

ln -s packaging/debian debian
dpkg-buildpackage -rfakeroot -us -uc

How to use this driver?

Visit our wiki page

Contributing

Pull requests containing fixes and/or additional tests are highly appreciated. Documentation is also far from being complete, feel free to report the difficulties you face.

PHP 7 support

For PHP7 support: https://github.com/bixuehujin/YACassandraPDO/tree/php7 (I haven't tested it)

Native Protocol Support

Please see the official datastax driver: https://github.com/datastax/php-driver