Skip to content

Commit c2817cd

Browse files
committed
Using read transaction for upload queue stats.
1 parent 7c9be18 commit c2817cd

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

PowerSync/PowerSync.Common/Client/PowerSyncDatabase.cs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -426,21 +426,24 @@ private record UploadQueueStatsResult(int size, int count);
426426
/// </summary>
427427
public async Task<UploadQueueStats> GetUploadQueueStats(bool includeSize = false)
428428
{
429-
if (includeSize)
429+
return await ReadTransaction(async tx =>
430430
{
431-
var result = await Database.Get<UploadQueueStatsResult>(
432-
$"SELECT SUM(cast(data as blob) + 20) as size, count(*) as count FROM {PSInternalTable.CRUD}"
433-
);
431+
if (includeSize)
432+
{
433+
var result = await tx.Get<UploadQueueStatsResult>(
434+
$"SELECT SUM(cast(data as blob) + 20) as size, count(*) as count FROM {PSInternalTable.CRUD}"
435+
);
434436

435-
return new UploadQueueStats(result.count, result.size);
436-
}
437-
else
438-
{
439-
var result = await Database.Get<UploadQueueStatsResult>(
440-
$"SELECT count(*) as count FROM {PSInternalTable.CRUD}"
441-
);
442-
return new UploadQueueStats(result.count);
443-
}
437+
return new UploadQueueStats(result.count, result.size);
438+
}
439+
else
440+
{
441+
var result = await tx.Get<UploadQueueStatsResult>(
442+
$"SELECT count(*) as count FROM {PSInternalTable.CRUD}"
443+
);
444+
return new UploadQueueStats(result.count);
445+
}
446+
});
444447
}
445448

446449

0 commit comments

Comments
 (0)