Record
typeRecord is v1's shape: Score widened to int64 and scaled by 1000, plus a new Active flag that migrated records get set to true.
Value
v1.Record
records
*v0.Tree- OID
- 05a1c0…c897:4
records details
init.2
func()- OID
- 05a1c0…c897:6
init.2 details
migrate
func(old *v0.Record) *v1.Recordmigrate converts a v0 record into a v1 one. Kept separate from Get so the conversion is testable without a write.
- OID
- 05a1c0…c897:8
migrate details
Get
func(key string) *v1.RecordGet returns a record, migrating it from v0 on first touch. Crossing, because the migration writes. That is the cost of the pattern: the cheapest possible read is now a transaction.
- OID
- 05a1c0…c897:9
Get details
Peek
func(key string) *v1.RecordPeek is the read-only half: it never migrates, so a record that has not been touched yet reads as its v0 self converted on the fly and NOT stored.
- OID
- 05a1c0…c897:10
Peek details
Migrated
func() intMigrated is how many records have actually moved over.
- OID
- 05a1c0…c897:11
Migrated details
Pending
func() intPending is how many v0 records have never been touched. It is only a bound: v0 keeps every record it ever had, migrated or not.
- OID
- 05a1c0…c897:12
Pending details
Render
func(string) string- OID
- 05a1c0…c897:13