mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-10-31 21:47:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			244 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			244 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-set a d @8 boop
 | |
| set a@2 a@2
 | |
| set a@3 a@3
 | |
| set a@9 a@9
 | |
| set a@10 a@10
 | |
| set b b
 | |
| ----
 | |
| committed 6 keys
 | |
| 
 | |
| combined-iter
 | |
| seek-prefix-ge a
 | |
| next
 | |
| next
 | |
| next
 | |
| next
 | |
| next
 | |
| ----
 | |
| a: (., [a-"a\x00") @8=boop UPDATED)
 | |
| a@10: (a@10, [a-"a\x00") @8=boop)
 | |
| a@9: (a@9, [a-"a\x00") @8=boop)
 | |
| a@3: (a@3, [a-"a\x00") @8=boop)
 | |
| a@2: (a@2, [a-"a\x00") @8=boop)
 | |
| .
 | |
| 
 | |
| # Perform the above iteration with range-key masking enabled at a suffix equal
 | |
| # to the range key's. The [a,d)@8 range key should serve as a masking, obscuring
 | |
| # the points a@3 and a@2.
 | |
| 
 | |
| combined-iter mask-suffix=@8
 | |
| seek-prefix-ge a
 | |
| next
 | |
| next
 | |
| next
 | |
| ----
 | |
| a: (., [a-"a\x00") @8=boop UPDATED)
 | |
| a@10: (a@10, [a-"a\x00") @8=boop)
 | |
| a@9: (a@9, [a-"a\x00") @8=boop)
 | |
| .
 | |
| 
 | |
| # Perform the same thing but with a mask suffix below the range key's. All the
 | |
| # points should be visible again.
 | |
| #
 | |
| # Then use SetOptions to raise the mask. The masked points should disappear.
 | |
| 
 | |
| combined-iter mask-suffix=@7
 | |
| seek-prefix-ge a
 | |
| next
 | |
| next
 | |
| next
 | |
| next
 | |
| next
 | |
| set-options key-types=both mask-suffix=@8
 | |
| seek-prefix-ge a
 | |
| next
 | |
| next
 | |
| next
 | |
| ----
 | |
| a: (., [a-"a\x00") @8=boop UPDATED)
 | |
| a@10: (a@10, [a-"a\x00") @8=boop)
 | |
| a@9: (a@9, [a-"a\x00") @8=boop)
 | |
| a@3: (a@3, [a-"a\x00") @8=boop)
 | |
| a@2: (a@2, [a-"a\x00") @8=boop)
 | |
| .
 | |
| .
 | |
| a: (., [a-"a\x00") @8=boop UPDATED)
 | |
| a@10: (a@10, [a-"a\x00") @8=boop)
 | |
| a@9: (a@9, [a-"a\x00") @8=boop)
 | |
| .
 | |
| 
 | |
| # Test that switching out of prefix iteration correctly expands the bounds
 | |
| # beyond the scope of the previous prefix.
 | |
| 
 | |
| combined-iter
 | |
| seek-prefix-ge a
 | |
| next
 | |
| seek-ge a@3
 | |
| ----
 | |
| a: (., [a-"a\x00") @8=boop UPDATED)
 | |
| a@10: (a@10, [a-"a\x00") @8=boop)
 | |
| a@3: (a@3, [a-d) @8=boop UPDATED)
 | |
| 
 | |
| # Test a range key masking case where the range key is not immediately
 | |
| # masking point keys, but masks point keys once positioned beneath it.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-set d e @5 boop
 | |
| set a@1 a1
 | |
| set b@3 b3
 | |
| set d@3 d3
 | |
| ----
 | |
| committed 4 keys
 | |
| 
 | |
| combined-iter mask-suffix=@9
 | |
| first
 | |
| next
 | |
| next
 | |
| next
 | |
| ----
 | |
| a@1: (a1, .)
 | |
| b@3: (b3, .)
 | |
| d: (., [d-e) @5=boop UPDATED)
 | |
| .
 | |
| 
 | |
| # Test a broad range key that masks all the point keys.
 | |
| 
 | |
| reset block-size=20
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-set a z @5 boop
 | |
