Feature: has_parent_id

Table of Contents

This page is one authored MASD feature in ORE Studio Variability Model § "Projection configuration: how an existing artefact family is shaped". Any profile that fixes this feature's value links here rather than restating its effect.

1. Identity

Field Value
Literal name :has_parent_id:
Bundle structural (Keys and columns)
Type bool
Default false

2. Effect

Gates the entity's hierarchy machinery, across facets. The ores.sql.schema facet generates a <product>_<component>_<entity_plural>_hierarchy_fn(p_tenant_id, p_root_id, p_from_root) recursive-CTE function that walks the entity's self-referencing tree, so consumers never hand-write their own recursive query. The C++ facets gate the matching members on the same feature: repository::get_hierarchy, service::get_hierarchy, and the protocol and NATS-handler entries that reach them. See Codegen entity meta-model — SQL § "Hierarchy: has_parent_id" for the worked counterparty example and what the generated function does and does not cover.

The feature is authored at the entity root, in the * Flags drawer, alongside :has_tenant_id: and :has_workspace_id:. That is where every reader looks for it.

3. Structural consequence

None directly on the entity's own columns. The generator reads two other properties inside the same block, :parent_id_column: and :hierarchy_name_field:, and both are structural (they name real columns), not features. Set this feature without them and the generated function names empty columns; see Codegen entity meta-model — SQL.

4. Used by

5. See also

Emacs 29.3 (Org mode 9.6.15)