Cassandra Thrift

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 {
}








你可能感兴趣的:(thrift,cassandra)