@@ -436,7 +436,12 @@ func (dt *DomainRoTx) mergeFiles(ctx context.Context, domainFiles, indexFiles, h
436436 var cp CursorHeap
437437 heap .Init (& cp )
438438 for _ , item := range domainFiles {
439- g := dt .dataReader (item .decompressor )
439+ view , err := item .decompressor .OpenSequentialView ()
440+ if err != nil {
441+ return nil , nil , nil , err
442+ }
443+ defer view .Close ()
444+ g := seg .NewReader (view .MakeGetter (), dt .d .Compression )
440445 g .Reset (0 )
441446 if g .HasNext () {
442447 key , _ := g .Next (nil )
@@ -546,7 +551,7 @@ func (dt *DomainRoTx) mergeFiles(ctx context.Context, domainFiles, indexFiles, h
546551 }
547552 }
548553 if dt .d .Accessors .Has (statecfg .AccessorHashMap ) {
549- if err = dt .d .buildHashMapAccessor (ctx , fromStep , toStep , dt . dataReader ( valuesIn .decompressor ) , ps ); err != nil {
554+ if err = dt .d .buildHashMapAccessor (ctx , fromStep , toStep , valuesIn .decompressor , ps ); err != nil {
550555 return nil , nil , nil , fmt .Errorf ("merge %s buildHashMapAccessor [%d-%d]: %w" , dt .d .FilenameBase , r .values .from , r .values .to , err )
551556 }
552557 if valuesIn .index , err = dt .d .openHashMapAccessor (dt .d .kviAccessorNewFilePath (fromStep , toStep )); err != nil {
@@ -616,7 +621,12 @@ func (iit *InvertedIndexRoTx) mergeFiles(ctx context.Context, files []*FilesItem
616621 heap .Init (& cp )
617622
618623 for _ , item := range files {
619- g := iit .dataReader (item .decompressor )
624+ view , err := item .decompressor .OpenSequentialView ()
625+ if err != nil {
626+ return nil , err
627+ }
628+ defer view .Close ()
629+ g := seg .NewReader (view .MakeGetter (), iit .ii .Compression )
620630 g .Reset (0 )
621631 if g .HasNext () {
622632 key , _ := g .Next (nil )
@@ -720,7 +730,7 @@ func (iit *InvertedIndexRoTx) mergeFiles(ctx context.Context, files []*FilesItem
720730 }
721731 ps .Delete (p )
722732
723- if err := iit .ii .buildMapAccessor (ctx , fromStep , toStep , iit . dataReader ( outItem .decompressor ) , ps ); err != nil {
733+ if err := iit .ii .buildMapAccessor (ctx , fromStep , toStep , outItem .decompressor , ps ); err != nil {
724734 return nil , fmt .Errorf ("merge %s buildHashMapAccessor [%d-%d]: %w" , iit .ii .FilenameBase , startTxNum , endTxNum , err )
725735 }
726736 if outItem .index , err = iit .ii .openHashMapAccessor (iit .ii .efAccessorNewFilePath (fromStep , toStep )); err != nil {
@@ -791,7 +801,12 @@ func (ht *HistoryRoTx) mergeFiles(ctx context.Context, indexFiles, historyFiles
791801 var cp CursorHeap
792802 heap .Init (& cp )
793803 for _ , item := range indexFiles {
794- g := ht .iit .dataReader (item .decompressor )
804+ idxView , err := item .decompressor .OpenSequentialView ()
805+ if err != nil {
806+ return nil , nil , err
807+ }
808+ defer idxView .Close ()
809+ g := seg .NewReader (idxView .MakeGetter (), ht .h .InvertedIndex .Compression )
795810 g .Reset (0 )
796811 if g .HasNext () {
797812 var g2 * seg.PagedReader
@@ -803,7 +818,12 @@ func (ht *HistoryRoTx) mergeFiles(ctx context.Context, indexFiles, historyFiles
803818 compressedPageValuesCount = ht .h .HistoryValuesOnCompressedPage
804819 }
805820
806- g2 = seg .NewPagedReader (ht .dataReader (hi .decompressor ), compressedPageValuesCount , true )
821+ histView , err := hi .decompressor .OpenSequentialView ()
822+ if err != nil {
823+ return nil , nil , err
824+ }
825+ defer histView .Close ()
826+ g2 = seg .NewPagedReader (seg .NewReader (histView .MakeGetter (), ht .h .Compression ), compressedPageValuesCount , true )
807827 break
808828 }
809829 }
0 commit comments