mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
rename Operation to ReplicaOp for clarity
This commit is contained in:
parent
6f7794c7de
commit
0b29efab31
9 changed files with 120 additions and 119 deletions
|
@ -1,4 +1,4 @@
|
|||
use crate::storage::{Operation, Storage, StorageTxn, TaskMap, VersionId, DEFAULT_BASE_VERSION};
|
||||
use crate::storage::{ReplicaOp, Storage, StorageTxn, TaskMap, VersionId, DEFAULT_BASE_VERSION};
|
||||
use anyhow::Context;
|
||||
use rusqlite::types::{FromSql, ToSql};
|
||||
use rusqlite::{params, Connection, OptionalExtension};
|
||||
|
@ -52,17 +52,17 @@ impl ToSql for StoredTaskMap {
|
|||
}
|
||||
}
|
||||
|
||||
/// Stores [`Operation`] in SQLite
|
||||
impl FromSql for Operation {
|
||||
/// Stores [`ReplicaOp`] in SQLite
|
||||
impl FromSql for ReplicaOp {
|
||||
fn column_result(value: rusqlite::types::ValueRef<'_>) -> rusqlite::types::FromSqlResult<Self> {
|
||||
let o: Operation = serde_json::from_str(value.as_str()?)
|
||||
let o: ReplicaOp = serde_json::from_str(value.as_str()?)
|
||||
.map_err(|_| rusqlite::types::FromSqlError::InvalidType)?;
|
||||
Ok(o)
|
||||
}
|
||||
}
|
||||
|
||||
/// Parsers Operation stored as JSON in string column
|
||||
impl ToSql for Operation {
|
||||
/// Parses ReplicaOp stored as JSON in string column
|
||||
impl ToSql for ReplicaOp {
|
||||
fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
|
||||
let s = serde_json::to_string(&self)
|
||||
.map_err(|e| rusqlite::Error::ToSqlConversionFailure(Box::new(e)))?;
|
||||
|
@ -241,12 +241,12 @@ impl<'t> StorageTxn for Txn<'t> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn operations(&mut self) -> anyhow::Result<Vec<Operation>> {
|
||||
fn operations(&mut self) -> anyhow::Result<Vec<ReplicaOp>> {
|
||||
let t = self.get_txn()?;
|
||||
|
||||
let mut q = t.prepare("SELECT data FROM operations ORDER BY id ASC")?;
|
||||
let rows = q.query_map([], |r| {
|
||||
let data: Operation = r.get("data")?;
|
||||
let data: ReplicaOp = r.get("data")?;
|
||||
Ok(data)
|
||||
})?;
|
||||
|
||||
|
@ -257,7 +257,7 @@ impl<'t> StorageTxn for Txn<'t> {
|
|||
Ok(ret)
|
||||
}
|
||||
|
||||
fn add_operation(&mut self, op: Operation) -> anyhow::Result<()> {
|
||||
fn add_operation(&mut self, op: ReplicaOp) -> anyhow::Result<()> {
|
||||
let t = self.get_txn()?;
|
||||
|
||||
t.execute("INSERT INTO operations (data) VALUES (?)", params![&op])
|
||||
|
@ -265,7 +265,7 @@ impl<'t> StorageTxn for Txn<'t> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn set_operations(&mut self, ops: Vec<Operation>) -> anyhow::Result<()> {
|
||||
fn set_operations(&mut self, ops: Vec<ReplicaOp>) -> anyhow::Result<()> {
|
||||
let t = self.get_txn()?;
|
||||
t.execute("DELETE FROM operations", [])
|
||||
.context("Clear all existing operations")?;
|
||||
|
@ -611,8 +611,8 @@ mod test {
|
|||
// create some operations
|
||||
{
|
||||
let mut txn = storage.txn()?;
|
||||
txn.add_operation(Operation::Create { uuid: uuid1 })?;
|
||||
txn.add_operation(Operation::Create { uuid: uuid2 })?;
|
||||
txn.add_operation(ReplicaOp::Create { uuid: uuid1 })?;
|
||||
txn.add_operation(ReplicaOp::Create { uuid: uuid2 })?;
|
||||
txn.commit()?;
|
||||
}
|
||||
|
||||
|
@ -623,8 +623,8 @@ mod test {
|
|||
assert_eq!(
|
||||
ops,
|
||||
vec![
|
||||
Operation::Create { uuid: uuid1 },
|
||||
Operation::Create { uuid: uuid2 },
|
||||
ReplicaOp::Create { uuid: uuid1 },
|
||||
ReplicaOp::Create { uuid: uuid2 },
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -633,8 +633,8 @@ mod test {
|
|||
{
|
||||
let mut txn = storage.txn()?;
|
||||
txn.set_operations(vec![
|
||||
Operation::Delete { uuid: uuid2 },
|
||||
Operation::Delete { uuid: uuid1 },
|
||||
ReplicaOp::Delete { uuid: uuid2 },
|
||||
ReplicaOp::Delete { uuid: uuid1 },
|
||||
])?;
|
||||
txn.commit()?;
|
||||
}
|
||||
|
@ -642,8 +642,8 @@ mod test {
|
|||
// create some more operations (to test adding operations after clearing)
|
||||
{
|
||||
let mut txn = storage.txn()?;
|
||||
txn.add_operation(Operation::Create { uuid: uuid3 })?;
|
||||
txn.add_operation(Operation::Delete { uuid: uuid3 })?;
|
||||
txn.add_operation(ReplicaOp::Create { uuid: uuid3 })?;
|
||||
txn.add_operation(ReplicaOp::Delete { uuid: uuid3 })?;
|
||||
txn.commit()?;
|
||||
}
|
||||
|
||||
|
@ -654,10 +654,10 @@ mod test {
|
|||
assert_eq!(
|
||||
ops,
|
||||
vec![
|
||||
Operation::Delete { uuid: uuid2 },
|
||||
Operation::Delete { uuid: uuid1 },
|
||||
Operation::Create { uuid: uuid3 },
|
||||
Operation::Delete { uuid: uuid3 },
|
||||
ReplicaOp::Delete { uuid: uuid2 },
|
||||
ReplicaOp::Delete { uuid: uuid1 },
|
||||
ReplicaOp::Create { uuid: uuid3 },
|
||||
ReplicaOp::Delete { uuid: uuid3 },
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue