# Starting sequence number. Each file increments the sequence number.

starting-seqnum
42
----

# Point keys only (no range dels).

load
a.SET.0:
b.SET.0:
c.SET.0:
----
file 0

# Point keys only (range del lower bound).

load
Span: a-b:{(#0,RANGEDEL)}
c.SET.0:
----
file 1

# Point keys only (range del upper bound).

load
a.SET.0:
Span: b-c:{(#0,RANGEDEL)}
----
file 2

# Update the sequence numbers across all three files.
# NB: the sequence numbers are expected to increment by one from the starting
# sequence number, for each file.

update-files
----
file 0:
  combined: a#42,SET-c#42,SET
    points: a#42,SET-c#42,SET
file 1:
  combined: a#43,RANGEDEL-c#43,SET
    points: a#43,RANGEDEL-c#43,SET
file 2:
  combined: a#44,SET-c#inf,RANGEDEL
    points: a#44,SET-c#inf,RANGEDEL

# Reset to the starting sequence number and reset the slice of files. The
# following tests consider a single file at a time.

# Range keys only.

reset
----

load
Span: a-c:{#0,RANGEKEYSET,@1,foo)}
----
file 0

update-files
----
file 0:
  combined: a#42,RANGEKEYSET-c#inf,RANGEKEYSET
    points: #0,DEL-#0,DEL
    ranges: a#42,RANGEKEYSET-c#inf,RANGEKEYSET

# Combined point and range keys (point key lower and upper bound).

reset
----

load
a.SET.0:
Span: b-c:{#0,RANGEKEYSET,@1,foo)}
d.SET.0:
----
file 0

update-files
----
file 0:
  combined: a#42,SET-d#42,SET
    points: a#42,SET-d#42,SET
    ranges: b#42,RANGEKEYSET-c#inf,RANGEKEYSET

# Combined point and range keys (point key lower and range key upper bound).

reset
----

load
a.SET.0:
Span: b-c:{(#0,RANGEKEYSET,@1,foo)}
----
file 0

update-files
----
file 0:
  combined: a#42,SET-c#inf,RANGEKEYSET
    points: a#42,SET-a#42,SET
    ranges: b#42,RANGEKEYSET-c#inf,RANGEKEYSET

# Combined point and range keys (range key lower and point key upper bound).

reset
----

load
Span: a-c:{#0,RANGEKEYSET,@1,foo)}
d.SET.0:
----
file 0

update-files
----
file 0:
  combined: a#42,RANGEKEYSET-d#42,SET
    points: d#42,SET-d#42,SET
    ranges: a#42,RANGEKEYSET-c#inf,RANGEKEYSET

# Combined point and range keys (range key lower and upper bound).

reset
----

load
Span: a-d:{#0,RANGEKEYSET,@1,foo)}
c.SET.0:
----
file 0

update-files
----
file 0:
  combined: a#42,RANGEKEYSET-d#inf,RANGEKEYSET
    points: c#42,SET-c#42,SET
    ranges: a#42,RANGEKEYSET-d#inf,RANGEKEYSET
