define
a.SET.1:1
a.SET.2:2
b.SET.1:1
b.DEL.2:
c.SET.1:1
c.MERGE.2:2
1.RANGEDEL.3:
2.RANGEKEYSET.4:
1.RANGEKEYDEL.3:
2.RANGEKEYUNSET.3:
----

# NB: The range keys get fragmented.

dump seq=0
----
a#1,1:2
a#0,1:1
b#3,0:
b#2,1:1
c#5,2:2
c#4,1:1
1-3:{(#6,RANGEDEL)}
1-2:{(#8,RANGEKEYDEL)}
2-3:{(#9,RANGEKEYUNSET,3) (#8,RANGEKEYDEL) (#7,RANGEKEYSET,4,4)}
3-4:{(#7,RANGEKEYSET,4,4)}

dump seq=100
----
a#101,1:2
a#100,1:1
b#103,0:
b#102,1:1
c#105,2:2
c#104,1:1
1-3:{(#106,RANGEDEL)}
1-2:{(#108,RANGEKEYDEL)}
2-3:{(#109,RANGEKEYUNSET,3) (#108,RANGEKEYDEL) (#107,RANGEKEYSET,4,4)}
3-4:{(#107,RANGEKEYSET,4,4)}

define
c.SET.1:1
b.SET.1:1
a.SET.1:1
----

dump seq=1000
----
a#1002,1:1
b#1001,1:1
c#1000,1:1

iter
first
next
next
next
----
a:1
b:1
c:1
.

iter
last
prev
prev
prev
----
c:1
b:1
a:1
.

iter lower=b
seek-ge b
prev
----
b:1
.

iter lower=c
seek-lt b
----
.

iter lower=e
last
----
.

iter upper=1
first
----
.

iter upper=b
first
next
----
a:1
.

iter upper=b
seek-ge b
----
.

iter
set-bounds lower=b
seek-ge b
prev
----
b:1
.

iter
set-bounds lower=c
seek-lt b
----
.

iter
set-bounds lower=e
last
----
.

iter
set-bounds upper=1
first
----
.

iter
set-bounds upper=b
first
next
----
a:1
.

iter
set-bounds upper=b
seek-ge b
----
.

iter
first
set-bounds upper=b
seek-ge b
----
a:1
.
