github.com/cockroachdb/pebble@v0.0.0-20231214172447-ab4952c5f87b/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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, 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=pebble: unsupported reverse prefix iteration
    65  err=pebble: 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 0B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 7, key-bytes 7B, value-bytes 4B, 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 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 2B, value-bytes 2B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 5B, value-bytes 5B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 5B, value-bytes 5B, 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 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 4B, value-bytes 4B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 3B, value-bytes 3B, 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 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, 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 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 9B, value-bytes 9B, 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 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 9B, value-bytes 9B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 9B, value-bytes 9B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 7B, value-bytes 7B, 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 0B, cached 0B, read-time 0s)), (points: (count 6, key-bytes 11B, value-bytes 11B, 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 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 12B, value-bytes 12B, 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 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 7B, value-bytes 7B, 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 0B, cached 0B, read-time 0s)), (points: (count 7, key-bytes 12B, value-bytes 12B, 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 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 7B, value-bytes 2B, tombstoned 0)))
   635  
   636  
   637  define
   638  a.MERGE.3:d
   639  a.MERGE.2:c
   640  a.SET.1:b
   641  b.MERGE.2:b
   642  b.MERGE.1:a
   643  ----
   644  
   645  iter seq=4
   646  seek-ge a
   647  next
   648  next
   649  prev
   650  ----
   651  a: (bcd, .)
   652  b: (ab, .)
   653  .
   654  b: (ab, .)
   655  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 5), (rev, 1, 2)),
   656  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 8, key-bytes 8B, value-bytes 8B, tombstoned 0)))
   657  
   658  iter seq=3
   659  seek-ge a
   660  next
   661  ----
   662  a: (bc, .)
   663  b: (ab, .)
   664  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)),
   665  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   666  
   667  iter seq=2
   668  seek-ge a
   669  next
   670  ----
   671  a: (b, .)
   672  b: (a, .)
   673  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   674  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   675  
   676  iter seq=4
   677  seek-lt c
   678  prev
   679  prev
   680  next
   681  ----
   682  b: (ab, .)
   683  a: (bcd, .)
   684  .
   685  a: (bcd, .)
   686  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 1, 5)),
   687  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 8, key-bytes 8B, value-bytes 8B, tombstoned 0)))
   688  
   689  iter seq=3
   690  seek-lt c
   691  prev
   692  ----
   693  b: (ab, .)
   694  a: (bc, .)
   695  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 4)),
   696  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   697  
   698  iter seq=2
   699  seek-lt c
   700  prev
   701  ----
   702  b: (a, .)
   703  a: (b, .)
   704  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 2)),
   705  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   706  
   707  iter seq=4
   708  seek-ge a
   709  next
   710  prev
   711  next
   712  ----
   713  a: (bcd, .)
   714  b: (ab, .)
   715  a: (bcd, .)
   716  b: (ab, .)
   717  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 10), (rev, 1, 5)),
   718  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   719  
   720  iter seq=3
   721  seek-ge a
   722  next
   723  prev
   724  next
   725  ----
   726  a: (bc, .)
   727  b: (ab, .)
   728  a: (bc, .)
   729  b: (ab, .)
   730  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 8), (rev, 1, 4)),
   731  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   732  
   733  iter seq=2
   734  seek-ge a
   735  next
   736  prev
   737  next
   738  ----
   739  a: (b, .)
   740  b: (a, .)
   741  a: (b, .)
   742  b: (a, .)
   743  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 4), (rev, 1, 2)),
   744  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   745  
   746  iter seq=4
   747  seek-lt c
   748  prev
   749  next
   750  prev
   751  ----
   752  b: (ab, .)
   753  a: (bcd, .)
   754  b: (ab, .)
   755  a: (bcd, .)
   756  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 5), (rev, 2, 10)),
   757  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   758  
   759  iter seq=3
   760  seek-lt c
   761  prev
   762  next
   763  prev
   764  ----
   765  b: (ab, .)
   766  a: (bc, .)
   767  b: (ab, .)
   768  a: (bc, .)
   769  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 2, 8)),
   770  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   771  
   772  iter seq=2
   773  seek-lt c
   774  prev
   775  next
   776  prev
   777  ----
   778  b: (a, .)
   779  a: (b, .)
   780  b: (a, .)
   781  a: (b, .)
   782  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 2)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 2, 4)),
   783  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 15B, tombstoned 0)))
   784  
   785  iter seq=3
   786  seek-prefix-ge a
   787  next
   788  ----
   789  a: (bc, .)
   790  .
   791  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   792  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
   793  
   794  iter seq=2
   795  seek-prefix-ge a
   796  next
   797  ----
   798  a: (b, .)
   799  .
   800  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
   801  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
   802  
   803  iter seq=4
   804  seek-prefix-ge a
   805  next
   806  ----
   807  a: (bcd, .)
   808  .
   809  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)),
   810  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
   811  
   812  iter seq=2
   813  seek-prefix-ge a
   814  next
   815  ----
   816  a: (b, .)
   817  .
   818  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
   819  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
   820  
   821  iter seq=3
   822  seek-prefix-ge a
   823  next
   824  ----
   825  a: (bc, .)
   826  .
   827  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   828  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
   829  
   830  iter seq=3
   831  seek-prefix-ge c
   832  ----
   833  .
   834  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0))
   835  
   836  iter seq=3
   837  seek-prefix-ge 1
   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  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
   842  
   843  iter seq=3
   844  seek-prefix-ge a
   845  ----
   846  a: (bc, .)
   847  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
   848  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, tombstoned 0)))
   849  
   850  
   851  define
   852  a.MERGE.3:d
   853  a.MERGE.2:c
   854  a.MERGE.1:b
   855  aa.MERGE.2:b
   856  aa.MERGE.1:a
   857  b.MERGE.2:b
   858  b.MERGE.1:a
   859  ----
   860  
   861  iter seq=3
   862  seek-prefix-ge a
   863  next
   864  next
   865  ----
   866  a: (bc, .)
   867  .
   868  .
   869  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   870  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 5B, value-bytes 4B, tombstoned 0)))
   871  
   872  iter seq=2
   873  seek-prefix-ge a
   874  next
   875  next
   876  ----
   877  a: (b, .)
   878  .
   879  .
   880  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
   881  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 5B, value-bytes 4B, tombstoned 0)))
   882  
   883  iter seq=4
   884  seek-prefix-ge a
   885  next
   886  ----
   887  a: (bcd, .)
   888  .
   889  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)),
   890  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 5B, value-bytes 4B, tombstoned 0)))
   891  
   892  iter seq=2
   893  seek-prefix-ge a
   894  next
   895  ----
   896  a: (b, .)
   897  .
   898  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
   899  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 5B, value-bytes 4B, tombstoned 0)))
   900  
   901  iter seq=3
   902  seek-prefix-ge aa
   903  next
   904  ----
   905  aa: (ab, .)
   906  .
   907  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   908  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 5B, value-bytes 3B, tombstoned 0)))
   909  
   910  iter seq=4
   911  seek-prefix-ge aa
   912  ----
   913  aa: (ab, .)
   914  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
   915  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 5B, value-bytes 3B, tombstoned 0)))
   916  
   917  define
   918  a.SET.1:a
   919  b.SET.1:b
   920  c.SET.1:c
   921  d.SET.1:d
   922  ----
   923  
   924  iter seq=2 lower=a
   925  seek-ge a
   926  first
   927  prev
   928  ----
   929  a: (a, .)
   930  a: (a, .)
   931  .
   932  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
   933  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
   934  
   935  iter seq=2 lower=b
   936  seek-ge a
   937  first
   938  prev
   939  ----
   940  b: (b, .)
   941  b: (b, .)
   942  .
   943  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
   944  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
   945  
   946  iter seq=2 lower=c
   947  seek-ge a
   948  first
   949  prev
   950  ----
   951  c: (c, .)
   952  c: (c, .)
   953  .
   954  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
   955  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
   956  
   957  iter seq=2 lower=d
   958  seek-ge a
   959  first
   960  prev
   961  ----
   962  d: (d, .)
   963  d: (d, .)
   964  .
   965  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
   966  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
   967  
   968  iter seq=2 lower=e
   969  seek-ge a
   970  first
   971  ----
   972  .
   973  .
   974  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0))
   975  
   976  iter seq=2 upper=d
   977  seek-lt d
   978  last
   979  next
   980  ----
   981  c: (c, .)
   982  c: (c, .)
   983  .
   984  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)),
   985  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   986  
   987  iter seq=2 upper=c
   988  seek-lt d
   989  last
   990  next
   991  ----
   992  b: (b, .)
   993  b: (b, .)
   994  .
   995  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)),
   996  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
   997  
   998  iter seq=2 upper=b
   999  seek-lt d
  1000  last
  1001  next
  1002  ----
  1003  a: (a, .)
  1004  a: (a, .)
  1005  .
  1006  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 2, 2)),
  1007  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1008  
  1009  iter seq=2 upper=a
  1010  seek-lt d
  1011  last
  1012  ----
  1013  .
  1014  .
  1015  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 2, 0))
  1016  
  1017  iter seq=2 lower=b upper=c
  1018  seek-ge a
  1019  next
  1020  ----
  1021  b: (b, .)
  1022  .
  1023  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1024  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1025  
  1026  iter seq=2
  1027  set-bounds lower=a
  1028  seek-ge a
  1029  first
  1030  prev
  1031  ----
  1032  .
  1033  a: (a, .)
  1034  a: (a, .)
  1035  .
  1036  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1037  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1038  
  1039  iter seq=2
  1040  set-bounds lower=b
  1041  seek-ge a
  1042  first
  1043  prev
  1044  ----
  1045  .
  1046  b: (b, .)
  1047  b: (b, .)
  1048  .
  1049  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1050  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1051  
  1052  iter seq=2
  1053  set-bounds lower=c
  1054  seek-ge a
  1055  first
  1056  prev
  1057  ----
  1058  .
  1059  c: (c, .)
  1060  c: (c, .)
  1061  .
  1062  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1063  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1064  
  1065  iter seq=2
  1066  set-bounds lower=d
  1067  seek-ge a
  1068  first
  1069  prev
  1070  ----
  1071  .
  1072  d: (d, .)
  1073  d: (d, .)
  1074  .
  1075  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1076  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1077  
  1078  iter seq=2
  1079  set-bounds lower=e
  1080  seek-ge a
  1081  first
  1082  ----
  1083  .
  1084  .
  1085  .
  1086  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0))
  1087  
  1088  iter seq=2
  1089  set-bounds upper=d
  1090  seek-lt d
  1091  last
  1092  next
  1093  ----
  1094  .
  1095  c: (c, .)
  1096  c: (c, .)
  1097  .
  1098  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)),
  1099  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
  1100  
  1101  iter seq=2
  1102  set-bounds upper=c
  1103  seek-lt d
  1104  last
  1105  next
  1106  ----
  1107  .
  1108  b: (b, .)
  1109  b: (b, .)
  1110  .
  1111  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)),
  1112  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
  1113  
  1114  iter seq=2
  1115  set-bounds upper=b
  1116  seek-lt d
  1117  last
  1118  next
  1119  ----
  1120  .
  1121  a: (a, .)
  1122  a: (a, .)
  1123  .
  1124  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 2, 2)),
  1125  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1126  
  1127  iter seq=2
  1128  set-bounds upper=a
  1129  seek-lt d
  1130  last
  1131  ----
  1132  .
  1133  .
  1134  .
  1135  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 2, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 2, 0))
  1136  
  1137  iter seq=2
  1138  set-bounds lower=a
  1139  seek-lt d
  1140  next
  1141  next
  1142  ----
  1143  .
  1144  c: (c, .)
  1145  d: (d, .)
  1146  .
  1147  stats: (interface (dir, seek, step): (fwd, 0, 2), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 3), (rev, 1, 1)),
  1148  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 4B, tombstoned 0)))
  1149  
  1150  iter seq=2
  1151  set-bounds lower=b upper=c
  1152  seek-ge a
  1153  next
  1154  ----
  1155  .
  1156  b: (b, .)
  1157  .
  1158  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1159  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1160  
  1161  iter seq=2
  1162  set-bounds lower=b
  1163  seek-ge a
  1164  set-bounds lower=b upper=z
  1165  seek-ge a
  1166  ----
  1167  .
  1168  b: (b, .)
  1169  .
  1170  b: (b, .)
  1171  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 0)),
  1172  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1173  
  1174  iter seq=2
  1175  seek-ge a
  1176  set-bounds upper=e
  1177  ----
  1178  a: (a, .)
  1179  .
  1180  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1181  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1182  
  1183  iter seq=2
  1184  set-bounds lower=b
  1185  seek-ge a
  1186  set-bounds upper=e
  1187  ----
  1188  .
  1189  b: (b, .)
  1190  .
  1191  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1192  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1193  
  1194  iter seq=2
  1195  set-bounds lower=b
  1196  first
  1197  ----
  1198  .
  1199  b: (b, .)
  1200  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1201  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1202  
  1203  iter seq=2
  1204  set-bounds upper=b
  1205  first
  1206  ----
  1207  .
  1208  a: (a, .)
  1209  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1210  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1211  
  1212  iter seq=2
  1213  set-bounds lower=b
  1214  last
  1215  ----
  1216  .
  1217  d: (d, .)
  1218  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
  1219  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1220  
  1221  iter seq=2
  1222  set-bounds upper=b
  1223  last
  1224  ----
  1225  .
  1226  a: (a, .)
  1227  stats: (interface (dir, seek, step): (fwd, 0, 0), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 1, 1)),
  1228  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1229  
  1230  # The prev call after "set-bounds upper=c" will assume that the iterator
  1231  # is exhausted due to having stepped up to c. Which means prev should step
  1232  # back to below c, hence returning b.
  1233  iter seq=2
  1234  last
  1235  next
  1236  set-bounds upper=c
  1237  prev
  1238  ----
  1239  d: (d, .)
  1240  .
  1241  .
  1242  b: (b, .)
  1243  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 1)), (internal (dir, seek, step): (fwd, 0, 2), (rev, 2, 2)),
  1244  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 5, key-bytes 5B, value-bytes 5B, tombstoned 0)))
  1245  
  1246  # The next call after "set-bounds lower=b" will assume that the iterator
  1247  # is exhausted due to having stepped below b. Which means next should step
  1248  # up to b (or higher), hence returning b.
  1249  iter seq=2
  1250  first
  1251  prev
  1252  set-bounds lower=b
  1253  next
  1254  ----
  1255  a: (a, .)
  1256  .
  1257  .
  1258  b: (b, .)
  1259  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1260  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1261  
  1262  iter seq=2
  1263  set-bounds lower=b
  1264  seek-lt c
  1265  next
  1266  ----
  1267  .
  1268  b: (b, .)
  1269  c: (c, .)
  1270  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 1, 1)),
  1271  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1272  
  1273  iter seq=2
  1274  set-bounds upper=d
  1275  seek-ge c
  1276  prev
  1277  ----
  1278  .
  1279  c: (c, .)
  1280  b: (b, .)
  1281  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 2)),
  1282  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1283  
  1284  define
  1285  a.SET.1:a
  1286  aa.SET.1:aa
  1287  aaa.SET.1:aaa
  1288  b.SET.1:b
  1289  ----
  1290  
  1291  iter seq=2 lower=a
  1292  seek-prefix-ge a
  1293  first
  1294  prev
  1295  ----
  1296  a: (a, .)
  1297  a: (a, .)
  1298  .
  1299  stats: (interface (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 2, 0), (rev, 0, 1)),
  1300  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1301  
  1302  
  1303  iter seq=2 lower=aa
  1304  seek-prefix-ge a
  1305  ----
  1306  err=pebble: SeekPrefixGE supplied with key outside of lower bound
  1307  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 0, 0), (rev, 0, 0))
  1308  
  1309  iter seq=2 lower=a upper=aa
  1310  seek-prefix-ge a
  1311  next
  1312  ----
  1313  a: (a, .)
  1314  .
  1315  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1316  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 1B, tombstoned 0)))
  1317  
  1318  iter seq=2 lower=a upper=aaa
  1319  seek-prefix-ge a
  1320  next
  1321  ----
  1322  a: (a, .)
  1323  .
  1324  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1325  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1326  
  1327  iter seq=2 lower=a upper=b
  1328  seek-prefix-ge a
  1329  next
  1330  ----
  1331  a: (a, .)
  1332  .
  1333  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1334  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1335  
  1336  iter seq=2 lower=a upper=c
  1337  seek-prefix-ge a
  1338  next
  1339  ----
  1340  a: (a, .)
  1341  .
  1342  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1343  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 3B, value-bytes 3B, tombstoned 0)))
  1344  
  1345  iter seq=2 lower=a upper=aaa
  1346  seek-prefix-ge aa
  1347  ----
  1348  aa: (aa, .)
  1349  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1350  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1351  
  1352  iter seq=2 lower=a upper=aaa
  1353  seek-prefix-ge aa
  1354  next
  1355  ----
  1356  aa: (aa, .)
  1357  .
  1358  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1359  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1360  
  1361  define
  1362  a.SET.1:a
  1363  b.SET.2:b
  1364  ----
  1365  
  1366  iter seq=4
  1367  first
  1368  next
  1369  next
  1370  ----
  1371  a: (a, .)
  1372  b: (b, .)
  1373  .
  1374  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1375  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 2B, tombstoned 0)))
  1376  
  1377  define
  1378  a.SINGLEDEL.1:
  1379  ----
  1380  
  1381  iter seq=2
  1382  first
  1383  ----
  1384  .
  1385  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)),
  1386  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 1, key-bytes 1B, value-bytes 0B, tombstoned 0)))
  1387  
  1388  define
  1389  a.SINGLEDEL.2:
  1390  a.SINGLEDEL.1:
  1391  ----
  1392  
  1393  iter seq=3
  1394  first
  1395  ----
  1396  .
  1397  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1398  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 0B, tombstoned 0)))
  1399  
  1400  define
  1401  a.SINGLEDEL.2:
  1402  a.DEL.1:
  1403  ----
  1404  
  1405  iter seq=3
  1406  first
  1407  ----
  1408  .
  1409  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1410  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 0B, tombstoned 0)))
  1411  
  1412  define
  1413  a.SINGLEDEL.2:
  1414  a.MERGE.1:
  1415  ----
  1416  
  1417  iter seq=3
  1418  first
  1419  ----
  1420  .
  1421  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1422  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 0B, tombstoned 0)))
  1423  
  1424  define
  1425  a.SINGLEDEL.2:
  1426  a.SET.1:b
  1427  ----
  1428  
  1429  iter seq=3
  1430  first
  1431  ----
  1432  .
  1433  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1434  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, tombstoned 0)))
  1435  
  1436  define
  1437  a.SET.2:b
  1438  a.SINGLEDEL.1:
  1439  ----
  1440  
  1441  iter seq=3
  1442  first
  1443  next
  1444  ----
  1445  a: (b, .)
  1446  .
  1447  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1448  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 1B, tombstoned 0)))
  1449  
  1450  define
  1451  a.SINGLEDEL.2:
  1452  a.SET.1:b
  1453  b.SET.3:c
  1454  ----
  1455  
  1456  iter seq=4
  1457  first
  1458  next
  1459  ----
  1460  b: (c, .)
  1461  .
  1462  stats: (interface (dir, seek, step): (fwd, 1, 1), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)),
  1463  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, tombstoned 0)))
  1464  
  1465  define
  1466  a.SINGLEDEL.3:
  1467  a.SET.2:b
  1468  a.SET.1:a
  1469  ----
  1470  
  1471  iter
  1472  first
  1473  ----
  1474  .
  1475  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)),
  1476  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, tombstoned 0)))
  1477  
  1478  define
  1479  a.SINGLEDEL.3:
  1480  a.MERGE.2:b
  1481  a.MERGE.1:a
  1482  ----
  1483  
  1484  iter seq=4
  1485  first
  1486  ----
  1487  .
  1488  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 3), (rev, 0, 0)),
  1489  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 3, key-bytes 3B, value-bytes 2B, tombstoned 0)))
  1490  
  1491  define
  1492  a.SINGLEDEL.4:
  1493  a.SET.3:val
  1494  a.SINGLEDEL.2:
  1495  a.SET.1:val
  1496  ----
  1497  
  1498  iter seq=5
  1499  first
  1500  ----
  1501  .
  1502  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)),
  1503  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 6B, tombstoned 0)))
  1504  
  1505  define
  1506  a.SINGLEDEL.4:
  1507  a.SET.3:val
  1508  a.DEL.2:
  1509  a.SET.1:val
  1510  ----
  1511  
  1512  iter seq=5
  1513  first
  1514  ----
  1515  .
  1516  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)),
  1517  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 6B, tombstoned 0)))
  1518  
  1519  define
  1520  a.SINGLEDEL.4:
  1521  a.SET.3:c
  1522  a.MERGE.2:b
  1523  a.SET.1:a
  1524  ----
  1525  
  1526  iter seq=5
  1527  first
  1528  ----
  1529  .
  1530  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 4), (rev, 0, 0)),
  1531  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 4, key-bytes 4B, value-bytes 3B, tombstoned 0)))
  1532  
  1533  define
  1534  a.SINGLEDEL.3:
  1535  a.SET.1:val
  1536  ----
  1537  
  1538  iter seq=4
  1539  first
  1540  ----
  1541  .
  1542  stats: (interface (dir, seek, step): (fwd, 1, 0), (rev, 0, 0)), (internal (dir, seek, step): (fwd, 1, 2), (rev, 0, 0)),
  1543  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 2, key-bytes 2B, value-bytes 3B, tombstoned 0)))
  1544  
  1545  # Exercise iteration with limits, when there are no deletes.
  1546  define
  1547  a.SET.1:a
  1548  b.SET.1:b
  1549  c.SET.1:c
  1550  d.SET.1:d
  1551  ----
  1552  
  1553  iter seq=2
  1554  seek-ge-limit a b
  1555  next-limit b
  1556  prev-limit a
  1557  next-limit b
  1558  next-limit b
  1559  seek-lt-limit d d
  1560  prev-limit d
  1561  next-limit e
  1562  prev-limit d
  1563  prev-limit c
  1564  prev-limit b
  1565  prev-limit a
  1566  prev-limit a
  1567  next-limit a
  1568  next-limit b
  1569  ----
  1570  a: valid (a, .)
  1571  . at-limit
  1572  a: valid (a, .)
  1573  . at-limit
  1574  . at-limit
  1575  . at-limit
  1576  . at-limit
  1577  d: valid (d, .)
  1578  . at-limit
  1579  c: valid (c, .)
  1580  b: valid (b, .)
  1581  a: valid (a, .)
  1582  . exhausted
  1583  . at-limit
  1584  a: valid (a, .)
  1585  stats: (interface (dir, seek, step): (fwd, 1, 6), (rev, 1, 7)), (internal (dir, seek, step): (fwd, 3, 3), (rev, 1, 6)),
  1586  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 11, key-bytes 11B, value-bytes 11B, tombstoned 0)))
  1587  
  1588  # Exercise iteration with limits when we have deletes.
  1589  
  1590  define
  1591  a.SET.1:a
  1592  b.DEL.3:
  1593  b.SET.2:b
  1594  c.DEL.3:
  1595  c.SET.2:c
  1596  d.SET.1:d
  1597  ----
  1598  
  1599  iter seq=4
  1600  seek-ge-limit a b
  1601  next-limit b
  1602  prev-limit a
  1603  prev-limit a
  1604  next-limit b
  1605  next-limit b
  1606  next-limit b
  1607  prev-limit a
  1608  next-limit c
  1609  prev-limit b
  1610  next-limit c
  1611  next-limit d
  1612  next-limit e
  1613  next-limit e
  1614  prev-limit d
  1615  next-limit e
  1616  ----
  1617  a: valid (a, .)
  1618  . at-limit
  1619  a: valid (a, .)
  1620  . exhausted
  1621  a: valid (a, .)
  1622  . at-limit
  1623  . at-limit
  1624  a: valid (a, .)
  1625  . at-limit
  1626  . at-limit
  1627  . at-limit
  1628  . at-limit
  1629  d: valid (d, .)
  1630  . exhausted
  1631  d: valid (d, .)
  1632  . exhausted
  1633  stats: (interface (dir, seek, step): (fwd, 1, 10), (rev, 0, 5)), (internal (dir, seek, step): (fwd, 3, 13), (rev, 1, 8)),
  1634  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 21, key-bytes 21B, value-bytes 14B, tombstoned 0)))
  1635  
  1636  iter seq=4
  1637  seek-ge-limit b d
  1638  next-limit d
  1639  prev-limit b
  1640  next-limit e
  1641  ----
  1642  . at-limit
  1643  . at-limit
  1644  . at-limit
  1645  d: valid (d, .)
  1646  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 1)), (internal (dir, seek, step): (fwd, 1, 9), (rev, 0, 5)),
  1647  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 15, key-bytes 15B, value-bytes 9B, tombstoned 0)))
  1648  
  1649  iter seq=4
  1650  seek-lt-limit d c
  1651  prev-limit c
  1652  prev-limit b
  1653  prev-limit a
  1654  prev-limit a
  1655  next-limit b
  1656  ----
  1657  . at-limit
  1658  . at-limit
  1659  . at-limit
  1660  a: valid (a, .)
  1661  . exhausted
  1662  a: valid (a, .)
  1663  stats: (interface (dir, seek, step): (fwd, 0, 1), (rev, 1, 4)), (internal (dir, seek, step): (fwd, 1, 0), (rev, 1, 5)),
  1664  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 6, key-bytes 6B, value-bytes 4B, tombstoned 0)))
  1665  
  1666  # NB: Zero values are skipped by deletable merger.
  1667  define merger=deletable
  1668  a.MERGE.1:1
  1669  a.MERGE.2:2
  1670  a.MERGE.3:-1
  1671  a.MERGE.4:-2
  1672  b.MERGE.4:-3
  1673  b.MERGE.3:3
  1674  b.MERGE.2:2
  1675  b.MERGE.1:-2
  1676  ----
  1677  
  1678  iter seq=5
  1679  seek-ge a
  1680  next
  1681  next
  1682  prev
  1683  prev
  1684  ----
  1685  .
  1686  .
  1687  .
  1688  .
  1689  .
  1690  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 2)), (internal (dir, seek, step): (fwd, 1, 8), (rev, 1, 8)),
  1691  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 16, key-bytes 16B, value-bytes 24B, tombstoned 0)))
  1692  
  1693  iter seq=4
  1694  seek-ge a
  1695  next
  1696  next
  1697  prev
  1698  prev
  1699  ----
  1700  a: (2, .)
  1701  b: (3, .)
  1702  .
  1703  b: (3, .)
  1704  a: (2, .)
  1705  stats: (interface (dir, seek, step): (fwd, 1, 2), (rev, 0, 2)), (internal (dir, seek, step): (fwd, 1, 6), (rev, 1, 6)),
  1706  (internal-stats: (block-bytes: (total 0B, cached 0B, read-time 0s)), (points: (count 16, key-bytes 16B, value-bytes 24B, tombstoned 0)))