init
----
size=51:
0: prefixes:       prefixbytes(16): 0 keys
1: suffixes:       bytes: 0 rows set; 0 bytes in data
2: trailers:       uint: 0 rows
3: prefix changed: bitmap
4: values:         bytes: 0 rows set; 0 bytes in data
5: is-value-ext:   bitmap
6: is-obsolete:    bitmap

write
blockprefix_apple@98#0,SET:apple98
blockprefix_apple@52#0,SET:apple52
blockprefix_apple@23#0,SET:apple23
blockprefix_apple@11#0,SETWITHDEL:apple11
blockprefix_banana@94#245,SETWITHDEL:banana94
blockprefix_banana@93#244,DEL:
blockprefix_banana@93#221,SETWITHDEL:banana93
blockprefix_banana@72#0,SETWITHDEL:banana72
blockprefix_banana@9#0,SET:banana9
blockprefix_banana@1#0,SET:banana1
blockprefix_coconut#0,SET:coconut
blockprefix_coconut@92#0,SET:coconut92
blockprefix_coconut@35#0,SET:coconut35
blockprefix_coconut@22#0,SET:coconut22
blockprefix_coconut@21#0,SET:coconut21
blockprefix_coconut@1#0,SET:coconut1
blockprefix_guava@99#0,SET:guava99
blockprefix_kiwi@99#0,SET:kiwi99
blockprefix_kiwi@98#0,SET:kiwi98
blockprefix_lemon@92#0,DEL:
----
size=433:
0: prefixes:       prefixbytes(16): 20 keys
1: suffixes:       bytes: 20 rows set; 54 bytes in data
2: trailers:       uint: 20 rows
3: prefix changed: bitmap
4: values:         bytes: 20 rows set; 136 bytes in data
5: is-value-ext:   bitmap
6: is-obsolete:    bitmap

