HORIZON HASKELLDocslts/ghc-10.0.x8c2f8e82026-10-19Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8c2f8e8 · 2026-10-19

Modulebeam-core-0.11.1.0Haskell2010

Database.Beam.Query.Internal

  • 29 types
  • 7 classes
  • 9 values
datadata QF be (db :: (Type -> Type) -> Type) s next where
#

Constructors

Instances1Functor
  • Functor (QF be db s)Defined in beam-core-0.11.1.0 · Database.Beam.Query.Internal
newtypenewtype Q be (db :: (Type -> Type) -> Type) s a
#

The type of queries over the database db returning results of type a. The s argument is a threading argument meant to restrict cross-usage of QExprs. syntax represents the SQL syntax that this query is building.

Constructors

Instances3Monad, Functor, Applicative
  • Monad (Q be db s)Defined in beam-core-0.11.1.0 · Database.Beam.Query.Internal
  • Functor (Q be db s)Defined in beam-core-0.11.1.0 · Database.Beam.Query.Internal
  • Applicative (Q be db s)Defined in beam-core-0.11.1.0 · Database.Beam.Query.Internal
datadata QField s ty
#
Instances9ProjectibleWithPredicate, SqlUpdatable, Eq, Ord, Show, …

QGenExpr type

17 declarations
datadata QGroupingContext
#
Instances4QGroupable, ContextName
  • Beamable tbl => QGroupable (tbl (Nullable (QExpr be s))) (tbl (Nullable (QGroupExpr be s)))Defined in beam-core-0.11.1.0 · Database.Beam.Query.Aggregate

    group_ for any Beamable type. Adds every field in the type to the grouping key. This is the equivalent of including the grouping expression of each field in the type as part of the aggregate projection

  • Beamable tbl => QGroupable (tbl (QExpr be s)) (tbl (QGroupExpr be s))Defined in beam-core-0.11.1.0 · Database.Beam.Query.Aggregate

    group_ for any Beamable type. Adds every field in the type to the grouping key. This is the equivalent of including the grouping expression of each field in the type as part of the aggregate projection

  • QGroupable (QExpr be s a) (QGroupExpr be s a)Defined in beam-core-0.11.1.0 · Database.Beam.Query.Aggregate

    group_ for simple value expressions.

  • type ContextName QGroupingContext = "an aggregate grouping"Defined in beam-core-0.11.1.0 · Database.Beam.Query.Internal
datadata QValueContext
#
Instances10SqlUpdatable, QGroupable, SqlJustable, ContextName, …
newtypenewtype QGenExpr context be s t
#

The type of lifted beam expressions that will yield the haskell type t.

context is a type-level representation of the types of expressions this can contain. For example, QAggregateContext represents expressions that may contain aggregates, and QWindowingContext represents expressions that may contain OVER.

syntax is the expression syntax being built (usually a type that implements IsSql92ExpressionSyntax at least, but not always).

s is a state threading parameter that prevents QExprs from incompatible sources to be combined. For example, this is used to prevent monadic joins from depending on the result of previous joins (so-called LATERAL joins).

Instances53ProjectibleWithPredicate, SqlUpdatable, SqlOrderable, ThreadRewritable, SqlDeconstructMaybe, IsCustomExprFn, …

Sql Projections

24 declarations
classclass Typeable context => AggregateContext context
#

Typeclass for all haskell data types that can be used to create a projection in a SQL select statement. This includes all tables as well as all tuple classes. Projections are only defined on tuples up to size 5. If you need more, follow the implementations here.

Instances1AggregateContext
familytype family ContextName a :: Symbol
#
Instances5ContextName
classclass AnyType a
#
Instances7AnyType, ProjectibleWithPredicate, …
familytype family ValueContextSuggestion a :: ErrorMessage where
#

Equations

classclass ThreadRewritable s a | a -> s where
#

Associated types

Methods

Instances12ThreadRewritable, …
classclass ContextRewritable a where
#

Associated types

Methods

Instances12ContextRewritable, …
newtypenewtype BeamSqlBackendExpressionSyntax' be
#
Instances3ProjectibleWithPredicate
classclass ProjectibleWithPredicate (contextPredicate :: Type -> Constraint) be res a | a -> be where
#

Methods

Instances19ProjectibleWithPredicate, …