-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfossildbapi.proto
231 lines (191 loc) · 6.18 KB
/
fossildbapi.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
syntax = "proto2";
package com.scalableminds.fossildb.proto;
message VersionedKeyValuePairProto {
required string key = 1;
required uint64 version = 2;
required bytes value = 3;
}
message KeyVersionsValuesPairProto {
required string key = 1;
repeated VersionValuePairProto versionValuePairs = 2;
}
message VersionValuePairProto {
required uint64 actualVersion = 1;
required bytes value = 2;
}
message HealthRequest {}
message HealthReply {
required bool success = 1;
optional string errorMessage = 2;
}
message GetRequest {
required string collection = 1;
required string key = 2;
optional uint64 version = 3;
optional bool mayBeEmpty = 4;
}
message GetReply {
required bool success = 1;
optional string errorMessage = 2;
required bytes value = 3;
required uint64 actualVersion = 4;
}
message PutRequest {
required string collection = 1;
required string key = 2;
optional uint64 version = 3;
required bytes value = 4;
}
message PutReply {
required bool success = 1;
optional string errorMessage = 2;
}
message PutMultipleVersionsRequest {
required string collection = 1;
required string key = 2;
repeated uint64 versions = 3;
repeated bytes values = 4;
}
message PutMultipleVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
}
message PutMultipleKeysWithMultipleVersionsRequest {
required string collection = 1;
repeated VersionedKeyValuePairProto versionedKeyValuePairs = 2;
}
message PutMultipleKeysWithMultipleVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
}
message DeleteRequest {
required string collection = 1;
required string key = 2;
required uint64 version = 3;
}
message DeleteReply {
required bool success = 1;
optional string errorMessage = 2;
}
message DeleteAllByPrefixRequest {
required string collection = 1;
required string prefix = 2;
}
message DeleteAllByPrefixReply {
required bool success = 1;
optional string errorMessage = 2;
}
message GetMultipleVersionsRequest {
required string collection = 1;
required string key = 2;
optional uint64 newestVersion = 4;
optional uint64 oldestVersion = 3;
}
message GetMultipleVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
repeated bytes values = 3;
repeated uint64 versions = 4;
}
message GetMultipleKeysRequest {
required string collection = 1;
optional string startAfterKey = 2;
optional string prefix = 3;
optional uint64 version = 4;
optional uint32 limit = 5;
}
message GetMultipleKeysReply {
required bool success = 1;
optional string errorMessage = 2;
repeated string keys = 3;
repeated bytes values = 4;
repeated uint64 actualVersions = 5;
}
message GetMultipleKeysByListWithMultipleVersionsRequest {
required string collection = 1;
repeated string keys = 2;
optional uint64 newestVersion = 3; // Applied to all requested keys
optional uint64 oldestVersion = 4; // Applied to all requested keys
}
message GetMultipleKeysByListWithMultipleVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
repeated KeyVersionsValuesPairProto keyVersionsValuesPairs = 3;
}
message DeleteMultipleVersionsRequest {
required string collection = 1;
required string key = 2;
optional uint64 newestVersion = 4;
optional uint64 oldestVersion = 3;
}
message DeleteMultipleVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
}
message ListKeysRequest {
required string collection = 1;
optional uint32 limit = 2;
optional string startAfterKey = 3;
optional string prefix = 4;
}
message ListKeysReply {
required bool success = 1;
optional string errorMessage = 2;
repeated string keys = 3;
}
message ListVersionsRequest {
required string collection = 1;
required string key = 2;
optional uint32 limit = 3;
optional uint32 offset = 4;
}
message ListVersionsReply {
required bool success = 1;
optional string errorMessage = 2;
repeated uint64 versions = 3;
}
message BackupRequest {}
message BackupReply {
required bool success = 1;
optional string errorMessage = 2;
required uint32 id = 3;
required uint64 timestamp = 4;
required uint64 size = 5;
}
message RestoreFromBackupRequest {}
message RestoreFromBackupReply {
required bool success = 1;
optional string errorMessage = 2;
}
message CompactAllDataRequest {}
message CompactAllDataReply {
required bool success = 1;
optional string errorMessage = 2;
}
message ExportDBRequest {
required string newDataDir = 1;
optional string optionsFile = 2;
}
message ExportDBReply {
required bool success = 1;
optional string errorMessage = 2;
}
service FossilDB {
rpc Health (HealthRequest) returns (HealthReply) {}
rpc Get (GetRequest) returns (GetReply) {}
rpc GetMultipleVersions (GetMultipleVersionsRequest) returns (GetMultipleVersionsReply) {}
rpc GetMultipleKeys (GetMultipleKeysRequest) returns (GetMultipleKeysReply) {}
rpc GetMultipleKeysByListWithMultipleVersions (GetMultipleKeysByListWithMultipleVersionsRequest) returns (GetMultipleKeysByListWithMultipleVersionsReply) {}
rpc Put (PutRequest) returns (PutReply) {}
rpc PutMultipleVersions (PutMultipleVersionsRequest) returns (PutMultipleVersionsReply) {}
rpc PutMultipleKeysWithMultipleVersions (PutMultipleKeysWithMultipleVersionsRequest) returns (PutMultipleKeysWithMultipleVersionsReply) {}
rpc Delete (DeleteRequest) returns (DeleteReply) {}
rpc DeleteMultipleVersions (DeleteMultipleVersionsRequest) returns (DeleteMultipleVersionsReply) {}
rpc DeleteAllByPrefix (DeleteAllByPrefixRequest) returns (DeleteAllByPrefixReply) {}
rpc ListKeys (ListKeysRequest) returns (ListKeysReply) {}
rpc ListVersions (ListVersionsRequest) returns (ListVersionsReply) {}
rpc Backup (BackupRequest) returns (BackupReply) {}
rpc RestoreFromBackup (RestoreFromBackupRequest) returns (RestoreFromBackupReply) {}
rpc CompactAllData (CompactAllDataRequest) returns (CompactAllDataReply) {}
rpc ExportDB (ExportDBRequest) returns (ExportDBReply) {}
}