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
|
|
}
|