88-define (COUNTER , <<" counters" >>).
99-define (SET , <<" sets" >>).
1010-define (HLL , <<" hlls" >>).
11+ -define (GSET , <<" gsets" >>).
1112-define (MAP , <<" maps" >>).
1213-define (TYPES ,
1314 [{? COUNTER , counter },
1415 {? SET , set },
1516 {? HLL , hll },
17+ {? GSET , gset },
1618 {? MAP , map }]).
1719
1820-import (yz_rt , [create_index /2 ,
@@ -40,12 +42,14 @@ confirm() ->
4042 counter_update (PB ),
4143 set_update (PB ),
4244 hll_update (PB ),
45+ gset_update (PB ),
4346 map_update (PB ),
4447
4548 % % Search the index for the types
4649 counter_search (ANode ),
4750 set_search (ANode ),
4851 hll_search (ANode ),
52+ gset_search (ANode ),
4953 map_search (ANode ),
5054
5155 pass .
@@ -69,6 +73,12 @@ set_update(PB) ->
6973 ? assertEqual (ok , riakc_pb_socket :update_type (PB , {? SET , <<" databass" >>}, <<" dynamo" >>, riakc_set :to_op (Dynamos ))),
7074 ? assertEqual (ok , riakc_pb_socket :update_type (PB , {? SET , <<" databass" >>}, <<" erlang" >>, riakc_set :to_op (Erlangs ))).
7175
76+ gset_update (PB ) ->
77+ Dynamos = lists :foldl (fun riakc_gset :add_element /2 , riakc_gset :new (), [<<" Riak" >>, <<" Cassandra" >>, <<" Voldemort" >>, <<" Couchbase" >>]),
78+ Erlangs = lists :foldl (fun riakc_gset :add_element /2 , riakc_gset :new (), [<<" Riak" >>, <<" Couchbase" >>, <<" CouchDB" >>]),
79+ ? assertEqual (ok , riakc_pb_socket :update_type (PB , {? GSET , <<" databass" >>}, <<" dynamo" >>, riakc_gset :to_op (Dynamos ))),
80+ ? assertEqual (ok , riakc_pb_socket :update_type (PB , {? GSET , <<" databass" >>}, <<" erlang" >>, riakc_gset :to_op (Erlangs ))).
81+
7282set_search (Node ) ->
7383 ? assertSearch (Node , ? SET , " set" , " Riak" , 2 ),
7484 ? assertSearch (Node , ? SET , " set" , " CouchDB" , 1 ),
@@ -103,6 +113,12 @@ hll_search(Node) ->
103113 ? assertSearch (Node , ? HLL , " hll" , " [5 TO 1000]" , 0 ),
104114 ? assertSearch (Node , ? HLL , " hll" , " [0 TO 2]" , 0 ).
105115
116+ gset_search (Node ) ->
117+ ? assertSearch (Node , ? GSET , " gset" , " Riak" , 2 ),
118+ ? assertSearch (Node , ? GSET , " gset" , " CouchDB" , 1 ),
119+ ? assertSearch (Node , ? GSET , " gset" , " Voldemort" , 1 ),
120+ ? assertSearch (Node , ? GSET , " gset" , " C*" , 2 ).
121+
106122map_update (PB ) ->
107123 Sam = lists :foldl (fun ({Key , Fun }, Map ) ->
108124 riakc_map :update (Key , Fun , Map )
0 commit comments