Skip to content

Database schema ​

The default index file is .nefaxer in the indexed directory (override with -d / db_path). SQLite runs in WAL mode.

Tables ​

sql
CREATE TABLE paths (
    path TEXT PRIMARY KEY,
    mtime_ns INTEGER NOT NULL,
    size INTEGER NOT NULL,
    hash BLOB
);

CREATE TABLE diskinfo (
    root_path TEXT PRIMARY KEY,
    data TEXT NOT NULL
);

paths ​

ColumnDescription
pathRelative path from indexed root (primary key)
mtime_nsModification time in nanoseconds
sizeFile size in bytes
hashOptional 32-byte Blake3 digest when hashing enabled

diskinfo ​

Stores drive-detection / tuning metadata for the indexed root (root_path + JSON data).

Library mapping ​

In Rust, a snapshot is Nefax = HashMap<PathBuf, PathMeta> with the same fields as paths. See Library and docs.rs/nefaxer.

Encryption ​

With --encrypt / encrypt = true, the file is a SQLCipher database. Passphrase handling is described in Configuration.

UBLX · Nefaxer · ZahirScan