mod context;
#[cfg(feature = "graph-cypher")]
pub(crate) mod expression;
mod grouping;
mod id_text;
mod list;
mod map;
pub use map::QueryMap;
#[cfg(feature = "graph-cypher")]
mod pattern;
#[cfg(all(feature = "graph-cypher", feature = "test-seams"))]
pub mod pattern_test_support {
pub use super::pattern::test_support::observe_expand_scratch;
pub use super::pattern::test_support::{
ProbeReport, observe_document_visits, run_actual_probe, with_original_node_sources,
};
}
#[cfg(all(feature = "graph-cypher", any(test, feature = "test-seams")))]
pub(crate) use pattern::test_support::{note_document_visit, note_expand_scratch};
#[cfg(all(feature = "graph-cypher", feature = "test-seams"))]
pub mod native_relational_test_support {
pub use super::pattern::relational::test_support::{
NativeRelationalProbeReport, run_actual_probe, seed_capacity_store,
};
pub(crate) use super::pattern::relational::test_support::{
capacity_fixture_active, capacity_fixture_work,
};
}
pub mod plan;
mod property;
mod scalar;
mod value;
pub use context::{
MAX_QUERY_BYTES, MAX_VALUE_WORK, QueryNodeRef, QueryRelRef, QueryView, ValueContext,
};
pub use list::{MAX_LIST_DEPTH, MAX_LIST_ELEMENTS, QueryList};
pub use property::{PropertyAssignment, PropertyScratch};
pub use scalar::StringPredicate;
pub use value::{Arithmetic, Comparison, QueryValue, Truth};
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum QueryError {
Type,
PropertyLimit,
BufferTooSmall,
ForeignView,
WorkLimit,
ListLimit,
ValueTooLarge,
Cancelled,
ReadCancelled,
Timeout,
Control,
ArithmeticOverflow,
ArithmeticDomain,
DivisionByZero,
}
impl std::fmt::Display for QueryError {
fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::ArithmeticOverflow => formatter.write_str("graph arithmetic overflow"),
Self::ArithmeticDomain => formatter.write_str("nonfinite graph arithmetic operand"),
Self::DivisionByZero => formatter.write_str("graph arithmetic division by zero"),
Self::WorkLimit => formatter.write_str("graph value work limit"),
Self::ListLimit => formatter.write_str("graph query list limit"),
Self::ValueTooLarge => formatter.write_str("graph query value exceeds byte envelope"),
Self::Cancelled => formatter.write_str("graph query cancelled"),
Self::ReadCancelled => formatter.write_str("store close cancelled graph query"),
Self::Timeout => formatter.write_str("graph query timed out"),
Self::Control => formatter.write_str("graph query control failed"),
Self::ForeignView => formatter.write_str("graph value belongs to another query view"),
Self::PropertyLimit => formatter.write_str("graph property payload limit"),
Self::BufferTooSmall => formatter.write_str("graph query output buffer too small"),
Self::Type => formatter.write_str("graph query value has the wrong type"),
}
}
}
impl std::error::Error for QueryError {}
pub mod resources;
pub mod runtime;
pub mod eligibility;
pub mod relational;
pub mod completed;
#[cfg(all(feature = "graph-cypher", feature = "test-seams"))]
pub mod native_result_test_support {
pub use super::completed::native::test_support::{ProbeReport, run_actual_probe};
}
#[cfg(all(feature = "graph-cypher", feature = "test-seams"))]
pub mod query_entry_test_support {
pub use super::completed::native::entry_probe::{ProbeReport, run_actual_probe};
}
#[cfg(all(test, feature = "graph-cypher"))]
pub(crate) use completed::native::entry_probe;