mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-11-03 01:37:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			318 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			318 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
define auto-compactions=off
 | 
						|
L0
 | 
						|
  a.SET.4:4
 | 
						|
L1
 | 
						|
  a.SET.3:3
 | 
						|
L2
 | 
						|
  d.SET.2:2
 | 
						|
L3
 | 
						|
  b.SET.1:1
 | 
						|
  c.SET.1:1
 | 
						|
  d.SET.1:1
 | 
						|
  e.SET.1:1
 | 
						|
----
 | 
						|
0.0:
 | 
						|
  000004:[a#4,SET-a#4,SET]
 | 
						|
1:
 | 
						|
  000005:[a#3,SET-a#3,SET]
 | 
						|
2:
 | 
						|
  000006:[d#2,SET-d#2,SET]
 | 
						|
3:
 | 
						|
  000007:[b#1,SET-e#1,SET]
 | 
						|
 | 
						|
# Simple case: three successive seeks, at increasing keys. Should use
 | 
						|
# trySeekUsingNext.
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge a
 | 
						|
----
 | 
						|
a: (4, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 0
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge b
 | 
						|
----
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 2
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge c
 | 
						|
----
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 3, 0), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
# Seek at a lower key. Should not call with trySeekUsingNext = true.
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge bb
 | 
						|
----
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 4, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 4, 0), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
# Seek at a greater key than last seek, but lands on the same key. Should
 | 
						|
# not call internalIterator at all.
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge bbb
 | 
						|
----
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 5, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 4, 0), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
# A step followed by a seek should not call with trySeekUsingNext = true.
 | 
						|
 | 
						|
iter
 | 
						|
next
 | 
						|
seek-ge e
 | 
						|
----
 | 
						|
d: (2, .)
 | 
						|
e: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 6, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 5, 1), (rev, 0, 0))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
iter
 | 
						|
prev
 | 
						|
seek-ge b
 | 
						|
----
 | 
						|
d: (2, .)
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 7, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 6, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
# SeekPrefixGE simple case.
 | 
						|
 | 
						|
iter
 | 
						|
seek-prefix-ge a
 | 
						|
----
 | 
						|
a: (4, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 8, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 7, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 0
 | 
						|
 | 
						|
iter
 | 
						|
seek-prefix-ge b
 | 
						|
----
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 9, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 8, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 2
 | 
						|
 | 
						|
iter
 | 
						|
seek-prefix-ge c
 | 
						|
----
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 10, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 9, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
# Seek at a lower key. Should not call with trySeekUsingNext = true.
 | 
						|
 | 
						|
iter
 | 
						|
seek-prefix-ge bb
 | 
						|
----
 | 
						|
.
 | 
						|
stats: (interface (dir, seek, step): (fwd, 11, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 10, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
# Shifting bounds followed by SeekGEs. The one immediately after a bounds change
 | 
						|
# does not use trySeekUsingNext, but successive ones do (while still respecting
 | 
						|
# bounds).
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=a upper=aa
 | 
						|
seek-ge a
 | 
						|
----
 | 
						|
.
 | 
						|
a: (4, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 12, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 11, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=a upper=c
 | 
						|
seek-ge b
 | 
						|
----
 | 
						|
.
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 13, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 12, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 4
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge bb
 | 
						|
----
 | 
						|
.
 | 
						|
stats: (interface (dir, seek, step): (fwd, 14, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 13, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 5
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=a upper=d
 | 
						|
seek-ge bbb
 | 
						|
----
 | 
						|
.
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 15, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 14, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 5
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
seek-ge cc
 | 
						|
----
 | 
						|
.
 | 
						|
stats: (interface (dir, seek, step): (fwd, 16, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 15, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 6
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
# Shifting bounds, with non-overlapping and monotonic bounds. A set-bounds sits
 | 
						|
# between every two seeks. We don't call trySeekUsingNext=true when the bounds
 | 
						|
# are set to unequal bounds, but the results are still correct and within
 | 
						|
# bounds. We do call trySeekUsingNext=true when the set bounds are identical.
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=a upper=c
 | 
						|
seek-ge b
 | 
						|
----
 | 
						|
.
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 17, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 16, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 6
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=c upper=e
 | 
						|
seek-ge c
 | 
						|
----
 | 
						|
.
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 18, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 17, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 6
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
# NB: Equal bounds.
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=c upper=e
 | 
						|
seek-ge d
 | 
						|
----
 | 
						|
.
 | 
						|
d: (2, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 19, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 18, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=a upper=c
 | 
						|
seek-prefix-ge b
 | 
						|
----
 | 
						|
.
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 20, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 19, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=c upper=e
 | 
						|
seek-prefix-ge c
 | 
						|
----
 | 
						|
.
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 21, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 20, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 4
 | 
						|
 | 
						|
# NB: Equal bounds.
 | 
						|
 | 
						|
iter
 | 
						|
set-bounds lower=c upper=e
 | 
						|
seek-prefix-ge d
 | 
						|
----
 | 
						|
.
 | 
						|
d: (2, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 22, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 21, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
# Shifting bounds, with non-overlapping and monotonic bounds, but using
 | 
						|
# SetOptions. A set-options sits between every two seeks. We don't call
 | 
						|
# trySeekUsingNext=true when the bounds are set to unequal bounds, but the
 | 
						|
# results are still correct and within bounds. We do call trySeekUsingNext=true
 | 
						|
# when the set bounds are identical.
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=a upper=c
 | 
						|
seek-ge b
 | 
						|
----
 | 
						|
.
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 23, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 22, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=c upper=e
 | 
						|
seek-ge c
 | 
						|
----
 | 
						|
.
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 24, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 23, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 8
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
# NB: Equal bounds.
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=c upper=e
 | 
						|
seek-ge d
 | 
						|
----
 | 
						|
.
 | 
						|
d: (2, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 25, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 24, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 10
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=a upper=c
 | 
						|
seek-prefix-ge b
 | 
						|
----
 | 
						|
.
 | 
						|
b: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 26, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 25, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 10
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=c upper=e
 | 
						|
seek-prefix-ge c
 | 
						|
----
 | 
						|
.
 | 
						|
c: (1, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 27, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 26, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 10
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 6
 | 
						|
 | 
						|
# NB: Equal bounds.
 | 
						|
 | 
						|
iter
 | 
						|
set-options lower=c upper=e
 | 
						|
seek-prefix-ge d
 | 
						|
----
 | 
						|
.
 | 
						|
d: (2, .)
 | 
						|
stats: (interface (dir, seek, step): (fwd, 28, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 27, 1), (rev, 0, 3))
 | 
						|
SeekGEs with trySeekUsingNext: 10
 | 
						|
SeekPrefixGEs with trySeekUsingNext: 8
 |