Jakob Borg
ff88430efb
feat: add debug commands for folder counts and files ( #10206 )
...
This adds two debugging commands that print information directly from
the database; one for folder counts, and one for file metadata for files
matching a pattern in a folder. E.g.,
```
% syncthing debug database-counts p3jms-73gps
DEVICE TYPE FLAGS DELETED COUNT SIZE
-local- FILE ------- --- 0 0
-local- FILE --G---- --- 2473 70094796496
-local- DIRECTORY ------- --- 0 0
-local- DIRECTORY --G---- --- 19 2432
PSEUDOP FILE ------- --- 2473 70094796496
PSEUDOP FILE -nG---- --- 0 0
PSEUDOP DIRECTORY ------- --- 19 2432
PSEUDOP DIRECTORY -nG---- --- 0 0
```
```
% syncthing debug database-file p3jms-73gps 20240929-DSCF1387
DSCF1387
DEVICE TYPE NAME SEQUENCE DELETED MODIFIED SIZE FLAGS VERSION BLOCKLIST
-local- FILE Austin/20240929-DSCF1387.raf 1204 --- 2024-09-29T01:10:54Z 48911888 --G---- HX2ELNU:1744213700 fsQdMvUL
PSEUDOP FILE Austin/20240929-DSCF1387.raf 22279 --- 2024-09-29T01:10:54Z 48911888 ------- HX2ELNU:1744213700 fsQdMvUL
-local- FILE Austin/20240929-DSCF1387.xmp 1196 --- 2024-10-16T08:08:35.137501751Z 5579 --G---- HX2ELNU:1744213700 xDGMnepi
PSEUDOP FILE Austin/20240929-DSCF1387.xmp 19910 --- 2024-10-16T08:08:35.137501751Z 5579 ------- HX2ELNU:1744213700 xDGMnepi
```
The local flag bits get a string representation for the bitmask,
```
FlagLocalUnsupported: "u",
FlagLocalIgnored: "i",
FlagLocalMustRescan: "r",
FlagLocalReceiveOnly: "e",
FlagLocalGlobal: "G",
FlagLocalNeeded: "n",
FlagLocalRemoteInvalid: "v",
```
2025-07-04 15:46:24 +02:00
Jakob Borg
cf1cf85ce6
chore(db): use one SQLite database per folder ( #10042 )
...
This changes the database structure to use one database per folder, with
a small main database to coordinate. Reverts the prior change to buffer
all files in memory when pulling, meaning there is now a phase where the
WAL file will grow significantly, at least for initial sync of folders
with many directories.
---------
Co-authored-by: bt90 <btom1990@googlemail.com >
2025-04-06 14:30:43 +02:00