Azure / Azure/data-api-builder

Support multiple create mutation for self-referencing relationships.

Open
#2,157 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Multiple mutations
Dominant language
C#
Stars
1.5k
Forks
372
Avg merge
3d 22h
Merged PRs (30d)
9

Description

PR https://github.com/Azure/data-api-builder/pull/2138 adds support for querying relationships that reference the same entity (self-join tables).

Extend multiple create functionality to support relationships that reference itself.

Some things to consider are:

  • Accurate determination of referencing/referenced entity. Though, referenced and referencing entity are both the same, we need to be able to identify whether top level item (or) related item should be created first.
  • The current data structure maintains the relationship metadata at the entity level. PR https://github.com/Azure/data-api-builder/pull/2138 introduces changes to maintain the relationship metadata at the granularity level of relationship. This new data structure should be used during query generation and rest of the mutation flows.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review PR #2138 first to understand self-referencing relationship metadata and the multiple-create mutation flow. Trace query generation and the remaining mutation paths, then verify that top-level and related items are created in the correct order for self-referencing relationships.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, graphql
Domain
api, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.