Function zebra_state::config::check_and_delete_old_databases
source · pub fn check_and_delete_old_databases(
config: &Config,
db_kind: impl AsRef<str>,
major_version: u64,
network: &Network,
) -> JoinHandle<()>
Expand description
Spawns a task that checks if there are old database folders, and deletes them from the filesystem.
Iterate over the files and directories in the databases folder and delete if:
- The
db_kind
directory exists. - The entry in
db_kind
is a directory. - The directory name has a prefix
v
. - The directory name without the prefix can be parsed as an unsigned number.
- The parsed number is lower than the
major_version
.
The network is used to generate the path, then ignored.
If config
is an ephemeral database, no databases are deleted.
§Panics
If the path doesn’t match the expected db_kind/major_version/network
format.