| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Hasura.Backends.Postgres.Translate.Select.Internal.JoinTree
Description
Stuff gutted from Translate.Select
Synopsis
- withWriteJoinTree :: MonadWriter SelectWriter m => (JoinTree -> b -> JoinTree) -> m (a, b) -> m a
- withWriteObjectRelation :: MonadWriter SelectWriter m => m (ObjectRelationSource, InsOrdHashMap ColumnAlias SQLExp, a) -> m a
- withWriteArrayRelation :: MonadWriter SelectWriter m => m (ArrayRelationSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a
- withWriteArrayConnection :: MonadWriter SelectWriter m => m (ArrayConnectionSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a
- withWriteComputedFieldTableSet :: MonadWriter SelectWriter m => m (ComputedFieldTableSetSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a
Documentation
withWriteJoinTree :: MonadWriter SelectWriter m => (JoinTree -> b -> JoinTree) -> m (a, b) -> m a Source #
This is the lowest level function which deals with MonadWriter SelectWriter, which contains JoinTree whose
purpose is to essentially create the selection tree across relationships.
Each type of relationship uses a different kind of update function; see
withWriteObjectRelation, withWriteArrayRelation, withWriteArrayConnection,
and withWriteComputedFieldTableSet.
See the definition of JoinTree for details before diving further
(particularly its components and Monoid instance).
withWriteObjectRelation :: MonadWriter SelectWriter m => m (ObjectRelationSource, InsOrdHashMap ColumnAlias SQLExp, a) -> m a Source #
withWriteArrayRelation :: MonadWriter SelectWriter m => m (ArrayRelationSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a Source #
withWriteArrayConnection :: MonadWriter SelectWriter m => m (ArrayConnectionSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a Source #
withWriteComputedFieldTableSet :: MonadWriter SelectWriter m => m (ComputedFieldTableSetSource, Extractor, InsOrdHashMap ColumnAlias SQLExp, a) -> m a Source #