diff --git a/.gitignore b/.gitignore index f581c6a7..bebc2d62 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ src/riak_pb_messages.erl dialyzer_unhandled_warnings dialyzer_warnings .rebar/* +.DS_Store # Java target/* diff --git a/.travis.yml b/.travis.yml index 61b7be3e..1299c76b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,5 @@ language: erlang -notifications: - webhooks: http://basho-engbot.herokuapp.com/travis?key=be744efd0a393f30d77d2e0076c8456be272e209 - email: eng@basho.com +script: + - make test otp_release: - - 18.3 - - 17.5 - R16B03 - - R15B03 diff --git a/src/riak.proto b/src/riak.proto index 6050c7c4..3107d374 100644 --- a/src/riak.proto +++ b/src/riak.proto @@ -48,7 +48,6 @@ message RpbPair { optional bytes value = 2; } - // Get bucket properties request message RpbGetBucketReq { required bytes bucket = 1; diff --git a/src/riak_kv.proto b/src/riak_kv.proto index 827c4c1a..eec1ebcd 100644 --- a/src/riak_kv.proto +++ b/src/riak_kv.proto @@ -346,4 +346,136 @@ message RpbRTEReq { optional bytes type = 13; // Bucket type, if not set we assume the 'default' type } -// RTE response - not defined, will return a RpbRTEResp on success or RpbErrorResp on failure \ No newline at end of file +// RTE response - not defined, will return a RpbRTEResp on success or RpbErrorResp on failure + +// AAE Fold requests +message RpbAaeFoldMergeRootNValReq{ + required uint32 n_val = 1; +} + +message RpbAaeFoldMergeBranchNValReq{ + required uint32 n_val = 1; + repeated uint32 id_filter = 2; +} + +message RpbAaeFoldFetchClocksNValReq{ + required uint32 n_val = 1; + repeated uint32 id_filter = 2; + +} + +message RpbAaeFoldMergeTreesRangeReq{ + enum RpbTreeSize{ + xxsmall = 0; + xsmall = 1; + small = 2; + medium = 3; + large = 4; + xlarge = 5; + } + + optional bytes type = 1; + required bytes bucket = 2; + required bool key_range = 10; + optional bytes start_key = 11; + optional bytes end_key = 12; + required RpbTreeSize tree_size = 20; + required bool segment_filter = 30; + repeated uint32 id_filter = 31; + optional RpbTreeSize filter_tree_size = 32; + required bool modified_range = 40; + optional uint32 last_mod_start = 41; + optional uint32 last_mod_end = 42; + required bool use_prehash = 50; + optional uint32 init_vector = 51; +} + +message RpbAaeFoldFetchClocksRangeReq{ + enum RpbTreeSize{ + xxsmall = 0; + xsmall = 1; + small = 2; + medium = 3; + large = 4; + xlarge = 5; + } + + optional bytes type = 1; + required bytes bucket = 2; + required bool key_range = 10; + optional bytes start_key = 11; + optional bytes end_key = 12; + required bool segment_filter = 30; + repeated uint32 id_filter = 31; + optional RpbTreeSize filter_tree_size = 32; + required bool modified_range = 40; + optional uint32 last_mod_start = 41; + optional uint32 last_mod_end = 42; +} + +message RpbAaeFoldFindKeysReq{ + enum FindType { + sibling_count = 0; + object_size = 1; + } + + optional bytes type = 1; + required bytes bucket = 2; + required bool key_range = 10; + optional bytes start_key = 11; + optional bytes end_key = 12; + required bool modified_range = 40; + optional uint32 last_mod_start = 41; + optional uint32 last_mod_end = 42; + required FindType finder = 50; + required uint32 find_limit = 51; +} + +message RpbAaeFoldObjectStatsReq{ + optional bytes type = 1; + required bytes bucket = 2; + required bool key_range = 10; + optional bytes start_key = 11; + optional bytes end_key = 12; + required bool modified_range = 40; + optional uint32 last_mod_start = 41; + optional uint32 last_mod_end = 42; +} + +message RpbKeysValue { + optional bytes type = 1; + required bytes bucket = 2; + required bytes key = 3; + required bytes value = 4; +} + +message RpbKeysCount{ + required bytes tag = 1; + optional uint32 order = 2; + required uint32 count = 3; +} + +message RpbAaeFoldTreeResp{ + enum RpbTreeSize{ + xxsmall = 0; + xsmall = 1; + small = 2; + medium = 3; + large = 4; + xlarge = 5; + } + + required RpbTreeSize size = 1; + optional bytes level_one = 2; + repeated bytes level_two = 3; +} + +message RpbAaeFoldKeyValueResp{ + required bytes response_type = 1; + repeated RpbKeysValue keys_value = 2; +} + +message RpbAaeFoldKeyCountResp{ + required bytes response_type = 1; + repeated RpbKeysCount keys_count = 2; +} \ No newline at end of file diff --git a/src/riak_pb_messages.csv b/src/riak_pb_messages.csv index e6ea186f..c59d53f3 100644 --- a/src/riak_pb_messages.csv +++ b/src/riak_pb_messages.csv @@ -70,6 +70,16 @@ 104,TsTtbMsg,riak_ts 200,RpbRTEReq,riak_kv 201,RpbRTEResp,riak_kv +210,RpbAaeFoldMergeRootNValReq,riak_kv +211,RpbAaeFoldMergeBranchNValReq,riak_kv +212,RpbAaeFoldFetchClocksNValReq,riak_kv +213,RpbAaeFoldMergeTreesRangeReq,riak_kv +214,RpbAaeFoldFetchClocksRangeReq,riak_kv +215,RpbAaeFoldFindKeysReq,riak_kv +216,RpbAaeFoldObjectStatsReq,riak_kv +220,RpbAaeFoldTreeResp,riak_kv +221,RpbAaeFoldKeyValueResp,riak_kv +222,RpbAaeFoldKeyCountResp,riak_kv 253,RpbAuthReq,riak 254,RpbAuthResp,riak 255,RpbStartTls,riak