Documentation ¶
Overview ¶
A few allocators for TAE
Index ¶
- Constants
- Variables
- func BM32Window(bm *roaring.Bitmap, start, end int) *roaring.Bitmap
- func BM64Window(bm *roaring64.Bitmap, start, end int) *roaring64.Bitmap
- func Compress(raw []byte, ctyp CompressType) []byte
- func ContextField(format string, a ...any) zap.Field
- func CountField(val int) zap.Field
- func Decompress(src []byte, dst []byte, ctyp CompressType) error
- func DoRetry(op RetryOp, ctx context.Context) (err error)
- func DurationField(val time.Duration) zap.Field
- func EntityField(val any) zap.Field
- func ErrorField(val error) zap.Field
- func ExceptionField(val any) zap.Field
- func FormatFiled(key string, format string, a ...any) zap.Field
- func GetGlobalSeqNum() uint64
- func IDArraryString(ids []ID) string
- func IDField(val int) zap.Field
- func InitTAEMPool()
- func InplaceDeleteRows(orig any, rowGen RowGen) any
- func InplaceDeleteRowsFromSlice[T types.FixedSizeT](v any, rowGen RowGen) any
- func LoopGenericSortedDList[T any](head *GenericDLNode[T], fn func(node *GenericDLNode[T]) bool, reverse bool)
- func MakeFilename(dirname string, ft FileT, name string, isTmp bool) string
- func MakeLockFileName(dirname, name string) string
- func MockRWFile() *rwFile
- func NameSpaceField(val string) zap.Field
- func NextGlobalSeqNum() uint64
- func OperandField(val any) zap.Field
- func OperandNameSpace() zap.Field
- func OperationField(val string) zap.Field
- func ReadString(r io.Reader) (str string, n int64, err error)
- func ReasonField(val string) zap.Field
- func RepeatStr(str string, times int) string
- func ReprerField(key string, val Reprer) zap.Field
- func TimestampField(val any) zap.Field
- func TypeStringValue(t types.Type, v any, opts ...TypePrintOpt) string
- func WriteString(str string, w io.Writer) (n int64, err error)
- type BaseTreeVisitor
- func (visitor *BaseTreeVisitor) String() string
- func (visitor *BaseTreeVisitor) VisitBlock(dbID, tableID, segmentID, blockID uint64) (err error)
- func (visitor *BaseTreeVisitor) VisitSegment(dbID, tableID, segmentID uint64) (err error)
- func (visitor *BaseTreeVisitor) VisitTable(dbID, tableID uint64) (err error)
- type Closable
- type ClosedInterval
- func (i *ClosedInterval) Append(id uint64) error
- func (i *ClosedInterval) AtomicUpdateEnd(v uint64)
- func (i *ClosedInterval) Contains(o ClosedInterval) bool
- func (i *ClosedInterval) GT(o *ClosedInterval) bool
- func (i *ClosedInterval) IsCoveredByInt(idx uint64) bool
- func (i *ClosedInterval) LT(o *ClosedInterval) bool
- func (i *ClosedInterval) String() string
- func (i *ClosedInterval) TryMerge(o ClosedInterval) bool
- type ClosedIntervals
- func NewClosedIntervals() *ClosedIntervals
- func NewClosedIntervalsByInt(i uint64) *ClosedIntervals
- func NewClosedIntervalsByInterval(i *ClosedInterval) *ClosedIntervals
- func NewClosedIntervalsByIntervals(i *ClosedIntervals) *ClosedIntervals
- func NewClosedIntervalsBySlice(array []uint64) *ClosedIntervals
- func (intervals *ClosedIntervals) Contains(o ClosedIntervals) bool
- func (intervals *ClosedIntervals) ContainsInt(n uint64) bool
- func (intervals *ClosedIntervals) ContainsInterval(oIntervals ClosedInterval) bool
- func (intervals *ClosedIntervals) Equal(o *ClosedIntervals) bool
- func (intervals *ClosedIntervals) GetCardinality() int
- func (intervals *ClosedIntervals) GetMax() uint64
- func (intervals *ClosedIntervals) GetMin() uint64
- func (intervals *ClosedIntervals) IsCoveredByInt(i uint64) bool
- func (intervals *ClosedIntervals) ReadFrom(r io.Reader) (n int64, err error)
- func (intervals *ClosedIntervals) TryMerge(o ClosedIntervals)
- func (intervals *ClosedIntervals) WriteTo(w io.Writer) (n int64, err error)
- type ClosedState
- type CompressType
- type FileInfo
- type FileT
- type FileType
- type GenericDLNode
- type GenericSortedDList
- func (l *GenericSortedDList[T]) Delete(n *GenericDLNode[T])
- func (l *GenericSortedDList[T]) Depth() int
- func (l *GenericSortedDList[T]) GetHead() *GenericDLNode[T]
- func (l *GenericSortedDList[T]) GetTail() *GenericDLNode[T]
- func (l *GenericSortedDList[T]) Insert(payload T) *GenericDLNode[T]
- func (l *GenericSortedDList[T]) Loop(fn func(n *GenericDLNode[T]) bool, reverse bool)
- func (l *GenericSortedDList[T]) Update(n *GenericDLNode[T])
- type GenericSortedDListIt
- type ID
- func (id *ID) AsBlockID() ID
- func (id *ID) AsSegmentID() ID
- func (id *ID) BlockString() string
- func (id *ID) IsSameBlock(o ID) bool
- func (id *ID) IsSameSegment(o ID) bool
- func (id *ID) NextBlock() ID
- func (id *ID) NextSegment() ID
- func (id *ID) SegmentString() string
- func (id *ID) String() string
- func (id *ID) TableString() string
- type IRWFile
- type IRef
- type ISLLNode
- type ISSLLNode
- type IVFile
- type IdAllocator
- type IdAlloctor
- type OffsetT
- type OnZeroCB
- type PPLevel
- type PinnedItem
- type Range
- func (r *Range) Append(right uint64) error
- func (r *Range) CanCover(o *Range) bool
- func (r *Range) ClosedIn(id uint64) bool
- func (r *Range) CommitLeft(left uint64) bool
- func (r *Range) GT(id uint64) bool
- func (r *Range) LT(id uint64) bool
- func (r *Range) String() string
- func (r *Range) Union(o *Range) error
- func (r *Range) Valid() bool
- type RefHelper
- type Reprer
- type RetryOp
- type RowGen
- type RowGenWrapper
- type SLLNode
- type SSLLNode
- type SegmentTree
- func (stree *SegmentTree) AddBlock(id uint64)
- func (stree *SegmentTree) Equal(o *SegmentTree) bool
- func (stree *SegmentTree) IsEmpty() bool
- func (stree *SegmentTree) Merge(ot *SegmentTree)
- func (stree *SegmentTree) ReadFrom(r io.Reader) (n int64, err error)
- func (stree *SegmentTree) Shrink(id uint64) (empty bool)
- func (stree *SegmentTree) WriteTo(w io.Writer) (n int64, err error)
- type TableTree
- func (ttree *TableTree) AddBlock(segID, id uint64)
- func (ttree *TableTree) AddSegment(id uint64)
- func (ttree *TableTree) Compact() (empty bool)
- func (ttree *TableTree) Equal(o *TableTree) bool
- func (ttree *TableTree) GetSegment(id uint64) *SegmentTree
- func (ttree *TableTree) IsEmpty() bool
- func (ttree *TableTree) Merge(ot *TableTree)
- func (ttree *TableTree) ReadFrom(r io.Reader) (n int64, err error)
- func (ttree *TableTree) Shrink(segID uint64) (empty bool)
- func (ttree *TableTree) WriteTo(w io.Writer) (n int64, err error)
- type Tree
- func (tree *Tree) AddBlock(dbID, tableID, segID, id uint64)
- func (tree *Tree) AddSegment(dbID, tableID, id uint64)
- func (tree *Tree) AddTable(dbID, id uint64)
- func (tree *Tree) Compact() (empty bool)
- func (tree *Tree) Equal(o *Tree) bool
- func (tree *Tree) GetSegment(tableID, segID uint64) *SegmentTree
- func (tree *Tree) GetTable(id uint64) *TableTree
- func (tree *Tree) HasTable(id uint64) bool
- func (tree *Tree) IsEmpty() bool
- func (tree *Tree) Merge(ot *Tree)
- func (tree *Tree) ReadFrom(r io.Reader) (n int64, err error)
- func (tree *Tree) Reset()
- func (tree *Tree) Shrink(tableID uint64) (empty bool)
- func (tree *Tree) String() string
- func (tree *Tree) TableCount() int
- func (tree *Tree) Visit(visitor TreeVisitor) (err error)
- func (tree *Tree) WriteTo(w io.Writer) (n int64, err error)
- type TreeVisitor
- type TxnIDAllocator
- type TypePrintOpt
- type WithDoNotPrintBin
- type WithSpecialRowid
Constants ¶
const ( MAX_UINT8 = ^uint8(0) MAX_UINT16 = ^uint16(0) MAX_UINT32 = ^uint32(0) MAX_UINT64 = ^uint64(0) K = 1024 M = 1024 * K G = 1024 * M T = 1024 * G P = 1024 * T )
const ( TmpSuffix = ".tmp" LockSuffix = ".lock" )
Variables ¶
var ( ErrRangeNotContinuous = moerr.NewInternalError("tae: range not continuous") ErrRangeInvalid = moerr.NewInternalError("tae: invalid range") )
var AnyField = zap.Any
var CacheAllocator *mpool.MPool
var DefaultAllocator *mpool.MPool
A few allocators for TAE
var (
ErrClose = moerr.NewInternalError("closed")
)
var (
GlobalSeqNum atomic.Uint64
)
var LogAllocator *mpool.MPool
var MutMemAllocator *mpool.MPool
var StringerField = zap.Stringer
Functions ¶
func Compress ¶ added in v0.6.0
func Compress(raw []byte, ctyp CompressType) []byte
func CountField ¶
func Decompress ¶ added in v0.6.0
func Decompress(src []byte, dst []byte, ctyp CompressType) error
func EntityField ¶
func ErrorField ¶
func ExceptionField ¶
func GetGlobalSeqNum ¶
func GetGlobalSeqNum() uint64
func IDArraryString ¶
func InitTAEMPool ¶ added in v0.6.0
func InitTAEMPool()
func InplaceDeleteRows ¶ added in v0.6.0
func InplaceDeleteRowsFromSlice ¶ added in v0.6.0
func InplaceDeleteRowsFromSlice[T types.FixedSizeT](v any, rowGen RowGen) any
func LoopGenericSortedDList ¶ added in v0.6.0
func LoopGenericSortedDList[T any](head *GenericDLNode[T], fn func(node *GenericDLNode[T]) bool, reverse bool)
Loop the list and apply fn on each node head is the head node of a list fn is operation applied to each node during iterating. if fn(node) returns false, stop iterating. reverse is true to loop in reversed way.
func MakeLockFileName ¶
func MockRWFile ¶
func MockRWFile() *rwFile
func NameSpaceField ¶
func NextGlobalSeqNum ¶
func NextGlobalSeqNum() uint64
func OperandField ¶
func OperandNameSpace ¶
func OperationField ¶
func ReasonField ¶
func TimestampField ¶
func TypeStringValue ¶ added in v0.6.0
func TypeStringValue(t types.Type, v any, opts ...TypePrintOpt) string
Types ¶
type BaseTreeVisitor ¶ added in v0.6.0
type BaseTreeVisitor struct { TableFn func(uint64, uint64) error SegmentFn func(uint64, uint64, uint64) error BlockFn func(uint64, uint64, uint64, uint64) error }
func (*BaseTreeVisitor) String ¶ added in v0.6.0
func (visitor *BaseTreeVisitor) String() string
func (*BaseTreeVisitor) VisitBlock ¶ added in v0.6.0
func (visitor *BaseTreeVisitor) VisitBlock( dbID, tableID, segmentID, blockID uint64) (err error)
func (*BaseTreeVisitor) VisitSegment ¶ added in v0.6.0
func (visitor *BaseTreeVisitor) VisitSegment(dbID, tableID, segmentID uint64) (err error)
func (*BaseTreeVisitor) VisitTable ¶ added in v0.6.0
func (visitor *BaseTreeVisitor) VisitTable(dbID, tableID uint64) (err error)
type ClosedInterval ¶
type ClosedInterval struct {
Start, End uint64
}
func (*ClosedInterval) Append ¶
func (i *ClosedInterval) Append(id uint64) error
func (*ClosedInterval) AtomicUpdateEnd ¶
func (i *ClosedInterval) AtomicUpdateEnd(v uint64)
func (*ClosedInterval) Contains ¶
func (i *ClosedInterval) Contains(o ClosedInterval) bool
func (*ClosedInterval) GT ¶
func (i *ClosedInterval) GT(o *ClosedInterval) bool
func (*ClosedInterval) IsCoveredByInt ¶
func (i *ClosedInterval) IsCoveredByInt(idx uint64) bool
func (*ClosedInterval) LT ¶
func (i *ClosedInterval) LT(o *ClosedInterval) bool
func (*ClosedInterval) String ¶
func (i *ClosedInterval) String() string
func (*ClosedInterval) TryMerge ¶
func (i *ClosedInterval) TryMerge(o ClosedInterval) bool
type ClosedIntervals ¶
type ClosedIntervals struct {
Intervals []*ClosedInterval
}
func NewClosedIntervals ¶
func NewClosedIntervals() *ClosedIntervals
func NewClosedIntervalsByInt ¶
func NewClosedIntervalsByInt(i uint64) *ClosedIntervals
func NewClosedIntervalsByInterval ¶
func NewClosedIntervalsByInterval(i *ClosedInterval) *ClosedIntervals
func NewClosedIntervalsByIntervals ¶
func NewClosedIntervalsByIntervals(i *ClosedIntervals) *ClosedIntervals
func NewClosedIntervalsBySlice ¶
func NewClosedIntervalsBySlice(array []uint64) *ClosedIntervals
func (*ClosedIntervals) Contains ¶
func (intervals *ClosedIntervals) Contains(o ClosedIntervals) bool
func (*ClosedIntervals) ContainsInt ¶ added in v0.6.0
func (intervals *ClosedIntervals) ContainsInt(n uint64) bool
func (*ClosedIntervals) ContainsInterval ¶
func (intervals *ClosedIntervals) ContainsInterval(oIntervals ClosedInterval) bool
func (*ClosedIntervals) Equal ¶
func (intervals *ClosedIntervals) Equal(o *ClosedIntervals) bool
Equal is for test
func (*ClosedIntervals) GetCardinality ¶
func (intervals *ClosedIntervals) GetCardinality() int
func (*ClosedIntervals) GetMax ¶ added in v0.6.0
func (intervals *ClosedIntervals) GetMax() uint64
func (*ClosedIntervals) GetMin ¶ added in v0.6.0
func (intervals *ClosedIntervals) GetMin() uint64
func (*ClosedIntervals) IsCoveredByInt ¶
func (intervals *ClosedIntervals) IsCoveredByInt(i uint64) bool
func (*ClosedIntervals) ReadFrom ¶
func (intervals *ClosedIntervals) ReadFrom(r io.Reader) (n int64, err error)
func (*ClosedIntervals) TryMerge ¶
func (intervals *ClosedIntervals) TryMerge(o ClosedIntervals)
type ClosedState ¶
type ClosedState struct {
// contains filtered or unexported fields
}
func (*ClosedState) IsClosed ¶
func (c *ClosedState) IsClosed() bool
func (*ClosedState) TryClose ¶
func (c *ClosedState) TryClose() bool
type GenericDLNode ¶ added in v0.6.0
type GenericDLNode[T any] struct { // contains filtered or unexported fields }
Doubly sorted linked-list node
func InsertGenericDLNode ¶ added in v0.6.0
func InsertGenericDLNode[T any](payload T, head *GenericDLNode[T], compare func(T, T) int) (node, nhead, ntail *GenericDLNode[T])
Insert a wrapped object into a list specified by a head node node is the inserted dlnode nhead is the new head node ntail is the new tail node. If ntail is not nil, tail is updated. Else tail is not updated
func (*GenericDLNode[T]) GetNext ¶ added in v0.6.0
func (l *GenericDLNode[T]) GetNext() *GenericDLNode[T]
func (*GenericDLNode[T]) GetPayload ¶ added in v0.6.0
func (l *GenericDLNode[T]) GetPayload() T
func (*GenericDLNode[T]) GetPrev ¶ added in v0.6.0
func (l *GenericDLNode[T]) GetPrev() *GenericDLNode[T]
func (*GenericDLNode[T]) KeepSorted ¶ added in v0.6.0
func (l *GenericDLNode[T]) KeepSorted(compare func(T, T) int) (head, tail *GenericDLNode[T])
Keep node be sorted in the list
type GenericSortedDList ¶ added in v0.6.0
type GenericSortedDList[T any] struct { // contains filtered or unexported fields }
Sorted doubly linked-list
func NewGenericSortedDList ¶ added in v0.6.0
func NewGenericSortedDList[T any](compare func(T, T) int) *GenericSortedDList[T]
func (*GenericSortedDList[T]) Delete ¶ added in v0.6.0
func (l *GenericSortedDList[T]) Delete(n *GenericDLNode[T])
Given a node and remove it from the list
Delete [node]
[prev node] <-> [node] <-> [next node] =============> [prev node] <-> [next node]
func (*GenericSortedDList[T]) Depth ¶ added in v0.6.0
func (l *GenericSortedDList[T]) Depth() int
Get the length of the list
func (*GenericSortedDList[T]) GetHead ¶ added in v0.6.0
func (l *GenericSortedDList[T]) GetHead() *GenericDLNode[T]
Get the head node
func (*GenericSortedDList[T]) GetTail ¶ added in v0.6.0
func (l *GenericSortedDList[T]) GetTail() *GenericDLNode[T]
Get the tail node
func (*GenericSortedDList[T]) Insert ¶ added in v0.6.0
func (l *GenericSortedDList[T]) Insert(payload T) *GenericDLNode[T]
Insert a object and wrap it as GenericDLNode into the list The inserted object must be instance of interface NodePayload [List]: [1,x1] <-> [5,x5] <-> [10,x10] Insert a node [7,x7] [List]: [1,x1] <-> [5,x5] <-> [7,x7] <-> [10,x10]
func (*GenericSortedDList[T]) Loop ¶ added in v0.6.0
func (l *GenericSortedDList[T]) Loop(fn func(n *GenericDLNode[T]) bool, reverse bool)
Loop the list and apply fn on each node
func (*GenericSortedDList[T]) Update ¶ added in v0.6.0
func (l *GenericSortedDList[T]) Update(n *GenericDLNode[T])
Update the node to keep the list be sorted
[List] [1,x1] <-> [3,x3] <-> [10,x10] <-> [20,x20]
|
[Node] [10,x10]
--------- UPDATE [10,x10] TO [2, x10]--------------
[List] [1,x1] <-> [2,x10] <-> [3,x3] <-> [20,x20]
type GenericSortedDListIt ¶ added in v0.6.0
type GenericSortedDListIt[T any] struct { // contains filtered or unexported fields }
Sorted doubly linked-list iterator
func NewGenericSortedDListIt ¶ added in v0.6.0
func NewGenericSortedDListIt[T any](linkLocker *sync.RWMutex, dlist *GenericSortedDList[T], reverse bool) *GenericSortedDListIt[T]
linkLocker is the outer locker to guard dlist access
func (*GenericSortedDListIt[T]) Get ¶ added in v0.6.0
func (it *GenericSortedDListIt[T]) Get() *GenericDLNode[T]
func (*GenericSortedDListIt[T]) Next ¶ added in v0.6.0
func (it *GenericSortedDListIt[T]) Next()
func (*GenericSortedDListIt[T]) Valid ¶ added in v0.6.0
func (it *GenericSortedDListIt[T]) Valid() bool
type ID ¶
type ID struct { // Internal table id TableID uint64 // Internal segment id SegmentID uint64 // Internal block id BlockID uint64 // Internal column part id PartID uint32 // Column index for the column part above Idx uint16 // Iter is used for MVCC Iter uint8 }
ID is the general identifier type shared by different types like table, segment, block, etc.
We could wrap info from upper level via ID, for instance, get the table id, segment id, and the block id for one block by ID.AsBlockID, which made the resource management easier.
func (*ID) AsSegmentID ¶
func (*ID) BlockString ¶
func (*ID) IsSameBlock ¶
func (*ID) IsSameSegment ¶
func (*ID) NextSegment ¶
func (*ID) SegmentString ¶
func (*ID) TableString ¶
type IRef ¶
type IRef interface { RefCount() int64 Ref() Unref() }
IRef is the general representation of the resources that should be managed with a reference count. Once the reference count reached 0, the OnZeroCB would be called.
type IVFile ¶
type IVFile interface { io.Reader Ref() Unref() RefCount() int64 Stat() FileInfo GetFileType() FileType }
IVFile is the general in-memory representation of resources like segment, block, index, column part, etc. that managed by buffer manager.
func MockCompressedFile ¶
func NewMemFile ¶
type IdAllocator ¶
type IdAllocator struct {
// contains filtered or unexported fields
}
func (*IdAllocator) Alloc ¶
func (id *IdAllocator) Alloc() uint64
func (*IdAllocator) Get ¶
func (id *IdAllocator) Get() uint64
func (*IdAllocator) Set ¶
func (id *IdAllocator) Set(val uint64)
type IdAlloctor ¶
type IdAlloctor struct {
// contains filtered or unexported fields
}
func NewIdAlloctor ¶
func NewIdAlloctor(from uint64) *IdAlloctor
func (*IdAlloctor) Alloc ¶
func (alloc *IdAlloctor) Alloc() uint64
func (*IdAlloctor) Get ¶
func (alloc *IdAlloctor) Get() uint64
func (*IdAlloctor) SetStart ¶
func (alloc *IdAlloctor) SetStart(start uint64)
type PinnedItem ¶ added in v0.6.0
type PinnedItem[T IRef] struct { Val T }
func (*PinnedItem[T]) Close ¶ added in v0.6.0
func (item *PinnedItem[T]) Close()
func (*PinnedItem[T]) Item ¶ added in v0.6.0
func (item *PinnedItem[T]) Item() T
type Range ¶
func (*Range) CommitLeft ¶
type RowGenWrapper ¶ added in v0.6.0
func NewRowGenWrapper ¶ added in v0.6.0
func NewRowGenWrapper[T OffsetT](sels ...T) *RowGenWrapper[T]
func (*RowGenWrapper[T]) HasNext ¶ added in v0.6.0
func (wrapper *RowGenWrapper[T]) HasNext() bool
func (*RowGenWrapper[T]) Next ¶ added in v0.6.0
func (wrapper *RowGenWrapper[T]) Next() uint32
type SLLNode ¶
SLLNode represent a single node in linked list. It is thread-safe.
func NewSLLNode ¶
func (*SLLNode) GetNextNode ¶
func (*SLLNode) ReleaseNextNode ¶
func (l *SLLNode) ReleaseNextNode()
func (*SLLNode) SetNextNode ¶
func (*SLLNode) SetNextNodeNoLock ¶
type SSLLNode ¶
type SSLLNode struct {
// contains filtered or unexported fields
}
func NewSSLLNode ¶
func NewSSLLNode() *SSLLNode
func (*SSLLNode) ReleaseFollowing ¶
func (*SSLLNode) ReleaseNextNode ¶
type SegmentTree ¶ added in v0.6.0
func NewSegmentTree ¶ added in v0.6.0
func NewSegmentTree(id uint64) *SegmentTree
func (*SegmentTree) AddBlock ¶ added in v0.6.0
func (stree *SegmentTree) AddBlock(id uint64)
func (*SegmentTree) Equal ¶ added in v0.6.0
func (stree *SegmentTree) Equal(o *SegmentTree) bool
func (*SegmentTree) IsEmpty ¶ added in v0.6.0
func (stree *SegmentTree) IsEmpty() bool
func (*SegmentTree) Merge ¶ added in v0.6.0
func (stree *SegmentTree) Merge(ot *SegmentTree)
func (*SegmentTree) ReadFrom ¶ added in v0.6.0
func (stree *SegmentTree) ReadFrom(r io.Reader) (n int64, err error)
func (*SegmentTree) Shrink ¶ added in v0.6.0
func (stree *SegmentTree) Shrink(id uint64) (empty bool)
type TableTree ¶ added in v0.6.0
type TableTree struct { DbID uint64 ID uint64 Segs map[uint64]*SegmentTree }
func NewTableTree ¶ added in v0.6.0
func (*TableTree) AddSegment ¶ added in v0.6.0
func (*TableTree) GetSegment ¶ added in v0.6.0
func (ttree *TableTree) GetSegment(id uint64) *SegmentTree
type Tree ¶ added in v0.6.0
func (*Tree) AddSegment ¶ added in v0.6.0
func (*Tree) GetSegment ¶ added in v0.6.0
func (tree *Tree) GetSegment(tableID, segID uint64) *SegmentTree
func (*Tree) TableCount ¶ added in v0.6.0
func (*Tree) Visit ¶ added in v0.6.0
func (tree *Tree) Visit(visitor TreeVisitor) (err error)
type TreeVisitor ¶ added in v0.6.0
type TxnIDAllocator ¶ added in v0.6.0
type TxnIDAllocator struct { }
func NewTxnIDAllocator ¶ added in v0.6.0
func NewTxnIDAllocator() *TxnIDAllocator
func (*TxnIDAllocator) Alloc ¶ added in v0.6.0
func (alloc *TxnIDAllocator) Alloc() []byte
type TypePrintOpt ¶ added in v0.6.0
type TypePrintOpt interface {
// contains filtered or unexported methods
}
type WithDoNotPrintBin ¶ added in v0.6.0
type WithDoNotPrintBin struct{}
type WithSpecialRowid ¶ added in v0.6.0
type WithSpecialRowid struct{}