| set a@1 foo
 | |
| set b@3 foo
 | |
| set c@3 foo
 | |
| set d@1 foo
 | |
| set e@3 foo
 | |
| set f@3 foo
 | |
| set g@2 foo
 | |
| set h@2 foo
 | |
| set i@2 foo
 | |
| set j@2 foo
 | |
| set k@0 foo
 | |
| set l@2 foo
 | |
| set m@1 foo
 | |
| set n@3 foo
 | |
| set o@4 foo
 | |
| set p@2 foo
 | |
| set q@2 foo
 | |
| set r@1 foo
 | |
| set s@2 foo
 | |
| set t@3 foo
 | |
| set u@2 foo
 | |
| set v@0 foo
 | |
| set w@0 foo
 | |
| set x@2 foo
 | |
| set y@4 foo
 | |
| ----
 | |
| committed 26 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| combined-iter mask-suffix=@9
 | |
| first
 | |
| next
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
 | |
| (internal-stats: (block-bytes: (total 1.1KB, cached 0B, read-time 0s)), (points: (count 25, key-bytes 75B, value-bytes 75B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 25, skipped 25)))
 | |
| 
 | |
| # Repeat the above test, but with an iterator that uses a block-property filter
 | |
| # mask. The internal stats should reflect fewer bytes read and fewer points
 | |
| # visited by the internal iterators.
 | |
| 
 | |
| combined-iter mask-suffix=@9 mask-filter
 | |
| first
 | |
| next
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
 | |
| (internal-stats: (block-bytes: (total 514B, cached 514B, read-time 0s)), (points: (count 2, key-bytes 6B, value-bytes 6B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 2, skipped 2)))
 | |
| 
 | |
| # Perform a similar comparison in reverse.
 | |
| 
 | |
| combined-iter mask-suffix=@9
 | |
| last
 | |
| prev
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
 | |
| (internal-stats: (block-bytes: (total 1.1KB, cached 1.1KB, read-time 0s)), (points: (count 25, key-bytes 75B, value-bytes 75B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 25, skipped 25)))
 | |
| 
 | |
| combined-iter mask-suffix=@9 mask-filter
 | |
| last
 | |
| prev
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
 | |
| (internal-stats: (block-bytes: (total 514B, cached 514B, read-time 0s)), (points: (count 2, key-bytes 6B, value-bytes 6B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 2, skipped 2)))
 | |
| 
 | |
| # Perform similar comparisons with seeks.
 | |
| 
 | |
| combined-iter mask-suffix=@9
 | |
| seek-ge m
 | |
| next
 | |
| stats
 | |
| ----
 | |
| m: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
 | |
| (internal-stats: (block-bytes: (total 789B, cached 789B, read-time 0s)), (points: (count 13, key-bytes 39B, value-bytes 39B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 13, skipped 13)))
 | |
| 
 | |
| combined-iter mask-suffix=@9 mask-filter
 | |
| seek-ge m
 | |
| next
 | |
| stats
 | |
| ----
 | |
| m: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
 | |
| (internal-stats: (block-bytes: (total 514B, cached 514B, read-time 0s)), (points: (count 2, key-bytes 6B, value-bytes 6B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 2, skipped 2)))
 | |
| 
 | |
| combined-iter mask-suffix=@9
 | |
| seek-lt m
 | |
| prev
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
 | |
| (internal-stats: (block-bytes: (total 789B, cached 789B, read-time 0s)), (points: (count 12, key-bytes 36B, value-bytes 36B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 12, skipped 12)))
 | |
| 
 | |
| combined-iter mask-suffix=@9 mask-filter
 | |
| seek-lt m
 | |
| prev
 | |
| stats
 | |
| ----
 | |
| a: (., [a-z) @5=boop UPDATED)
 | |
| .
 | |
| stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
 | |
| (internal-stats: (block-bytes: (total 539B, cached 539B, read-time 0s)), (points: (count 2, key-bytes 6B, value-bytes 6B, tombstoned 0))),
 | |
| (range-key-stats: (count 1), (contained points: (count 2, skipped 2)))
 | 
