Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 #
SourcePrefixes | |
|
Instances
data SelectSlicing Source #
Select portion of rows generated by the query using limit and offset
Instances
data DistinctAndOrderByExpr Source #
Instances
data SelectSorting Source #
Sorting with -- Note [Optimizing queries using limit/offset])
Instances
data SortingAndSlicing Source #
Instances
data SelectSource Source #
Instances
data SelectNode Source #
Instances
Semigroup SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (<>) :: SelectNode -> SelectNode -> SelectNode # sconcat :: NonEmpty SelectNode -> SelectNode # stimes :: Integral b => b -> SelectNode -> SelectNode # | |
Show SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types showsPrec :: Int -> SelectNode -> ShowS # show :: SelectNode -> String # showList :: [SelectNode] -> ShowS # | |
Eq SelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (==) :: SelectNode -> SelectNode -> Bool # (/=) :: SelectNode -> SelectNode -> Bool # |
data ObjectSelectSource Source #
Instances
data ObjectRelationSource Source #
Instances
data ArrayRelationSource Source #
Instances
data MultiRowSelectNode Source #
Instances
Semigroup MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (<>) :: MultiRowSelectNode -> MultiRowSelectNode -> MultiRowSelectNode # sconcat :: NonEmpty MultiRowSelectNode -> MultiRowSelectNode # stimes :: Integral b => b -> MultiRowSelectNode -> MultiRowSelectNode # | |
Show MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types showsPrec :: Int -> MultiRowSelectNode -> ShowS # show :: MultiRowSelectNode -> String # showList :: [MultiRowSelectNode] -> ShowS # | |
Eq MultiRowSelectNode Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (==) :: MultiRowSelectNode -> MultiRowSelectNode -> Bool # (/=) :: MultiRowSelectNode -> MultiRowSelectNode -> Bool # |
data ComputedFieldTableSetSource Source #
Instances
data ArrayConnectionSource Source #
ArrayConnectionSource TableAlias (HashMap PGCol PGCol) (Maybe BoolExp) (Maybe ConnectionSlice) SelectSource |
Instances
data PermissionLimitSubQuery Source #
PLSQRequired Int | Permission limit |
PLSQNotRequired |
Instances
Show PermissionLimitSubQuery Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types showsPrec :: Int -> PermissionLimitSubQuery -> ShowS # show :: PermissionLimitSubQuery -> String # showList :: [PermissionLimitSubQuery] -> ShowS # | |
Eq PermissionLimitSubQuery Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types |
newtype CustomSQLCTEs Source #
Instances
Monoid CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types mempty :: CustomSQLCTEs # mappend :: CustomSQLCTEs -> CustomSQLCTEs -> CustomSQLCTEs # mconcat :: [CustomSQLCTEs] -> CustomSQLCTEs # | |
Semigroup CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (<>) :: CustomSQLCTEs -> CustomSQLCTEs -> CustomSQLCTEs # sconcat :: NonEmpty CustomSQLCTEs -> CustomSQLCTEs # stimes :: Integral b => b -> CustomSQLCTEs -> CustomSQLCTEs # | |
Show CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types showsPrec :: Int -> CustomSQLCTEs -> ShowS # show :: CustomSQLCTEs -> String # showList :: [CustomSQLCTEs] -> ShowS # | |
Eq CustomSQLCTEs Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (==) :: CustomSQLCTEs -> CustomSQLCTEs -> Bool # (/=) :: CustomSQLCTEs -> CustomSQLCTEs -> Bool # |
data SelectWriter Source #
Instances
Monoid SelectWriter Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types mempty :: SelectWriter # mappend :: SelectWriter -> SelectWriter -> SelectWriter # mconcat :: [SelectWriter] -> SelectWriter # | |
Semigroup SelectWriter Source # | |
Defined in Hasura.Backends.Postgres.Translate.Types (<>) :: SelectWriter -> SelectWriter -> SelectWriter # sconcat :: NonEmpty SelectWriter -> SelectWriter # stimes :: Integral b => b -> SelectWriter -> SelectWriter # |
newtype NativeQueryFreshIdStore Source #