Skip to main content

validate_edge_type

Function validate_edge_type 

Source
pub fn validate_edge_type(edge_type: &str) -> Result<()>
Expand description

Edge types are [A-Z0-9]+ (§4.1).

The constraint is not cosmetic: edge types are concatenated into transaction_log.entity_id with | separators, so a type containing a separator would corrupt the key that replay reads the log back by.

This comment used to also claim the constraint protected the traversal CTE, which spliced edge types in as quoted literals. It did not: this function runs from EdgeAssertion::normalized on the write path only, and super::TraversalBuilder::edge_types never called it. The CTE now binds them as parameters (D-039), so that half of the justification is gone rather than merely unenforced.