finish
----
LastKey: blockprefix_lemon@92#0,DEL
data block header
 ├── columnar block header
 │    ├── 000-004: x 16000000 # maximum key length: 22
 │    ├── 004-005: x 01       # version 1
 │    ├── 005-007: x 0700     # 7 columns
 │    ├── 007-011: x 14000000 # 20 rows
 │    ├── 011-012: b 00000100 # col 0: prefixbytes
 │    ├── 012-016: x 2e000000 # col 0: page start 46
 │    ├── 016-017: b 00000011 # col 1: bytes
 │    ├── 017-021: x 73000000 # col 1: page start 115
 │    ├── 021-022: b 00000010 # col 2: uint
 │    ├── 022-026: x bf000000 # col 2: page start 191
 │    ├── 026-027: b 00000001 # col 3: bool
 │    ├── 027-031: x e8000000 # col 3: page start 232
 │    ├── 031-032: b 00000011 # col 4: bytes
 │    ├── 032-036: x 00010000 # col 4: page start 256
 │    ├── 036-037: b 00000001 # col 5: bool
 │    ├── 037-041: x 9e010000 # col 5: page start 414
 │    ├── 041-042: b 00000001 # col 6: bool
 │    └── 042-046: x 9f010000 # col 6: page start 415
 ├── data for column 0 (prefixbytes)
 │    ├── 046-047: x 04 # bundle size: 16
 │    ├── offsets table
 │    │    ├── 047-048: x 01 # encoding: 1b
 │    │    ├── 048-049: x 0c # data[0] = 12 [83 overall]
 │    │    ├── 049-050: x 0c # data[1] = 12 [83 overall]
 │    │    ├── 050-051: x 11 # data[2] = 17 [88 overall]
 │    │    ├── 051-052: x 11 # data[3] = 17 [88 overall]
 │    │    ├── 052-053: x 11 # data[4] = 17 [88 overall]
 │    │    ├── 053-054: x 11 # data[5] = 17 [88 overall]
 │    │    ├── 054-055: x 17 # data[6] = 23 [94 overall]
 │    │    ├── 055-056: x 17 # data[7] = 23 [94 overall]
 │    │    ├── 056-057: x 17 # data[8] = 23 [94 overall]
 │    │    ├── 057-058: x 17 # data[9] = 23 [94 overall]
 │    │    ├── 058-059: x 17 # data[10] = 23 [94 overall]
 │    │    ├── 059-060: x 17 # data[11] = 23 [94 overall]
 │    │    ├── 060-061: x 1e # data[12] = 30 [101 overall]
 │    │    ├── 061-062: x 1e # data[13] = 30 [101 overall]
 │    │    ├── 062-063: x 1e # data[14] = 30 [101 overall]
 │    │    ├── 063-064: x 1e # data[15] = 30 [101 overall]
 │    │    ├── 064-065: x 1e # data[16] = 30 [101 overall]
 │    │    ├── 065-066: x 1e # data[17] = 30 [101 overall]
 │    │    ├── 066-067: x 1e # data[18] = 30 [101 overall]
 │    │    ├── 067-068: x 23 # data[19] = 35 [106 overall]
 │    │    ├── 068-069: x 27 # data[20] = 39 [110 overall]
 │    │    ├── 069-070: x 27 # data[21] = 39 [110 overall]
 │    │    └── 070-071: x 2c # data[22] = 44 [115 overall]
 │    └── data
 │         ├── 071-081: x 626c6f636b7072656669 # data[00]: blockprefix_ (block prefix)
 │         ├── 081-083: x 785f                 # (continued...)
 │         ├── 083-083: x                      # data[01]: ............ (bundle prefix)
 │         ├── 083-088: x 6170706c65           # data[02]: ............apple
 │         ├── 088-088: x                      # data[03]: .................
 │         ├── 088-088: x                      # data[04]: .................
 │         ├── 088-088: x                      # data[05]: .................
 │         ├── 088-094: x 62616e616e61         # data[06]: ............banana
 │         ├── 094-094: x                      # data[07]: ..................
 │         ├── 094-094: x                      # data[08]: ..................
 │         ├── 094-094: x                      # data[09]: ..................
 │         ├── 094-094: x                      # data[10]: ..................
 │         ├── 094-094: x                      # data[11]: ..................
 │         ├── 094-101: x 636f636f6e7574       # data[12]: ............coconut
 │         ├── 101-101: x                      # data[13]: ...................
 │         ├── 101-101: x                      # data[14]: ...................
 │         ├── 101-101: x                      # data[15]: ...................
 │         ├── 101-101: x                      # data[16]: ...................
 │         ├── 101-101: x                      # data[17]: ...................
 │         ├── 101-101: x                      # data[18]: ............ (bundle prefix)
 │         ├── 101-106: x 6775617661           # data[19]: ............guava
 │         ├── 106-110: x 6b697769             # data[20]: ............kiwi
 │         ├── 110-110: x                      # data[21]: ................
 │         └── 110-115: x 6c656d6f6e           # data[22]: ............lemon
 ├── data for column 1 (bytes)
 │    ├── offsets table
 │    │    ├── 115-116: x 01 # encoding: 1b
 │    │    ├── 116-117: x 00 # data[0] = 0 [137 overall]
 │    │    ├── 117-118: x 03 # data[1] = 3 [140 overall]
 │    │    ├── 118-119: x 06 # data[2] = 6 [143 overall]
 │    │    ├── 119-120: x 09 # data[3] = 9 [146 overall]
 │    │    ├── 120-121: x 0c # data[4] = 12 [149 overall]
 │    │    ├── 121-122: x 0f # data[5] = 15 [152 overall]
 │    │    ├── 122-123: x 12 # data[6] = 18 [155 overall]
 │    │    ├── 123-124: x 15 # data[7] = 21 [158 overall]
 │    │    ├── 124-125: x 18 # data[8] = 24 [161 overall]
 │    │    ├── 125-126: x 1a # data[9] = 26 [163 overall]
 │    │    ├── 126-127: x 1c # data[10] = 28 [165 overall]
 │    │    ├── 127-128: x 1c # data[11] = 28 [165 overall]
 │    │    ├── 128-129: x 1f # data[12] = 31 [168 overall]
 │    │    ├── 129-130: x 22 # data[13] = 34 [171 overall]
 │    │    ├── 130-131: x 25 # data[14] = 37 [174 overall]
 │    │    ├── 131-132: x 28 # data[15] = 40 [177 overall]
 │    │    ├── 132-133: x 2a # data[16] = 42 [179 overall]
 │    │    ├── 133-134: x 2d # data[17] = 45 [182 overall]
 │    │    ├── 134-135: x 30 # data[18] = 48 [185 overall]
 │    │    ├── 135-136: x 33 # data[19] = 51 [188 overall]
 │    │    └── 136-137: x 36 # data[20] = 54 [191 overall]
 │    └── data
 │         ├── 137-140: x 403938 # data[0]: @98
 │         ├── 140-143: x 403532 # data[1]: @52
 │         ├── 143-146: x 403233 # data[2]: @23
 │         ├── 146-149: x 403131 # data[3]: @11
 │         ├── 149-152: x 403934 # data[4]: @94
 │         ├── 152-155: x 403933 # data[5]: @93
 │         ├── 155-158: x 403933 # data[6]: @93
 │         ├── 158-161: x 403732 # data[7]: @72
 │         ├── 161-163: x 4039   # data[8]: @9
 │         ├── 163-165: x 4031   # data[9]: @1
 │         ├── 165-165: x        # data[10]:
 │         ├── 165-168: x 403932 # data[11]: @92
 │         ├── 168-171: x 403335 # data[12]: @35
 │         ├── 171-174: x 403232 # data[13]: @22
 │         ├── 174-177: x 403231 # data[14]: @21
 │         ├── 177-179: x 4031   # data[15]: @1
 │         ├── 179-182: x 403939 # data[16]: @99
 │         ├── 182-185: x 403939 # data[17]: @99
 │         ├── 185-188: x 403938 # data[18]: @98
 │         └── 188-191: x 403932 # data[19]: @92
 ├── data for column 2 (uint)
 │    ├── 191-192: x 02   # encoding: 2b
 │    ├── 192-194: x 0100 # data[0] = 1
 │    ├── 194-196: x 0100 # data[1] = 1
 │    ├── 196-198: x 0100 # data[2] = 1
 │    ├── 198-200: x 1200 # data[3] = 18
 │    ├── 200-202: x 12f5 # data[4] = 62738
 │    ├── 202-204: x 00f4 # data[5] = 62464
 │    ├── 204-206: x 12dd # data[6] = 56594
 │    ├── 206-208: x 1200 # data[7] = 18
 │    ├── 208-210: x 0100 # data[8] = 1
 │    ├── 210-212: x 0100 # data[9] = 1
 │    ├── 212-214: x 0100 # data[10] = 1
 │    ├── 214-216: x 0100 # data[11] = 1
 │    ├── 216-218: x 0100 # data[12] = 1
 │    ├── 218-220: x 0100 # data[13] = 1
 │    ├── 220-222: x 0100 # data[14] = 1
 │    ├── 222-224: x 0100 # data[15] = 1
 │    ├── 224-226: x 0100 # data[16] = 1
 │    ├── 226-228: x 0100 # data[17] = 1
 │    ├── 228-230: x 0100 # data[18] = 1
 │    └── 230-232: x 0000 # data[19] = 0
 ├── data for column 3 (bool)
 │    ├── 232-233: x 00                                                               # default bitmap encoding
 │    ├── 233-240: x 00000000000000                                                   # padding to align to 64-bit boundary
 │    ├── 240-248: b 0001000100000100000010110000000000000000000000000000000000000000 # bitmap word 0
 │    └── 248-256: b 0000000100000000000000000000000000000000000000000000000000000000 # bitmap summary word 0-63
 ├── data for column 4 (bytes)
 │    ├── offsets table
 │    │    ├── 256-257: x 01 # encoding: 1b
 │    │    ├── 257-258: x 00 # data[0] = 0 [278 overall]
 │    │    ├── 258-259: x 07 # data[1] = 7 [285 overall]
 │    │    ├── 259-260: x 0e # data[2] = 14 [292 overall]
 │    │    ├── 260-261: x 15 # data[3] = 21 [299 overall]
 │    │    ├── 261-262: x 1c # data[4] = 28 [306 overall]
 │    │    ├── 262-263: x 24 # data[5] = 36 [314 overall]
 │    │    ├── 263-264: x 24 # data[6] = 36 [314 overall]
 │    │    ├── 264-265: x 2c # data[7] = 44 [322 overall]
 │    │    ├── 265-266: x 34 # data[8] = 52 [330 overall]
 │    │    ├── 266-267: x 3b # data[9] = 59 [337 overall]
 │    │    ├── 267-268: x 42 # data[10] = 66 [344 overall]
 │    │    ├── 268-269: x 49 # data[11] = 73 [351 overall]
 │    │    ├── 269-270: x 52 # data[12] = 82 [360 overall]
 │    │    ├── 270-271: x 5b # data[13] = 91 [369 overall]
 │    │    ├── 271-272: x 64 # data[14] = 100 [378 overall]
 │    │    ├── 272-273: x 6d # data[15] = 109 [387 overall]
 │    │    ├── 273-274: x 75 # data[16] = 117 [395 overall]
 │    │    ├── 274-275: x 7c # data[17] = 124 [402 overall]
 │    │    ├── 275-276: x 82 # data[18] = 130 [408 overall]
 │    │    ├── 276-277: x 88 # data[19] = 136 [414 overall]
 │    │    └── 277-278: x 88 # data[20] = 136 [414 overall]
 │    └── data
 │         ├── 278-285: x 6170706c653938     # data[0]: apple98
 │         ├── 285-292: x 6170706c653532     # data[1]: apple52
 │         ├── 292-299: x 6170706c653233     # data[2]: apple23
 │         ├── 299-306: x 6170706c653131     # data[3]: apple11
 │         ├── 306-314: x 62616e616e613934   # data[4]: banana94
 │         ├── 314-314: x                    # data[5]:
 │         ├── 314-322: x 62616e616e613933   # data[6]: banana93
 │         ├── 322-330: x 62616e616e613732   # data[7]: banana72
 │         ├── 330-337: x 62616e616e6139     # data[8]: banana9
 │         ├── 337-344: x 62616e616e6131     # data[9]: banana1
 │         ├── 344-351: x 636f636f6e7574     # data[10]: coconut
 │         ├── 351-360: x 636f636f6e75743932 # data[11]: coconut92
 │         ├── 360-369: x 636f636f6e75743335 # data[12]: coconut35
 │         ├── 369-378: x 636f636f6e75743232 # data[13]: coconut22
 │         ├── 378-387: x 636f636f6e75743231 # data[14]: coconut21
 │         ├── 387-395: x 636f636f6e757431   # data[15]: coconut1
 │         ├── 395-402: x 67756176613939     # data[16]: guava99
 │         ├── 402-408: x 6b6977693939       # data[17]: kiwi99
 │         ├── 408-414: x 6b6977693938       # data[18]: kiwi98
 │         └── 414-414: x                    # data[19]:
 ├── data for column 5 (bool)
 │    └── 414-415: x 01 # zero bitmap encoding
 ├── data for column 6 (bool)
 │    ├── 415-416: x 00                                                               # default bitmap encoding
 │    ├── 416-424: b 0100000000000000000000000000000000000000000000000000000000000000 # bitmap word 0
 │    └── 424-432: b 0000000100000000000000000000000000000000000000000000000000000000 # bitmap summary word 0-63
 └── 432-433: x 00 # block padding byte

# Scan across the block using next prefix.

iter
first
next-prefix
next-prefix
next-prefix
next-prefix
next-prefix
next-prefix
----
      first: blockprefix_apple@98:apple98
next-prefix: blockprefix_banana@94:banana94
next-prefix: blockprefix_coconut:coconut
next-prefix: blockprefix_guava@99:guava99
next-prefix: blockprefix_kiwi@99:kiwi99
next-prefix: blockprefix_lemon@92:
next-prefix: .

iter
seek-ge blockprefix_banana@73
next-prefix
----
seek-ge blockprefix_banana@73: blockprefix_banana@72:banana72
                  next-prefix: blockprefix_coconut:coconut
