From f9eee365367f37b1692c07db6c23d30243844aaa Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 24 Sep 2015 20:51:16 +0300 Subject: [PATCH] cassandra: Added "version" parameter to specify a protocol version. Mainly to avoid warnings logged when connecting to an older Cassandra server. --- src/lib-sql/driver-cassandra.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 88e7115b6c..45a18d263f 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -39,6 +39,7 @@ struct cassandra_db { char *hosts, *keyspace; CassConsistency read_consistency, write_consistency, delete_consistency; CassLogLevel log_level; + unsigned int protocol_version; CassCluster *cluster; CassSession *session; @@ -384,6 +385,9 @@ static void driver_cassandra_parse_connect_string(struct cassandra_db *db, } else if (strcmp(key, "log_level") == 0) { if (log_level_parse(value, &db->log_level) < 0) i_fatal("cassandra: Unknown log_level: %s", value); + } else if (strcmp(key, "version") == 0) { + if (str_to_uint(value, &db->protocol_version) < 0) + i_fatal("cassandra: Invalid version: %s", value); } else { i_fatal("cassandra: Unknown connect string: %s", key); } @@ -415,6 +419,8 @@ static struct sql_db *driver_cassandra_init_v(const char *connect_string) cass_cluster_set_connect_timeout(db->cluster, SQL_CONNECT_TIMEOUT_SECS * 1000); cass_cluster_set_request_timeout(db->cluster, SQL_QUERY_TIMEOUT_SECS * 1000); cass_cluster_set_contact_points(db->cluster, db->hosts); + if (db->protocol_version != 0) + cass_cluster_set_protocol_version(db->cluster, db->protocol_version); db->session = cass_session_new(); i_array_init(&db->results, 16); i_array_init(&db->callbacks, 16); -- 2.47.3