move stuff around

main
Ziyang Hu 2 years ago
parent 38745af8ea
commit 4a360b0464

@ -13,7 +13,7 @@ use crate::data::json::JsonValue;
use crate::data::keyword::Keyword; use crate::data::keyword::Keyword;
use crate::data::triple::StoreOp; use crate::data::triple::StoreOp;
use crate::data::value::{DataValue, INLINE_VAL_SIZE_LIMIT}; use crate::data::value::{DataValue, INLINE_VAL_SIZE_LIMIT};
use crate::preprocess::triple::TempIdCtx; use crate::parse::triple::TempIdCtx;
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
pub enum AttributeError { pub enum AttributeError {

@ -3,7 +3,7 @@ use tikv_jemallocator::Jemalloc;
pub use data::encode::EncodedVec; pub use data::encode::EncodedVec;
pub use data::id::{AttrId, EntityId, TxId, Validity}; pub use data::id::{AttrId, EntityId, TxId, Validity};
pub use preprocess::attr::AttrTxItem; pub use parse::schema::AttrTxItem;
pub use runtime::db::Db; pub use runtime::db::Db;
#[cfg(not(target_env = "msvc"))] #[cfg(not(target_env = "msvc"))]
@ -11,7 +11,7 @@ pub use runtime::db::Db;
static GLOBAL: Jemalloc = Jemalloc; static GLOBAL: Jemalloc = Jemalloc;
pub(crate) mod data; pub(crate) mod data;
pub(crate) mod preprocess; pub(crate) mod parse;
pub(crate) mod runtime; pub(crate) mod runtime;
pub(crate) mod transact; pub(crate) mod transact;
pub(crate) mod utils; pub(crate) mod utils;

@ -1,4 +1,4 @@
pub(crate) mod attr; pub(crate) mod schema;
pub(crate) mod pull; pub(crate) mod pull;
pub(crate) mod query; pub(crate) mod query;
pub(crate) mod triple; pub(crate) mod triple;

@ -8,9 +8,9 @@ use crate::data::attr::AttributeCardinality;
use crate::data::json::JsonValue; use crate::data::json::JsonValue;
use crate::data::keyword::Keyword; use crate::data::keyword::Keyword;
use crate::data::value::DataValue; use crate::data::value::DataValue;
use crate::preprocess::triple::TxError; use crate::parse::triple::TxError;
use crate::runtime::transact::SessionTx; use crate::runtime::transact::SessionTx;
use crate::transact::pull::{AttrPullSpec, PullSpec, PullSpecs}; use crate::query::pull::{AttrPullSpec, PullSpec, PullSpecs};
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
pub enum PullError { pub enum PullError {

@ -10,7 +10,7 @@ use crate::data::attr::Attribute;
use crate::data::json::JsonValue; use crate::data::json::JsonValue;
use crate::data::keyword::Keyword; use crate::data::keyword::Keyword;
use crate::data::value::DataValue; use crate::data::value::DataValue;
use crate::preprocess::triple::TxError; use crate::parse::triple::TxError;
use crate::query::compile::{ use crate::query::compile::{
Atom, AttrTripleAtom, BindingHeadTerm, DatalogProgram, QueryCompilationError, Rule, Atom, AttrTripleAtom, BindingHeadTerm, DatalogProgram, QueryCompilationError, Rule,
RuleApplyAtom, RuleSet, Term, RuleApplyAtom, RuleSet, Term,

@ -1,3 +1,4 @@
pub(crate) mod relation; pub(crate) mod relation;
pub(crate) mod compile; pub(crate) mod compile;
pub(crate) mod eval; pub(crate) mod eval;
pub(crate) mod pull;

@ -22,7 +22,7 @@ use crate::data::triple::StoreOp;
use crate::data::tuple::{rusty_scratch_cmp, SCRATCH_DB_KEY_PREFIX_LEN}; use crate::data::tuple::{rusty_scratch_cmp, SCRATCH_DB_KEY_PREFIX_LEN};
use crate::data::value::DataValue; use crate::data::value::DataValue;
use crate::runtime::transact::SessionTx; use crate::runtime::transact::SessionTx;
use crate::transact::pull::CurrentPath; use crate::query::pull::CurrentPath;
pub struct Db { pub struct Db {
db: RocksDb, db: RocksDb,

@ -16,12 +16,12 @@ use crate::data::id::{AttrId, EntityId, Validity};
use crate::data::keyword::Keyword; use crate::data::keyword::Keyword;
use crate::data::triple::StoreOp; use crate::data::triple::StoreOp;
use crate::data::value::{DataValue, INLINE_VAL_SIZE_LIMIT}; 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::runtime::transact::{SessionTx, TransactError};
use crate::utils::swap_option_result; use crate::utils::swap_option_result;
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
enum TripleError { enum ExecError {
#[error("use of temp entity id: {0:?}")] #[error("use of temp entity id: {0:?}")]
TempEid(EntityId), TempEid(EntityId),
#[error("unique constraint violated: {0} {1}")] #[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) { for item in self.triple_av_before_scan(attr.id, v, vld_in_key) {
let (_, _, found_eid) = item?; let (_, _, found_eid) = item?;
if found_eid != eid { if found_eid != eid {
return Err(TripleError::UniqueConstraintViolated( return Err(ExecError::UniqueConstraintViolated(
attr.keyword.clone(), attr.keyword.clone(),
format!("{:?}", v), format!("{:?}", v),
) )
@ -232,7 +232,7 @@ impl SessionTx {
for item in self.triple_av_after_scan(attr.id, v, vld_in_key) { for item in self.triple_av_after_scan(attr.id, v, vld_in_key) {
let (_, _, found_eid) = item?; let (_, _, found_eid) = item?;
if found_eid != eid { if found_eid != eid {
return Err(TripleError::UniqueConstraintViolated( return Err(ExecError::UniqueConstraintViolated(
attr.keyword.clone(), attr.keyword.clone(),
format!("{:?}", v), format!("{:?}", v),
) )
@ -242,7 +242,7 @@ impl SessionTx {
} else if let Some(v_slice) = self.tx.get(&ave_encoded, false)? { } else if let Some(v_slice) = self.tx.get(&ave_encoded, false)? {
let (_, found_eid, _) = decode_ae_key(&v_slice)?; let (_, found_eid, _) = decode_ae_key(&v_slice)?;
if found_eid != eid { if found_eid != eid {
return Err(TripleError::UniqueConstraintViolated( return Err(ExecError::UniqueConstraintViolated(
attr.keyword.clone(), attr.keyword.clone(),
format!("{:?}", v), format!("{:?}", v),
) )
@ -318,7 +318,7 @@ impl SessionTx {
vld: Validity, vld: Validity,
) -> Result<EntityId> { ) -> Result<EntityId> {
if !eid.is_perm() { 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 // checking that the eid actually exists should be done in the preprocessing step
self.write_triple(eid, attr, v, vld, StoreOp::Retract) self.write_triple(eid, attr, v, vld, StoreOp::Retract)
@ -436,7 +436,7 @@ impl SessionTx {
let res = self let res = self
.tx .tx
.get(&encoded, false)? .get(&encoded, false)?
.ok_or(TripleError::TripleEANotFound(eid, aid, vld))?; .ok_or(ExecError::TripleEANotFound(eid, aid, vld))?;
decode_value(&res.as_ref()[1..]) decode_value(&res.as_ref()[1..])
} }
pub(crate) fn triple_ea_scan( pub(crate) fn triple_ea_scan(

@ -1,3 +1,2 @@
pub(crate) mod attr; pub(crate) mod meta;
pub(crate) mod pull; pub(crate) mod exec;
pub(crate) mod triple;

Loading…
Cancel
Save