/*
    This file is part of jellything (https://codeberg.org/metamuffin/jellything)
    which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
    Copyright (C) 2026 metamuffin <metamuffin.org>
*/

use anyhow::Result;
use rocksdb::DB;
use std::env::args;

fn main() -> Result<()> {
    let db = DB::open_default(args().nth(1).unwrap())?;
    let prefix = args().nth(2).unwrap();
    for r in db.prefix_iterator(&prefix) {
        let key = r?.0;
        let key_s = String::from_utf8_lossy(&key);
        if !key_s.starts_with(&prefix) {
            break;
        }
        println!("{key_s}");
        db.delete(key)?;
    }
    db.flush()?;
    Ok(())
}
