diff --git a/src/data/attr.rs b/src/data/attr.rs index 14a67163..6fcdf534 100644 --- a/src/data/attr.rs +++ b/src/data/attr.rs @@ -13,7 +13,7 @@ use crate::data::json::JsonValue; use crate::data::keyword::Keyword; use crate::data::triple::StoreOp; use crate::data::value::{DataValue, INLINE_VAL_SIZE_LIMIT}; -use crate::preprocess::triple::TempIdCtx; +use crate::parse::triple::TempIdCtx; #[derive(Debug, thiserror::Error)] pub enum AttributeError { diff --git a/src/lib.rs b/src/lib.rs index be8f1b70..237cb3c4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,7 +3,7 @@ use tikv_jemallocator::Jemalloc; pub use data::encode::EncodedVec; pub use data::id::{AttrId, EntityId, TxId, Validity}; -pub use preprocess::attr::AttrTxItem; +pub use parse::schema::AttrTxItem; pub use runtime::db::Db; #[cfg(not(target_env = "msvc"))] @@ -11,7 +11,7 @@ pub use runtime::db::Db; static GLOBAL: Jemalloc = Jemalloc; pub(crate) mod data; -pub(crate) mod preprocess; +pub(crate) mod parse; pub(crate) mod runtime; pub(crate) mod transact; pub(crate) mod utils; diff --git a/src/preprocess/mod.rs b/src/parse/mod.rs similarity index 74% rename from src/preprocess/mod.rs rename to src/parse/mod.rs index b7c6b0e5..414a8a6b 100644 --- a/src/preprocess/mod.rs +++ b/src/parse/mod.rs @@ -1,4 +1,4 @@ -pub(crate) mod attr; +pub(crate) mod schema; pub(crate) mod pull; pub(crate) mod query; pub(crate) mod triple; diff --git a/src/preprocess/pull.rs b/src/parse/pull.rs similarity index 98% rename from src/preprocess/pull.rs rename to src/parse/pull.rs index 9234455b..a2878c60 100644 --- a/src/preprocess/pull.rs +++ b/src/parse/pull.rs @@ -8,9 +8,9 @@ use crate::data::attr::AttributeCardinality; use crate::data::json::JsonValue; use crate::data::keyword::Keyword; use crate::data::value::DataValue; -use crate::preprocess::triple::TxError; +use crate::parse::triple::TxError; use crate::runtime::transact::SessionTx; -use crate::transact::pull::{AttrPullSpec, PullSpec, PullSpecs}; +use crate::query::pull::{AttrPullSpec, PullSpec, PullSpecs}; #[derive(Debug, thiserror::Error)] pub enum PullError { diff --git a/src/preprocess/query.rs b/src/parse/query.rs similarity index 99% rename from src/preprocess/query.rs rename to src/parse/query.rs index 01595d55..d832c6ef 100644 --- a/src/preprocess/query.rs +++ b/src/parse/query.rs @@ -10,7 +10,7 @@ use crate::data::attr::Attribute; use crate::data::json::JsonValue; use crate::data::keyword::Keyword; use crate::data::value::DataValue; -use crate::preprocess::triple::TxError; +use crate::parse::triple::TxError; use crate::query::compile::{ Atom, AttrTripleAtom, BindingHeadTerm, DatalogProgram, QueryCompilationError, Rule, RuleApplyAtom, RuleSet, Term, diff --git a/src/preprocess/attr.rs b/src/parse/schema.rs similarity index 100% rename from src/preprocess/attr.rs rename to src/parse/schema.rs diff --git a/src/preprocess/triple.rs b/src/parse/triple.rs similarity index 100% rename from src/preprocess/triple.rs rename to src/parse/triple.rs diff --git a/src/query/mod.rs b/src/query/mod.rs index ebd2a4da..4be76cd7 100644 --- a/src/query/mod.rs +++ b/src/query/mod.rs @@ -1,3 +1,4 @@ pub(crate) mod relation; pub(crate) mod compile; pub(crate) mod eval; +pub(crate) mod pull; diff --git a/src/transact/pull.rs b/src/query/pull.rs similarity index 100% rename from src/transact/pull.rs rename to src/query/pull.rs diff --git a/src/runtime/db.rs b/src/runtime/db.rs index f84f939b..be627596 100644 --- a/src/runtime/db.rs +++ b/src/runtime/db.rs @@ -22,7 +22,7 @@ use crate::data::triple::StoreOp; use crate::data::tuple::{rusty_scratch_cmp, SCRATCH_DB_KEY_PREFIX_LEN}; use crate::data::value::DataValue; use crate::runtime::transact::SessionTx; -use crate::transact::pull::CurrentPath; +use crate::query::pull::CurrentPath; pub struct Db { db: RocksDb, diff --git a/src/transact/triple.rs b/src/transact/exec.rs similarity index 98% rename from src/transact/triple.rs rename to src/transact/exec.rs index 2cc78d0b..af7758e8 100644 --- a/src/transact/triple.rs +++ b/src/transact/exec.rs @@ -16,12 +16,12 @@ use crate::data::id::{AttrId, EntityId, Validity}; use crate::data::keyword::Keyword; use crate::data::triple::StoreOp; use crate::data::value::{DataValue, INLINE_VAL_SIZE_LIMIT}; -use crate::preprocess::triple::{Quintuple, TxAction}; +use crate::parse::triple::{Quintuple, TxAction}; use crate::runtime::transact::{SessionTx, TransactError}; use crate::utils::swap_option_result; #[derive(Debug, thiserror::Error)] -enum TripleError { +enum ExecError { #[error("use of temp entity id: {0:?}")] TempEid(EntityId), #[error("unique constraint violated: {0} {1}")] @@ -221,7 +221,7 @@ impl SessionTx { for item in self.triple_av_before_scan(attr.id, v, vld_in_key) { let (_, _, found_eid) = item?; if found_eid != eid { - return Err(TripleError::UniqueConstraintViolated( + return Err(ExecError::UniqueConstraintViolated( attr.keyword.clone(), format!("{:?}", v), ) @@ -232,7 +232,7 @@ impl SessionTx { for item in self.triple_av_after_scan(attr.id, v, vld_in_key) { let (_, _, found_eid) = item?; if found_eid != eid { - return Err(TripleError::UniqueConstraintViolated( + return Err(ExecError::UniqueConstraintViolated( attr.keyword.clone(), format!("{:?}", v), ) @@ -242,7 +242,7 @@ impl SessionTx { } else if let Some(v_slice) = self.tx.get(&ave_encoded, false)? { let (_, found_eid, _) = decode_ae_key(&v_slice)?; if found_eid != eid { - return Err(TripleError::UniqueConstraintViolated( + return Err(ExecError::UniqueConstraintViolated( attr.keyword.clone(), format!("{:?}", v), ) @@ -318,7 +318,7 @@ impl SessionTx { vld: Validity, ) -> Result { if !eid.is_perm() { - return Err(TripleError::TempEid(eid).into()); + return Err(ExecError::TempEid(eid).into()); } // checking that the eid actually exists should be done in the preprocessing step self.write_triple(eid, attr, v, vld, StoreOp::Retract) @@ -436,7 +436,7 @@ impl SessionTx { let res = self .tx .get(&encoded, false)? - .ok_or(TripleError::TripleEANotFound(eid, aid, vld))?; + .ok_or(ExecError::TripleEANotFound(eid, aid, vld))?; decode_value(&res.as_ref()[1..]) } pub(crate) fn triple_ea_scan( diff --git a/src/transact/attr.rs b/src/transact/meta.rs similarity index 100% rename from src/transact/attr.rs rename to src/transact/meta.rs diff --git a/src/transact/mod.rs b/src/transact/mod.rs index 9c49f87b..a2479a5f 100644 --- a/src/transact/mod.rs +++ b/src/transact/mod.rs @@ -1,3 +1,2 @@ -pub(crate) mod attr; -pub(crate) mod pull; -pub(crate) mod triple; +pub(crate) mod meta; +pub(crate) mod exec;