Projects / libQtCassandra


The libQtCassandra library is an advanced C++ library used to access Cassandra servers. Unlike the basic Cassadra server interface, this C++ library provides separate objects that handle each level of the server data, i.e. the cluster, contexts, table, rows, and cells. It uses Qt and the Qt style for all the classes, which makes it very easy to use if you already know Qt.

Operating Systems

Recent releases

  •  29 Sep 2013 05:15

    Release Notes: The biggest reason for this upgrade is that the library QCassandraRow::exists() function is now fixed. This was a nasty bug: if you used that function and the cell being checked did not exist, it was created. This release has been upgraded to version 2.0.1 of Cassandra and version 0.9.0 of thrift. This way, the library evolves along with Cassandra.

    •  27 Jan 2013 13:44

      Release Notes: This version includes many small fixes and changes and one big innovation: a Lamport bakery algorithm implementation in order to have a Cassandra only Lock. You can have a lock to make sure that only one of your many clients is accessing a Cassandra object at a time. This works on your entire cluster. The only thing you have to do before using it is to add the names of all your clients (all the computers that may end up using the lock object.) See the tests/cassandra_lock.cpp sample for details.

      •  06 Dec 2012 09:14

        Release Notes: This release added direct support for QUuid as row and column keys, and for char * and wchar_t *, removing the need to first cast strings to QString everywhere. A bug with testing the row key size to limit of 64535 instead of 65535 was fixed. A test for empty row and column keys was added. These will now throw an error immediately. The documentation was updated accordingly and enhanced.

        •  22 Nov 2012 12:36

          Release Notes: Mainly patches, although this version supports reading columns as indexes (i.e. 100 at a time without having to do much work at all, just call readCells() repetitively.) It makes the row and column predicates non-QObjects because they are copied (plus there is really no need for those to be QObjects in the first place).

          •  31 Aug 2012 10:58

            Release Notes: This release adds support for composite columns. That is, the existing version was already working but it would have been tedious for most users to make use of composite columns. Now the library offers a couple of functions: QCassandraRow::compositeCell() to help in the matter, and a test that is a good example on how it works.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.