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::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§
- Cancellation
Checker - Cheap composite checker passed into hot loops that cannot depend on
selene-gql. - Cancellation
Token - Caller-owned cancellation flag that can be cloned across sessions or threads.
- Feature
Use - One optional feature observed while walking an AST.
- Node
Scan Budget - Per-statement deterministic budget for scanned graph nodes.
Enums§
- Cancellation
Cause - 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.