graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellNone
LanguageHaskell2010

Hasura.RQL.DDL.Schema.Enum

Description

Types and functions for interacting with and manipulating SQL enums represented by single-column tables, not native Postgres enum types. Native enum types in Postgres are difficult to change, so we discourage their use, but we might add support for native enum types in the future.

Synopsis

Documentation

resolveEnumReferences :: forall b. Backend b => HashMap (TableName b) (PrimaryKey b (Column b), TableConfig b, EnumValues) -> HashSet (ForeignKey b) -> HashMap (Column b) (NonEmpty (EnumReference b)) Source #

Given a map of enum tables, computes all enum references implied by the given set of foreign keys. A foreign key constitutes an enum reference iff the following conditions hold:

  1. The key only includes a single column.
  2. The referenced column is the table’s primary key.
  3. The referenced table is, in fact, an enum table.