hasura / hasura/graphql-engine

Allow for case-insensitive type matching in remote joins

Open
#7,251 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

Unfortunately, GraphQL schemas generated by different GraphQL servers use different cases for the same type. It is possible that one endpoint exposes `BigInt` as `BigInt` while another endpoint may name it `bigint`. Even though both columns reference the same data type and values, the remote join will fail with the error message:
`in table "foo": in remote relationship "bar": expected type "BigInt" but got "bigint"`.

While the spec mentions case-sensitive variable and type names, it may be in favour of the users to allow for case-insensitive type matching on remote joins.

Relevant issue: #6313

Contributor guide

Open the contributing guide

Research direction

Start with the remote-join validation discussed in this issue and review related issue #6313. Identify the relevant implementation and test locations, then verify the expected behavior against the BigInt/bigint example; done when the requested matching behavior is covered.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.