Support multiple versions of Cassandra #22

Merged
merged 7 commits into from Jan 3, 2012

Conversation

Projects
None yet
2 participants
Contributor

psanford commented Dec 14, 2011

We should not force users to be on the latest version of Cassandra to use this library. This patch series adds the infrastructure to support multiple API versions of C* and adds backwards compatibility for 0.8.x.

It roughly follows the way that fauna (twitter/cassandra) supports multiple API versions.
To explicitly specify a version require "cassandra-cql/#{vesion}". If you just require 'cassandra-cql'
you will get the latest version. Version specific code is broken out into different subclasses by version number.

This also fixes the tests when running against 0.8.x.

psanford added some commits Dec 12, 2011

@psanford psanford Move thrift bindings into versioned directory. 0bc017f
@psanford psanford Added 0.8 thrift bindings. 247cb71
@psanford psanford Added ability to specify cassandra version.
You can require "cassandra-cql/#{version}" to specify the version. If you
require 'cassandra-cql' it will default to the latest version.

This is the same way that fauna works.
97a5db5
@psanford psanford Update Rakefile to use env for CASSANDRA_HOME if set. c9cd925
@psanford psanford Added back 0.8 query code.
Added ability for tests to run correct version based on ENV.
72e10df
@psanford psanford Fixed tests for 0.8 support.
Most of the changes are from the CQL type changes in
  CASSANDRA-3149
  CASSANDRA-3031
  CASSANDRA-2883
56596ba
@psanford psanford Update test cassandra versions to latest. a2e4959
Owner

kreynolds commented Dec 19, 2011

It's going to take me a few days to get this and go through it all .. I'm sure it's fine as your patches tend to be but I want to be thorough.

Thanks

@kreynolds kreynolds added a commit that referenced this pull request Jan 3, 2012

@kreynolds kreynolds Merge pull request #22 from nearbuy/support_multiple_versions
Support multiple versions of Cassandra
d0ee602

@kreynolds kreynolds merged commit d0ee602 into kreynolds:master Jan 3, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment