Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrIteratorEnd = moerr.NewInternalErrorNoCtx("end of interator")
)
Functions ¶
This section is empty.
Types ¶
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 Object ¶ added in v1.1.0
type Object interface { ObjectReader ObjectWriter }
type ObjectReader ¶ added in v1.1.0
type ObjectReader interface { io.Closer GetID() *types.Objectid IsUncommitted() bool IsAppendable() bool Fingerprint() *common.ID // GetByFilter(filter Filter, offsetOnly bool) (map[uint64]*batch.Batch, error) String() string GetMeta() any GetByFilter(ctx context.Context, filter *Filter, mp *mpool.MPool) (uint16, uint32, error) GetColumnDataByNames(ctx context.Context, blkID uint16, attrs []string, mp *mpool.MPool) (*containers.BlockView, error) GetColumnDataByIds(ctx context.Context, blkID uint16, colIdxes []int, mp *mpool.MPool) (*containers.BlockView, error) GetColumnDataByName(context.Context, uint16, string, *mpool.MPool) (*containers.ColumnView, error) GetColumnDataById(context.Context, uint16, int, *mpool.MPool) (*containers.ColumnView, error) GetRelation() Relation BatchDedup(pks containers.Vector) error Prefetch(idxes []int) error BlkCnt() int }
type ObjectWriter ¶ added in v1.1.0
type ObjectWriter interface { io.Closer String() string Update(blk uint64, row uint32, col uint16, v any) error RangeDelete(blk uint16, start, end uint32, dt DeleteType, mp *mpool.MPool) error PushDeleteOp(filter Filter) error PushUpdateOp(filter Filter, attr string, val any) error UpdateStats(objectio.ObjectStats) error UpdateDeltaLoc(blkID uint16, deltaLoc objectio.Location) error }
type Relation ¶
type Relation interface { io.Closer ID() uint64 String() string SimplePPString(common.PPLevel) string GetCardinality(attr string) int64 Schema() any AlterTable(ctx context.Context, req *apipb.AlterTableReq) error MakeObjectIt() ObjectIt MakeObjectItOnSnap() ObjectIt 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 AddObjsWithMetaLoc(ctx context.Context, stats containers.Vector) error GetMeta() any CreateObject(bool) (Object, error) CreateNonAppendableObject(is1PC bool, opt *objectio.CreateObjOpt) (Object, error) GetObject(id *types.Objectid) (Object, error) SoftDeleteObject(id *types.Objectid) (err error) GetDB() (Database, error) }
type RelationIt ¶
Click to show internal directories.
Click to hide internal directories.