pub enum NodedbStatement {
Show 92 variants
CreateCollection {
name: String,
if_not_exists: bool,
raw_sql: String,
},
DropCollection {
name: String,
if_exists: bool,
purge: bool,
cascade: bool,
cascade_force: bool,
},
UndropCollection {
name: String,
},
AlterCollection {
name: String,
raw_sql: String,
},
DescribeCollection {
name: String,
},
ShowCollections,
CreateIndex {
unique: bool,
raw_sql: String,
},
DropIndex {
name: String,
collection: Option<String>,
if_exists: bool,
},
ShowIndexes {
collection: Option<String>,
},
Reindex {
collection: String,
},
CreateTrigger {
or_replace: bool,
deferred: bool,
sync: bool,
raw_sql: String,
},
DropTrigger {
name: String,
collection: String,
if_exists: bool,
},
AlterTrigger {
raw_sql: String,
},
ShowTriggers {
collection: Option<String>,
},
CreateSchedule {
raw_sql: String,
},
DropSchedule {
name: String,
if_exists: bool,
},
AlterSchedule {
raw_sql: String,
},
ShowSchedules,
ShowScheduleHistory {
name: String,
},
CreateSequence {
name: String,
if_not_exists: bool,
raw_sql: String,
},
DropSequence {
name: String,
if_exists: bool,
},
AlterSequence {
raw_sql: String,
},
DescribeSequence {
name: String,
},
ShowSequences,
CreateAlert {
raw_sql: String,
},
DropAlert {
name: String,
if_exists: bool,
},
AlterAlert {
raw_sql: String,
},
ShowAlerts,
ShowAlertStatus {
name: String,
},
CreateRetentionPolicy {
raw_sql: String,
},
DropRetentionPolicy {
name: String,
if_exists: bool,
},
AlterRetentionPolicy {
raw_sql: String,
},
ShowRetentionPolicies,
CreateChangeStream {
raw_sql: String,
},
DropChangeStream {
name: String,
if_exists: bool,
},
AlterChangeStream {
raw_sql: String,
},
ShowChangeStreams,
CreateConsumerGroup {
raw_sql: String,
},
DropConsumerGroup {
name: String,
stream: String,
if_exists: bool,
},
ShowConsumerGroups {
stream: Option<String>,
},
CreateRlsPolicy {
raw_sql: String,
},
DropRlsPolicy {
name: String,
collection: String,
if_exists: bool,
},
ShowRlsPolicies {
collection: Option<String>,
},
CreateMaterializedView {
raw_sql: String,
},
DropMaterializedView {
name: String,
if_exists: bool,
},
ShowMaterializedViews,
CreateContinuousAggregate {
raw_sql: String,
},
DropContinuousAggregate {
name: String,
if_exists: bool,
},
ShowContinuousAggregates,
BackupTenant {
raw_sql: String,
},
RestoreTenant {
dry_run: bool,
raw_sql: String,
},
ShowNodes,
ShowNode {
node_id: String,
},
RemoveNode {
node_id: String,
},
ShowCluster,
ShowMigrations,
ShowRanges,
ShowRouting,
ShowSchemaVersion,
ShowPeerHealth,
Rebalance,
ShowRaftGroups,
ShowRaftGroup {
group_id: String,
},
AlterRaftGroup {
raw_sql: String,
},
Analyze {
collection: Option<String>,
},
Compact {
collection: String,
},
ShowStorage {
collection: Option<String>,
},
ShowCompactionStatus,
CreateUser {
raw_sql: String,
},
DropUser {
username: String,
},
AlterUser {
raw_sql: String,
},
ShowUsers,
GrantRole {
raw_sql: String,
},
RevokeRole {
raw_sql: String,
},
GrantPermission {
raw_sql: String,
},
RevokePermission {
raw_sql: String,
},
ShowPermissions {
collection: Option<String>,
},
ShowGrants {
username: Option<String>,
},
ShowTenants,
ShowAuditLog,
ShowConstraints {
collection: String,
},
ShowTypeGuards {
collection: String,
},
GraphInsertEdge {
collection: String,
src: String,
dst: String,
label: String,
properties: GraphProperties,
},
GraphDeleteEdge {
collection: String,
src: String,
dst: String,
label: String,
},
GraphSetLabels {
node_id: String,
labels: Vec<String>,
remove: bool,
},
GraphTraverse {
start: String,
depth: usize,
edge_label: Option<String>,
direction: GraphDirection,
},
GraphNeighbors {
node: String,
edge_label: Option<String>,
direction: GraphDirection,
},
GraphPath {
src: String,
dst: String,
max_depth: usize,
edge_label: Option<String>,
},
GraphAlgo {
algorithm: String,
collection: String,
damping: Option<f64>,
tolerance: Option<f64>,
resolution: Option<f64>,
max_iterations: Option<usize>,
sample_size: Option<usize>,
source_node: Option<String>,
direction: Option<String>,
mode: Option<String>,
},
MatchQuery {
raw_sql: String,
},
GraphRagFusion {
collection: String,
params: FusionParams,
},
Other {
raw_sql: String,
},
}Expand description
Typed representation of every NodeDB DDL statement.
Handlers receive a fully-parsed variant instead of raw &[&str]
parts, eliminating array-index panics and enabling exhaustive
match coverage for new DDL commands.
Variants§
CreateCollection
DropCollection
Fields
purge: boolDROP COLLECTION <n> PURGE — skip the soft-delete step and
go straight to CatalogEntry::PurgeCollection. Requires
superuser or tenant_admin. Fails if dependents exist unless
cascade is also set.
UndropCollection
UNDROP COLLECTION <n> — restore a soft-deleted collection
whose retention window has not yet elapsed. Flips
StoredCollection.is_active back to true via a new
PutCollection catalog entry. Fails if the retention window
has already expired (storage is already purged) or if an
active collection of the same name exists.
AlterCollection
DescribeCollection
ShowCollections
CreateIndex
DropIndex
ShowIndexes
Reindex
CreateTrigger
DropTrigger
AlterTrigger
ShowTriggers
CreateSchedule
DropSchedule
AlterSchedule
ShowSchedules
ShowScheduleHistory
CreateSequence
DropSequence
AlterSequence
DescribeSequence
ShowSequences
CreateAlert
DropAlert
AlterAlert
ShowAlerts
ShowAlertStatus
CreateRetentionPolicy
DropRetentionPolicy
AlterRetentionPolicy
ShowRetentionPolicies
CreateChangeStream
DropChangeStream
AlterChangeStream
ShowChangeStreams
CreateConsumerGroup
DropConsumerGroup
ShowConsumerGroups
CreateRlsPolicy
DropRlsPolicy
ShowRlsPolicies
CreateMaterializedView
DropMaterializedView
ShowMaterializedViews
CreateContinuousAggregate
DropContinuousAggregate
ShowContinuousAggregates
BackupTenant
RestoreTenant
ShowNodes
ShowNode
RemoveNode
ShowCluster
ShowMigrations
ShowRanges
ShowRouting
ShowSchemaVersion
ShowPeerHealth
Rebalance
ShowRaftGroups
ShowRaftGroup
AlterRaftGroup
Analyze
Compact
ShowStorage
ShowCompactionStatus
CreateUser
DropUser
AlterUser
ShowUsers
GrantRole
RevokeRole
GrantPermission
RevokePermission
ShowPermissions
ShowGrants
ShowTenants
ShowAuditLog
ShowConstraints
ShowTypeGuards
GraphInsertEdge
GraphDeleteEdge
GraphSetLabels
GRAPH LABEL / GRAPH UNLABEL.
GraphTraverse
GraphNeighbors
GraphPath
GraphAlgo
Fields
MatchQuery
MATCH (x)-[:l]->(y) RETURN x, y — the query body is
compiled deep inside the Data Plane via
engine::graph::pattern::compiler::parse, so the AST
variant just captures the raw SQL for that consumer.
GraphRagFusion
GRAPH RAG FUSION ON <collection> QUERY ARRAY[…] [options…]
All numeric and label options are optional at parse time; the pgwire handler applies defaults and caps so validation errors surface with proper SQLSTATE codes rather than parser panics.
query_vector is None when no ARRAY[…] clause was found — the
handler rejects such requests with SQLSTATE 42601.
Other
Catch-all for DDL-like commands not yet promoted to their own variant. Preserves the raw SQL for the legacy dispatch path so new variants can be added incrementally without breaking existing handlers.
Trait Implementations§
Source§impl Clone for NodedbStatement
impl Clone for NodedbStatement
Source§fn clone(&self) -> NodedbStatement
fn clone(&self) -> NodedbStatement
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NodedbStatement
impl Debug for NodedbStatement
Source§impl PartialEq for NodedbStatement
impl PartialEq for NodedbStatement
impl StructuralPartialEq for NodedbStatement
Auto Trait Implementations§
impl Freeze for NodedbStatement
impl RefUnwindSafe for NodedbStatement
impl Send for NodedbStatement
impl Sync for NodedbStatement
impl Unpin for NodedbStatement
impl UnsafeUnpin for NodedbStatement
impl UnwindSafe for NodedbStatement
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.