Merge pull request #419 from hargata/Hargata/litedb.concurrency

Added DB Checkpoint for WAL
This commit is contained in:
Hargata Softworks 2024-03-20 11:44:23 -06:00 committed by GitHub
commit f2b0cec427
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 48 additions and 1 deletions

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<CollisionRecord>(tableName); var table = db.GetCollection<CollisionRecord>(tableName);
table.Delete(collisionRecordId); table.Delete(collisionRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveCollisionRecordToVehicle(CollisionRecord collisionRecord) public bool SaveCollisionRecordToVehicle(CollisionRecord collisionRecord)
{ {
var table = db.GetCollection<CollisionRecord>(tableName); var table = db.GetCollection<CollisionRecord>(tableName);
table.Upsert(collisionRecord); table.Upsert(collisionRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllCollisionRecordsByVehicleId(int vehicleId) public bool DeleteAllCollisionRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<CollisionRecord>(tableName); var table = db.GetCollection<CollisionRecord>(tableName);
var collisionRecords = table.DeleteMany(Query.EQ(nameof(CollisionRecord.VehicleId), vehicleId)); var collisionRecords = table.DeleteMany(Query.EQ(nameof(CollisionRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -21,6 +21,7 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<RecordExtraField>(tableName); var table = db.GetCollection<RecordExtraField>(tableName);
table.Upsert(record); table.Upsert(record);
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<GasRecord>(tableName); var table = db.GetCollection<GasRecord>(tableName);
table.Delete(gasRecordId); table.Delete(gasRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveGasRecordToVehicle(GasRecord gasRecord) public bool SaveGasRecordToVehicle(GasRecord gasRecord)
{ {
var table = db.GetCollection<GasRecord>(tableName); var table = db.GetCollection<GasRecord>(tableName);
table.Upsert(gasRecord); table.Upsert(gasRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllGasRecordsByVehicleId(int vehicleId) public bool DeleteAllGasRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<GasRecord>(tableName); var table = db.GetCollection<GasRecord>(tableName);
var gasRecords = table.DeleteMany(Query.EQ(nameof(GasRecord.VehicleId), vehicleId)); var gasRecords = table.DeleteMany(Query.EQ(nameof(GasRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<Note>(tableName); var table = db.GetCollection<Note>(tableName);
table.Upsert(note); table.Upsert(note);
db.Checkpoint();
return true; return true;
} }
public bool DeleteNoteById(int noteId) public bool DeleteNoteById(int noteId)
{ {
var table = db.GetCollection<Note>(tableName); var table = db.GetCollection<Note>(tableName);
table.Delete(noteId); table.Delete(noteId);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllNotesByVehicleId(int vehicleId) public bool DeleteAllNotesByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<Note>(tableName); var table = db.GetCollection<Note>(tableName);
var notes = table.DeleteMany(Query.EQ(nameof(Note.VehicleId), vehicleId)); var notes = table.DeleteMany(Query.EQ(nameof(Note.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<OdometerRecord>(tableName); var table = db.GetCollection<OdometerRecord>(tableName);
table.Delete(odometerRecordId); table.Delete(odometerRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveOdometerRecordToVehicle(OdometerRecord odometerRecord) public bool SaveOdometerRecordToVehicle(OdometerRecord odometerRecord)
{ {
var table = db.GetCollection<OdometerRecord>(tableName); var table = db.GetCollection<OdometerRecord>(tableName);
table.Upsert(odometerRecord); table.Upsert(odometerRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllOdometerRecordsByVehicleId(int vehicleId) public bool DeleteAllOdometerRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<OdometerRecord>(tableName); var table = db.GetCollection<OdometerRecord>(tableName);
var odometerRecords = table.DeleteMany(Query.EQ(nameof(OdometerRecord.VehicleId), vehicleId)); var odometerRecords = table.DeleteMany(Query.EQ(nameof(OdometerRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<PlanRecord>(tableName); var table = db.GetCollection<PlanRecord>(tableName);
table.Delete(planRecordId); table.Delete(planRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SavePlanRecordToVehicle(PlanRecord planRecord) public bool SavePlanRecordToVehicle(PlanRecord planRecord)
{ {
var table = db.GetCollection<PlanRecord>(tableName); var table = db.GetCollection<PlanRecord>(tableName);
table.Upsert(planRecord); table.Upsert(planRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllPlanRecordsByVehicleId(int vehicleId) public bool DeleteAllPlanRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<PlanRecord>(tableName); var table = db.GetCollection<PlanRecord>(tableName);
var planRecords = table.DeleteMany(Query.EQ(nameof(PlanRecord.VehicleId), vehicleId)); var planRecords = table.DeleteMany(Query.EQ(nameof(PlanRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<PlanRecordInput>(tableName); var table = db.GetCollection<PlanRecordInput>(tableName);
table.Delete(planRecordId); table.Delete(planRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SavePlanRecordTemplateToVehicle(PlanRecordInput planRecord) public bool SavePlanRecordTemplateToVehicle(PlanRecordInput planRecord)
{ {
var table = db.GetCollection<PlanRecordInput>(tableName); var table = db.GetCollection<PlanRecordInput>(tableName);
table.Upsert(planRecord); table.Upsert(planRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllPlanRecordTemplatesByVehicleId(int vehicleId) public bool DeleteAllPlanRecordTemplatesByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<PlanRecord>(tableName); var table = db.GetCollection<PlanRecord>(tableName);
var planRecords = table.DeleteMany(Query.EQ(nameof(PlanRecordInput.VehicleId), vehicleId)); var planRecords = table.DeleteMany(Query.EQ(nameof(PlanRecordInput.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<ReminderRecord>(tableName); var table = db.GetCollection<ReminderRecord>(tableName);
table.Delete(reminderRecordId); table.Delete(reminderRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveReminderRecordToVehicle(ReminderRecord reminderRecord) public bool SaveReminderRecordToVehicle(ReminderRecord reminderRecord)
{ {
var table = db.GetCollection<ReminderRecord>(tableName); var table = db.GetCollection<ReminderRecord>(tableName);
table.Upsert(reminderRecord); table.Upsert(reminderRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllReminderRecordsByVehicleId(int vehicleId) public bool DeleteAllReminderRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<ReminderRecord>(tableName); var table = db.GetCollection<ReminderRecord>(tableName);
var reminderRecords = table.DeleteMany(Query.EQ(nameof(ReminderRecord.VehicleId), vehicleId)); var reminderRecords = table.DeleteMany(Query.EQ(nameof(ReminderRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<ServiceRecord>(tableName); var table = db.GetCollection<ServiceRecord>(tableName);
table.Delete(serviceRecordId); table.Delete(serviceRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveServiceRecordToVehicle(ServiceRecord serviceRecord) public bool SaveServiceRecordToVehicle(ServiceRecord serviceRecord)
{ {
var table = db.GetCollection<ServiceRecord>(tableName); var table = db.GetCollection<ServiceRecord>(tableName);
table.Upsert(serviceRecord); table.Upsert(serviceRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllServiceRecordsByVehicleId(int vehicleId) public bool DeleteAllServiceRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<ServiceRecord>(tableName); var table = db.GetCollection<ServiceRecord>(tableName);
var serviceRecords = table.DeleteMany(Query.EQ(nameof(ServiceRecord.VehicleId), vehicleId)); var serviceRecords = table.DeleteMany(Query.EQ(nameof(ServiceRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<SupplyRecord>(tableName); var table = db.GetCollection<SupplyRecord>(tableName);
table.Delete(supplyRecordId); table.Delete(supplyRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveSupplyRecordToVehicle(SupplyRecord supplyRecord) public bool SaveSupplyRecordToVehicle(SupplyRecord supplyRecord)
{ {
var table = db.GetCollection<SupplyRecord>(tableName); var table = db.GetCollection<SupplyRecord>(tableName);
table.Upsert(supplyRecord); table.Upsert(supplyRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllSupplyRecordsByVehicleId(int vehicleId) public bool DeleteAllSupplyRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<SupplyRecord>(tableName); var table = db.GetCollection<SupplyRecord>(tableName);
var supplyRecords = table.DeleteMany(Query.EQ(nameof(SupplyRecord.VehicleId), vehicleId)); var supplyRecords = table.DeleteMany(Query.EQ(nameof(SupplyRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<TaxRecord>(tableName); var table = db.GetCollection<TaxRecord>(tableName);
table.Delete(taxRecordId); table.Delete(taxRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveTaxRecordToVehicle(TaxRecord taxRecord) public bool SaveTaxRecordToVehicle(TaxRecord taxRecord)
{ {
var table = db.GetCollection<TaxRecord>(tableName); var table = db.GetCollection<TaxRecord>(tableName);
table.Upsert(taxRecord); table.Upsert(taxRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllTaxRecordsByVehicleId(int vehicleId) public bool DeleteAllTaxRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<TaxRecord>(tableName); var table = db.GetCollection<TaxRecord>(tableName);
var taxRecords = table.DeleteMany(Query.EQ(nameof(TaxRecord.VehicleId), vehicleId)); var taxRecords = table.DeleteMany(Query.EQ(nameof(TaxRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -33,12 +33,14 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<Token>(tableName); var table = db.GetCollection<Token>(tableName);
table.Insert(token); table.Insert(token);
db.Checkpoint();
return true; return true;
} }
public bool DeleteToken(int tokenId) public bool DeleteToken(int tokenId)
{ {
var table = db.GetCollection<Token>(tableName); var table = db.GetCollection<Token>(tableName);
table.Delete(tokenId); table.Delete(tokenId);
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -27,18 +27,21 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UpgradeRecord>(tableName); var table = db.GetCollection<UpgradeRecord>(tableName);
table.Delete(upgradeRecordId); table.Delete(upgradeRecordId);
db.Checkpoint();
return true; return true;
} }
public bool SaveUpgradeRecordToVehicle(UpgradeRecord upgradeRecord) public bool SaveUpgradeRecordToVehicle(UpgradeRecord upgradeRecord)
{ {
var table = db.GetCollection<UpgradeRecord>(tableName); var table = db.GetCollection<UpgradeRecord>(tableName);
table.Upsert(upgradeRecord); table.Upsert(upgradeRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteAllUpgradeRecordsByVehicleId(int vehicleId) public bool DeleteAllUpgradeRecordsByVehicleId(int vehicleId)
{ {
var table = db.GetCollection<UpgradeRecord>(tableName); var table = db.GetCollection<UpgradeRecord>(tableName);
var upgradeRecords = table.DeleteMany(Query.EQ(nameof(UpgradeRecord.VehicleId), vehicleId)); var upgradeRecords = table.DeleteMany(Query.EQ(nameof(UpgradeRecord.VehicleId), vehicleId));
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -36,12 +36,14 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UserAccess>(tableName); var table = db.GetCollection<UserAccess>(tableName);
table.Upsert(userAccess); table.Upsert(userAccess);
db.Checkpoint();
return true; return true;
} }
public bool DeleteUserAccess(int userId, int vehicleId) public bool DeleteUserAccess(int userId, int vehicleId)
{ {
var table = db.GetCollection<UserAccess>(tableName); var table = db.GetCollection<UserAccess>(tableName);
table.DeleteMany(x => x.Id.UserId == userId && x.Id.VehicleId == vehicleId); table.DeleteMany(x => x.Id.UserId == userId && x.Id.VehicleId == vehicleId);
db.Checkpoint();
return true; return true;
} }
/// <summary> /// <summary>
@ -53,6 +55,7 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UserAccess>(tableName); var table = db.GetCollection<UserAccess>(tableName);
table.DeleteMany(x => x.Id.VehicleId == vehicleId); table.DeleteMany(x => x.Id.VehicleId == vehicleId);
db.Checkpoint();
return true; return true;
} }
/// <summary> /// <summary>
@ -64,6 +67,7 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UserAccess>(tableName); var table = db.GetCollection<UserAccess>(tableName);
table.DeleteMany(x => x.Id.UserId == userId); table.DeleteMany(x => x.Id.UserId == userId);
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -21,12 +21,14 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UserConfigData>(tableName); var table = db.GetCollection<UserConfigData>(tableName);
table.Upsert(userConfigData); table.Upsert(userConfigData);
db.Checkpoint();
return true; return true;
} }
public bool DeleteUserConfig(int userId) public bool DeleteUserConfig(int userId)
{ {
var table = db.GetCollection<UserConfigData>(tableName); var table = db.GetCollection<UserConfigData>(tableName);
table.Delete(userId); table.Delete(userId);
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -39,12 +39,14 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<UserData>(tableName); var table = db.GetCollection<UserData>(tableName);
table.Upsert(userRecord); table.Upsert(userRecord);
db.Checkpoint();
return true; return true;
} }
public bool DeleteUserRecord(int userId) public bool DeleteUserRecord(int userId)
{ {
var table = db.GetCollection<UserData>(tableName); var table = db.GetCollection<UserData>(tableName);
table.Delete(userId); table.Delete(userId);
db.Checkpoint();
return true; return true;
} }
} }

View File

@ -16,12 +16,15 @@ namespace CarCareTracker.External.Implementations
{ {
var table = db.GetCollection<Vehicle>(tableName); var table = db.GetCollection<Vehicle>(tableName);
var result = table.Upsert(vehicle); var result = table.Upsert(vehicle);
db.Checkpoint();
return true; return true;
} }
public bool DeleteVehicle(int vehicleId) public bool DeleteVehicle(int vehicleId)
{ {
var table = db.GetCollection<Vehicle>(tableName); var table = db.GetCollection<Vehicle>(tableName);
return table.Delete(vehicleId); var result = table.Delete(vehicleId);
db.Checkpoint();
return result;
} }
public List<Vehicle> GetVehicles() public List<Vehicle> GetVehicles()
{ {