def ordered.merge.resolve
mylsm-lsm-store@0.6.0.1 · src/ByteMemTable.bend:561
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
561def ordered.merge.resolve(
562 decisions: Bool & Bool,
563 newer: List<&1, Entry>,
564 older: List<&1, Entry>,
565 reversed: List<&1, Entry>,
566 newer_key: Bytes.Bytes,
567 newer_value: Maybe<&1, Bytes.Bytes>,
568 older_key: Bytes.Bytes,
569 older_value: Maybe<&1, Bytes.Bytes>
570) -> OrderedMergeState:
571 match decisions:
572 case (take_newer, equal):
573 match take_newer:
574 case True{}:
575 match equal:
576 case True{}:
577 OrderedMergeState{newer, older,
578 Con{Entry{newer_key, newer_value}, reversed}}
579 case False{}:
580 OrderedMergeState{newer,
581 Con{Entry{older_key, older_value}, older},
582 Con{Entry{newer_key, newer_value}, reversed}}
583 case False{}:
584 OrderedMergeState{
585 Con{Entry{newer_key, newer_value}, newer}, older,
586 Con{Entry{older_key, older_value}, reversed}}