mirror of
https://github.com/luxfi/zapdb.git
synced 2026-10-30 15:12:20 +00:00
What this does do: - appends to manifest and syncs before deleting old files from disk, to ensure safety amidst kill -9 or system crash What this could do but does not: - include file size, smallest/biggest keys in the manifest - keep track of value log files It might be nice to have file size and include all files, to verify that a `cp -R` or file-based backup/restore has included everything. Right now this just gets us crash safety.
36 lines
1.0 KiB
Protocol Buffer
36 lines
1.0 KiB
Protocol Buffer
/*
|
|
* Copyright (C) 2017 Dgraph Labs, Inc. and Contributors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
// Use protos/gen.sh to generate .pb.go files.
|
|
syntax = "proto3";
|
|
|
|
package protos;
|
|
|
|
message ManifestChangeSet {
|
|
// A set of changes that are applied atomically.
|
|
repeated ManifestChange changes = 1;
|
|
}
|
|
|
|
message ManifestChange {
|
|
uint64 Id = 1;
|
|
enum Operation {
|
|
CREATE = 0;
|
|
DELETE = 1;
|
|
}
|
|
Operation Op = 2;
|
|
uint32 Level = 3; // Only used for CREATE
|
|
}
|