| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Hasura.Backends.Postgres.Translate.Types
Description
Postgres Translate Types
Intermediary / helper types used for translating IR to Postgres SQL.
Synopsis
- data SourcePrefixes = SourcePrefixes {}
- data SelectSlicing = SelectSlicing {}
- data DistinctAndOrderByExpr = ASorting (OrderByExp, Maybe DistinctExpr) (Maybe (OrderByExp, Maybe DistinctExpr))
- data SelectSorting
- data SortingAndSlicing = SortingAndSlicing SelectSorting SelectSlicing
- data SelectSource = SelectSource Identifier FromItem BoolExp SortingAndSlicing
- noSortingAndSlicing :: SortingAndSlicing
- orderByForJsonAgg :: SelectSource -> Maybe OrderByExp
- data ApplySortingAndSlicing = ApplySortingAndSlicing (Maybe OrderByExp, SelectSlicing, Maybe DistinctExpr) (Maybe OrderByExp, SelectSlicing, Maybe DistinctExpr)
- applySortingAndSlicing :: SortingAndSlicing -> ApplySortingAndSlicing
- data SelectNode = SelectNode (InsOrdHashMap ColumnAlias SQLExp) JoinTree
- data ObjectSelectSource = ObjectSelectSource Identifier FromItem BoolExp
- objectSelectSourceToSelectSource :: ObjectSelectSource -> SelectSource
- data ObjectRelationSource = ObjectRelationSource {}
- data ArrayRelationSource = ArrayRelationSource TableAlias (HashMap PGCol PGCol) SelectSource
- data MultiRowSelectNode = MultiRowSelectNode {}
- data ComputedFieldTableSetSource = ComputedFieldTableSetSource FieldName SelectSource
- data ArrayConnectionSource = ArrayConnectionSource TableAlias (HashMap PGCol PGCol) (Maybe BoolExp) (Maybe ConnectionSlice) SelectSource
- data JoinTree = JoinTree {}
- data PermissionLimitSubQuery
- type SimilarArrayFields = HashMap FieldName [FieldName]
- newtype CustomSQLCTEs = CustomSQLCTEs {}
- data SelectWriter = SelectWriter {}
- newtype NativeQueryFreshIdStore = NativeQueryFreshIdStore {
- nqNextFreshId :: Int
- initialNativeQueryFreshIdStore :: NativeQueryFreshIdStore
Documentation
data SourcePrefixes Source #
Constructors
| SourcePrefixes | |
Fields
| |
Instances
data SelectSlicing Source #
Select portion of rows generated by the query using limit and offset
Instances
data DistinctAndOrderByExpr Source #
Constructors
| ASorting (OrderByExp, Maybe DistinctExpr) (Maybe (OrderByExp, Maybe DistinctExpr)) |
Instances
data SelectSorting Source #
Sorting with -- Note [Optimizing queries using limit/offset])
Constructors
| NoSorting (Maybe DistinctExpr) | |
| Sorting DistinctAndOrderByExpr |
Instances
data SortingAndSlicing Source #
Constructors
| SortingAndSlicing SelectSorting SelectSlicing |
Instances
data SelectSource Source #
Constructors
| SelectSource Identifier FromItem BoolExp SortingAndSlicing |
Instances
data ApplySortingAndSlicing Source #
Constructors
| ApplySortingAndSlicing (Maybe OrderByExp, SelectSlicing, Maybe DistinctExpr) (Maybe OrderByExp, SelectSlicing, Maybe DistinctExpr) |
data SelectNode Source #
Constructors
| SelectNode (InsOrdHashMap ColumnAlias SQLExp) JoinTree |
Instances
| Semigroup SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (<>) :: SelectNode -> SelectNode -> SelectNode # sconcat :: NonEmpty SelectNode -> SelectNode # stimes :: Integral b => b -> SelectNode -> SelectNode # | |
| Show SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods showsPrec :: Int -> SelectNode -> ShowS # show :: SelectNode -> String # showList :: [SelectNode] -> ShowS # | |
| Eq SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types | |
data ObjectSelectSource Source #
Constructors
| ObjectSelectSource Identifier FromItem BoolExp |
Instances
data ObjectRelationSource Source #
Constructors
| ObjectRelationSource | |
Instances
data ArrayRelationSource Source #
Constructors
| ArrayRelationSource TableAlias (HashMap PGCol PGCol) SelectSource |
Instances
data MultiRowSelectNode Source #
Constructors
| MultiRowSelectNode | |
Fields | |
Instances
| Semigroup MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (<>) :: MultiRowSelectNode -> MultiRowSelectNode -> MultiRowSelectNode # sconcat :: NonEmpty MultiRowSelectNode -> MultiRowSelectNode # stimes :: Integral b => b -> MultiRowSelectNode -> MultiRowSelectNode # | |
| Show MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods showsPrec :: Int -> MultiRowSelectNode -> ShowS # show :: MultiRowSelectNode -> String # showList :: [MultiRowSelectNode] -> ShowS # | |
| Eq MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (==) :: MultiRowSelectNode -> MultiRowSelectNode -> Bool # (/=) :: MultiRowSelectNode -> MultiRowSelectNode -> Bool # | |
data ComputedFieldTableSetSource Source #
Constructors
| ComputedFieldTableSetSource FieldName SelectSource |
Instances
data ArrayConnectionSource Source #
Constructors
| ArrayConnectionSource TableAlias (HashMap PGCol PGCol) (Maybe BoolExp) (Maybe ConnectionSlice) SelectSource |
Instances
Constructors
| JoinTree | |
data PermissionLimitSubQuery Source #
Constructors
| PLSQRequired Int | Permission limit |
| PLSQNotRequired |
Instances
| Show PermissionLimitSubQuery Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods showsPrec :: Int -> PermissionLimitSubQuery -> ShowS # show :: PermissionLimitSubQuery -> String # showList :: [PermissionLimitSubQuery] -> ShowS # | |
| Eq PermissionLimitSubQuery Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (==) :: PermissionLimitSubQuery -> PermissionLimitSubQuery -> Bool # (/=) :: PermissionLimitSubQuery -> PermissionLimitSubQuery -> Bool # | |
newtype CustomSQLCTEs Source #
Constructors
| CustomSQLCTEs | |
Fields | |
Instances
| Monoid CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods mempty :: CustomSQLCTEs # mappend :: CustomSQLCTEs -> CustomSQLCTEs -> CustomSQLCTEs # mconcat :: [CustomSQLCTEs] -> CustomSQLCTEs # | |
| Semigroup CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (<>) :: CustomSQLCTEs -> CustomSQLCTEs -> CustomSQLCTEs # sconcat :: NonEmpty CustomSQLCTEs -> CustomSQLCTEs # stimes :: Integral b => b -> CustomSQLCTEs -> CustomSQLCTEs # | |
| Show CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods showsPrec :: Int -> CustomSQLCTEs -> ShowS # show :: CustomSQLCTEs -> String # showList :: [CustomSQLCTEs] -> ShowS # | |
| Eq CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (==) :: CustomSQLCTEs -> CustomSQLCTEs -> Bool # (/=) :: CustomSQLCTEs -> CustomSQLCTEs -> Bool # | |
data SelectWriter Source #
Constructors
| SelectWriter | |
Fields | |
Instances
| Monoid SelectWriter Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods mempty :: SelectWriter # mappend :: SelectWriter -> SelectWriter -> SelectWriter # mconcat :: [SelectWriter] -> SelectWriter # | |
| Semigroup SelectWriter Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types Methods (<>) :: SelectWriter -> SelectWriter -> SelectWriter # sconcat :: NonEmpty SelectWriter -> SelectWriter # stimes :: Integral b => b -> SelectWriter -> SelectWriter # | |
newtype NativeQueryFreshIdStore Source #
Constructors
| NativeQueryFreshIdStore | |
Fields
| |