package themis import ( "errors" "github.com/pingcap/go-hbase" ) var ( ErrLockNotExpired = errors.New("lock not expired") ErrCleanLockFailed = errors.New("clean lock failed") ErrWrongRegion = errors.New("wrong region, please retry") ErrTooManyRows = errors.New("too many rows in one transaction") ErrRetryable = errors.New("try again later") ) type Txn interface { Get(t string, get *hbase.Get) (*hbase.ResultRow, error) Gets(t string, gets []*hbase.Get) ([]*hbase.ResultRow, error) LockRow(t string, row []byte) error Put(t string, put *hbase.Put) Delete(t string, del *hbase.Delete) error GetScanner(tbl []byte, startKey, endKey []byte, batchSize int) *ThemisScanner Release() Commit() error GetStartTS() uint64 GetCommitTS() uint64 }