mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-11-01 08:57:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			465 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			465 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-set a c @5 boop
 | |
| range-key-set c e @5 beep
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| snapshot name=foo
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set b d
 | |
| set e foo
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| file-only-snapshot efos1
 | |
|   b g
 | |
| ----
 | |
| ok
 | |
| 
 | |
| # EFOS work with scan-internal.
 | |
| 
 | |
| scan-internal file-only-snapshot=efos1
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b#12,1 (d)
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| e#13,1 (foo)
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b#12,1 (d)
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| e#13,1 (foo)
 | |
| 
 | |
| # Keys deleted by rangedels are elided.
 | |
| 
 | |
| batch commit
 | |
| del-range b d
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b-d#14,RANGEDEL
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| e#13,1 (foo)
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b-d#14,RANGEDEL
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| e#13,1 (foo)
 | |
| 
 | |
| # Snapshots work with scan internal.
 | |
| 
 | |
| scan-internal snapshot=foo
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| 
 | |
| wait-for-file-only-snapshot efos1
 | |
| ----
 | |
| ok
 | |
| 
 | |
| scan-internal file-only-snapshot=efos1
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b#12,1 (d)
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| e#13,1 (foo)
 | |
| 
 | |
| # Force keys newer than the snapshot into a lower level, then try skip-shared
 | |
| # iteration through it. This should return an error as it would expose keys
 | |
