github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/spark/src/test/resources/pebble-testdata/writer (about)

     1  build
     2  a.SET.1:a
     3  ----
     4  point:   [a#1,1,a#1,1]
     5  range:   [#0,0,#0,0]
     6  seqnums: [1,1]
     7  
     8  scan
     9  ----
    10  a#1,1:a
    11  
    12  scan-range-del
    13  ----
    14  
    15  build
    16  a.SET.1:a
    17  b.DEL.2:b
    18  c.MERGE.3:c
    19  d.RANGEDEL.4:e
    20  f.SET.5:f
    21  g.DEL.6:g
    22  h.MERGE.7:h
    23  i.RANGEDEL.8:j
    24  ----
    25  point:   [a#1,1,h#7,2]
    26  range:   [d#4,15,j#72057594037927935,15]
    27  seqnums: [1,8]
    28  
    29  build
    30  a.SET.1:a
    31  b.DEL.2:b
    32  c.MERGE.3:c
    33  d.RANGEDEL.4:e
    34  f.SET.5:f
    35  g.DEL.6:g
    36  h.MERGE.7:h
    37  i.RANGEDEL.8:j
    38  ----
    39  point:   [a#1,1,h#7,2]
    40  range:   [d#4,15,j#72057594037927935,15]
    41  seqnums: [1,8]
    42  
    43  scan
    44  ----
    45  a#1,1:a
    46  b#2,0:b
    47  c#3,2:c
    48  f#5,1:f
    49  g#6,0:g
    50  h#7,2:h
    51  
    52  scan-range-del
    53  ----
    54  d#4,15:e
    55  i#8,15:j
    56  
    57  # 3: a-----------m
    58  # 2:      f------------s
    59  # 1:          j---------------z
    60  
    61  build
    62  a.RANGEDEL.3:m
    63  f.RANGEDEL.2:s
    64  j.RANGEDEL.1:z
    65  ----
    66  point:   [#0,0,#0,0]
    67  range:   [a#3,15,z#72057594037927935,15]
    68  seqnums: [1,3]
    69  
    70  scan
    71  ----
    72  
    73  scan-range-del
    74  ----
    75  a#3,15:f
    76  f#3,15:j
    77  f#2,15:j
    78  j#3,15:m
    79  j#2,15:m
    80  j#1,15:m
    81  m#2,15:s
    82  m#1,15:s
    83  s#1,15:z
    84  
    85  # The range tombstone upper bound is exclusive, so a point operation
    86  # on that same key will be the actual boundary.
    87  
    88  build
    89  a.RANGEDEL.3:b
    90  b.SET.4:c
    91  ----
    92  point:   [b#4,1,b#4,1]
    93  range:   [a#3,15,b#72057594037927935,15]
    94  seqnums: [3,4]
    95  
    96  build
    97  a.RANGEDEL.3:b
    98  b.SET.2:c
    99  ----
   100  point:   [b#2,1,b#2,1]
   101  range:   [a#3,15,b#72057594037927935,15]
   102  seqnums: [2,3]
   103  
   104  build
   105  a.RANGEDEL.3:c
   106  b.SET.2:c
   107  ----
   108  point:   [b#2,1,b#2,1]
   109  range:   [a#3,15,c#72057594037927935,15]
   110  seqnums: [2,3]
   111  
   112  # Keys must be added in order.
   113  
   114  build
   115  a.SET.1:b
   116  a.SET.2:c
   117  ----
   118  pebble: keys must be added in order: a#1,SET, a#2,SET
   119  
   120  build
   121  b.SET.1:a
   122  a.SET.2:b
   123  ----
   124  pebble: keys must be added in order: b#1,SET, a#2,SET
   125  
   126  build
   127  b.RANGEDEL.1:c
   128  a.RANGEDEL.2:b
   129  ----
   130  pebble: keys must be added in order: b#1,RANGEDEL > a#2,RANGEDEL
   131  
   132  build-raw
   133  .RANGEDEL.1:b
   134  ----
   135  point:   [#0,0,#0,0]
   136  range:   [#1,15,b#72057594037927935,15]
   137  seqnums: [1,1]
   138  
   139  build-raw
   140  a.RANGEDEL.1:c
   141  a.RANGEDEL.2:c
   142  ----
   143  pebble: keys must be added in order: a#1,RANGEDEL, a#2,RANGEDEL
   144  
   145  build-raw
   146  a.RANGEDEL.1:c
   147  b.RANGEDEL.2:d
   148  ----
   149  pebble: overlapping tombstones must be fragmented: a-c#1 vs b-d#2
   150  
   151  build-raw
   152  a.RANGEDEL.2:c
   153  a.RANGEDEL.1:d
   154  ----
   155  pebble: overlapping tombstones must be fragmented: a-c#2 vs a-d#1
   156  
   157  build-raw
   158  a.RANGEDEL.1:c
   159  c.RANGEDEL.2:d
   160  ----
   161  point:   [#0,0,#0,0]
   162  range:   [a#1,15,d#72057594037927935,15]
   163  seqnums: [1,2]
   164  
   165  # The range-del-v1 format supports unfragmented and unsorted range
   166  # tombstones.
   167  
   168  build-raw range-del-v1
   169  a.RANGEDEL.1:c
   170  a.RANGEDEL.2:c
   171  ----
   172  point:   [#0,0,#0,0]
   173  range:   [a#2,15,c#72057594037927935,15]
   174  seqnums: [1,2]
   175  
   176  scan-range-del
   177  ----
   178  a#2,15:c
   179  a#1,15:c
   180  
   181  build-raw range-del-v1
   182  a.RANGEDEL.1:c
   183  b.RANGEDEL.2:d
   184  ----
   185  point:   [#0,0,#0,0]
   186  range:   [a#1,15,d#72057594037927935,15]
   187  seqnums: [1,2]
   188  
   189  scan-range-del
   190  ----
   191  a#1,15:b
   192  b#2,15:c
   193  b#1,15:c
   194  c#2,15:d
   195  
   196  build-raw range-del-v1
   197  a.RANGEDEL.2:c
   198  a.RANGEDEL.1:d
   199  ----
   200  point:   [#0,0,#0,0]
   201  range:   [a#2,15,d#72057594037927935,15]
   202  seqnums: [1,2]
   203  
   204  scan-range-del
   205  ----
   206  a#2,15:c
   207  a#1,15:c
   208  c#1,15:d
   209  
   210  # This matches an early test case, except we're passing overlapping
   211  # range tombstones to the sstable writer and requiring them to be
   212  # fragmented at read time.
   213  
   214  build-raw range-del-v1
   215  j.RANGEDEL.1:z
   216  f.RANGEDEL.2:s
   217  a.RANGEDEL.3:m
   218  ----
   219  point:   [#0,0,#0,0]
   220  range:   [a#3,15,z#72057594037927935,15]
   221  seqnums: [1,3]
   222  
   223  scan-range-del
   224  ----
   225  a#3,15:f
   226  f#3,15:j
   227  f#2,15:j
   228  j#3,15:m
   229  j#2,15:m
   230  j#1,15:m
   231  m#2,15:s
   232  m#1,15:s
   233  s#1,15:z
   234  
   235  # Setting a very small index-block-size results in a two-level index.
   236  
   237  build block-size=1 index-block-size=1
   238  a.SET.1:a
   239  b.SET.1:b
   240  c.SET.1:c
   241  ----
   242  point:   [a#1,1,c#1,1]
   243  range:   [#0,0,#0,0]
   244  seqnums: [1,1]
   245  
   246  layout
   247  ----
   248           0  data (21)
   249          26  data (21)
   250          52  data (21)
   251          78  index (22)
   252         105  index (22)
   253         132  index (22)
   254         159  top-index (50)
   255         214  properties (717)
   256         936  meta-index (33)
   257         974  footer (53)
   258  
   259  scan
   260  ----
   261  a#1,1:a
   262  b#1,1:b
   263  c#1,1:c
   264  
   265  # Enabling leveldb format disables the creation of a two-level index
   266  # (the input data here mirrors the test case above).
   267  
   268  build leveldb block-size=1 index-block-size=1
   269  a.SET.1:a
   270  b.SET.1:b
   271  c.SET.1:c
   272  ----
   273  point:   [a#1,1,c#1,1]
   274  range:   [#0,0,#0,0]
   275  seqnums: [1,1]
   276  
   277  layout
   278  ----
   279           0  data (21)
   280          26  data (21)
   281          52  data (21)
   282          78  index (47)
   283         130  properties (678)
   284         813  meta-index (33)
   285         851  leveldb-footer (48)