module Hasura.SQL.Tag
( BackendTag (..),
HasTag (..),
reify,
)
where
import Hasura.SQL.Backend
data BackendTag (b :: BackendType) where
PostgresVanillaTag :: BackendTag ('Postgres 'Vanilla)
PostgresCitusTag :: BackendTag ('Postgres 'Citus)
PostgresCockroachTag :: BackendTag ('Postgres 'Cockroach)
MSSQLTag :: BackendTag 'MSSQL
BigQueryTag :: BackendTag 'BigQuery
MySQLTag :: BackendTag 'MySQL
DataConnectorTag :: BackendTag 'DataConnector
class HasTag (b :: BackendType) where
backendTag :: BackendTag b
instance HasTag ('Postgres 'Vanilla) where
backendTag :: BackendTag ('Postgres 'Vanilla)
backendTag = BackendTag ('Postgres 'Vanilla)
PostgresVanillaTag
instance HasTag ('Postgres 'Citus) where
backendTag :: BackendTag ('Postgres 'Citus)
backendTag = BackendTag ('Postgres 'Citus)
PostgresCitusTag
instance HasTag ('Postgres 'Cockroach) where
backendTag :: BackendTag ('Postgres 'Cockroach)
backendTag = BackendTag ('Postgres 'Cockroach)
PostgresCockroachTag
instance HasTag 'MSSQL where
backendTag :: BackendTag 'MSSQL
backendTag = BackendTag 'MSSQL
MSSQLTag
instance HasTag 'BigQuery where
backendTag :: BackendTag 'BigQuery
backendTag = BackendTag 'BigQuery
BigQueryTag
instance HasTag 'MySQL where
backendTag :: BackendTag 'MySQL
backendTag = BackendTag 'MySQL
MySQLTag
instance HasTag 'DataConnector where
backendTag :: BackendTag 'DataConnector
backendTag = BackendTag 'DataConnector
DataConnectorTag
reify :: BackendTag b -> BackendType
reify :: BackendTag b -> BackendType
reify BackendTag b
PostgresVanillaTag = PostgresKind -> BackendType
Postgres PostgresKind
Vanilla
reify BackendTag b
PostgresCitusTag = PostgresKind -> BackendType
Postgres PostgresKind
Citus
reify BackendTag b
PostgresCockroachTag = PostgresKind -> BackendType
Postgres PostgresKind
Cockroach
reify BackendTag b
MSSQLTag = BackendType
MSSQL
reify BackendTag b
BigQueryTag = BackendType
BigQuery
reify BackendTag b
MySQLTag = BackendType
MySQL
reify BackendTag b
DataConnectorTag = BackendType
DataConnector