Safe Haskell | None |
---|---|
Language | GHC2024 |
Napkin.Run.Effects.Languages.SqlRead
Synopsis
- class (Eq (BackendSchemaField bk), Show (BackendSchemaField bk)) => HasBackendSchemaField (bk :: k) where
- data BackendSchemaField (bk :: k)
- fieldName :: BackendSchemaField bk -> Text
- fieldType :: BackendSchemaField bk -> Type
- data SqlRead (b :: k) (m :: k1) a where
- RunQuery :: forall {k} {k1} (b :: k) (m :: k1). Query -> SqlRead b m [Map Text Value]
- CheckTableExists :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> SqlRead b m Bool
- GetTableKind :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> SqlRead b m TableKind
- GetRelationSchema' :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> Relation -> SqlRead b m [BackendSchemaField b]
- runQuery :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Query -> Sem r [Map Text Value]
- checkTableExists :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r Bool
- getTableKind :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r TableKind
- getRelationSchema' :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Relation -> Sem r [BackendSchemaField b]
- runQuerySingleAnswer :: forall {k} (b :: k) a (r :: EffectRow). (Val a, Member (SqlRead b :: (Type -> Type) -> Type -> Type) r) => Query -> Sem r (Maybe a)
- getRelationSchema :: forall {k} (b :: k) (r :: EffectRow). Members '[SqlRead b :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type] r => Relation -> Sem r [BackendSchemaField b]
- data SchemaDiff (bk :: k) = SchemaDiff {
- droppedColumns :: [BackendSchemaField bk]
- addedColumns :: [BackendSchemaField bk]
- newtype SchemaDiffError (bk :: k) = SchemaDiffError (NonEmpty (BackendSchemaField bk))
- diffRelationSchemas :: forall {k} (b :: k). (Eq (BackendSchemaField b), Show (BackendSchemaField b), HasBackendSchemaField b) => [BackendSchemaField b] -> [BackendSchemaField b] -> Either (SchemaDiffError b) (SchemaDiff b)
Documentation
class (Eq (BackendSchemaField bk), Show (BackendSchemaField bk)) => HasBackendSchemaField (bk :: k) where #
Associated Types
data BackendSchemaField (bk :: k) #
data SqlRead (b :: k) (m :: k1) a where #
Constructors
RunQuery :: forall {k} {k1} (b :: k) (m :: k1). Query -> SqlRead b m [Map Text Value] | |
CheckTableExists :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> SqlRead b m Bool | |
GetTableKind :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> SqlRead b m TableKind | |
GetRelationSchema' :: forall {k} {k1} (b :: k) (m :: k1). Ref Table -> Relation -> SqlRead b m [BackendSchemaField b] |
Instances
(IsRenderable SExp b, IsRenderable Query b, IsRenderable Text b) => ToDumpItem (b :: k) (SqlRead b :: (Type -> Type) -> Type -> Type) # | |
GShow (SqlRead b m :: Type -> Type) # | |
Defined in Napkin.Run.Effects.Languages.SqlRead Methods gshowsPrec :: Int -> SqlRead b m a -> ShowS # | |
Show (SqlRead b m a) # | |
Eq (SqlRead b m a) # | |
runQuery :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Query -> Sem r [Map Text Value] #
checkTableExists :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r Bool #
getTableKind :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r TableKind #
getRelationSchema' :: forall {k} (b :: k) (r :: EffectRow). Member (SqlRead b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Relation -> Sem r [BackendSchemaField b] #
runQuerySingleAnswer :: forall {k} (b :: k) a (r :: EffectRow). (Val a, Member (SqlRead b :: (Type -> Type) -> Type -> Type) r) => Query -> Sem r (Maybe a) #
Run a query and pull out the first column from its first row. Meant for queries that return a single result.
getRelationSchema :: forall {k} (b :: k) (r :: EffectRow). Members '[SqlRead b :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type] r => Relation -> Sem r [BackendSchemaField b] #
data SchemaDiff (bk :: k) #
Constructors
SchemaDiff | |
Fields
|
newtype SchemaDiffError (bk :: k) #
Constructors
SchemaDiffError (NonEmpty (BackendSchemaField bk)) |
diffRelationSchemas :: forall {k} (b :: k). (Eq (BackendSchemaField b), Show (BackendSchemaField b), HasBackendSchemaField b) => [BackendSchemaField b] -> [BackendSchemaField b] -> Either (SchemaDiffError b) (SchemaDiff b) #