| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ings Complete the MultiDiGraph migration (#1492) in the part->master upward walk. _propagate_part_to_master used nx.shortest_path, following a single FK chain and silently dropping any others; replace it with nx.all_simple_edge_paths so a Part reachable from its Master through multiple FK chains (or parallel FK edges) is restricted through every one, combined with OR. Remove the now-unused _edge_props helper and the stale single-FK-path limitation note. Scrub residual alias-node language from the upward-walk docstrings: aliased FKs are direct parallel edges in the MultiDiGraph, not transparent alias-node hops. Add a two-chain part-of-part cascade test exercising the all-paths walk on both MySQL and PostgreSQL.
|
Closing unmerged. In 2.4, Diagram.expand replaces this multi-path part-to-master walk with a one-step lift through the part's owning attributes (spec in datajoint/datajoint-docs#249). That also covers a part-of-part chain with renamed attributes, the shape this PR fixed. Its cases are kept as the shape catalog's G2 and G7, tested by the reference model in #1621 and by the planner in #1637. The v2.3.5 cascade fixes are in #1592. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Why
Completes the nx.MultiDiGraph migration (#1492) in the one place it hadn't reached: the part→master upward walk in Diagram.cascade(..., part_integrity="cascade"). _propagate_part_to_master used nx.shortest_path, which follows a single FK chain from master to part and silently drops any others. A Part reachable from its Master through more than one FK chain (or through parallel FK edges between the same table pair) was therefore restricted through only one of them.
What
Tests
Adds test_part_to_master_walks_all_fk_paths (a two-chain part-of-part shape fed by an external table) exercising the all-paths walk. Verified green on both MySQL 8.0 and PostgreSQL 15, along with the existing cascade/trace/ERD suites (78 tests) — no regressions.
Scope
Targets the 2.3.4 bug-fix line (moved from 2.3.3 on 2026-09-09 so 2.3.3 could ship promptly; this needs a rebase — it is 9 commits behind — and a re-verify on both backends before it is taken out of draft). This is the safe, self-contained completion of the MultiDiGraph work; it is independent of the broader expand/restrict traversal redesign (design under review in #1524), into which the compositional-integrity items (#1496/#1501/#1481) fold.
Draft pending review.