mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-22 06:51:32 +03:00
e6ee9db169
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9515 GitOrigin-RevId: 95e93d017ac9757a8088aea3015836b5d8236d66
45 lines
2.2 KiB
Haskell
45 lines
2.2 KiB
Haskell
{-# LANGUAGE UndecidableInstances #-}
|
|
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
|
|
-- | MSSQL Instances Metadata
|
|
--
|
|
-- Defines a 'Hasura.RQL.Types.Metadata.Backend.BackendMetadata' type class instance for MSSQL.
|
|
module Hasura.Backends.MSSQL.Instances.Metadata () where
|
|
|
|
import Hasura.Backends.MSSQL.DDL qualified as MSSQL
|
|
import Hasura.Backends.MSSQL.Schema.Introspection qualified as MSSQL (listAllTables)
|
|
import Hasura.Base.Error (Code (UnexpectedPayload), throw400, throw500)
|
|
import Hasura.NativeQuery.InterpolatedQuery (trimQueryEnd)
|
|
import Hasura.NativeQuery.Metadata (NativeQueryMetadata (..))
|
|
import Hasura.NativeQuery.Validation (validateArgumentDeclaration)
|
|
import Hasura.Prelude
|
|
import Hasura.RQL.DDL.Relationship (defaultBuildArrayRelationshipInfo, defaultBuildObjectRelationshipInfo)
|
|
import Hasura.RQL.Types.BackendType
|
|
import Hasura.RQL.Types.Metadata.Backend
|
|
|
|
instance BackendMetadata 'MSSQL where
|
|
prepareCatalog = MSSQL.prepareCatalog
|
|
buildComputedFieldInfo = MSSQL.buildComputedFieldInfo
|
|
fetchAndValidateEnumValues = MSSQL.fetchAndValidateEnumValues
|
|
resolveSourceConfig = MSSQL.resolveSourceConfig
|
|
resolveDatabaseMetadata _ _ = MSSQL.resolveDatabaseMetadata
|
|
parseBoolExpOperations = MSSQL.parseBoolExpOperations
|
|
buildArrayRelationshipInfo _ = defaultBuildArrayRelationshipInfo
|
|
buildObjectRelationshipInfo _ = defaultBuildObjectRelationshipInfo
|
|
buildFunctionInfo = MSSQL.buildFunctionInfo
|
|
updateColumnInEventTrigger = MSSQL.updateColumnInEventTrigger
|
|
parseCollectableType = MSSQL.parseCollectableType
|
|
postDropSourceHook = MSSQL.postDropSourceHook
|
|
buildComputedFieldBooleanExp _ _ _ _ _ _ =
|
|
throw500 "Computed fields are not yet defined for MSSQL backends"
|
|
supportsBeingRemoteRelationshipTarget _ = True
|
|
listAllTables = MSSQL.listAllTables
|
|
listAllTrackables _ =
|
|
throw500 "Computed fields are not yet defined for MSSQL backends"
|
|
getTableInfo _ _ = throw400 UnexpectedPayload "get_table_info not yet supported in MSSQL!"
|
|
validateNativeQuery _ _ _ nq = do
|
|
validateArgumentDeclaration nq
|
|
pure (trimQueryEnd (_nqmCode nq)) -- for now, all queries are valid
|
|
validateStoredProcedure _ _ _ _ = pure () -- for now, all stored procedures are valid
|
|
getStoredProcedureGraphqlName = MSSQL.getStoredProcedureGraphqlName
|