rc2
This commit is contained in:
@@ -378,10 +378,6 @@ func (s *Atree) AppendDataPage(req AppendDataPageReq) (_ redo.Report, err error)
|
||||
return
|
||||
}
|
||||
|
||||
// На данний момен схема - наступна. Всі сторінки - data та index - зафіксовані в кеші.
|
||||
// Отже запис на диск пройде максимально швидко. Після цього ReferenceCount кожної
|
||||
// сторінки зменшиться на 1. Оскільки на метрику утримується XLock, сторінки мають
|
||||
// ReferenceCount = 1 (немає інших читачів).
|
||||
waitCh := make(chan struct{})
|
||||
|
||||
task := WriteTask{
|
||||
|
||||
@@ -7,8 +7,9 @@ import (
|
||||
)
|
||||
|
||||
type ContinueFullScanReq struct {
|
||||
MetricType diploma.MetricType
|
||||
FracDigits byte
|
||||
ResponseWriter AtreeMeasureConsumer
|
||||
ResponseWriter diploma.AtreeMeasureConsumer
|
||||
LastPageNo uint32
|
||||
}
|
||||
|
||||
@@ -23,7 +24,7 @@ func (s *Atree) ContinueFullScan(req ContinueFullScanReq) error {
|
||||
PageData: buf,
|
||||
Atree: s,
|
||||
FracDigits: req.FracDigits,
|
||||
MetricType: diploma.Instant,
|
||||
MetricType: req.MetricType,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -43,8 +44,9 @@ func (s *Atree) ContinueFullScan(req ContinueFullScanReq) error {
|
||||
}
|
||||
|
||||
type ContinueRangeScanReq struct {
|
||||
MetricType diploma.MetricType
|
||||
FracDigits byte
|
||||
ResponseWriter AtreeMeasureConsumer
|
||||
ResponseWriter diploma.AtreeMeasureConsumer
|
||||
LastPageNo uint32
|
||||
Since uint32
|
||||
}
|
||||
@@ -60,7 +62,7 @@ func (s *Atree) ContinueRangeScan(req ContinueRangeScanReq) error {
|
||||
PageData: buf,
|
||||
Atree: s,
|
||||
FracDigits: req.FracDigits,
|
||||
MetricType: diploma.Instant,
|
||||
MetricType: req.MetricType,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -83,8 +85,9 @@ func (s *Atree) ContinueRangeScan(req ContinueRangeScanReq) error {
|
||||
}
|
||||
|
||||
type RangeScanReq struct {
|
||||
MetricType diploma.MetricType
|
||||
FracDigits byte
|
||||
ResponseWriter AtreeMeasureConsumer
|
||||
ResponseWriter diploma.AtreeMeasureConsumer
|
||||
RootPageNo uint32
|
||||
Since uint32
|
||||
Until uint32
|
||||
@@ -101,7 +104,7 @@ func (s *Atree) RangeScan(req RangeScanReq) error {
|
||||
PageData: buf,
|
||||
Atree: s,
|
||||
FracDigits: req.FracDigits,
|
||||
MetricType: diploma.Instant,
|
||||
MetricType: req.MetricType,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -117,11 +120,12 @@ func (s *Atree) RangeScan(req RangeScanReq) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
//fmt.Printf("atree range scan: %s, %v\n", time.Unix(int64(timestamp), 0).Format("2006-01-02 15:04:05"), value)
|
||||
|
||||
if timestamp <= req.Until {
|
||||
req.ResponseWriter.Feed(timestamp, value)
|
||||
|
||||
if timestamp < req.Since {
|
||||
// - записи, удовлетворяющие временным рамкам, закончились.
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package atree
|
||||
|
||||
type PeriodsWriter interface {
|
||||
Feed(uint32, float64)
|
||||
FeedNoSend(uint32, float64)
|
||||
Close() error
|
||||
}
|
||||
|
||||
type WorkerMeasureConsumer interface {
|
||||
FeedNoSend(uint32, float64)
|
||||
}
|
||||
|
||||
type AtreeMeasureConsumer interface {
|
||||
Feed(uint32, float64)
|
||||
}
|
||||
Reference in New Issue
Block a user