github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/go-themis/txn.go (about)

     1  package themis
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/insionng/yougam/libraries/pingcap/go-hbase"
     7  )
     8  
     9  var (
    10  	ErrLockNotExpired  = errors.New("lock not expired")
    11  	ErrCleanLockFailed = errors.New("clean lock failed")
    12  	ErrWrongRegion     = errors.New("wrong region, please retry")
    13  	ErrTooManyRows     = errors.New("too many rows in one transaction")
    14  	ErrRetryable       = errors.New("try again later")
    15  )
    16  
    17  type Txn interface {
    18  	Get(t string, get *hbase.Get) (*hbase.ResultRow, error)
    19  	Gets(t string, gets []*hbase.Get) ([]*hbase.ResultRow, error)
    20  	LockRow(t string, row []byte) error
    21  	Put(t string, put *hbase.Put)
    22  	Delete(t string, del *hbase.Delete) error
    23  	GetScanner(tbl []byte, startKey, endKey []byte, batchSize int) *ThemisScanner
    24  	Release()
    25  	Commit() error
    26  	GetStartTS() uint64
    27  	GetCommitTS() uint64
    28  }