Skip to main content

Module traits

Module traits 

Source
Expand description

Per-surface capability traits.

Every extension surface that a plugin can opt into lives in its own submodule here. Plugins implement the relevant trait and register their implementation via the corresponding crate::PluginRegistrar method.

The trait surface is intentionally split: each file is small and focused on one capability. Adding a new surface means a new submodule and a new method on crate::PluginRegistrar.

Re-exports§

pub use procedure::ProcedureHost;

Modules§

aggregate
Cypher aggregate plugin functions.
algorithm
Graph algorithm plugins.
background
Background-job provider plugins.
catalog
Catalog / virtual-schema plugins + replacement scans.
cdc
CDC output / logical-replication plugins.
collation
Collation (sort order) plugins.
connector
Wire-protocol connector plugins.
crdt
CRDT kind plugins.
hook
Session-lifecycle hooks — Postgres-style phased.
index
Index kind plugins — custom vector, FTS, geo indexes.
locy
Locy aggregate and predicate plugins.
operator
Physical operator + optimizer-rule plugins.
procedure
Cypher procedure plugins — CALL ... YIELD ....
pushdown
Pushdown negotiation traits — Spark DSv2 / Trino-style marker traits.
scalar
Scalar plugin functions — Cypher RETURN myfn(x).
storage
Storage backend plugins — MATCH / CREATE against pluggable stores.
trigger
Fine-grained triggers — APOC apoc.trigger.* analogue.
types
Logical type plugins — Arrow extension types as a plugin surface.
window
Cypher window-function plugins.