aboutsummaryrefslogtreecommitdiff
path: root/format
diff options
context:
space:
mode:
Diffstat (limited to 'format')
-rw-r--r--format/pack/ingest/resolve.go17
-rw-r--r--format/pack/ingest/state.go4
-rw-r--r--format/pack/ingest/stream_scan.go2
-rw-r--r--format/pack/ingest/thin_fix.go2
4 files changed, 13 insertions, 12 deletions
diff --git a/format/pack/ingest/resolve.go b/format/pack/ingest/resolve.go
index c6336d18..6058a275 100644
--- a/format/pack/ingest/resolve.go
+++ b/format/pack/ingest/resolve.go
@@ -1,6 +1,7 @@
package ingest
import (
+ "bytes"
"errors"
"fmt"
"io"
@@ -45,7 +46,7 @@ func resolveAll(state *ingestState) error {
record.realType = ty
record.objectID = id
record.resolved = true
- state.objectToRecord[id.String()] = idx
+ state.objectToRecord[id] = idx
state.baseCache.add(idx, ty, content)
}
@@ -87,7 +88,7 @@ func resolveRecord(state *ingestState, idx int, visiting map[int]struct{}) (obje
record.objectID = id
record.realType = ty
record.resolved = true
- state.objectToRecord[id.String()] = idx
+ state.objectToRecord[id] = idx
state.baseCache.add(idx, ty, content)
return ty, content, nil
@@ -112,7 +113,7 @@ func resolveRecord(state *ingestState, idx int, visiting map[int]struct{}) (obje
return objecttype.TypeInvalid, nil, err
}
case objecttype.TypeRefDelta:
- baseIdx, ok := state.objectToRecord[record.baseObject.String()]
+ baseIdx, ok := state.objectToRecord[record.baseObject]
if ok {
baseType, baseContent, err = resolveRecord(state, baseIdx, visiting)
if err != nil {
@@ -140,7 +141,7 @@ func resolveRecord(state *ingestState, idx int, visiting map[int]struct{}) (obje
record.objectID = id
record.realType = ty
record.resolved = true
- state.objectToRecord[id.String()] = idx
+ state.objectToRecord[id] = idx
state.baseCache.add(idx, ty, content)
return ty, content, nil
@@ -258,21 +259,21 @@ func hashCanonicalObject(algo objectid.Algorithm, ty objecttype.Type, content []
// unresolvedThinBaseIDs returns sorted unique unresolved ref base IDs.
func unresolvedThinBaseIDs(state *ingestState) []objectid.ObjectID {
- seen := make(map[string]objectid.ObjectID)
+ seen := make(map[objectid.ObjectID]struct{})
for _, idx := range state.unresolvedRefDeltas {
record := state.records[idx]
if record.packedType != objecttype.TypeRefDelta {
continue
}
- seen[record.baseObject.String()] = record.baseObject
+ seen[record.baseObject] = struct{}{}
}
out := make([]objectid.ObjectID, 0, len(seen))
- for _, id := range seen {
+ for id := range seen {
out = append(out, id)
}
slices.SortFunc(out, func(a, b objectid.ObjectID) int {
- return slices.Compare(a.Bytes(), b.Bytes())
+ return bytes.Compare(a.RawBytes(), b.RawBytes())
})
return out
diff --git a/format/pack/ingest/state.go b/format/pack/ingest/state.go
index 7033a6f6..3fabe639 100644
--- a/format/pack/ingest/state.go
+++ b/format/pack/ingest/state.go
@@ -35,7 +35,7 @@ type ingestState struct {
refDeltas []refDeltaRef
unresolvedRefDeltas []int
offsetToRecord map[uint64]int
- objectToRecord map[string]int
+ objectToRecord map[objectid.ObjectID]int
baseCache *deltaBaseCache
packHash objectid.ObjectID
@@ -65,7 +65,7 @@ func newIngestState(
writeRev: writeRev,
base: base,
offsetToRecord: make(map[uint64]int),
- objectToRecord: make(map[string]int),
+ objectToRecord: make(map[objectid.ObjectID]int),
baseCache: newDeltaBaseCache(defaultDeltaBaseCacheMaxBytes),
}, nil
}
diff --git a/format/pack/ingest/stream_scan.go b/format/pack/ingest/stream_scan.go
index 49290c0e..524467be 100644
--- a/format/pack/ingest/stream_scan.go
+++ b/format/pack/ingest/stream_scan.go
@@ -127,7 +127,7 @@ func scanOneEntry(state *ingestState, startOffset uint64) (uint64, error) {
state.records = append(state.records, record)
state.offsetToRecord[record.offset] = recordIdx
if record.resolved {
- state.objectToRecord[record.objectID.String()] = recordIdx
+ state.objectToRecord[record.objectID] = recordIdx
}
switch record.packedType {
diff --git a/format/pack/ingest/thin_fix.go b/format/pack/ingest/thin_fix.go
index e605c3f2..436d5c88 100644
--- a/format/pack/ingest/thin_fix.go
+++ b/format/pack/ingest/thin_fix.go
@@ -98,7 +98,7 @@ func appendBaseObject(state *ingestState, id objectid.ObjectID, realType objectt
recordIdx := len(state.records)
state.records = append(state.records, record)
state.offsetToRecord[start] = recordIdx
- state.objectToRecord[id.String()] = recordIdx
+ state.objectToRecord[id] = recordIdx
state.baseCache.add(recordIdx, realType, content)
return recordIdx, nil