Explorar o código

clientv3: compare helper functions to set range/prefix

Anthony Romano %!s(int64=8) %!d(string=hai) anos
pai
achega
fcf1abd23b
Modificáronse 1 ficheiros con 12 adicións e 0 borrados
  1. 12 0
      clientv3/compare.go

+ 12 - 0
clientv3/compare.go

@@ -99,6 +99,18 @@ func (cmp *Cmp) ValueBytes() []byte {
 // WithValueBytes sets the byte slice for the comparison's value.
 func (cmp *Cmp) WithValueBytes(v []byte) { cmp.TargetUnion.(*pb.Compare_Value).Value = v }
 
+// WithRange sets the comparison to scan the range [key, end).
+func (cmp Cmp) WithRange(end string) Cmp {
+	cmp.RangeEnd = []byte(end)
+	return cmp
+}
+
+// WithPrefix sets the comparison to scan all keys prefixed by the key.
+func (cmp Cmp) WithPrefix() Cmp {
+	cmp.RangeEnd = getPrefix(cmp.Key)
+	return cmp
+}
+
 func mustInt64(val interface{}) int64 {
 	if v, ok := val.(int64); ok {
 		return v