github.com/cockroachdb/pebble@v1.1.1-0.20240513155919-3622ade60459/sstable/testdata/rewriter (about)

     1  build block-size=1 index-block-size=1 filter
     2  a_xyz.SET.1:a
     3  b_xyz.SET.1:b
     4  c_xyz.SET.1:c
     5  ----
     6  point:    [a_xyz#1,1-c_xyz#1,1]
     7  seqnums:  [1-1]
     8  
     9  rewrite from=xyz to=123 block-size=1 index-block-size=1 filter
    10  ----
    11  rewrite failed: a valid splitter is required to rewrite suffixes
    12  
    13  rewrite from=xyz to=123 block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    14  ----
    15  rewrite failed: rewriting data blocks: mismatched Comparer leveldb.BytewiseComparator vs comparer-split-4b-suffix, replacement requires same splitter to copy filters
    16  
    17  build block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    18  aa_xyz.SET.1:a
    19  ba_xyz.SET.1:b
    20  ca_xyz.SET.1:c
    21  ----
    22  point:    [aa_xyz#1,1-ca_xyz#1,1]
    23  seqnums:  [1-1]
    24  
    25  rewrite from=yz to=23 block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    26  ----
    27  rewrite failed: rewriting data blocks: key has suffix "_xyz", expected "yz"
    28  
    29  rewrite from=a_xyz to=a_123 block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    30  ----
    31  rewrite failed: rewriting data blocks: key has suffix "_xyz", expected "a_xyz"
    32  
    33  build block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    34  a_xyz.SET.1:a
    35  b_xyz.SET.1:b
    36  c_xyz.SET.1:c
    37  ----
    38  point:    [a_xyz#1,1-c_xyz#1,1]
    39  seqnums:  [1-1]
    40  
    41  layout
    42  ----
    43           0  data (25)
    44          30  data (25)
    45          60  data (25)
    46          90  filter (69)
    47         164  index (22)
    48         191  index (22)
    49         218  index (22)
    50         245  top-index (48)
    51         298  properties (630)
    52         933  meta-index (79)
    53        1017  footer (53)
    54        1070  EOF
    55  
    56  scan
    57  ----
    58  a_xyz#1,1:a
    59  b_xyz#1,1:b
    60  c_xyz#1,1:c
    61  
    62  get
    63  b_xyz
    64  f_xyz
    65  c_xyz
    66  ----
    67  b
    68  get f_xyz: pebble: not found
    69  c
    70  
    71  rewrite from=_xyz to=_123 block-size=1 index-block-size=1 filter comparer-split-4b-suffix
    72  ----
    73  point:    [a_123#1,1-c_123#1,1]
    74  seqnums:  [1-1]
    75  
    76  layout
    77  ----
    78           0  data (25)
    79          30  data (25)
    80          60  data (25)
    81          90  filter (69)
    82         164  index (22)
    83         191  index (22)
    84         218  index (22)
    85         245  top-index (48)
    86         298  properties (630)
    87         933  meta-index (79)
    88        1017  footer (53)
    89        1070  EOF
    90  
    91  scan
    92  ----
    93  a_123#1,1:a
    94  b_123#1,1:b
    95  c_123#1,1:c
    96  
    97  get
    98  b_123
    99  f_123
   100  c_123
   101  ----
   102  b
   103  get f_123: pebble: not found
   104  c
   105  
   106  rewrite from=_123 to=_456 block-size=1 index-block-size=1 filter comparer-split-4b-suffix concurrency=2
   107  ----
   108  point:    [a_456#1,1-c_456#1,1]
   109  seqnums:  [1-1]
   110  
   111  layout
   112  ----
   113           0  data (25)
   114          30  data (25)
   115          60  data (25)
   116          90  filter (69)
   117         164  index (22)
   118         191  index (22)
   119         218  index (22)
   120         245  top-index (48)
   121         298  properties (630)
   122         933  meta-index (79)
   123        1017  footer (53)
   124        1070  EOF
   125  
   126  scan
   127  ----
   128  a_456#1,1:a
   129  b_456#1,1:b
   130  c_456#1,1:c
   131  
   132  get
   133  b_456
   134  f_456
   135  c_456
   136  ----
   137  b
   138  get f_456: pebble: not found
   139  c
   140  
   141  rewrite from=_456 to=_xyz block-size=1 index-block-size=1 filter comparer-split-4b-suffix concurrency=3
   142  ----
   143  point:    [a_xyz#1,1-c_xyz#1,1]
   144  seqnums:  [1-1]
   145  
   146  layout
   147  ----
   148           0  data (25)
   149          30  data (25)
   150          60  data (25)
   151          90  filter (69)
   152         164  index (22)
   153         191  index (22)
   154         218  index (22)
   155         245  top-index (48)
   156         298  properties (630)
   157         933  meta-index (79)
   158        1017  footer (53)
   159        1070  EOF
   160  
   161  scan
   162  ----
   163  a_xyz#1,1:a
   164  b_xyz#1,1:b
   165  c_xyz#1,1:c
   166  
   167  get
   168  b_xyz
   169  f_xyz
   170  c_xyz
   171  ----
   172  b
   173  get f_xyz: pebble: not found
   174  c
   175  
   176  
   177  rewrite from=_xyz to=_123 block-size=1 index-block-size=1 filter comparer-split-4b-suffix concurrency=4
   178  ----
   179  point:    [a_123#1,1-c_123#1,1]
   180  seqnums:  [1-1]
   181  
   182  layout
   183  ----
   184           0  data (25)
   185          30  data (25)
   186          60  data (25)
   187          90  filter (69)
   188         164  index (22)
   189         191  index (22)
   190         218  index (22)
   191         245  top-index (48)
   192         298  properties (630)
   193         933  meta-index (79)
   194        1017  footer (53)
   195        1070  EOF
   196  
   197  scan
   198  ----
   199  a_123#1,1:a
   200  b_123#1,1:b
   201  c_123#1,1:c
   202  
   203  get
   204  b_123
   205  f_123
   206  c_123
   207  ----
   208  b
   209  get f_123: pebble: not found
   210  c
   211  
   212  # Rewrite a table that contain only range keys.
   213  
   214  build block-size=1 index-block-size=1 filter comparer-split-4b-suffix
   215  rangekey: a-b:{(#1,RANGEKEYSET,_xyz)}
   216  rangekey: b-c:{(#1,RANGEKEYSET,_xyz)}
   217  rangekey: c-d:{(#1,RANGEKEYSET,_xyz)}
   218  ----
   219  rangekey: [a#1,21-d#72057594037927935,21]
   220  seqnums:  [1-1]
   221  
   222  scan-range-key
   223  ----
   224  a-b:{(#1,RANGEKEYSET,_xyz)}
   225  b-c:{(#1,RANGEKEYSET,_xyz)}
   226  c-d:{(#1,RANGEKEYSET,_xyz)}
   227  
   228  rewrite from=_xyz to=_123 block-size=1 index-block-size=1 filter comparer-split-4b-suffix
   229  ----
   230  rangekey: [a#1,21-d#72057594037927935,21]
   231  seqnums:  [1-1]
   232  
   233  scan-range-key
   234  ----
   235  a-b:{(#1,RANGEKEYSET,_123)}
   236  b-c:{(#1,RANGEKEYSET,_123)}
   237  c-d:{(#1,RANGEKEYSET,_123)}