github.com/dolthub/dolt/go@v0.40.5-0.20240520175717-68db7794bea6/serial/table.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  include "prolly.fbs";
    16  
    17  namespace serial;
    18  
    19  table Table {
    20    // address of schema.
    21    schema:[ubyte] (required);
    22  
    23    // an embedded row map;
    24    // for __DOLT_DEV__, an EncodeValue(types.Map).
    25    // for __DOLT__, a TupleMap.
    26    primary_index:[ubyte] (required);
    27  
    28    // Entries map from index names to addresses of
    29    // index maps.
    30    secondary_indexes:[ubyte]; // Embedded AddressMap
    31  
    32    auto_increment_value:uint64;
    33  
    34    conflicts:Conflicts;
    35  
    36    // address of a violations types.Map (for __DOLT_DEV__).
    37    // todo: deprecate
    38    violations:[ubyte];
    39  
    40    // address of artifacts
    41    artifacts:[ubyte];
    42  }
    43  
    44  // todo: deprecate
    45  table Conflicts {
    46      // address of a conflicts types.Map (for __DOLT_DEV__).
    47      data:[ubyte] (required);
    48  
    49      // address of merge destination schema
    50      our_schema:[ubyte] (required);
    51      // address of merge source schema
    52      their_schema:[ubyte] (required);
    53      // address of merge common ancestor schema
    54      ancestor_schema:[ubyte] (required);
    55  }
    56  
    57  // KEEP THIS IN SYNC WITH fileidentifiers.go
    58  file_identifier "DTBL";