本文整理匯總了Golang中github.com/coreos/etcd/etcdserver/etcdserverpb.KVClient.Txn方法的典型用法代碼示例。如果您正苦於以下問題:Golang KVClient.Txn方法的具體用法?Golang KVClient.Txn怎麽用?Golang KVClient.Txn使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/coreos/etcd/etcdserver/etcdserverpb.KVClient
的用法示例。
在下文中一共展示了KVClient.Txn方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: deleteRevKey
// deleteRevKey deletes a key by revision, returning false if key is missing
func deleteRevKey(kvc pb.KVClient, key string, rev int64) (bool, error) {
cmp := &pb.Compare{
Result: pb.Compare_EQUAL,
Target: pb.Compare_MOD,
Key: []byte(key),
TargetUnion: &pb.Compare_ModRevision{ModRevision: rev},
}
req := &pb.RequestUnion{Request: &pb.RequestUnion_RequestDeleteRange{
RequestDeleteRange: &pb.DeleteRangeRequest{Key: []byte(key)}}}
txnresp, err := kvc.Txn(
context.TODO(),
&pb.TxnRequest{
Compare: []*pb.Compare{cmp},
Success: []*pb.RequestUnion{req},
Failure: nil,
})
if err != nil {
return false, err
} else if txnresp.Succeeded == false {
return false, nil
}
return true, nil
}