wp
This commit is contained in:
@@ -53,7 +53,8 @@ type MetricsState struct {
|
||||
}
|
||||
|
||||
type Changes struct {
|
||||
Records []any
|
||||
Commits []any
|
||||
// for snapshot only
|
||||
SnapshotNumberCh chan int // log number
|
||||
FrozenIndexPagesCount int
|
||||
IndexPageNumbers []uint32
|
||||
@@ -62,13 +63,12 @@ type Changes struct {
|
||||
}
|
||||
|
||||
type Writer struct {
|
||||
mutex sync.Mutex
|
||||
dataPagesCount uint32
|
||||
indexPagesCount uint32
|
||||
dataFreeList *freelist.FreeList
|
||||
indexFreeList *freelist.FreeList
|
||||
atree *atree.Atree
|
||||
//logNumber int
|
||||
mutex sync.Mutex
|
||||
dataPagesCount uint32
|
||||
indexPagesCount uint32
|
||||
dataFreeList *freelist.FreeList
|
||||
indexFreeList *freelist.FreeList
|
||||
atree *atree.Atree
|
||||
dir string
|
||||
w *bytes.Buffer // wal буфер для упаковки даних перед записом на диск
|
||||
wal *os.File
|
||||
@@ -79,12 +79,11 @@ type Writer struct {
|
||||
input []any
|
||||
dataPreparer *WritePreparer
|
||||
appendToWorkerQueue func(any)
|
||||
//lsn uint32
|
||||
written int64
|
||||
isExited bool
|
||||
exitCh chan struct{}
|
||||
waitGroup *sync.WaitGroup
|
||||
signalCh chan struct{}
|
||||
written int64
|
||||
isExited bool
|
||||
exitCh chan struct{}
|
||||
waitGroup *sync.WaitGroup
|
||||
signalCh chan struct{}
|
||||
}
|
||||
|
||||
type WriterOptions struct {
|
||||
@@ -259,7 +258,7 @@ func (s *Writer) packAndWrite() (err error) {
|
||||
snapshotNumberCh := make(chan int, 1)
|
||||
|
||||
s.appendToWorkerQueue(Changes{
|
||||
Records: prepared.Commits,
|
||||
Commits: prepared.Commits,
|
||||
SnapshotNumberCh: snapshotNumberCh,
|
||||
FrozenIndexPagesCount: s.indexFreeList.Pages(),
|
||||
IndexPageNumbers: s.indexFreeList.Cached(),
|
||||
@@ -290,7 +289,7 @@ func (s *Writer) packAndWrite() (err error) {
|
||||
}
|
||||
} else {
|
||||
s.appendToWorkerQueue(Changes{
|
||||
Records: prepared.Commits,
|
||||
Commits: prepared.Commits,
|
||||
})
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user