agdb/query/
insert_index_query.rs1use crate::DbError;
2use crate::DbImpl;
3use crate::DbValue;
4use crate::QueryMut;
5use crate::QueryResult;
6use crate::StorageData;
7
8#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
11#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
12#[cfg_attr(feature = "derive", derive(agdb::DbSerialize))]
13#[cfg_attr(feature = "api", derive(agdb::TypeDefImpl))]
14#[derive(Clone, Debug, PartialEq)]
15pub struct InsertIndexQuery(pub DbValue);
16
17impl QueryMut for InsertIndexQuery {
18 fn process<Store: StorageData>(&self, db: &mut DbImpl<Store>) -> Result<QueryResult, DbError> {
19 let value_count = db.insert_index(&self.0)?;
20
21 Ok(QueryResult {
22 result: value_count as i64,
23 elements: vec![],
24 })
25 }
26}
27
28impl QueryMut for &InsertIndexQuery {
29 fn process<Store: StorageData>(&self, db: &mut DbImpl<Store>) -> Result<QueryResult, DbError> {
30 (*self).process(db)
31 }
32}