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

     1  // Copyright 2022 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 BranchControl {
    18    access_tbl: BranchControlAccess;
    19    namespace_tbl: BranchControlNamespace;
    20  }
    21  
    22  table BranchControlAccess {
    23    binlog: BranchControlBinlog;
    24    databases: [BranchControlMatchExpression];
    25    branches: [BranchControlMatchExpression];
    26    users: [BranchControlMatchExpression];
    27    hosts: [BranchControlMatchExpression];
    28    values: [BranchControlAccessValue];
    29  }
    30  
    31  table BranchControlAccessValue {
    32    database: string;
    33    branch: string;
    34    user: string;
    35    host: string;
    36    permissions: uint64;
    37  }
    38  
    39  table BranchControlNamespace {
    40    binlog: BranchControlBinlog;
    41    databases: [BranchControlMatchExpression];
    42    branches: [BranchControlMatchExpression];
    43    users: [BranchControlMatchExpression];
    44    hosts: [BranchControlMatchExpression];
    45    values: [BranchControlNamespaceValue];
    46  }
    47  
    48  table BranchControlNamespaceValue {
    49    database: string;
    50    branch: string;
    51    user: string;
    52    host: string;
    53  }
    54  
    55  table BranchControlBinlog {
    56    rows: [BranchControlBinlogRow];
    57  }
    58  
    59  table BranchControlBinlogRow {
    60    is_insert: bool;
    61    database: string;
    62    branch: string;
    63    user: string;
    64    host: string;
    65    permissions: uint64;
    66  }
    67  
    68  table BranchControlMatchExpression {
    69    index: uint32;
    70    sort_orders: [int32];
    71  }
    72  
    73  // KEEP THIS IN SYNC WITH fileidentifiers.go
    74  file_identifier "BRCL";
    75  
    76  root_type BranchControl;