Documentation
¶
Index ¶
- Constants
- Variables
- func DedupOp[T comparable](t types.Type, attr string, vs any, tree map[any]uint32) (err error)
- func FillColumnRow(table *catalog.TableEntry, attr string, colData containers.Vector)
- func FillDBRow(db *catalog.DBEntry, attr string, colData containers.Vector)
- func FillTableRow(table *catalog.TableEntry, attr string, colData containers.Vector)
- func InsertOp[T comparable](t types.Type, attr string, input any, start, count int, fromRow uint32, ...) (err error)
- func MakeReplayTxn(mgr *txnbase.TxnManager, ctx *txnbase.TxnCtx, lsn uint64, cmd *txnbase.TxnCmd, ...) *txnbase.Txn
- func NewInsertNode(tbl *txnTable, mgr base.INodeManager, id *common.ID, driver wal.Driver) *insertNode
- func NewSimpleTableIndex() *simpleTableIndex
- type AppendCmd
- func (c *AppendCmd) Close()
- func (c *AppendCmd) Desc() string
- func (c *AppendCmd) GetType() int16
- func (c *AppendCmd) Marshal() (buf []byte, err error)
- func (c *AppendCmd) ReadFrom(r io.Reader) (n int64, err error)
- func (c *AppendCmd) String() string
- func (c *AppendCmd) Unmarshal(buf []byte) error
- func (c *AppendCmd) VerboseString() string
- func (c *AppendCmd) WriteTo(w io.Writer) (n int64, err error)
- type InsertNode
- type TableIndex
Constants ¶
View Source
const ( TxnEntryCreateDatabase txnif.TxnEntryType = iota TxnEntryDropDatabase TxnEntryCretaeTable TxnEntryDropTable )
View Source
const ( ETInsertNode = entry.ETCustomizedStart + 1 + iota ETTxnRecord ETTxnState )
View Source
const ( NTInsert txnbase.NodeType = iota NTUpdate NTDelete NTCreateTable NTDropTable NTCreateDB NTDropDB )
View Source
const (
CmdAppend int16 = txnbase.CmdCustomized + iota
)
View Source
const ( // Note: Do not edit this id!!! LocalSegmentStartID uint64 = 1 << 47 )
Variables ¶
View Source
var (
ErrDuplicateNode = moerr.NewInternalError("tae: duplicate node")
)
View Source
var TxnFactory = func(catalog *catalog.Catalog) txnbase.TxnFactory { return func(mgr *txnbase.TxnManager, store txnif.TxnStore, txnId []byte, start types.TS, info []byte) txnif.AsyncTxn { return newTxnImpl(catalog, mgr, store, txnId, start, info) } }
View Source
var TxnStoreFactory = func( catalog *catalog.Catalog, driver wal.Driver, transferTable *model.HashPageTable, txnBufMgr base.INodeManager, dataFactory *tables.DataFactory) txnbase.TxnStoreFactory { return func() txnif.TxnStore { return newStore(catalog, driver, transferTable, txnBufMgr, dataFactory) } }
Functions ¶
func FillColumnRow ¶ added in v0.6.0
func FillColumnRow(table *catalog.TableEntry, attr string, colData containers.Vector)
func FillDBRow ¶ added in v0.6.0
func FillDBRow(db *catalog.DBEntry, attr string, colData containers.Vector)
func FillTableRow ¶ added in v0.6.0
func FillTableRow(table *catalog.TableEntry, attr string, colData containers.Vector)
func MakeReplayTxn ¶ added in v0.6.0
func NewInsertNode ¶
func NewSimpleTableIndex ¶
func NewSimpleTableIndex() *simpleTableIndex
Types ¶
type AppendCmd ¶
type AppendCmd struct {
*txnbase.BaseCustomizedCmd
*txnbase.ComposedCmd
Infos []*appendInfo
Ts types.TS
Node InsertNode
}
func NewAppendCmd ¶
func NewAppendCmd(id uint32, node InsertNode) *AppendCmd
func NewEmptyAppendCmd ¶
func NewEmptyAppendCmd() *AppendCmd
func (*AppendCmd) VerboseString ¶
type InsertNode ¶
type InsertNode interface {
base.INode
PrepareAppend(data *containers.Batch, offset uint32) (toAppend uint32)
Append(data *containers.Batch, offset uint32) (appended uint32, err error)
RangeDelete(start, end uint32) error
IsRowDeleted(row uint32) bool
PrintDeletes() string
FillColumnView(*model.ColumnView, *bytes.Buffer) error
Window(start, end uint32) (*containers.Batch, error)
GetSpace() uint32
Rows() uint32
GetValue(col int, row uint32) any
MakeCommand(uint32, bool) (txnif.TxnCmd, wal.LogEntry, error)
ToTransient()
AddApplyInfo(srcOff, srcLen, destOff, destLen uint32, dbid uint64, dest *common.ID) *appendInfo
RowsWithoutDeletes() uint32
LengthWithDeletes(appended, toAppend uint32) uint32
OffsetWithDeletes(count uint32) uint32
GetAppends() []*appendInfo
GetTxn() txnif.AsyncTxn
}
type TableIndex ¶
Click to show internal directories.
Click to hide internal directories.