github.com/zuoyebang/bitalostable@v1.0.1-0.20240229032404-e3b99a834294/testdata/iterator (about) 1 define 2 a.SET.1:b 3 ---- 4 5 iter seq=2 6 seek-ge a 7 next 8 prev 9 ---- 10 a:b 11 . 12 a:b 13 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 1, 1)), 14 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 15 16 iter seq=2 17 seek-ge b 18 ---- 19 . 20 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)) 21 22 iter seq=2 23 seek-lt a 24 ---- 25 . 26 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)) 27 28 29 define 30 a.SET.2:c 31 a.SET.1:b 32 ---- 33 34 iter seq=2 35 seek-ge a 36 next 37 prev 38 ---- 39 a:b 40 . 41 a:b 42 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 1, 1)), 43 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 44 45 iter seq=3 46 seek-ge a 47 next 48 prev 49 ---- 50 a:c 51 . 52 a:c 53 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 1, 2)), 54 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 55 56 iter seq=2 57 seek-prefix-ge a 58 next 59 prev 60 next 61 ---- 62 a:b 63 . 64 err=bitable: unsupported reverse prefix iteration 65 err=bitable: unsupported reverse prefix iteration 66 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 67 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 68 69 iter seq=3 70 seek-prefix-ge a 71 next 72 ---- 73 a:c 74 . 75 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 76 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 77 78 79 define 80 a.DEL.2: 81 a.SET.1:b 82 ---- 83 84 iter seq=3 85 seek-ge a 86 ---- 87 . 88 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 89 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 90 91 iter seq=2 92 seek-ge 1 93 next 94 ---- 95 a:b 96 . 97 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 98 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 99 100 iter seq=3 101 seek-lt b 102 ---- 103 . 104 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 2)), 105 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 106 107 iter seq=2 108 seek-lt b 109 prev 110 next 111 ---- 112 a:b 113 . 114 a:b 115 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 1)), 116 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 2, tombstoned: 0)) 117 118 iter seq=3 119 seek-prefix-ge a 120 ---- 121 . 122 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 123 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 124 125 iter seq=2 126 seek-prefix-ge 1 127 ---- 128 . 129 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 130 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 131 132 define 133 a.DEL.2: 134 a.SET.1:b 135 b.SET.3:c 136 ---- 137 138 iter seq=4 139 seek-ge a 140 next 141 ---- 142 b:c 143 . 144 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 145 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 146 147 iter seq=3 148 seek-ge a 149 ---- 150 . 151 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 152 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 153 154 iter seq=2 155 seek-ge a 156 ---- 157 a:b 158 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 159 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 160 161 iter seq=4 162 seek-prefix-ge a 163 ---- 164 . 165 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 166 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 167 168 iter seq=3 169 seek-prefix-ge a 170 ---- 171 . 172 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 173 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 174 175 iter seq=2 176 seek-prefix-ge a 177 ---- 178 a:b 179 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 180 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 181 182 iter seq=2 183 seek-prefix-ge a 184 seek-prefix-ge b 185 ---- 186 a:b 187 . 188 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), 189 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 190 191 define 192 a.DEL.3: 193 a.SET.1:b 194 b.DEL.3: 195 b.SET.2:c 196 c.SET.3:d 197 ---- 198 199 iter seq=4 200 seek-prefix-ge a 201 seek-prefix-ge b 202 seek-prefix-ge c 203 ---- 204 . 205 . 206 c:d 207 stats: (interface (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 3, 4), (rev, 0, 0)), 208 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 7, key-bytes 7, value-bytes 4, tombstoned: 0)) 209 210 iter seq=3 211 seek-prefix-ge a 212 seek-prefix-ge b 213 seek-prefix-ge c 214 ---- 215 a:b 216 b:c 217 . 218 stats: (interface (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), 219 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 3, tombstoned: 0)) 220 221 iter seq=3 222 seek-ge a 223 seek-ge b 224 seek-ge c 225 ---- 226 a:b 227 b:c 228 . 229 stats: (interface (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), 230 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 3, tombstoned: 0)) 231 232 define 233 a.SET.1:a 234 b.SET.2:b 235 c.SET.3:c 236 ---- 237 238 iter seq=4 239 seek-ge a 240 next 241 next 242 next 243 ---- 244 a:a 245 b:b 246 c:c 247 . 248 stats: (interface (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 249 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 250 251 iter seq=4 252 seek-ge b 253 next 254 ---- 255 b:b 256 c:c 257 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 258 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 259 260 iter seq=4 261 seek-ge c 262 ---- 263 c:c 264 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 265 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 266 267 iter seq=4 268 seek-lt a 269 ---- 270 . 271 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)) 272 273 iter seq=4 274 seek-lt b 275 prev 276 next 277 ---- 278 a:a 279 . 280 a:a 281 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 1)), 282 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 283 284 iter seq=4 285 seek-lt c 286 prev 287 prev 288 next 289 ---- 290 b:b 291 a:a 292 . 293 a:a 294 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 2)), 295 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 296 297 298 iter seq=4 299 seek-lt d 300 prev 301 prev 302 prev 303 next 304 ---- 305 c:c 306 b:b 307 a:a 308 . 309 a:a 310 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 3)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 3)), 311 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 312 313 iter seq=4 314 seek-prefix-ge a 315 next 316 ---- 317 a:a 318 . 319 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 320 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 321 322 iter seq=4 323 seek-prefix-ge b 324 next 325 ---- 326 b:b 327 . 328 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 329 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 330 331 332 iter seq=4 333 seek-prefix-ge c 334 next 335 ---- 336 c:c 337 . 338 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 339 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 340 341 342 iter seq=4 343 seek-prefix-ge d 344 ---- 345 . 346 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)) 347 348 iter seq=4 349 seek-prefix-ge a 350 seek-prefix-ge c 351 seek-prefix-ge b 352 ---- 353 a:a 354 c:c 355 b:b 356 stats: (interface (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 3, 0), (rev, 0, 0)), 357 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 358 359 define 360 a.SET.b2:b 361 b.SET.2:c 362 ---- 363 364 iter seq=2 365 seek-ge a 366 next 367 prev 368 ---- 369 a:b 370 . 371 a:b 372 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 1, 1)), 373 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 374 375 iter seq=2 376 seek-ge b 377 ---- 378 . 379 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 380 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 381 382 iter seq=2 383 seek-lt a 384 ---- 385 . 386 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)) 387 388 iter seq=2 389 seek-lt b 390 prev 391 next 392 ---- 393 a:b 394 . 395 a:b 396 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 1)), 397 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 398 399 iter seq=2 400 seek-lt c 401 prev 402 next 403 ---- 404 a:b 405 . 406 a:b 407 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 1)), 408 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 409 410 iter seq=2 411 seek-prefix-ge a 412 next 413 ---- 414 a:b 415 . 416 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 417 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 418 419 iter seq=2 420 seek-prefix-ge b 421 ---- 422 . 423 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 424 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 425 426 427 define 428 a.SET.1:a 429 aa.SET.2:aa 430 aaa.SET.3:aaa 431 b.SET.4:b 432 ---- 433 434 iter seq=5 435 seek-prefix-ge a 436 next 437 ---- 438 a:a 439 . 440 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 441 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 3, value-bytes 3, tombstoned: 0)) 442 443 iter seq=5 444 seek-prefix-ge a 445 next 446 ---- 447 a:a 448 . 449 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 450 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 3, value-bytes 3, tombstoned: 0)) 451 452 iter seq=5 453 seek-prefix-ge aa 454 ---- 455 aa:aa 456 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 457 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 2, value-bytes 2, tombstoned: 0)) 458 459 iter seq=5 460 seek-prefix-ge aa 461 next 462 ---- 463 aa:aa 464 . 465 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 466 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 5, value-bytes 5, tombstoned: 0)) 467 468 iter seq=5 469 seek-prefix-ge aa 470 next 471 ---- 472 aa:aa 473 . 474 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 475 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 5, value-bytes 5, tombstoned: 0)) 476 477 iter seq=5 478 seek-prefix-ge aaa 479 next 480 ---- 481 aaa:aaa 482 . 483 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 484 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 4, value-bytes 4, tombstoned: 0)) 485 486 iter seq=5 487 seek-prefix-ge aaa 488 ---- 489 aaa:aaa 490 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 491 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 3, value-bytes 3, tombstoned: 0)) 492 493 iter seq=5 494 seek-prefix-ge b 495 next 496 ---- 497 b:b 498 . 499 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 500 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 501 502 iter seq=5 503 seek-prefix-ge aa 504 last 505 prev 506 prev 507 prev 508 prev 509 ---- 510 aa:aa 511 b:b 512 aaa:aaa 513 aa:aa 514 a:a 515 . 516 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 1, 4)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 4)), 517 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 9, value-bytes 9, tombstoned: 0)) 518 519 iter seq=5 520 seek-prefix-ge aa 521 first 522 next 523 next 524 next 525 next 526 ---- 527 aa:aa 528 a:a 529 aa:aa 530 aaa:aaa 531 b:b 532 . 533 stats: (interface (dir, seek, step): (fwd, 2, 4), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 4), (rev, 0, 0)), 534 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 9, value-bytes 9, tombstoned: 0)) 535 536 iter seq=5 537 seek-prefix-ge aaa 538 seek-ge aa 539 next 540 next 541 next 542 ---- 543 aaa:aaa 544 aa:aa 545 aaa:aaa 546 b:b 547 . 548 stats: (interface (dir, seek, step): (fwd, 2, 3), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 3), (rev, 0, 0)), 549 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 9, value-bytes 9, tombstoned: 0)) 550 551 iter seq=5 552 seek-prefix-ge aaa 553 seek-ge aaa 554 next 555 next 556 ---- 557 aaa:aaa 558 aaa:aaa 559 b:b 560 . 561 stats: (interface (dir, seek, step): (fwd, 2, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 2), (rev, 0, 0)), 562 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 7, value-bytes 7, tombstoned: 0)) 563 564 iter seq=5 565 seek-prefix-ge aaa 566 seek-lt aa 567 next 568 next 569 next 570 next 571 ---- 572 aaa:aaa 573 a:a 574 aa:aa 575 aaa:aaa 576 b:b 577 . 578 stats: (interface (dir, seek, step): (fwd, 1, 4), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 2, 4), (rev, 1, 1)), 579 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 6, key-bytes 11, value-bytes 11, tombstoned: 0)) 580 581 582 iter seq=5 583 seek-prefix-ge aaa 584 seek-lt b 585 next 586 next 587 ---- 588 aaa:aaa 589 aaa:aaa 590 b:b 591 . 592 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 1, 1)), 593 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 12, value-bytes 12, tombstoned: 0)) 594 595 iter seq=4 596 seek-prefix-ge a 597 seek-prefix-ge aa 598 seek-prefix-ge aaa 599 seek-prefix-ge b 600 ---- 601 a:a 602 aa:aa 603 aaa:aaa 604 . 605 stats: (interface (dir, seek, step): (fwd, 4, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 4, 0), (rev, 0, 0)), 606 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 7, value-bytes 7, tombstoned: 0)) 607 608 iter seq=3 609 seek-prefix-ge aaa 610 seek-prefix-ge b 611 seek-prefix-ge a 612 seek-prefix-ge aa 613 seek-prefix-ge aaa 614 ---- 615 . 616 . 617 a:a 618 aa:aa 619 . 620 stats: (interface (dir, seek, step): (fwd, 5, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 5, 0), (rev, 0, 0)), 621 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 7, key-bytes 12, value-bytes 12, tombstoned: 0)) 622 623 define 624 bb.DEL.2: 625 bb.SET.1:1 626 bb2.SET.3:2 627 ---- 628 629 iter seq=4 630 seek-prefix-ge bb 631 ---- 632 . 633 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 634 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 7, value-bytes 2, tombstoned: 0)) 635 636 637 # NB: RANGEDEL entries are ignored. 638 define 639 a.RANGEDEL.4:c 640 a.MERGE.3:d 641 a.RANGEDEL.2:c 642 a.MERGE.2:c 643 a.RANGEDEL.1:c 644 a.SET.1:b 645 b.RANGEDEL.3:c 646 b.MERGE.2:b 647 b.RANGEDEL.1:c 648 b.MERGE.1:a 649 ---- 650 651 iter seq=4 652 seek-ge a 653 next 654 next 655 prev 656 ---- 657 a:bcd 658 b:ab 659 . 660 b:ab 661 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 5), (rev, 1, 2)), 662 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 15, key-bytes 15, value-bytes 15, tombstoned: 0)) 663 664 iter seq=3 665 seek-ge a 666 next 667 ---- 668 a:bc 669 b:ab 670 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)), 671 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 672 673 iter seq=2 674 seek-ge a 675 next 676 ---- 677 a:b 678 b:a 679 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 680 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 681 682 iter seq=4 683 seek-lt c 684 prev 685 prev 686 next 687 ---- 688 b:ab 689 a:bcd 690 . 691 a:bcd 692 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 1, 5)), 693 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 16, key-bytes 16, value-bytes 16, tombstoned: 0)) 694 695 iter seq=3 696 seek-lt c 697 prev 698 ---- 699 b:ab 700 a:bc 701 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 4)), 702 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 703 704 iter seq=2 705 seek-lt c 706 prev 707 ---- 708 b:a 709 a:b 710 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 2)), 711 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 712 713 iter seq=4 714 seek-ge a 715 next 716 prev 717 next 718 ---- 719 a:bcd 720 b:ab 721 a:bcd 722 b:ab 723 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 10), (rev, 1, 5)), 724 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 725 726 iter seq=3 727 seek-ge a 728 next 729 prev 730 next 731 ---- 732 a:bc 733 b:ab 734 a:bc 735 b:ab 736 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 8), (rev, 1, 4)), 737 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 738 739 iter seq=2 740 seek-ge a 741 next 742 prev 743 next 744 ---- 745 a:b 746 b:a 747 a:b 748 b:a 749 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 4), (rev, 1, 2)), 750 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 751 752 iter seq=4 753 seek-lt c 754 prev 755 next 756 prev 757 ---- 758 b:ab 759 a:bcd 760 b:ab 761 a:bcd 762 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 5), (rev, 2, 10)), 763 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 764 765 iter seq=3 766 seek-lt c 767 prev 768 next 769 prev 770 ---- 771 b:ab 772 a:bc 773 b:ab 774 a:bc 775 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 2, 8)), 776 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 777 778 iter seq=2 779 seek-lt c 780 prev 781 next 782 prev 783 ---- 784 b:a 785 a:b 786 b:a 787 a:b 788 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 2, 4)), 789 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 30, key-bytes 30, value-bytes 30, tombstoned: 0)) 790 791 iter seq=3 792 seek-prefix-ge a 793 next 794 ---- 795 a:bc 796 . 797 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 798 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 8, key-bytes 8, value-bytes 8, tombstoned: 0)) 799 800 iter seq=2 801 seek-prefix-ge a 802 next 803 ---- 804 a:b 805 . 806 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 807 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 808 809 iter seq=4 810 seek-prefix-ge a 811 next 812 ---- 813 a:bcd 814 . 815 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 816 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 8, key-bytes 8, value-bytes 8, tombstoned: 0)) 817 818 iter seq=2 819 seek-prefix-ge a 820 next 821 ---- 822 a:b 823 . 824 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 825 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 10, value-bytes 10, tombstoned: 0)) 826 827 iter seq=3 828 seek-prefix-ge a 829 next 830 ---- 831 a:bc 832 . 833 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 834 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 8, key-bytes 8, value-bytes 8, tombstoned: 0)) 835 836 iter seq=3 837 seek-prefix-ge c 838 ---- 839 . 840 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)) 841 842 iter seq=3 843 seek-prefix-ge 1 844 ---- 845 . 846 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 847 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 848 849 iter seq=3 850 seek-prefix-ge a 851 ---- 852 a:bc 853 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 854 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 6, key-bytes 6, value-bytes 6, tombstoned: 0)) 855 856 857 # NB: RANGEDEL entries are ignored. 858 define 859 a.RANGEDEL.4:c 860 a.MERGE.3:d 861 a.RANGEDEL.2:c 862 a.MERGE.2:c 863 a.RANGEDEL.1:c 864 a.MERGE.1:b 865 aa.RANGEDEL.3:c 866 aa.MERGE.2:b 867 aa.RANGEDEL.1:c 868 aa.MERGE.1:a 869 b.RANGEDEL.3:c 870 b.MERGE.2:b 871 b.RANGEDEL.1:c 872 b.MERGE.1:a 873 ---- 874 875 iter seq=3 876 seek-prefix-ge a 877 next 878 next 879 ---- 880 a:bc 881 . 882 . 883 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 884 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 8, key-bytes 10, value-bytes 8, tombstoned: 0)) 885 886 iter seq=2 887 seek-prefix-ge a 888 next 889 next 890 ---- 891 a:b 892 . 893 . 894 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 895 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 14, value-bytes 10, tombstoned: 0)) 896 897 iter seq=4 898 seek-prefix-ge a 899 next 900 ---- 901 a:bcd 902 . 903 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 904 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 8, key-bytes 10, value-bytes 8, tombstoned: 0)) 905 906 iter seq=2 907 seek-prefix-ge a 908 next 909 ---- 910 a:b 911 . 912 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 913 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 10, key-bytes 14, value-bytes 10, tombstoned: 0)) 914 915 iter seq=3 916 seek-prefix-ge aa 917 next 918 ---- 919 aa:ab 920 . 921 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 922 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 6, key-bytes 10, value-bytes 6, tombstoned: 0)) 923 924 iter seq=4 925 seek-prefix-ge aa 926 ---- 927 aa:ab 928 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 929 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 6, key-bytes 10, value-bytes 6, tombstoned: 0)) 930 931 define 932 a.SET.1:a 933 b.SET.1:b 934 c.SET.1:c 935 d.SET.1:d 936 ---- 937 938 iter seq=2 lower=a 939 seek-ge a 940 first 941 prev 942 ---- 943 a:a 944 a:a 945 . 946 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 947 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 948 949 iter seq=2 lower=b 950 seek-ge a 951 first 952 prev 953 ---- 954 b:b 955 b:b 956 . 957 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 958 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 959 960 iter seq=2 lower=c 961 seek-ge a 962 first 963 prev 964 ---- 965 c:c 966 c:c 967 . 968 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 969 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 970 971 iter seq=2 lower=d 972 seek-ge a 973 first 974 prev 975 ---- 976 d:d 977 d:d 978 . 979 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 980 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 981 982 iter seq=2 lower=e 983 seek-ge a 984 first 985 ---- 986 . 987 . 988 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)) 989 990 iter seq=2 upper=d 991 seek-lt d 992 last 993 next 994 ---- 995 c:c 996 c:c 997 . 998 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)), 999 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1000 1001 iter seq=2 upper=c 1002 seek-lt d 1003 last 1004 next 1005 ---- 1006 b:b 1007 b:b 1008 . 1009 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)), 1010 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1011 1012 iter seq=2 upper=b 1013 seek-lt d 1014 last 1015 next 1016 ---- 1017 a:a 1018 a:a 1019 . 1020 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 2, 2)), 1021 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 1022 1023 iter seq=2 upper=a 1024 seek-lt d 1025 last 1026 ---- 1027 . 1028 . 1029 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)) 1030 1031 iter seq=2 lower=b upper=c 1032 seek-ge a 1033 next 1034 ---- 1035 b:b 1036 . 1037 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1038 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1039 1040 iter seq=2 1041 set-bounds lower=a 1042 seek-ge a 1043 first 1044 prev 1045 ---- 1046 . 1047 a:a 1048 a:a 1049 . 1050 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1051 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1052 1053 iter seq=2 1054 set-bounds lower=b 1055 seek-ge a 1056 first 1057 prev 1058 ---- 1059 . 1060 b:b 1061 b:b 1062 . 1063 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1064 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1065 1066 iter seq=2 1067 set-bounds lower=c 1068 seek-ge a 1069 first 1070 prev 1071 ---- 1072 . 1073 c:c 1074 c:c 1075 . 1076 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1077 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1078 1079 iter seq=2 1080 set-bounds lower=d 1081 seek-ge a 1082 first 1083 prev 1084 ---- 1085 . 1086 d:d 1087 d:d 1088 . 1089 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1090 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1091 1092 iter seq=2 1093 set-bounds lower=e 1094 seek-ge a 1095 first 1096 ---- 1097 . 1098 . 1099 . 1100 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)) 1101 1102 iter seq=2 1103 set-bounds upper=d 1104 seek-lt d 1105 last 1106 next 1107 ---- 1108 . 1109 c:c 1110 c:c 1111 . 1112 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)), 1113 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1114 1115 iter seq=2 1116 set-bounds upper=c 1117 seek-lt d 1118 last 1119 next 1120 ---- 1121 . 1122 b:b 1123 b:b 1124 . 1125 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)), 1126 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1127 1128 iter seq=2 1129 set-bounds upper=b 1130 seek-lt d 1131 last 1132 next 1133 ---- 1134 . 1135 a:a 1136 a:a 1137 . 1138 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 2, 2)), 1139 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 1140 1141 iter seq=2 1142 set-bounds upper=a 1143 seek-lt d 1144 last 1145 ---- 1146 . 1147 . 1148 . 1149 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)) 1150 1151 iter seq=2 1152 set-bounds lower=a 1153 seek-lt d 1154 next 1155 next 1156 ---- 1157 . 1158 c:c 1159 d:d 1160 . 1161 stats: (interface (dir, seek, step): (fwd, 0, 2), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 3), (rev, 1, 1)), 1162 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 4, tombstoned: 0)) 1163 1164 iter seq=2 1165 set-bounds lower=b upper=c 1166 seek-ge a 1167 next 1168 ---- 1169 . 1170 b:b 1171 . 1172 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1173 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1174 1175 iter seq=2 1176 set-bounds lower=b 1177 seek-ge a 1178 set-bounds lower=b upper=z 1179 seek-ge a 1180 ---- 1181 . 1182 b:b 1183 . 1184 b:b 1185 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), 1186 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1187 1188 iter seq=2 1189 seek-ge a 1190 set-bounds upper=e 1191 ---- 1192 a:a 1193 . 1194 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1195 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1196 1197 iter seq=2 1198 set-bounds lower=b 1199 seek-ge a 1200 set-bounds upper=e 1201 ---- 1202 . 1203 b:b 1204 . 1205 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1206 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1207 1208 iter seq=2 1209 set-bounds lower=b 1210 first 1211 ---- 1212 . 1213 b:b 1214 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1215 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1216 1217 iter seq=2 1218 set-bounds upper=b 1219 first 1220 ---- 1221 . 1222 a:a 1223 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1224 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1225 1226 iter seq=2 1227 set-bounds lower=b 1228 last 1229 ---- 1230 . 1231 d:d 1232 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), 1233 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1234 1235 iter seq=2 1236 set-bounds upper=b 1237 last 1238 ---- 1239 . 1240 a:a 1241 stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), 1242 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1243 1244 # The prev call after "set-bounds upper=c" will assume that the iterator 1245 # is exhausted due to having stepped up to c. Which means prev should step 1246 # back to below c, hence returning b. 1247 iter seq=2 1248 last 1249 next 1250 set-bounds upper=c 1251 prev 1252 ---- 1253 d:d 1254 . 1255 . 1256 b:b 1257 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)), 1258 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1259 1260 # The next call after "set-bounds lower=b" will assume that the iterator 1261 # is exhausted due to having stepped below b. Which means next should step 1262 # up to b (or higher), hence returning b. 1263 iter seq=2 1264 first 1265 prev 1266 set-bounds lower=b 1267 next 1268 ---- 1269 a:a 1270 . 1271 . 1272 b:b 1273 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1274 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1275 1276 iter seq=2 1277 set-bounds lower=b 1278 seek-lt c 1279 next 1280 ---- 1281 . 1282 b:b 1283 c:c 1284 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 1, 1)), 1285 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 1286 1287 iter seq=2 1288 set-bounds upper=d 1289 seek-ge c 1290 prev 1291 ---- 1292 . 1293 c:c 1294 b:b 1295 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 2)), 1296 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 3, tombstoned: 0)) 1297 1298 define 1299 a.SET.1:a 1300 aa.SET.1:aa 1301 aaa.SET.1:aaa 1302 b.SET.1:b 1303 ---- 1304 1305 iter seq=2 lower=a 1306 seek-prefix-ge a 1307 first 1308 prev 1309 ---- 1310 a:a 1311 a:a 1312 . 1313 stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), 1314 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 2, tombstoned: 0)) 1315 1316 1317 iter seq=2 lower=aa 1318 seek-prefix-ge a 1319 ---- 1320 err=bitable: SeekPrefixGE supplied with key outside of lower bound 1321 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 0, 0)) 1322 1323 iter seq=2 lower=a upper=aa 1324 seek-prefix-ge a 1325 next 1326 ---- 1327 a:a 1328 . 1329 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1330 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 1, tombstoned: 0)) 1331 1332 iter seq=2 lower=a upper=aaa 1333 seek-prefix-ge a 1334 next 1335 ---- 1336 a:a 1337 . 1338 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1339 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 3, value-bytes 3, tombstoned: 0)) 1340 1341 iter seq=2 lower=a upper=b 1342 seek-prefix-ge a 1343 next 1344 ---- 1345 a:a 1346 . 1347 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1348 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 3, value-bytes 3, tombstoned: 0)) 1349 1350 iter seq=2 lower=a upper=c 1351 seek-prefix-ge a 1352 next 1353 ---- 1354 a:a 1355 . 1356 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1357 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 3, value-bytes 3, tombstoned: 0)) 1358 1359 iter seq=2 lower=a upper=aaa 1360 seek-prefix-ge aa 1361 ---- 1362 aa:aa 1363 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1364 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 2, value-bytes 2, tombstoned: 0)) 1365 1366 iter seq=2 lower=a upper=aaa 1367 seek-prefix-ge aa 1368 next 1369 ---- 1370 aa:aa 1371 . 1372 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1373 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 2, value-bytes 2, tombstoned: 0)) 1374 1375 # NB: RANGEDEL entries are ignored. 1376 define 1377 a.RANGEDEL.2:c 1378 a.SET.1:a 1379 b.RANGEDEL.3:d 1380 b.SET.2:b 1381 b.RANGEDEL.1:d 1382 ---- 1383 1384 iter seq=4 1385 first 1386 next 1387 next 1388 ---- 1389 a:a 1390 b:b 1391 . 1392 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1393 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 5, key-bytes 5, value-bytes 5, tombstoned: 0)) 1394 1395 define 1396 a.SINGLEDEL.1: 1397 ---- 1398 1399 iter seq=2 1400 first 1401 ---- 1402 . 1403 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), 1404 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 1, key-bytes 1, value-bytes 0, tombstoned: 0)) 1405 1406 define 1407 a.SINGLEDEL.2: 1408 a.SINGLEDEL.1: 1409 ---- 1410 1411 iter seq=3 1412 first 1413 ---- 1414 . 1415 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1416 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 0, tombstoned: 0)) 1417 1418 define 1419 a.SINGLEDEL.2: 1420 a.DEL.1: 1421 ---- 1422 1423 iter seq=3 1424 first 1425 ---- 1426 . 1427 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1428 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 0, tombstoned: 0)) 1429 1430 define 1431 a.SINGLEDEL.2: 1432 a.MERGE.1: 1433 ---- 1434 1435 iter seq=3 1436 first 1437 ---- 1438 . 1439 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1440 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 0, tombstoned: 0)) 1441 1442 define 1443 a.SINGLEDEL.2: 1444 a.SET.1:b 1445 ---- 1446 1447 iter seq=3 1448 first 1449 ---- 1450 . 1451 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1452 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 1453 1454 define 1455 a.SET.2:b 1456 a.SINGLEDEL.1: 1457 ---- 1458 1459 iter seq=3 1460 first 1461 next 1462 ---- 1463 a:b 1464 . 1465 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1466 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 2, key-bytes 2, value-bytes 1, tombstoned: 0)) 1467 1468 define 1469 a.SINGLEDEL.2: 1470 a.SET.1:b 1471 b.SET.3:c 1472 ---- 1473 1474 iter seq=4 1475 first 1476 next 1477 ---- 1478 b:c 1479 . 1480 stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 1481 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 1482 1483 define 1484 a.SINGLEDEL.3: 1485 a.SET.2:b 1486 a.SET.1:a 1487 ---- 1488 1489 iter 1490 first 1491 ---- 1492 . 1493 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), 1494 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 1495 1496 define 1497 a.SINGLEDEL.3: 1498 a.MERGE.2:b 1499 a.MERGE.1:a 1500 ---- 1501 1502 iter seq=4 1503 first 1504 ---- 1505 . 1506 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)), 1507 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 2, tombstoned: 0)) 1508 1509 define 1510 a.SINGLEDEL.4: 1511 a.SET.3:val 1512 a.SINGLEDEL.2: 1513 a.SET.1:val 1514 ---- 1515 1516 iter seq=5 1517 first 1518 ---- 1519 . 1520 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)), 1521 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 6, tombstoned: 0)) 1522 1523 define 1524 a.SINGLEDEL.4: 1525 a.SET.3:val 1526 a.DEL.2: 1527 a.SET.1:val 1528 ---- 1529 1530 iter seq=5 1531 first 1532 ---- 1533 . 1534 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)), 1535 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 6, tombstoned: 0)) 1536 1537 define 1538 a.SINGLEDEL.4: 1539 a.SET.3:c 1540 a.MERGE.2:b 1541 a.SET.1:a 1542 ---- 1543 1544 iter seq=5 1545 first 1546 ---- 1547 . 1548 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)), 1549 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 4, key-bytes 4, value-bytes 3, tombstoned: 0)) 1550 1551 define 1552 a.SINGLEDEL.3: 1553 a.RANGEDEL.2:c 1554 a.SET.1:val 1555 ---- 1556 1557 iter seq=4 1558 first 1559 ---- 1560 . 1561 stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), 1562 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 3, key-bytes 3, value-bytes 4, tombstoned: 0)) 1563 1564 # Exercise iteration with limits, when there are no deletes. 1565 define 1566 a.SET.1:a 1567 b.SET.1:b 1568 c.SET.1:c 1569 d.SET.1:d 1570 ---- 1571 1572 iter seq=2 1573 seek-ge-limit a b 1574 next-limit b 1575 prev-limit a 1576 next-limit b 1577 next-limit b 1578 seek-lt-limit d d 1579 prev-limit d 1580 next-limit e 1581 prev-limit d 1582 prev-limit c 1583 prev-limit b 1584 prev-limit a 1585 prev-limit a 1586 next-limit a 1587 next-limit b 1588 ---- 1589 a:a valid 1590 . at-limit 1591 a:a valid 1592 . at-limit 1593 . at-limit 1594 . at-limit 1595 . at-limit 1596 d:d valid 1597 . at-limit 1598 c:c valid 1599 b:b valid 1600 a:a valid 1601 . exhausted 1602 . at-limit 1603 a:a valid 1604 stats: (interface (dir, seek, step): (fwd, 1, 6), (rev, 1, 7)), (internal (dir, seek, step): (fwd, 3, 3), (rev, 1, 6)), 1605 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 11, key-bytes 11, value-bytes 11, tombstoned: 0)) 1606 1607 # Exercise iteration with limits when we have deletes. 1608 1609 define 1610 a.SET.1:a 1611 b.DEL.3: 1612 b.SET.2:b 1613 c.DEL.3: 1614 c.SET.2:c 1615 d.SET.1:d 1616 ---- 1617 1618 iter seq=4 1619 seek-ge-limit a b 1620 next-limit b 1621 prev-limit a 1622 prev-limit a 1623 next-limit b 1624 next-limit b 1625 next-limit b 1626 prev-limit a 1627 next-limit c 1628 prev-limit b 1629 next-limit c 1630 next-limit d 1631 next-limit e 1632 next-limit e 1633 prev-limit d 1634 next-limit e 1635 ---- 1636 a:a valid 1637 . at-limit 1638 a:a valid 1639 . exhausted 1640 a:a valid 1641 . at-limit 1642 . at-limit 1643 a:a valid 1644 . at-limit 1645 . at-limit 1646 . at-limit 1647 . at-limit 1648 d:d valid 1649 . exhausted 1650 d:d valid 1651 . exhausted 1652 stats: (interface (dir, seek, step): (fwd, 1, 10), (rev, 0, 5)), (internal (dir, seek, step): (fwd, 3, 13), (rev, 1, 8)), 1653 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 21, key-bytes 21, value-bytes 14, tombstoned: 0)) 1654 1655 iter seq=4 1656 seek-ge-limit b d 1657 next-limit d 1658 prev-limit b 1659 next-limit e 1660 ---- 1661 . at-limit 1662 . at-limit 1663 . at-limit 1664 d:d valid 1665 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 9), (rev, 0, 5)), 1666 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 15, key-bytes 15, value-bytes 9, tombstoned: 0)) 1667 1668 iter seq=4 1669 seek-lt-limit d c 1670 prev-limit c 1671 prev-limit b 1672 prev-limit a 1673 prev-limit a 1674 next-limit b 1675 ---- 1676 . at-limit 1677 . at-limit 1678 . at-limit 1679 a:a valid 1680 . exhausted 1681 a:a valid 1682 stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 4)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 5)), 1683 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 6, key-bytes 6, value-bytes 4, tombstoned: 0)) 1684 1685 # NB: Zero values are skipped by deletable merger. 1686 define merger=deletable 1687 a.MERGE.1:1 1688 a.MERGE.2:2 1689 a.MERGE.3:-1 1690 a.MERGE.4:-2 1691 b.MERGE.4:-3 1692 b.MERGE.3:3 1693 b.MERGE.2:2 1694 b.MERGE.1:-2 1695 ---- 1696 1697 iter seq=5 1698 seek-ge a 1699 next 1700 next 1701 prev 1702 prev 1703 ---- 1704 . 1705 . 1706 . 1707 . 1708 . 1709 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 2)), (internal (dir, seek, step): (fwd, 1, 8), (rev, 1, 8)), 1710 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 16, key-bytes 16, value-bytes 24, tombstoned: 0)) 1711 1712 iter seq=4 1713 seek-ge a 1714 next 1715 next 1716 prev 1717 prev 1718 ---- 1719 a:2 1720 b:3 1721 . 1722 b:3 1723 a:2 1724 stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 2)), (internal (dir, seek, step): (fwd, 1, 6), (rev, 1, 6)), 1725 (internal-stats: (block-bytes: (total 0 B, cached 0 B)), (points: (count 16, key-bytes 16, value-bytes 24, tombstoned: 0))