pub struct GraphOperationDefinition {
pub algorithm: GraphAlgorithm,
pub name: &'static str,
pub layout_requirement: GraphLayoutRequirement,
pub empty_input_policy: EmptyGraphInputPolicy,
}Expand description
Registry-level metadata for a graph operation.
One entry per GraphAlgorithm variant. The registry is the place new
algorithms must declare their layout requirement, stable SQL name, and any
future metadata fields (parameter schema, weighted-edge support, etc.) so
the planner, executor, and SQL surface stay in sync.
Fields§
§algorithm: GraphAlgorithmAlgorithm variant described by this registry row.
name: &'static strStable identifier used in plan display, runtime metrics, and SQL
function naming (cugraph_<name>).
layout_requirement: GraphLayoutRequirementcuGraph layout requirement for this operation.
empty_input_policy: EmptyGraphInputPolicyEngine-owned empty-edge and side-input behavior.
Implementations§
Source§impl GraphOperationDefinition
impl GraphOperationDefinition
Sourcepub const fn source_vertex_requirement(&self) -> GraphSourceVertexRequirement
pub const fn source_vertex_requirement(&self) -> GraphSourceVertexRequirement
Source-vertex requirement for this algorithm.
Sourcepub const fn weight_policy(&self) -> GraphWeightPolicy
pub const fn weight_policy(&self) -> GraphWeightPolicy
Weight-column policy for this algorithm.
Sourcepub const fn output_schema_kind(&self) -> GraphOutputSchemaKind
pub const fn output_schema_kind(&self) -> GraphOutputSchemaKind
Base output-schema descriptor for this algorithm.
Sourcepub const fn required_graph_directedness(&self) -> Option<bool>
pub const fn required_graph_directedness(&self) -> Option<bool>
Required graph directedness, when the cuGraph operation only accepts one graph property.
Sourcepub const fn empty_input_policy(&self) -> EmptyGraphInputPolicy
pub const fn empty_input_policy(&self) -> EmptyGraphInputPolicy
Engine-owned contract for empty graph inputs.
Sourcepub fn output_schema(&self) -> SchemaRef
pub fn output_schema(&self) -> SchemaRef
Native base result schema for this algorithm.
See stable_graph_result_schema for BFS’s raw result contract and the
SQL adapter’s separate vertex-result schema.
Sourcepub fn base_result_schema(&self) -> SchemaRef
pub fn base_result_schema(&self) -> SchemaRef
Native base result schema for this algorithm.
Sourcepub fn default_graph_options(
&self,
defaults: &GraphConstructionOptions,
) -> GraphConstructionOptions
pub fn default_graph_options( &self, defaults: &GraphConstructionOptions, ) -> GraphConstructionOptions
Shared graph-construction defaults after algorithm-level overrides.
Sourcepub fn default_params(&self) -> GraphAlgorithmParams
pub fn default_params(&self) -> GraphAlgorithmParams
Default native parameter payload for metadata and planning projections.
Source-vertex algorithms use 0 as a placeholder because the real
source vertex remains a required SQL/parser input with no default value.
Sourcepub fn result_schema_for_params(
&self,
params: &GraphAlgorithmParams,
) -> SchemaRef
pub fn result_schema_for_params( &self, params: &GraphAlgorithmParams, ) -> SchemaRef
Result schema for an algorithm parameter payload.
This preserves native-owned parameter-sensitive schema semantics. SQL adapters may still apply a final user-facing overlay for modes that are not part of the native IR.