Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server: support remote relationships to unions, interfaces and enum types #6080

Merged

Conversation

codingkarthik
Copy link
Contributor

@codingkarthik codingkarthik commented Oct 27, 2020

fixes #5875

This PR adds support to joining remote fields of union and interface types. Earlier, we used to throw a validation error if the remote field is of either of the above mentioned types.

Description

Changelog

  • CHANGELOG.md is updated with user-facing content relevant to this PR. If no changelog is required, then add the no-changelog-required label.

Affected components

  • Server
  • Console
  • CLI
  • Docs
  • Community Content
  • Build System
  • Tests
  • Other (list it)

Related Issues

Solution and Design

Steps to test and verify

Limitations, known bugs & workarounds

Server checklist

Catalog upgrade

Does this PR change Hasura Catalog version?

  • No
  • Yes
    • Updated docs with SQL for downgrading the catalog

Metadata

Does this PR add a new Metadata feature?

  • No
  • Yes
    • Does run_sql auto manages the new metadata through schema diffing?
      • Yes
      • Not required
    • Does run_sql auto manages the definitions of metadata on renaming?
      • Yes
      • Not required
    • Does export_metadata/replace_metadata supports the new metadata added?
      • Yes
      • Not required

GraphQL

  • No new GraphQL schema is generated
  • New GraphQL schema is being generated:
    • New types and typenames are correlated

Breaking changes

  • No Breaking changes

  • There are breaking changes:

    1. Metadata API

      Existing query types:

      • Modify args payload which is not backward compatible
      • Behavioural change of the API
      • Change in response JSON schema
      • Change in error code
    2. GraphQL API

      Schema Generation:

      • Change in any NamedType
      • Change in table field names

      Schema Resolve:-

      • Change in treatment of null value for any input fields
    3. Logging

      • Log JSON schema has changed
      • Log type names have changed

Copy link
Collaborator

@jberryman jberryman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple nits and that request for a good comment

@codingkarthik codingkarthik changed the title Server: support remote relationships to unions and interfaces types Server: support remote relationships to unions, interfaces and enum types Oct 28, 2020
@netlify
Copy link

netlify bot commented Oct 29, 2020

Deploy preview for hasura-docs ready!

Built with commit 21b4ff8

https://deploy-preview-6080--hasura-docs.netlify.app

@codingkarthik codingkarthik merged commit 562b6ac into hasura:master Oct 29, 2020
@tirumaraiselvan tirumaraiselvan added this to the v1.3.3 milestone Nov 3, 2020
codingkarthik added a commit to codingkarthik/graphql-engine that referenced this pull request Nov 6, 2020
…ypes (hasura#6080)

* add support for joining to remote interface and union fields

* add test for making a remote relationship with an Union type

* add CHANGELOG

* remove the pretty-simple library

* remove unused imports from Remote.hs

* Apply suggestions from code review

Co-authored-by: Brandon Simmons <brandon.m.simmons@gmail.com>

* support remote relationships against enum fields as well

* update CHANGELOG

Co-authored-by: Brandon Simmons <brandon.m.simmons@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
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.

support union and interface types in remote schema relationships
3 participants