Skip to content

Support scalar containment in recursive Moose dependency queries #13

Description

@deem0n

Problem

MQNavigationQuery>>queryFor: assumes each child relation is a collection. SQL view/derived-table sqlQuery is scalar, causing Instances of FmxSQLSelectQuery are not indexable. DSM and Butterfly fail on views and enclosing schemas.

Found during the 2026-09-20 FAMIXNGSQL/Moose 13 compatibility audit.

Implementation scope

Use cardinality-aware containment traversal while preserving existing collection paths, query direction, and local-only semantics. Review shared/cyclic containment safety.

Implementation PR target: deem0n/Famix, in the deem0n fork first. Keep this issue separate from the other v3.0.0 fixes. The PR must explain the previous failure, resulting behavior, compatibility implications, and actual validation.

Acceptance criteria and tests

Scalar child with incoming/outgoing associations; collection and nil child controls; local-only queries; nested/shared containment; existing MooseQuery suite; SQL view DSM/Butterfly acceptance.

  • Regression tests demonstrate the reported problem and pass with the fix.
  • Relevant existing tests pass; validation environment and limitations are recorded in the PR.
  • A separate implementation PR is linked here and reviewed.
  • Integrated v3.0.0 acceptance is verified before this release blocker is closed.

Release

Part of the v3.0.0 milestone. An open PR is not a completed fix; release qualification is tracked separately.

Implementation

deem0n/Famix#2

Combined qualification: #32. The implementation is available for review; this issue remains open until its integrated release acceptance is verified.

Activity

  1. added this to the v3.0.0 milestone on Sep 20, 2026
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

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions