Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrIteratorEnd = moerr.NewInternalErrorNoCtx("end of interator")
)
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block interface { BlockReader BlockWriter }
type BlockReader ¶
type BlockReader interface { io.Closer ID() types.Blockid String() string IsUncommitted() bool GetByFilter(ctx context.Context, filter *Filter) (uint32, error) GetColumnDataByNames(ctx context.Context, attrs []string) (*containers.BlockView, error) GetColumnDataByIds(ctx context.Context, colIdxes []int) (*containers.BlockView, error) GetColumnDataByName(context.Context, string) (*containers.ColumnView, error) GetColumnDataById(context.Context, int) (*containers.ColumnView, error) GetMeta() any GetDeltaPersistedTS() types.TS GetMetaLoc() objectio.Location GetDeltaLoc() objectio.Location Fingerprint() *common.ID Rows() int Prefetch(idxes []int) error IsAppendableBlock() bool GetSegment() Segment GetTotalChanges() int }
type BlockWriter ¶
type BlockWriter interface { io.Closer Append(data *containers.Batch, offset uint32) (uint32, error) Update(row uint32, col uint16, v any) error RangeDelete(start, end uint32, dt DeleteType) error UpdateMetaLoc(metaLoc objectio.Location) error UpdateDeltaLoc(deltaLoc objectio.Location) error PushDeleteOp(filter Filter) error PushUpdateOp(filter Filter, attr string, val any) error }
type Database ¶
type Database interface { io.Closer GetID() uint64 GetName() string IsSubscription() bool GetCreateSql() string CreateRelation(def any) (Relation, error) CreateRelationWithID(def any, id uint64) (Relation, error) DropRelationByName(name string) (Relation, error) DropRelationByID(id uint64) (Relation, error) TruncateByName(name string) (Relation, error) TruncateWithID(name string, newTableId uint64) (Relation, error) TruncateByID(id uint64, newTableId uint64) (Relation, error) UnsafeGetRelation(id uint64) (Relation, error) GetRelationByName(name string) (Relation, error) GetRelationByID(id uint64) (Relation, error) RelationCnt() int64 Relations() []Relation MakeRelationIt() RelationIt String() string GetMeta() any }
type Filter ¶
func NewEQFilter ¶
type Iterator ¶
type Iterator interface { sync.Locker RLock() RUnlock() io.Closer Valid() bool Next() GetError() error }
Iterator TODO: this is not thread-safe
type MetaUpdateNode ¶ added in v0.6.0
type MetaUpdateNode interface{}
type Relation ¶
type Relation interface { io.Closer ID() uint64 Rows() int64 String() string SimplePPString(common.PPLevel) string GetCardinality(attr string) int64 Schema() any AlterTable(ctx context.Context, req *apipb.AlterTableReq) error MakeSegmentIt() SegmentIt MakeSegmentItOnSnap() SegmentIt MakeBlockIt() BlockIt DeleteByPhyAddrKey(key any) error GetValueByPhyAddrKey(key any, col int) (any, bool, error) DeleteByPhyAddrKeys(keys containers.Vector, pkVec containers.Vector) error RangeDelete(id *common.ID, start, end uint32, dt DeleteType) error TryDeleteByDeltaloc(id *common.ID, deltaloc objectio.Location) (ok bool, err error) Update(id *common.ID, row uint32, col uint16, v any, isNull bool) error GetByFilter(ctx context.Context, filter *Filter) (id *common.ID, offset uint32, err error) GetValue(id *common.ID, row uint32, col uint16) (any, bool, error) GetValueByFilter(ctx context.Context, filter *Filter, col int) (any, bool, error) UpdateByFilter(ctx context.Context, filter *Filter, col uint16, v any, isNull bool) error DeleteByFilter(ctx context.Context, filter *Filter) error BatchDedup(col containers.Vector) error Append(ctx context.Context, data *containers.Batch) error AddBlksWithMetaLoc(ctx context.Context, metaLcos []objectio.Location) error GetMeta() any CreateSegment(bool) (Segment, error) CreateNonAppendableSegment(is1PC bool) (Segment, error) GetSegment(id *types.Segmentid) (Segment, error) SoftDeleteSegment(id *types.Segmentid) (err error) GetDB() (Database, error) }
type RelationIt ¶
type Segment ¶
type Segment interface { SegmentReader SegmentWriter }
type SegmentReader ¶
type SegmentReader interface { io.Closer GetID() *types.Segmentid IsUncommitted() bool IsAppendable() bool MakeBlockIt() BlockIt // GetByFilter(filter Filter, offsetOnly bool) (map[uint64]*batch.Batch, error) String() string GetMeta() any GetBlock(id types.Blockid) (Block, error) GetRelation() Relation BatchDedup(pks containers.Vector) error }
type SegmentWriter ¶
type SegmentWriter interface { io.Closer String() string Update(blk uint64, row uint32, col uint16, v any) error RangeDelete(blk uint64, start, end uint32, dt DeleteType) error PushDeleteOp(filter Filter) error PushUpdateOp(filter Filter, attr string, val any) error // create a appendable block, its id will be <segid>-<nextObjectid>-0 CreateBlock(bool) (Block, error) // create a non-appendable block, instructed by CreateBlockOpt. // CreateBlockOpt can be nil, and the created block's id // will be <segid>-<nextObjectid>-0 CreateNonAppendableBlock(*objectio.CreateBlockOpt) (Block, error) SoftDeleteBlock(id types.Blockid) (err error) }
Click to show internal directories.
Click to hide internal directories.