github.com/dolthub/dolt/go@v0.40.5-0.20240520175717-68db7794bea6/serial/addressmap.fbs (about)

     1  // Copyright 2021 Dolthub, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  namespace serial;
    16  
    17  table AddressMap {
    18    // sorted array of key items
    19    key_items:[ubyte] (required);
    20    // items offets for |key_items|
    21    // first offset is 0, last offset is len(key_items)
    22    key_offsets:[uint16] (required);
    23  
    24    // array of chunk addresses
    25    //  - subtree addresses for internal prolly tree nodes
    26    //  - value addresses for AddressMap leaf nodes
    27    address_array:[ubyte] (required);
    28  
    29    // array of varint encoded subtree counts
    30    // see: go/store/prolly/message/varint.go
    31    subtree_counts:[ubyte];
    32    // total count of prolly tree
    33    tree_count:uint64;
    34    // prolly tree level, 0 for leaf nodes
    35    tree_level:uint8;
    36  }
    37  
    38  
    39  // KEEP THIS IN SYNC WITH fileidentifiers.go
    40  file_identifier "ADRM";
    41  
    42  root_type AddressMap;
    43