Skip to content

Batch composition create probes acyclicity once per row #673

Closed

Description

@pdlug

executeNodeCreateBatch / executeNodeCreateNoReturnBatch run one recursive-CTE acyclicity probe per item that carries partOf, and re-read the same whole node row (and the just-inserted part row) once per item. assertEdgeRelationsAcyclic already accepts a list of proposed edges, so a batch could probe once over the combined set after insert, and the whole rows could be primed per kind the way primeBatchValidationCaches primes endpoints. Deferred from the branch's simplify pass because a batch-level probe changes which row a cycle refusal is attributed to, so it needs its own test of the refusal shape.

Related: the composition cascade re-reads every member row that planCompositionCascade already read (runCompositionCascade's soft path), which the same pass could fold by carrying the planned rows into the delete.

Activity

  1. added 3 commits that reference this issue on Sep 11, 2026
    6e3042f
    4d81e5a
    7350512
  2. pdlug commented on Sep 11, 2026

    @pdlug
    ContributorAuthor

    Fixed on the integration branch for #637 (no release carried the defect); closing now rather than waiting for the merge to main.

  3. added a commit that references this issue on Sep 23, 2026
    7864485
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions