aboutsummaryrefslogtreecommitdiff
path: root/database/src/indices/mod.rs
blob: 2d8642a691f0cd30ad7210494fc49a2f63918aec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
    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 crate::{backends::WriteTransaction, table::RowNum};
use anyhow::Result;
use jellycommon::jellyobject::Object;

pub mod reference;
pub mod rating;

pub trait Index {
    fn add(&self, db: &mut dyn WriteTransaction, row: RowNum, val: Object) -> Result<()>;
    fn remove(&self, db: &mut dyn WriteTransaction, row: RowNum, val: Object) -> Result<()>;
    fn compare(&self, before: Object, after: Object) -> bool {
        let _ = (before, after);
        false
    }
}