| # newer than the snapshot in the shared sstable.
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000008:[a#10,RANGEKEYSET-e#13,SET]
 | |
| 
 | |
| lsm
 | |
| ----
 | |
| 6:
 | |
|   000008:[a#10,RANGEKEYSET-e#13,SET]
 | |
| 
 | |
| scan-internal lower=a upper=z skip-shared snapshot=foo
 | |
| ----
 | |
| file 000008 contains keys newer than snapshot: pebble: cannot use skip-shared iteration due to non-shareable files in lower levels
 | |
| 
 | |
| # Range keys and range dels are truncated to [lower,upper).
 | |
| 
 | |
| scan-internal lower=bb upper=dd
 | |
| ----
 | |
| bb-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| bb-d#14,RANGEDEL
 | |
| c-dd:{(#0,RANGEKEYSET,@5,beep)}
 | |
| 
 | |
| scan-internal lower=b upper=cc
 | |
| ----
 | |
| b-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b-cc#14,RANGEDEL
 | |
| c-cc:{(#0,RANGEKEYSET,@5,beep)}
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| # Range key unsets and dels are allowed to delete keys they observe, however
 | |
| # the unset/del must also be returned to the user.
 | |
| 
 | |
| batch commit
 | |
| range-key-set a c @8
 | |
| range-key-set b e @6
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#10,RANGEKEYSET-e#inf,RANGEKEYSET]
 | |
| 
 | |
| batch commit
 | |
| range-key-unset b d @6
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-del a b
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-b:{(#0,RANGEKEYDEL)}
 | |
| b-c:{(#0,RANGEKEYSET,@8) (#0,RANGEKEYUNSET,@6)}
 | |
| c-d:{(#0,RANGEKEYUNSET,@6)}
 | |
| d-e:{(#0,RANGEKEYSET,@6)}
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| lsm
 | |
| ----
 | |
| 0.0:
 | |
|   000009:[a#13,RANGEKEYDEL-b#inf,RANGEKEYDEL]
 | |
|   000007:[b#12,RANGEKEYUNSET-d#inf,RANGEKEYUNSET]
 | |
| 6:
 | |
|   000005:[a#10,RANGEKEYSET-e#inf,RANGEKEYSET]
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-b:{(#0,RANGEKEYDEL)}
 | |
| b-c:{(#0,RANGEKEYSET,@8) (#0,RANGEKEYUNSET,@6)}
 | |
| c-d:{(#0,RANGEKEYUNSET,@6)}
 | |
| d-e:{(#0,RANGEKEYSET,@6)}
 | |
| 
 | |
| batch ingest
 | |
| range-key-set e f @3
 | |
| range-key-unset f g @3
 | |
| ----
 | |
| wrote 2 keys to batch ""
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-b:{(#0,RANGEKEYDEL)}
 | |
| b-c:{(#0,RANGEKEYSET,@8) (#0,RANGEKEYUNSET,@6)}
 | |
| c-d:{(#0,RANGEKEYUNSET,@6)}
 | |
| d-e:{(#0,RANGEKEYSET,@6)}
 | |
| e-f:{(#0,RANGEKEYSET,@3)}
 | |
| f-g:{(#0,RANGEKEYUNSET,@3)}
 | |
| 
 | |
| batch ingest
 | |
| range-key-unset e f @3
 | |
| range-key-set f g @3
 | |
| ----
 | |
| wrote 2 keys to batch ""
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-b:{(#0,RANGEKEYDEL)}
 | |
| b-c:{(#0,RANGEKEYSET,@8) (#0,RANGEKEYUNSET,@6)}
 | |
| c-d:{(#0,RANGEKEYUNSET,@6)}
 | |
| d-e:{(#0,RANGEKEYSET,@6)}
 | |
| e-f:{(#0,RANGEKEYUNSET,@3)}
 | |
| f-g:{(#0,RANGEKEYSET,@3)}
 | |
| 
 | |
| # Range key masking is not exercised, with range keys that could mask point
 | |
| # keys being returned alongside point keys.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set b@3 bar
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| batch commit
 | |
| range-key-set a c @5 boop
 | |
| range-key-set c e @5 beep
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b@3#10,1 (bar)
 | |
| c-e:{(#0,RANGEKEYSET,@5,beep)}
 | |
| 
 | |
| # Point keys are collapsed in a way similar to a compaction.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set b@3 bar
 | |
| set c foo
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| b@3#10,1 (bar)
 | |
| c#11,1 (foo)
 | |
| 
 | |
| batch commit
 | |
| set b@3 barfoo
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| b@3#12,1 (barfoo)
 | |
| c#11,1 (foo)
 | |
| 
 | |
| batch commit
 | |
| set b@3 baz
 | |
| del c
 | |
| set d@4 bar
 | |
| ----
 | |
| committed 3 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| b@3#13,1 (baz)
 | |
| c#14,0 ()
 | |
| d@4#15,1 (bar)
 | |
| 
 | |
| batch commit
 | |
| set f barbaz
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| b@3#13,1 (baz)
 | |
| c#14,0 ()
 | |
| d@4#15,1 (bar)
 | |
| f#16,1 (barbaz)
 | |
| 
 | |
| # Skip-shared iteration mode. Test truncation of range key at scan bounds.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set b@3 bar
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| batch commit
 | |
| range-key-set a c @5 boop
 | |
| del-range c e
 | |
| ----
 | |
| committed 2 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#11,RANGEKEYSET-e#inf,RANGEDEL]
 | |
| 
 | |
| batch commit
 | |
| set f@8 baz
 | |
| ----
 | |
| committed 1 keys
 | |
| 
 | |
| lsm
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#11,RANGEKEYSET-e#inf,RANGEDEL]
 | |
| 
 | |
| scan-internal
 | |
| ----
 | |
| a-c:{(#0,RANGEKEYSET,@5,boop)}
 | |
| b@3#10,1 (bar)
 | |
| c-e#12,RANGEDEL
 | |
| f@8#13,1 (baz)
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=z
 | |
| ----
 | |
| shared file: 000005 [a#11,21-e#72057594037927935,15] [point=b@3#10,1-e#72057594037927935,15] [range=a#11,21-c#72057594037927935,21]
 | |
| f@8#13,1 (baz)
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=e
 | |
| ----
 | |
| shared file: 000005 [a#11,21-e#72057594037927935,15] [point=b@3#10,1-e#72057594037927935,15] [range=a#11,21-c#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=d
 | |
| ----
 | |
| shared file: 000005 [a#11,21-d#72057594037927935,15] [point=b@3#10,1-d#72057594037927935,15] [range=a#11,21-c#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=c
 | |
| ----
 | |
| shared file: 000005 [a#11,21-c#72057594037927935,21] [point=b@3#10,1-b@3#10,1] [range=a#11,21-c#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=b
 | |
| ----
 | |
| shared file: 000005 [a#11,21-b#72057594037927935,21] [point=#0,0-#0,0] [range=a#11,21-b#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=b upper=z
 | |
| ----
 | |
| shared file: 000005 [b#11,21-e#72057594037927935,15] [point=b@3#10,1-e#72057594037927935,15] [range=b#11,21-c#72057594037927935,21]
 | |
| f@8#13,1 (baz)
 | |
| 
 | |
| scan-internal skip-shared lower=b upper=bb
 | |
| ----
 | |
| shared file: 000005 [b#11,21-bb#72057594037927935,21] [point=b@3#10,1-b@3#10,1] [range=b#11,21-bb#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=e upper=ff
 | |
| ----
 | |
| f@8#13,1 (baz)
 | |
| 
 | |
| # Shared files that don't have any keys in [lower, upper) are ignored.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set a foo
 | |
| set f bar
 | |
| del-range b c
 | |
| range-key-set e ee @5 boop
 | |
| ----
 | |
| committed 4 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#10,SET-f#11,SET]
 | |
| 
 | |
| lsm
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#10,SET-f#11,SET]
 | |
| 
 | |
| scan-internal skip-shared lower=c upper=d
 | |
| ----
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=d
 | |
| ----
 | |
| shared file: 000005 [a#10,1-c#72057594037927935,15] [point=a#10,1-c#72057594037927935,15] [range=#0,0-#0,0]
 | |
| 
 | |
| scan-internal skip-shared lower=bb upper=d
 | |
| ----
 | |
| shared file: 000005 [bb#12,15-c#72057594037927935,15] [point=bb#12,15-c#72057594037927935,15] [range=#0,0-#0,0]
 | |
| 
 | |
| scan-internal skip-shared lower=c upper=ea
 | |
| ----
 | |
| shared file: 000005 [e#13,21-ea#72057594037927935,21] [point=#0,0-#0,0] [range=e#13,21-ea#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=c upper=z
 | |
| ----
 | |
| shared file: 000005 [e#13,21-f#11,1] [point=f#11,1-f#11,1] [range=e#13,21-ee#72057594037927935,21]
 | |
| 
 | |
| # An upper bound equalling a file's Largest user key should be reason enough to
 | |
| # truncate that file's bounds.
 | |
| 
 | |
| scan-internal skip-shared lower=c upper=f
 | |
| ----
 | |
| shared file: 000005 [e#13,21-ee#72057594037927935,21] [point=#0,0-#0,0] [range=e#13,21-ee#72057594037927935,21]
 | |
| 
 | |
| # Construct a file with an exclusive sentinel as the largest key. Verify that
 | |
| # scan-internal with skip-shared and an upper bound at that exclusive sentinel
 | |
| # does not truncate that file.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| set a foo
 | |
| del-range b c
 | |
| range-key-set e ee @5 boop
 | |
| ----
 | |
| committed 3 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#10,SET-ee#inf,RANGEKEYSET]
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=ee
 | |
| ----
 | |
| shared file: 000005 [a#10,1-ee#72057594037927935,21] [point=a#10,1-c#72057594037927935,15] [range=e#12,21-ee#72057594037927935,21]
 | |
| 
 | |
| scan-internal skip-shared lower=b upper=ee
 | |
| ----
 | |
| shared file: 000005 [b#11,15-ee#72057594037927935,21] [point=b#11,15-c#72057594037927935,15] [range=e#12,21-ee#72057594037927935,21]
 | |
| 
 | |
| # Ensure we don't leave any range key bounds unintentionally set.
 | |
| 
 | |
| reset
 | |
| ----
 | |
| 
 | |
| batch commit
 | |
| range-key-set a aa @5 boop
 | |
| set b foo
 | |
| set c bar
 | |
| set d baz
 | |
| ----
 | |
| committed 4 keys
 | |
| 
 | |
| flush
 | |
| ----
 | |
| 
 | |
| compact a-z
 | |
| ----
 | |
| 6:
 | |
|   000005:[a#10,RANGEKEYSET-d#13,SET]
 | |
| 
 | |
| scan-internal skip-shared lower=b upper=e
 | |
| ----
 | |
| shared file: 000005 [b#11,1-d#13,1] [point=b#11,1-d#13,1] [range=#0,0-#0,0]
 | |
| 
 | |
| scan-internal skip-shared lower=a upper=aaa
 | |
| ----
 | |
| shared file: 000005 [a#10,21-aa#72057594037927935,21] [point=#0,0-#0,0] [range=a#10,21-aa#72057594037927935,21]
 | 
