Skip to content

feat(relations): support conditional polymorphic joins - #36

Merged
first-assist merged 1 commit into
mainfrom
agent/conditional-relations-20260826
Aug 26, 2026
Merged

feat(relations): support conditional polymorphic joins#36
first-assist merged 1 commit into
mainfrom
agent/conditional-relations-20260826

Conversation

@first-assist

Copy link
Copy Markdown
Collaborator

Summary

  • add opt-in compile-time source and target discriminator conditions for polymorphic relationships over externally managed schemas
  • apply fixed, bound-value predicates consistently across single, pageable, DataLoader, fallback, and nested bulk-preload paths
  • qualify relation-loader cache identities by source entity so equal field names on different parent types cannot share incompatible results
  • require conditional relationships to disable physical foreign-key emission
  • release aligned graphql-orm and graphql-orm-macros 0.27.0

Verification

  • conditional relationship runtime tests: 2 passed, covering integer, string, optional boolean, float, pageable DataLoader, and argument-free nested bulk-preload paths
  • relation definition compile-fail matrix: 4 passed
  • affected relation, naming, recursive, schema-IR, semantic-catalogue, and capability fixture suites passed
  • SQLite runtime plus PostgreSQL and MSSQL compile lanes passed
  • warnings-denied Clippy and Rustdoc passed
  • documentation, inventory, release state/policy, workspace dependency, deterministic manifest, SemVer, formatting, and diff checks passed
  • the complete default local run reached an unchanged retention trybuild snapshot whose diagnostic wording differs under the installed Rust 1.90 toolchain; no affected source or snapshot is changed, and hosted CI remains the canonical full-suite gate
  • committed diff and this PR body contain no consumer-specific vocabulary

Documentation impact

  • Documentation updated
  • No documentation impact

Explanation: runtime and macros READMEs, changelog, migration guide, relation and macro references, aligned versions, lockfile, and generated workspace inventory document the compatible conditional-relationship contract.

@first-assist
first-assist merged commit 6d1b2c2 into main Aug 26, 2026
10 checks passed
@first-assist
first-assist deleted the agent/conditional-relations-20260826 branch August 26, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant