Cassandra Thrift

1201 ワード

Cassandra Thrift ~
まずCassandra IDLのネーミングスペースを定義しました
namespace java org.apache.cassandra.thrift
namespace cpp org.apache.cassandra
namespace csharp Apache.Cassandra
namespace py cassandra
namespace php cassandra
namespace perl Cassandra

プロトコルバージョン番号は、ポイント文字列として定義されます. Cassandraプロトコルバージョンの更新はまめに見えます
const string VERSION = "19.38.0"

Data Structures定義
struct Column {
   1: required binary name,
   2: optional binary value,
   3: optional i64 timestamp,
   4: optional i32 ttl,
}


struct SuperColumn {
   1: required binary name,
   2: required list<Column> columns,
}

struct CounterColumn {
    1: required binary name,
    2: required i64 value
}

struct CounterSuperColumn {
    1: required binary name,
    2: required list<CounterColumn> columns
}

struct ColumnOrSuperColumn {
    1: optional Column column,
    2: optional SuperColumn super_column,
    3: optional CounterColumn counter_column,
    4: optional CounterSuperColumn counter_super_column
}

exception NotFoundException {
}

exception InvalidRequestException {
    1: required string why
}

exception UnavailableException {
}