From: Timo Sirainen Date: Tue, 12 Sep 2017 10:23:51 +0000 (+0300) Subject: cassandra: Disable prepared statements with protocol v3 and older X-Git-Tag: 2.3.0.rc1~1041 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d8f538565145fd90eae48df5c4f2ed76e51ca78;p=thirdparty%2Fdovecot%2Fcore.git cassandra: Disable prepared statements with protocol v3 and older --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 32c78f2ba3..a87a981a51 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -680,6 +680,13 @@ static struct sql_db *driver_cassandra_init_v(const char *connect_string) } T_END; cass_log_set_level(db->log_level); + if (db->protocol_version > 0 && db->protocol_version < 4) { + /* binding with column indexes requires v4 */ + db->api.v.prepared_statement_init = NULL; + db->api.v.prepared_statement_deinit = NULL; + db->api.v.statement_init_prepared = NULL; + } + db->timestamp_gen = cass_timestamp_gen_monotonic_new(); db->cluster = cass_cluster_new(); cass_cluster_set_timestamp_gen(db->cluster, db->timestamp_gen);