Skip to main content

Crate selene_gql

Crate selene_gql 

Source
Expand description

ISO/IEC 39075:2024 GQL parser, AST, and Flagger for selene-db.

See Spec 07 for the parser and Flagger design contract.

Re-exports§

pub use crate::analyze::AnalysisError;
pub use crate::analyze::AnalyzedStatement;
pub use crate::analyze::AnalyzedStatementKind;
pub use crate::analyze::AnalyzedType;
pub use crate::analyze::BindingDecl;
pub use crate::analyze::BindingDeclKind;
pub use crate::analyze::BindingId;
pub use crate::analyze::BindingScope;
pub use crate::analyze::BindingScopeTree;
pub use crate::analyze::BindingUse;
pub use crate::analyze::BindingUseKind;
pub use crate::analyze::ConditionClause;
pub use crate::analyze::ElementKind;
pub use crate::analyze::ExpectedType;
pub use crate::analyze::ExprId;
pub use crate::analyze::ExprIdLookup;
pub use crate::analyze::ExprTypeTable;
pub use crate::analyze::InvalidLabelForm;
pub use crate::analyze::MutationWriteSet;
pub use crate::analyze::ScopeId;
pub use crate::analyze::ScopeKind;
pub use crate::analyze::Side;
pub use crate::analyze::StatementCategory;
pub use crate::analyze::TypeMismatchContext;
pub use crate::analyze::WriteKind;
pub use crate::analyze::WriteSetEntry;
pub use crate::analyze::analyze;
pub use crate::ast::call::InlineProcedureCall;
pub use crate::ast::call::ProcedureCall;
pub use crate::ast::call::YieldColumn;
pub use crate::ast::call::YieldItem;
pub use crate::ast::ddl::DdlStatement;
pub use crate::ast::ddl::DropBehavior;
pub use crate::ast::ddl::EdgeEndpointSpec;
pub use crate::ast::ddl::KeyLabelSet;
pub use crate::ast::ddl::TypePropertyConstraint;
pub use crate::ast::ddl::TypePropertyDef;
pub use crate::ast::ddl::ValidationMode;
pub use crate::ast::expr::BinaryOp;
pub use crate::ast::expr::DecimalLiteralKind;
pub use crate::ast::expr::ExistsBody;
pub use crate::ast::expr::FloatLiteralKind;
pub use crate::ast::expr::IntegerLiteralKind;
pub use crate::ast::expr::IsCheckKind;
pub use crate::ast::expr::Literal;
pub use crate::ast::expr::NormalForm;
pub use crate::ast::expr::TemporalDurationQualifier;
pub use crate::ast::expr::TrimSpec;
pub use crate::ast::expr::TruthValue;
pub use crate::ast::expr::UnaryOp;
pub use crate::ast::expr::ValueExpr;
pub use crate::ast::format::format_procedure_call;
pub use crate::ast::mutation::DeleteMode;
pub use crate::ast::mutation::DeleteStatement;
pub use crate::ast::mutation::InsertStatement;
pub use crate::ast::mutation::MutationPipeline;
pub use crate::ast::mutation::MutationStatement;
pub use crate::ast::mutation::MutationTerminator;
pub use crate::ast::mutation::RemoveItem;
pub use crate::ast::mutation::SetItem;
pub use crate::ast::pattern::EdgeDirection;
pub use crate::ast::pattern::EdgePattern;
pub use crate::ast::pattern::GraphPattern;
pub use crate::ast::pattern::LabelExpr;
pub use crate::ast::pattern::MatchClause;
pub use crate::ast::pattern::MatchMode;
pub use crate::ast::pattern::NodePattern;
pub use crate::ast::pattern::PathMode;
pub use crate::ast::pattern::PathSelector;
pub use crate::ast::pattern::PatternElement;
pub use crate::ast::pattern::Quantifier;
pub use crate::ast::span::SourceSpan;
pub use crate::ast::statement::ForStatement;
pub use crate::ast::statement::LetBinding;
pub use crate::ast::statement::LimitValue;
pub use crate::ast::statement::NullsPolicy;
pub use crate::ast::statement::OrderDirection;
pub use crate::ast::statement::OrderTerm;
pub use crate::ast::statement::PipelineStatement;
pub use crate::ast::statement::QueryPipeline;
pub use crate::ast::statement::ReturnClause;
pub use crate::ast::statement::ReturnItem;
pub use crate::ast::statement::RowExpansionPosition;
pub use crate::ast::statement::RowExpansionPositionKind;
pub use crate::ast::statement::SessionResetTarget;
pub use crate::ast::statement::SessionSetGraphTarget;
pub use crate::ast::statement::SetOp;
pub use crate::ast::statement::Statement;
pub use crate::ast::statement::WithClause;
pub use crate::ast::types::BindingTableType;
pub use crate::ast::types::GqlType;
pub use crate::ast::types::RecordType;
pub use crate::ast::util::EmptyVecError;
pub use crate::ast::util::NonEmpty;
pub use crate::ast::util::Vec2OrMore;
pub use crate::diagnostic::DiagnosticReport;
pub use crate::error::GqlStatus;
pub use crate::error::ParserError;
pub use crate::parser::parse;
pub use crate::parser::parse_many;
pub use crate::parser::parse_with_source;
pub use crate::plan::Aggregate;
pub use crate::plan::AggregateArg;
pub use crate::plan::BindingDef;
pub use crate::plan::BindingElement;
pub use crate::plan::BindingTableColumn;
pub use crate::plan::BindingTableSchema;
pub use crate::plan::BuildSide;
pub use crate::plan::CatalogOp;
pub use crate::plan::CompositeIndexHandle;
pub use crate::plan::DeleteTargetPlan;
pub use crate::plan::EdgeMatch;
pub use crate::plan::EmptyIndexCatalog;
pub use crate::plan::ExecutionPlan;
pub use crate::plan::FilterPredicate;
pub use crate::plan::FilterPredicateKind;
pub use crate::plan::HiddenBindingId;
pub use crate::plan::HopContributor;
pub use crate::plan::ImplDefinedCaps;
pub use crate::plan::IndexCatalog;
pub use crate::plan::IndexHandle;
pub use crate::plan::IndexKey;
pub use crate::plan::IndexKind;
pub use crate::plan::IndexTarget;
pub use crate::plan::InsertEndpointRef;
pub use crate::plan::InsertSiteId;
pub use crate::plan::JoinTree;
pub use crate::plan::LimitAmount;
pub use crate::plan::LiveIndexCatalog;
pub use crate::plan::MutationOp;
pub use crate::plan::NodeIdOrdering;
pub use crate::plan::NodeOrEdgeScan;
pub use crate::plan::OptimizeContext;
pub use crate::plan::OrderAccess;
pub use crate::plan::OrderKey;
pub use crate::plan::OuterBindingRef;
pub use crate::plan::PathContributor;
pub use crate::plan::PathPlan;
pub use crate::plan::PatternPlan;
pub use crate::plan::PipelineOp;
pub use crate::plan::PipelineOpId;
pub use crate::plan::PlannedCall;
pub use crate::plan::PlannedSubquery;
pub use crate::plan::PlannedTableSubquery;
pub use crate::plan::PlannedTableSubqueryYield;
pub use crate::plan::PlannedTypePropertyConstraint;
pub use crate::plan::PlannedTypePropertyDef;
pub use crate::plan::PlannedYieldItem;
pub use crate::plan::PlannerError;
pub use crate::plan::ProjectExpr;
pub use crate::plan::PropertyInit;
pub use crate::plan::RepeatEdgeMatch;
pub use crate::plan::Rule;
pub use crate::plan::ScanAccess;
pub use crate::plan::ScanKind;
pub use crate::plan::SessionOp;
pub use crate::plan::SubqueryBody;
pub use crate::plan::SubqueryKind;
pub use crate::plan::SubqueryRegistry;
pub use crate::plan::TailBinding;
pub use crate::plan::Transformed;
pub use crate::plan::TxOp;
pub use crate::plan::TypedIndexBounds;
pub use crate::plan::TypedIndexLookup;
pub use crate::plan::YieldKind;
pub use crate::plan::optimize;
pub use crate::plan::optimize;
pub use crate::plan::plan;
pub use crate::procedure_registry::EmptyProcedureRegistry;
pub use crate::procedure_registry::ProcedureArity;
pub use crate::procedure_registry::ProcedureDefaultValue;
pub use crate::procedure_registry::ProcedureError;
pub use crate::procedure_registry::ProcedureHandle;
pub use crate::procedure_registry::ProcedureMetadata;
pub use crate::procedure_registry::ProcedureMutability;
pub use crate::procedure_registry::ProcedureOutputColumn;
pub use crate::procedure_registry::ProcedureOutputSchema;
pub use crate::procedure_registry::ProcedureParameter;
pub use crate::procedure_registry::ProcedureRegistry;
pub use crate::procedure_registry::ProcedureResult;
pub use crate::procedure_registry::ProcedureSignature;
pub use crate::procedure_registry::ProcedureTier;
pub use crate::runtime::AdaptiveOptimizer;
pub use crate::runtime::Binding;
pub use crate::runtime::BindingTable;
pub use crate::runtime::BindingTableRegistry;
pub use crate::runtime::BuiltinProcedureRegistry;
pub use crate::runtime::CallPlanCache;
pub use crate::runtime::CallPlanCacheStats;
pub use crate::runtime::CallPlanKey;
pub use crate::runtime::DataExceptionSubclass;
pub use crate::runtime::ExecutorError;
pub use crate::runtime::ExecutorWarning;
pub use crate::runtime::GraphContext;
pub use crate::runtime::MaintenanceContext;
pub use crate::runtime::MutationContext;
pub use crate::runtime::PlanCache;
pub use crate::runtime::PlanCacheStats;
pub use crate::runtime::ProcedureContext;
pub use crate::runtime::RollbackOutcome;
pub use crate::runtime::Session;
pub use crate::runtime::SessionParameterValue;
pub use crate::runtime::SharedPlanCache;
pub use crate::runtime::SharedPlanCacheStats;
pub use crate::runtime::StatementOutput;
pub use crate::runtime::TransactionOutcome;
pub use crate::runtime::TxContext;
pub use crate::runtime::WarningSink;
pub use crate::runtime::WriteOutcome;
pub use crate::runtime::execute_pattern;
pub use crate::runtime::execute_pipeline;
pub use crate::runtime::execute_statement;

Modules§

analyze
Semantic analyzer entry points.
ast
Public GQL abstract syntax tree types.
diagnostic
Source-carrying parser diagnostic wrapper.
error
Parser error types and GQLSTATUS mappings.
parser
Pest-backed GQL parser entry points.
plan
Query planner entry points and execution-plan IR.
procedure_registry
Planner-facing procedure registry boundary for selene-gql.
runtime
GQL execution runtime.

Structs§

CancellationChecker
Cheap composite checker passed into hot loops that cannot depend on selene-gql.
CancellationToken
Caller-owned cancellation flag that can be cloned across sessions or threads.
FeatureUse
One optional feature observed while walking an AST.
NodeScanBudget
Per-statement deterministic budget for scanned graph nodes.

Enums§

CancellationCause
Cancellation outcome reported by cooperative checkpoint calls.
Value
In-memory representation of a GQL value.

Functions§

feature_walk
Return every optional feature surface reached by statement.