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