Release Notes: This release adds support for counters, fixes two functions which made use of the column key as a string instead of a buffer, and fixes some documentation.
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.
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.
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.
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).
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.