For the telephus.protocol.ManagedCassandraClientFactory and telephus.pool.CassandraClusterPool objects, remove the api_version kwarg, which had unclear effects, and add require_api_version. From the docstring: @param require_api_version: If not None, Telephus will require that all connections conform to the API for the given Cassandra version. Possible values are "0.7", "0.8", "1.0", etc. If None, Telephus will consider all supported API versions to be acceptable. If the api version reported by a remote node is not compatible, the connection to that node will be aborted. Default: None
following the example of Hector, i think Telephus should probably just not support CQL queries. Rationale: I don't want Telephus to be in the business of parsing random CQL queries, and without that, there would be no way to tell when the user changed the connection's keyspace. Maybe PyTx should be resurrected to provide a Twisted-friendly CQL driver, or maybe cassandra-dbapi2 would work fine with twisted.enterprise.adbapi if that's what people want. A quick survey of known telephus users indicated no one uses this from telephus anyway. And if someone does, they could access the thrift Client object themselves and hack in support for execute_cql_query. They'd need to add their own hooks to let Telephus know when the keyspace changed, or simply refrain from ever using 'USE'.
since CCP was not a new-style class (inheriting only from the classic-style service.Service), the 'consistency' property was not honored, and the client instance's corresponding consistency was not updated upon assignment. make CCP a new-style class by adding object to its bases. Fixes #21.
to avoid using "from X import *" where easy to do so, and to combine the translate and cassandra.constants modules, since they accomplished nearly the same purpose. removed extraneous __all__ declarations. clarify name of per-cassandra-version constants.