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 }