@@ -38,7 +38,11 @@ struct Schema : NIceDb::Schema {
38
38
ColumnsTableId,
39
39
CountersTableId,
40
40
OperationsTableId,
41
- IndexesTableId
41
+ IndexesTableId,
42
+ LocksTableId,
43
+ LockRangesTableId,
44
+ LockConflictsTableId,
45
+ LockVolatileDependenciesTableId
42
46
};
43
47
44
48
enum class ETierTables : ui32 {
@@ -60,6 +64,8 @@ struct Schema : NIceDb::Schema {
60
64
LastExportNumber = 10 ,
61
65
OwnerPathId = 11 ,
62
66
OwnerPath = 12 ,
67
+ LastCompletedStep = 13 ,
68
+ LastCompletedTxId = 14 ,
63
69
};
64
70
65
71
enum class EInsertTableIds : ui8 {
@@ -305,6 +311,46 @@ struct Schema : NIceDb::Schema {
305
311
using TColumns = TableColumns<PathId, PortionId, IndexId, ChunkIdx, Blob, Offset, Size , RecordsCount, RawBytes>;
306
312
};
307
313
314
+ struct Locks : Table<LocksTableId> {
315
+ struct LockId : Column<1 , NScheme::NTypeIds::Uint64> {};
316
+ struct LockNodeId : Column<2 , NScheme::NTypeIds::Uint32> {};
317
+ struct Generation : Column<3 , NScheme::NTypeIds::Uint32> {};
318
+ struct Counter : Column<4 , NScheme::NTypeIds::Uint64> {};
319
+ struct CreateTimestamp : Column<5 , NScheme::NTypeIds::Uint64> {};
320
+ struct Flags : Column<6 , NScheme::NTypeIds::Uint64> {};
321
+
322
+ using TKey = TableKey<LockId>;
323
+ using TColumns = TableColumns<LockId, LockNodeId, Generation, Counter, CreateTimestamp, Flags>;
324
+ };
325
+
326
+ struct LockRanges : Table<LockRangesTableId> {
327
+ struct LockId : Column<1 , NScheme::NTypeIds::Uint64> {};
328
+ struct RangeId : Column<2 , NScheme::NTypeIds::Uint64> {};
329
+ struct PathOwnerId : Column<3 , NScheme::NTypeIds::Uint64> {};
330
+ struct LocalPathId : Column<4 , NScheme::NTypeIds::Uint64> {};
331
+ struct Flags : Column<5 , NScheme::NTypeIds::Uint64> {};
332
+ struct Data : Column<6 , NScheme::NTypeIds::String> {};
333
+
334
+ using TKey = TableKey<LockId, RangeId>;
335
+ using TColumns = TableColumns<LockId, RangeId, PathOwnerId, LocalPathId, Flags, Data>;
336
+ };
337
+
338
+ struct LockConflicts : Table<LockConflictsTableId> {
339
+ struct LockId : Column<1 , NScheme::NTypeIds::Uint64> {};
340
+ struct ConflictId : Column<2 , NScheme::NTypeIds::Uint64> {};
341
+
342
+ using TKey = TableKey<LockId, ConflictId>;
343
+ using TColumns = TableColumns<LockId, ConflictId>;
344
+ };
345
+
346
+ struct LockVolatileDependencies : Table<LockVolatileDependenciesTableId> {
347
+ struct LockId : Column<1 , NScheme::NTypeIds::Uint64> {};
348
+ struct TxId : Column<2 , NScheme::NTypeIds::Uint64> {};
349
+
350
+ using TKey = TableKey<LockId, TxId>;
351
+ using TColumns = TableColumns<LockId, TxId>;
352
+ };
353
+
308
354
using TTables = SchemaTables<
309
355
Value,
310
356
TxInfo,
0 commit comments