github.com/cockroachdb/pebble@v0.0.0-20231214172447-ab4952c5f87b/testdata/iter_histories/clone (about) 1 # Test iterator bounds provided via IterOptions. 2 3 reset 4 ---- 5 6 batch commit 7 set a a 8 set b b 9 set c c 10 set d d 11 set f f 12 range-key-set a ap @6 foo 13 range-key-set ap c @5 bar 14 range-key-set cat zoo @3 bax 15 ---- 16 committed 8 keys 17 18 # Ensure bounds provided at initialization are respected, and propagated to 19 # cloned iterators. 20 21 combined-iter lower=b upper=e 22 first 23 next 24 next 25 next 26 next 27 clone 28 first 29 next 30 next 31 next 32 next 33 ---- 34 b: (b, [b-c) @5=bar UPDATED) 35 c: (c, . UPDATED) 36 cat: (., [cat-e) @3=bax UPDATED) 37 d: (d, [cat-e) @3=bax) 38 . 39 . 40 b: (b, [b-c) @5=bar UPDATED) 41 c: (c, . UPDATED) 42 cat: (., [cat-e) @3=bax UPDATED) 43 d: (d, [cat-e) @3=bax) 44 . 45 46 # Ensure bounds provided during clone are propagated to cloned iterators. 47 48 combined-iter lower=b upper=e 49 first 50 next 51 next 52 next 53 next 54 clone lower=a upper=cat key-types=both 55 first 56 next 57 next 58 next 59 clone lower=a upper=cat key-types=point 60 first 61 next 62 next 63 next 64 ---- 65 b: (b, [b-c) @5=bar UPDATED) 66 c: (c, . UPDATED) 67 cat: (., [cat-e) @3=bax UPDATED) 68 d: (d, [cat-e) @3=bax) 69 . 70 . 71 a: (a, [a-ap) @6=foo UPDATED) 72 ap: (., [ap-c) @5=bar UPDATED) 73 b: (b, [ap-c) @5=bar) 74 c: (c, . UPDATED) 75 . 76 a: (a, .) 77 b: (b, .) 78 c: (c, .) 79 . 80 81 # Test cloning an iterator that reads through an indexed batch. 82 83 batch name=batchfoo 84 del b 85 set c c2 86 range-key-unset b c @5 87 ---- 88 wrote 3 keys to batch "batchfoo" 89 90 combined-iter reader=batchfoo name=itera 91 seek-ge b 92 seek-ge c 93 ---- 94 c: (c2, .) 95 c: (c2, .) 96 97 combined-iter 98 seek-ge b 99 seek-ge c 100 ---- 101 b: (b, [ap-c) @5=bar UPDATED) 102 c: (c, . UPDATED) 103 104 clone from=itera to=iterb refresh-batch=false 105 ---- 106 107 iter iter=iterb 108 seek-ge b 109 seek-ge c 110 ---- 111 c: (c2, .) 112 c: (c2, .) 113 114 mutate batch=batchfoo 115 set c c3 116 range-key-set b c @9 final 117 ---- 118 119 iter iter=itera 120 seek-ge b 121 seek-ge c 122 ---- 123 c: (c2, .) 124 c: (c2, .) 125 126 iter iter=iterb 127 seek-ge b 128 seek-ge c 129 ---- 130 c: (c2, .) 131 c: (c2, .) 132 133 clone from=iterb to=iterc refresh-batch=false 134 ---- 135 136 iter iter=iterc 137 seek-ge b 138 seek-ge c 139 ---- 140 c: (c2, .) 141 c: (c2, .) 142 143 clone from=iterb to=iterd refresh-batch=true 144 ---- 145 146 iter iter=iterd 147 seek-ge b 148 seek-ge c 149 ---- 150 b: (., [b-c) @9=final UPDATED) 151 c: (c3, . UPDATED)