Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrAppendableObjectNotFound = moerr.NewAppendableObjectNotFoundNoCtx()
)
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block interface { CheckpointUnit BlockReplayer DeletesInfo() string GetRowsOnReplay() uint64 GetID() *common.ID IsAppendable() bool PrepareCompact() bool PrepareCompactInfo() (bool, string) Rows() int GetColumnDataById( ctx context.Context, txn txnif.AsyncTxn, readSchema any, colIdx int, mp *mpool.MPool, ) (*containers.ColumnView, error) GetColumnDataByIds( ctx context.Context, txn txnif.AsyncTxn, readSchema any, colIdxes []int, mp *mpool.MPool, ) (*containers.BlockView, error) Prefetch(idxes []uint16) error GetMeta() any MakeAppender() (BlockAppender, error) RangeDelete(txn txnif.AsyncTxn, start, end uint32, pk containers.Vector, dt handle.DeleteType) (txnif.DeleteNode, error) TryDeleteByDeltaloc(txn txnif.AsyncTxn, deltaLoc objectio.Location) (node txnif.DeleteNode, ok bool, err error) GetTotalChanges() int CollectChangesInRange(ctx context.Context, startTs, endTs types.TS, mp *mpool.MPool) (*containers.BlockView, error) // check wether any delete intents with prepared ts within [from, to] HasDeleteIntentsPreparedIn(from, to types.TS) (bool, bool) // check if all rows are committed before ts // NOTE: here we assume that the block is visible to the ts // if the block is an appendable block: // 1. if the block is not frozen, return false // 2. if the block is frozen and in-memory, check with the max ts committed // 3. if the block is persisted, return false // if the block is not an appendable block: // only check with the created ts CoarseCheckAllRowsCommittedBefore(ts types.TS) bool BatchDedup(ctx context.Context, txn txnif.AsyncTxn, pks containers.Vector, pksZM index.ZM, rowmask *roaring.Bitmap, precommit bool, bf objectio.BloomFilter, mp *mpool.MPool, ) error GetByFilter(ctx context.Context, txn txnif.AsyncTxn, filter *handle.Filter, mp *mpool.MPool) (uint32, error) GetValue(ctx context.Context, txn txnif.AsyncTxn, readSchema any, row, col int, mp *mpool.MPool) (any, bool, error) Foreach( ctx context.Context, readSchema any, colIdx int, op func(v any, isNull bool, row int) error, sels []uint32, mp *mpool.MPool, ) error PPString(level common.PPLevel, depth int, prefix string) string EstimateMemSize() (int, int) GetRuntime() *dbutils.Runtime Init() error TryUpgrade() error GCInMemeoryDeletesByTS(types.TS) CollectAppendInRange(start, end types.TS, withAborted bool, mp *mpool.MPool) (*containers.BatchWithVersion, error) CollectDeleteInRange(ctx context.Context, start, end types.TS, withAborted bool, mp *mpool.MPool) (*containers.Batch, error) // GetAppendNodeByRow(row uint32) (an txnif.AppendNode) // GetDeleteNodeByRow(row uint32) (an txnif.DeleteNode) GetFs() *objectio.ObjectFS FreezeAppend() Close() }
type BlockAppender ¶
type BlockAppender interface { GetID() *common.ID GetMeta() any IsSameColumns(otherSchema any) bool PrepareAppend(rows uint32, txn txnif.AsyncTxn) ( node txnif.AppendNode, created bool, n uint32, err error) ApplyAppend(bat *containers.Batch, txn txnif.AsyncTxn, ) (int, error) IsAppendable() bool ReplayAppend(bat *containers.Batch, txn txnif.AsyncTxn) (int, error) Close() }
type BlockReplayer ¶
type BlockReplayer interface { OnReplayDelete(node txnif.DeleteNode) (err error) OnReplayAppend(node txnif.AppendNode) (err error) OnReplayAppendPayload(bat *containers.Batch) (err error) }
type CheckpointUnit ¶
type Table ¶
type Table interface { GetHandle() TableHandle ApplyHandle(TableHandle) }
type TableHandle ¶
type TableHandle interface { GetAppender() (BlockAppender, error) SetAppender(*common.ID) BlockAppender }
Click to show internal directories.
Click to hide internal directories.