print table sizes

This commit is contained in:
otsmr 2025-07-11 21:46:28 +02:00
parent 0116e8407a
commit f1605da6e1
2 changed files with 16 additions and 0 deletions

View file

@ -20,6 +20,7 @@ import 'package:twonly/src/database/tables/signal_pre_key_store_table.dart';
import 'package:twonly/src/database/tables/signal_sender_key_store_table.dart'; import 'package:twonly/src/database/tables/signal_sender_key_store_table.dart';
import 'package:twonly/src/database/tables/signal_session_store_table.dart'; import 'package:twonly/src/database/tables/signal_session_store_table.dart';
import 'package:twonly/src/database/twonly_database.steps.dart'; import 'package:twonly/src/database/twonly_database.steps.dart';
import 'package:twonly/src/utils/log.dart';
part 'twonly_database.g.dart'; part 'twonly_database.g.dart';
@ -142,6 +143,18 @@ class TwonlyDatabase extends _$TwonlyDatabase {
notifyUpdates({TableUpdate.onTable(contacts, kind: UpdateKind.update)}); notifyUpdates({TableUpdate.onTable(contacts, kind: UpdateKind.update)});
} }
Future<void> printTableSizes() async {
final result = await customSelect(
'SELECT name, SUM(pgsize) as size FROM dbstat GROUP BY name')
.get();
for (final row in result) {
final tableName = row.read<String>('name');
final tableSize = row.read<String>('size');
Log.info('Table: $tableName, Size: $tableSize bytes');
}
}
Future deleteDataForTwonlySafe() async { Future deleteDataForTwonlySafe() async {
await delete(messages).go(); await delete(messages).go();
await delete(messageRetransmissions).go(); await delete(messageRetransmissions).go();

View file

@ -70,6 +70,9 @@ Future performTwonlySafeBackup({bool force = false}) async {
await backupDB await backupDB
.customStatement('VACUUM INTO ?', [backupDatabaseFileCleaned.path]); .customStatement('VACUUM INTO ?', [backupDatabaseFileCleaned.path]);
await backupDB.printTableSizes();
backupDB.close(); backupDB.close();
var secureStorageBackup = {}; var secureStorageBackup = {};