gluesql_redis_storage/
index.rs

1use {
2    super::RedisStorage,
3    async_trait::async_trait,
4    gluesql_core::{
5        ast::{IndexOperator, OrderByExpr},
6        data::Value,
7        error::{Error, Result},
8        store::{Index, IndexMut, RowIter},
9    },
10};
11
12// Index is one of MUST-be-implemented traits.
13
14#[async_trait]
15impl Index for RedisStorage {
16    async fn scan_indexed_data<'a>(
17        &'a self,
18        _table_name: &str,
19        _index_name: &str,
20        _asc: Option<bool>,
21        _cmp_value: Option<(&IndexOperator, Value)>,
22    ) -> Result<RowIter<'a>> {
23        Err(Error::StorageMsg(
24            "[RedisStorage] index is not supported".to_owned(),
25        ))
26    }
27}
28
29#[async_trait]
30impl IndexMut for RedisStorage {
31    async fn create_index(
32        &mut self,
33        _table_name: &str,
34        _index_name: &str,
35        _column: &OrderByExpr,
36    ) -> Result<()> {
37        Err(Error::StorageMsg(
38            "[RedisStorage] index is not supported".to_owned(),
39        ))
40    }
41
42    async fn drop_index(&mut self, _table_name: &str, _index_name: &str) -> Result<()> {
43        Err(Error::StorageMsg(
44            "[RedisStorage] index is not supported".to_owned(),
45        ))
46    }
47}