github.com/petermattis/pebble@v0.0.0-20190905164901-ab51a2166067/sstable/testdata/writer (about) 1 build 2 a.SET.1:a 3 ---- 4 point: [a#1,1,a#1,1] 5 range: [#0,0,#0,0] 6 seqnums: [1,1] 7 8 scan 9 ---- 10 a#1,1:a 11 12 scan-range-del 13 ---- 14 15 build 16 a.SET.1:a 17 b.DEL.2:b 18 c.MERGE.3:c 19 d.RANGEDEL.4:e 20 f.SET.5:f 21 g.DEL.6:g 22 h.MERGE.7:h 23 i.RANGEDEL.8:j 24 ---- 25 point: [a#1,1,h#7,2] 26 range: [d#4,15,j#72057594037927935,15] 27 seqnums: [1,8] 28 29 scan 30 ---- 31 a#1,1:a 32 b#2,0:b 33 c#3,2:c 34 f#5,1:f 35 g#6,0:g 36 h#7,2:h 37 38 scan-range-del 39 ---- 40 d#4,15:e 41 i#8,15:j 42 43 # 3: a-----------m 44 # 2: f------------s 45 # 1: j---------------z 46 47 build 48 a.RANGEDEL.3:m 49 f.RANGEDEL.2:s 50 j.RANGEDEL.1:z 51 ---- 52 point: [#0,0,#0,0] 53 range: [a#3,15,z#72057594037927935,15] 54 seqnums: [1,3] 55 56 scan 57 ---- 58 59 scan-range-del 60 ---- 61 a#3,15:f 62 f#3,15:j 63 f#2,15:j 64 j#3,15:m 65 j#2,15:m 66 j#1,15:m 67 m#2,15:s 68 m#1,15:s 69 s#1,15:z 70 71 # The range tombstone upper bound is exclusive, so a point operation 72 # on that same key will be the actual boundary. 73 74 build 75 a.RANGEDEL.3:b 76 b.SET.4:c 77 ---- 78 point: [b#4,1,b#4,1] 79 range: [a#3,15,b#72057594037927935,15] 80 seqnums: [3,4] 81 82 build 83 a.RANGEDEL.3:b 84 b.SET.2:c 85 ---- 86 point: [b#2,1,b#2,1] 87 range: [a#3,15,b#72057594037927935,15] 88 seqnums: [2,3] 89 90 build 91 a.RANGEDEL.3:c 92 b.SET.2:c 93 ---- 94 point: [b#2,1,b#2,1] 95 range: [a#3,15,c#72057594037927935,15] 96 seqnums: [2,3] 97 98 # Keys must be added in order. 99 100 build 101 a.SET.1:b 102 a.SET.2:c 103 ---- 104 pebble: keys must be added in order: a#1,1, a#2,1 105 106 build 107 b.SET.1:a 108 a.SET.2:b 109 ---- 110 pebble: keys must be added in order: b#1,1, a#2,1 111 112 build 113 b.RANGEDEL.1:c 114 a.RANGEDEL.2:b 115 ---- 116 pebble: keys must be added in order: b#1,15 > a#2,15 117 118 build-raw 119 .RANGEDEL.1:b 120 ---- 121 point: [#0,0,#0,0] 122 range: [#1,15,b#72057594037927935,15] 123 seqnums: [1,1] 124 125 build-raw 126 a.RANGEDEL.1:c 127 a.RANGEDEL.2:c 128 ---- 129 pebble: keys must be added in order: a#1,15, a#2,15 130 131 build-raw 132 a.RANGEDEL.1:c 133 b.RANGEDEL.2:d 134 ---- 135 pebble: overlapping tombstones must be fragmented: a-c#1 vs b-d#2 136 137 build-raw 138 a.RANGEDEL.2:c 139 a.RANGEDEL.1:d 140 ---- 141 pebble: overlapping tombstones must be fragmented: a-c#2 vs a-d#1 142 143 build-raw 144 a.RANGEDEL.1:c 145 c.RANGEDEL.2:d 146 ---- 147 point: [#0,0,#0,0] 148 range: [a#1,15,d#72057594037927935,15] 149 seqnums: [1,2] 150 151 # The range-del-v1 format supports unfragmented and unsorted range 152 # tombstones. 153 154 build-raw range-del-v1 155 a.RANGEDEL.1:c 156 a.RANGEDEL.2:c 157 ---- 158 point: [#0,0,#0,0] 159 range: [a#2,15,c#72057594037927935,15] 160 seqnums: [1,2] 161 162 scan-range-del 163 ---- 164 a#2,15:c 165 a#1,15:c 166 167 build-raw range-del-v1 168 a.RANGEDEL.1:c 169 b.RANGEDEL.2:d 170 ---- 171 point: [#0,0,#0,0] 172 range: [a#1,15,d#72057594037927935,15] 173 seqnums: [1,2] 174 175 scan-range-del 176 ---- 177 a#1,15:b 178 b#2,15:c 179 b#1,15:c 180 c#2,15:d 181 182 build-raw range-del-v1 183 a.RANGEDEL.2:c 184 a.RANGEDEL.1:d 185 ---- 186 point: [#0,0,#0,0] 187 range: [a#2,15,d#72057594037927935,15] 188 seqnums: [1,2] 189 190 scan-range-del 191 ---- 192 a#2,15:c 193 a#1,15:c 194 c#1,15:d 195 196 # This matches an early test case, except we're passing overlapping 197 # range tombstones to the sstable writer and requiring them to be 198 # fragmented at read time. 199 200 build-raw range-del-v1 201 j.RANGEDEL.1:z 202 f.RANGEDEL.2:s 203 a.RANGEDEL.3:m 204 ---- 205 point: [#0,0,#0,0] 206 range: [a#3,15,z#72057594037927935,15] 207 seqnums: [1,3] 208 209 scan-range-del 210 ---- 211 a#3,15:f 212 f#3,15:j 213 f#2,15:j 214 j#3,15:m 215 j#2,15:m 216 j#1,15:m 217 m#2,15:s 218 m#1,15:s 219 s#1,15:z